Sunday, June 12, 2016

Prebuilt Computers: Understanding Prices to Protect Yourself as a Consumer

If you're in the market for a new computer and can't build it yourself, it pays to understand a bit about the parts that go into a computer, and what the going rate is for the parts in any particular machine you might be looking at buying.

Buying a pre-built computer is fine if you choose the right one. They often come with sub-standard parts — particularly in important areas like the power supply — but you can find good options. Shops tend to charge anywhere from $50 upwards of $200 for putting it together, with $100 being about average.

Some shops border on the ridiculous though. As an example, here is an advertisement on gumtree for a pre-built computer (google cache link in case the ad disappears). Here's a list of the parts included in the computer, with approximate "going rate" prices for each of the parts that can be purchased locally in South Australia:

  • CPU: Intel i3 6100 $160
  • Motherboard: unknown, assume middling H110 $90
  • RAM: 8GB DDR4 2133MHz $50
  • HDD: WD 1TB $70
  • ODD: DVD-RW $20
  • Case: Coolermaster K282 $60
  • PSU: Corsair VS350 $50
  • OS: Win 10 Home $140

That comes to $640. The price being asked? $1149! That's nearly double the retail price of the parts, or a build fee of $500.

That's a very expensive deal. Don't get caught with stuff like this.

Wednesday, June 8, 2016

Reverting Shutdown Shortcut in Kubuntu 16.04

The updated version of KDE/Plasma in Kubuntu 16.04 changes a number of the default shortcuts compard to those in 14.04. One of the main one I'd muscle-memoried is Ctrl-Alt-Del to initiate a shutdown. There is a way to get this back in 16.04, just requires a couple of steps.

  1. Open the Global Keyboard Shortcuts dialog. Select "ksmserver" from the KDE component dropdown. Click the "Log Out" entry. Define a custom shortcut to whatever is preferred. Press Apply.
  2. Open the Desktop Session Login and Logout dialog. In the Default Leave Option section, check "Turn off computer".

Now the option to shutdown will be the default option.

Wednesday, June 1, 2016

Fix KDE Unreadable Tooltip Text/Background Colours in Firefox

In a recent update to Firefox (v46), when running under KDE on Kubuntu 14.04, the choice of text colour when hovering over images or other items in the browser that pop up a tooltip was essentially unreadable. Here's an example:

This is due to Firefox (for whatever reason) using the "WindowText" system colour rather than the "TooltipText" colour.

There are a couple of ways to fix it. The first is to go into the "Colors — KDE Control Module" and select a new colour scheme that has a better contrast in those two colours. Out of the defaults in KDE, I found Honeycomb, Norway, Obsidian Coast, Oxygen Cold and Zion all looked okay.

The other way is to override the tooltip colours.

On the same dialog, click the "Colors" tab, and find the Tooltip Background colour. If it's a dark colour, change it to something light, or light if it starts dark. You might also want to change the Tooltip Text colour to complement it.

Another option is to change the Window Text colour, but this colour is used in many more places, so will affect the look of all other applications.

This thread on the Arch Linux forum has a lengthy discussion on the issue.

Addendum: for Tree Style Tab users, there doesn't seem to be any fix. The selected tab highlights itself using the Window Text colour, the same colour as the text. :(

Saturday, April 16, 2016

Coolermaster Silencio 352: Case Notes

A few quick notes on the Coolermaster Silencio 352, which I used for the first time recently:

It's a micro-ATX (so relatively small) case aimed at quiet computing. Pictures on the net often make it look glossy, but it has a matte finish. It does show some fingerprints, but not nearly as much as you'd think from some pictures.

The side panel had quite a lot of flex to it — the thumb screws were under a fair bit of tension. It's a budget case, the flimsiness of some of the material shows in this. The side panel has about 3–4mm of noise-absorbing foam.

The case is aimed at quiet computing, and it is pretty quiet. You need to be in a quiet room to even tell it's on. However, with only a minimal setup of i5-6600, one SSD, HDD, DVD drive and the PSU, CPU temperature got really high under load, up to 80°C. I'm not sure how it would go with a graphics card in there as well, so I wouldn't recommend this case for a gaming machine.

You can remove a panel at the top with an optional fan mount, which might make airflow slightly better.

Finally, there is very limited space at the back of the case behind the motherboard. This makes cable management really difficult. But it doesn't look too bad when finished up.

Saturday, April 2, 2016

Settings up a Flash Drive to UEFI Boot Linux (from an ISO)

The following process may be a bit cumbersome (I'm sure it could be cleaned up to use a minimal set of tools and/or have the interactive parts automated), but it works to allow a current Linux distro (I was using Kubuntu) to boot from a USB flash drive on a Dell laptop with a recent (Skylake) CPU via UEFI with SecureBoot turned on.

  1. Plug in the flash drive and find the device number (using lsblk or fdisk -l). In the following example I'm using /dev/sdc as that was the device allocated to my flash drive. If you get the device wrong, you could trash your system using the steps below!
  2. Delete everything on the flash drive to freshen it up, and create a new msdos partition:

    sudo parted /dev/sdc mklabel msdos

  3. Use fdisk to interactively add a new partition. The commands look something like this, where most of the values are defaults:

    $ sudo fdisk /dev/sdc

    Command (m for help): n
    Partition type:
    p primary (0 primary, 0 extended, 4 free)
    e extended
    Select (default p): p
    Partition number (1-4, default 1): 1
    First sector (2048-15633407, default 2048):
    Using default value 2048
    Last sector, +sectors or +size{K,M,G} (2048-15633407, default 15633407):
    Using default value 15633407

    Command (m for help): w
    The partition table has been altered!

    Calling ioctl() to re-read partition table.
    Syncing disks.
    $

  4. Create a FAT32 partition on the drive:

    sudo mkfs.vfat /dev/sdc1

  5. Create a mount point for the drive:

    sudo mkdir /mnt/flash
    sudo mount -t vfat /dev/sdc1 /mnt/flash -o rw,umask=000

  6. Extract the ISO to the flash drive (this will take a while):

    7z x kubuntu-16.04-beta2-desktop-amd64.iso -o/mnt/flash

  7. Set the boot flag on the flash drive:

    sudo parted /dev/sdc set 1 boot on

  8. Unmount the flash drive so it's ready to be removed and used:

    sudo umount /mnt/flash

Further reading on the various steps used above:

Wednesday, March 2, 2016

Skylake i5-6600 Power Consumption Tests

Another machine with a few different parts but somewhat similar to the previous Skylake power consumption test I did.

System specs: i5-6600, Asus B150M-A, 2x8GB DDR4, 1x240GB Intel 535 SSD, 1xWD Blue 1TB, 1xLiteOn DVD-RW, Antec TPC 550W, Coolermaster Silencio 352. Power measurements were made from the wall (240V AC) with a PowerMate Lite.

Machine StateConsumption (W)VAPFC
Off1.5 W16.20.092
Idle30 W45.90.65
Prime 95
(Large FFTs, 4 threads)
108 W1150.939

The above values are typical. Peak recorded draw was 119.5W. Maximum temperature hit was 80°C. During Prime95 the core frequency fluctuated between 3389 MHz and 3491 MHz.

Not sure why the power usage was so much more than the 6500 system. I guess the combination of faster CPU, different motherboard, extra RAM, fan and SATA drives (even though they were at idle) and warmer "silent" case all contributed to the increase.

Thursday, February 25, 2016

Fix UEFI Boot on Surface Pro if you've Installed Linux

At work I wanted to test run Linux on a Surface Pro 3. I installed Ubuntu Gnome 14.04 to a flash drive so I wouldn't disturb the Windows install, ran it up a few times, played around, etc., then unplugged the flash drive and tried to boot back into Windows.

Got the "Minimal BASH-like line editing is supported..." grub error message.

Seems that, due to the way UEFI work with Ubuntu, the EFI partition is mounted in the Linux file system, and grub is half written there, and half written to the "regular" file system in /.

So when the Linux drive is removed, the boot loader is still looking for the Ubuntu install that no longer exists. FML.

The (workaround) fix, it turns out, is pretty easy — but only if you still have access to the Linux install. In my case I did, so I booted up from the flash drive one more time, and did as suggested in this askubuntu answer:

cd /boot/efi/EFI/Boot
sudo mv ubuntu/ ubuntu~

This will cause the bootloader to fall back onto the Windows install when it can no longer find the Ubuntu one. It's not a clean fix, but it works.

Disappointing that this is how it works in UEFI — one of the golden features of trying a Linux install on a separate drive is that it honoured the existing boot setup so you could revert back instantly.

(As an addendum, I would never buy a Surface Pro 3 myself — they are flaky in all sorts of ways. Yuk yuk yuk).

Sunday, February 21, 2016

How Much CPU Does CS:GO Use?

I ran a quick test on CS:GO to see how much CPU it was using. Turned out to be more than I expected, regularly getting 60-80% on an i5, sometimes in excess of 80%.

This screen cap is taken on my system with an i7 4790K hyperthreading off (aka "i5 mode"), using a GTX970 at 1080p. It was taken during online deathmatch. With hyperthreading on it was similar usage, but only using the 4 real threads makes it easier to see how much the CPU is being used.

If you're looking for a CPU and can afford an i5, it would seem like a quad-core CPU is useful even for an "old" game like CS:GO.

Interestingly though, when running with 2 cores + hyperthreading activated, the usage didn't go up by a whole lot:

This cap is with 2 cores and hyperthreading activated — essentially an i3. It gets into the 80-90% more regularly, but it's not that much more. I can only guess the engine is a bit clever in scaling what it does based on the resources available. I did notice a few frame drops into the low 100s, but the gameplay didn't feel particularly different.

The i7 has a higher base clock speed and a much bigger CPU cache, so it's not a true test for how an i3 would behave

Thursday, February 11, 2016

SSD Status Summary

I was relatively late to the SSD bandwagon — and so seemed to have dodged the worst of the unreliable phase.

Now I detest using a machine without one, and have collected quite a few over the past few years for my own and my family's machines. Thought I'd throw up the status of them all, including when they fail. So far I've had pretty good luck — worst problem was the DOA Patriot Blaze.

Home Use:

DevicePurchasedPurposeIssues
Samsung 830 128GBOct 2012General use/Gaming PC
Samsung 830 128GBDec 2012General use
Kingston V300 60GBMar 2013HTPC
Plextor M5S 128GBAug 2013General use
Sandisk ReadyCache 32GB2014Scratch/test drive
Sandisk UltraPlus 128GB2014General use
Plextor M5 Pro 256GB2014Gaming PC
Transcend SSD370 256GB2015General use
Patriot Blaze 250GB2015Gaming PCDOA — returned for Ignite
Patriot Ignite 250GB2015Gaming PC
Samsung 840 Evo 120GB? (2nd hand 2015)TBD
Transcend SSD370S 128GBJan 2016TBD

Friday, January 15, 2016

HTPC OS Upgrade

My HTPC was running off a non-LTS distro for a while, finally got around to reinstalling. The process wasn't without hiccups, but overall wasn't too bad.

The two primary applications I run are Kodi (aka XBMC) and MythTV. The Kodi reinstall was easy, MythTV a little trickier to get right. These are the steps I followed:

Initial Install/Setup

  • Reinstall the new OS. I used LinuxMint 17.3 with Cinnamon as I'd been using Mint 15 previously. I also partitioned the existing SSD so that the old install is still available.
  • Set up standard stuff like web browser, terminal config, graphics drivers, etc.
  • Set system audio to appropriate device — as I was using audio over HDMI, the default sound device wasn't the right one.
  • Probably want to turn off the screen saver.

Kodi Install

  • Install Kodi
    sudo apt-get install kodi
  • Copy old ~/.xbmc/userdata directory to new install. Kodi data is stored in ~/.kodi.
  • Start Kodi. User settings like which videos you've watched should be retained. May need to configure the audio settings, I did as I was using HDMI.

MythTV Install

  • Boot back into the old OS install and follow the MythTV database backup procedure. I used:
    /usr/share/mythtv/mythconverg_backup.pl --directory <path_to_shared_drive>
  • Boot back into new OS install.
  • Install MythTV (this will install dependencies like MySQL).
    sudo apt-get install mythtv
  • Recreate the database. Note that this will create the database with a default username and password of "mythtv", which caused problems for me when restoring the database backup in the next step.
    mysql < /usr/share/mythtv/sql/mc.sql
  • Restore the database. Could not get the preferred method to work — it kept failing with a "could not connect to database" error. Could not get mythconverg_restore.pl to connect. At first I thought it was a password issue, but setting the correct password in /home/mythtv/.mythtv/config.xml didn't help. In the end I found this post, which gave the command to manually paste the database backup back. As the mythconverg_backup.pl script gzips by default, I did the gunzip on the backup file before running the following:
    mysql -umythtv -pmythtv mythconverg < backup_filename.sql
  • Run mythtv-setup. I needed to add the TV tuner adapters and sources — so I guess this wasn't part of the backup — and scan for channels. Also add the existing hard drive paths as storage directories.

I had to unplug the tuner (DigitalNow TinyTwin) to get it to appear — not sure why, but other than that the OS upgrade went pretty seamlessly.

Saturday, December 12, 2015

What Can Twenty Bucks Buy You These Days?

What can $20 buy you these days? In the second hand "box of random IT stuff" department, it seems like quite a lot.

I'd been looking around for a cheap low profile graphics card for a while to get an old PC up and running again. Eventually found one offered on the much-maligned-but-often-useful site gumtree.

I found a guy listing a GT220 along with a box of "random stuff" for $20. So I went to pick it up, and was amazed at what I found in this treasure trove. Among the items (keep in mind I really only wanted to graphics card) I discovered:

  • The GT220 graphics card (of course)
  • USB TV tuner with aerial and coax adapter
  • Brand new unopened Display Port cable
  • DVI and VGA cables and adapters
  • PCI wireless card (54Mbps — old and slow, but whatever)
  • SATA/Molex adapter cables
  • Case fan and other 3/4-pin fan adapters
  • Coax splitter and cable
  • AEC power cables
  • Various USB adapters and extenders
  • RJ45 network cables
  • Modem/telephony/RJ11 cables and adapters
  • A smattering of modular power supply cables (from an unknown power supply ;)
  • IDE cables (blastus from the pastus)
  • A whole bunch of audio cables
  • A whole bunch of audio adapter like 3.5mm <-> 6.5mm adapters)
  • A UPS (wtf?). Probably bad battery, but still
  • A label maker (again...wtf?)
  • Random RAM sticks of various (old and most likely useless) denominations
  • A whole bunch of other stuff I couldn't even identify
$20 trove

The trove...some of it at least, already nabbed the best parts

Now, I probably won't ever use much from this smorgasbord of geek hardware wet dream. The funny thing is that many of the parts — like the DP cable, coax cable, USB tuner, USB extension, coax splitters, etc. — I've actually bought previously. So I know they're useful. Just don't know if they'll be useful to me again. Pot luck at its best though!

Maligned because while you get the occasional good transaction (like I did in this case) you also get a lot of time wasters, low-ballers, overpriced, over-bearing, clueless kind of people on both the buyer and seller side.

Friday, December 11, 2015

Grub: Boot from Previous Selection

If you run a dual or multi-boot setup with grub, setting "remember previous boot" is really easy and (I find) convenient as it tends to fit my usage patterns.

Couple of useful references at askubuntu and the grub manual, but all you need to do is make the following changes to /etc/default/grub:

# GRUB_DEFAULT=0
GRUB_DEFAULT=saved
GRUB_SAVEDEFAULT=true

Then run sudo update-grub

Sunday, November 15, 2015

Skylake i5 Power Consumption Tests

Put together a new machine today, and ran a quick power consumption test to see what to expect from the total draw.

System specs: i5-6500, Asrock H170M-ITX/ac, 2x4GB DDR4, 1x240GB SSD, Corsair CX-430, Coolermaster Elite 110. Power measurements were made from the wall (240V AC) with a PowerMate Lite.

Machine StateConsumption (W)VAPFC
Off0.75 W33.50.02
Idle17 W420.4
Prime 95
(Large FFTs, 4 threads)
71 W860.825

In Prime95 the power fluctuated a little, the above entry is a typical value. Peak recorded draw was 73.5W. Maximum temperature hit was 58°C. HwMon recorded individual cores at 3.6GHz, but under Prime95 load they all stuck around 3.3GHz.

You could happily run this machine on a 90-100W power supply. The smallest commonly available PSUs retail tend to bottom out at 350W, which is massive overkill in a system without a dedicated GPU.

(Also, the PFC of the CX-430 — ouch!)

Sunday, November 8, 2015

HTC M8S Versus Samsung Galaxy S3

TL;DR: Fixes some of the issues I had with the S3; not without its flaws.

After moving from the Samsung Galaxy S2 to the S3 a few years ago, I was disappointed that in a lot of ways the "upgrade" was most definitely a downgrade. Primary issues were lack of FM Radio (didn't even think to check!) and MTP support was so flaky on Linux I could barely copy files onto the phone — Samsung made it that you could no longer treat the S3 as a plain old USB device, MTP being the only option.

The HTC M8S "infinite selfie" selfie

So this time round I've jumped to HTC, and while I really wanted to like it, there are definitely pros and cons.

M8S advantages:

  • Copying files to the phone from a Linux machine just works.
  • Side-by-side the speaker in the M5S is much clearer. The S3 is distorted in comparion — this is a two-year-old phone though, so this is likely from wear and tear.
  • FM Radio. I had this in the Galaxy S2 and liked the option. We pay a premium for data in Australia, so streaming radio over the internet isn't as practical as it might be in other places. So the radio option was really handy for casual listening, missed it in the S3, glad it's in the M5S.
  • The setup wizard seemed pretty user friendly, offering to transfer content from the old phone and to set up various accounts. Since I like to start fresh and don't really do "social" whatevers, I didn't use any of it, but hey, the thought was nice HTC.

Negatives of the M8S:

  • No physical access to the battery. Not sure what you're meant to do if there are any problems with the stock battery.
  • The default camera settings seem...awkward. Difficult to get decent focus and "nice" looking shots — never really found a phone that was good for photos/video though, could just be user error.
  • The USB tethering option on the S3 would switch itself off once unplugged. On the M8S it stays on so if you plug it into another computer it'll activate the tethering again. Not what you want if you (as I do) go from the machine I want to tether to a desktop that has an ethernet connection.
  • Switching between vibrate, silent and audible sound profiles is hidden away in the Settings menu system. The S3 had that as an option on the main shutdown/reset screen.
  • Auto correct when typing seems pretty aggressive. So far I haven't worked out how to keep the suggestions (which can be useful) but hold off on the actual correction.
  • Background data is turned on by default — again, in our expensive data environment this is bound to annoy people when their quotas are sucked dry by stuff they're not even using. Turning it off is hidden away in the data settings, and then there's a constant notification to say "background data restricted" — haven't found how to get rid of the notification. I know it's off, I turned it off. The damn phone doesn't need to constantly remind me.
  • In general the phone is notification happy: notifications all the time, with seemingly no control over acknowledging them. The notification system feels pretty all-or-nothing in that regard.
  • The power button is on top rather than on the side. Muscle memory needs time to adapt :|

The M8S fixes a number of the sore points I had with the S3, but brings its own annoyances. So overall...it's good (in the sense that all modern phones are marvels of technology) but not great I guess.

Monday, November 2, 2015

How to Choose a Replacement Socket 1155 Motherboard

In another what I assume is a soon-to-be-deleted superuser question, due to the affectations of the moderator squad there, a user asked:

"I have a socket 1155 motherboard (P67 chipset with i5-2400) that died. What do I need to consider for a replacement?"

Here's my answer (extended a little here to try and cover all bases), in case it helps anyone else going through the same process:

The i5-2400 will work with pretty much any socket 1155 motherboard, so you can look at the boards that were released with SandyBridge CPUs — for example, H61, H67, Z68 — as well as those that were released for IvyBridge CPUs, such as B75, H77, Z77.

Most board manufacturers have a CPU compatibility list for each board, so if you find a particular board, you should be able to confirm by searching for the make/model.

Given that they're not made any more, finding a "good" replacement might be tricky. As long as the motherboard has all the ports and sockets you need, it should do the job. In the general case, some of the factors that should be considered:

  • What sized case do you have? Physical size is imperative: An ATX motherboard won't fit in a micro-ATX sized case, for example. A board that is otherwise suitable must fit the case, otherwise it is pointless to consider it.
  • Number of and/or combination of PCI and PCIe slots required. All current motherboards have at least one PCIe x16 slot for a graphics card, and keep in mind that most graphics card take up at least two slots.
  • Number of RAM slots required. Some low-end boards only have 2 RAM slots — if you have more sticks than that it might mean you either have to reduce your amount of RAM, or buy a new kit with larger size per stick.
  • Number of SATA ports. Most drives (hard drives, DVDs, and SSDs) around in the socket 1155 timeframe used SATA as the connector type. Make sure the motherboard has enough SATA ports for all your drives.
  • Number of USB ports required. In addition the ports on the motherboard, consider what USB ports your case has. Any USB 3 ports will most likely require a USB 3 header on the motherboard, which are physically different sizes to USB 2 headers.
  • Number and type of onboard graphics ports. If not using a dedicated GPU, consider what types of onboard graphics connectors you need.
  • Number of fan headers. Required for case fans
  • Chipset matching to avoid confusing your operating system. You may want to attempt to match the existing board — by chipset and/or manufacturer — in order to reduce the risk of your operating system from "rejecting" the change.
  • Overclocking support. If overclocking with a 'K' CPU, choose a 'Z' chipset

Most DDR3 RAM will work with any board, but you can also try and confirm RAM compatibility either with the motherboard or RAM manufacturer's compatibility lists.

The i5-2400 which has limited overclocking potential is a little easier to source a replacement that for an overclockable 'K' CPU. In the latter case, the Z68 or Z77 boards are the best choice as they support overclocking.

2nd hand is most likely a cost-effective option if you can find one. Some socket 1155 boards are still available at online stores, so you could check Newegg, Amazon, and similar places. Alternatively, you could call a few local computers stores to see if by chance they've got old stock.

As an example of the process: here's a listing for the Gigabyte B75M-D3H at Amazon. The CPU support list shows that the i5-2400 is supported. It has 4 RAM slots, and after the GPU is in will have a PCI and PCIe slot free. It is only micro-ATX sized, so should fit all but the smallest cases.

When replacing, if you change the make and model of the board, you may have difficulty booting your OS with the updated board. This depends what OS you're using, and how different the replacement board is as far as drivers go. Windows traditionally hates hardware being replaced, and may refuse to boot; if you were using, say, Linux it would most likely just work. So keep that in mind that some recovery — or worst-case, a reinstall — of the OS might be required. Finding an exact model motherboard should avoid this issue; finding a similar chipset should reduce the risk of boot issues (but licensing issues may still need to be dealt with).

During the replacement process, after removing the heatsink, clean existing thermal paste from the CPU and heatsink using isopropyl alcohol. Reapply fresh paste before putting the cooler back on the CPU when it's installed in the new motherboard.

(As an aside, confirming that a motherboard fault is the problem — and not something else like a dead power supply — is a worthwhile activity to go through first).