Archive

Archive for the ‘Guinea Pigs’ Category

Listener Feedback podcast episode 52: Silence – L’autre Endroit

January 24th, 2016 No comments

Listener Feedback podcast is a royalty free and Creative Commons music podcast. This episode, titled “Episode 52: Full Album – Silence – L’autre Endroit” was released on Sunday January 24th, 2016. To suggest artists and albums that should be featured you can send an e-mail to contact@listenerfeedback.net or message @LFpodcast on Twitter.

To subscribe to the podcast add the feed here or listen to this episode by clicking here.




I am currently running a variety of distributions, primarily Linux Mint 17.
Previously I was running KDE 4.3.3 on top of Fedora 11 (for the first experiment) and KDE 4.6.5 on top of Gentoo (for the second experiment).

Enter the Void! First impressions of Void Linux

January 23rd, 2016 No comments
Void Linux

Void Linux

While Gentoo is a great way to spin your own flavour of Linux, after a year I’ve found that recompiling packages every time you do an update becomes a bit of a drag. With that in mind I decided to look around for an alternative distribution, and while nothing is 100% perfect I have to say I really am very happy with Void Linux. There are a number of “live” iso images which will happily boot from a USB stick, I only looked at two of the images Cinnamon and Xfce, while Cinnamon was all very pretty and all that, I couldn’t get the audio volume widget to show itself and besides I didn’t see any real advantage. I’ve long been a fan of Xfce basically because of what it doesn’t try to do, you don’t get the kitchen sink (thankfully) but what you do get works solidly.

Now its entirely possible that I missed something obvious with the void_installer script but it has two distinct behaviours depending on what installation source you choose. If you choose to install from the internet what you get is a bare minimum of packages (command line only) and you’ll be left with a fair bit of configuration to do for yourself – this isn’t always a bad thing if for example you have some specific use maybe an embedded kiosk for example. For more usual desktop use, its better to choose the installation media itself as the source, this basically copies and configures the “live” image onto your machine. I did find that after an update I had to manually delete the old kernel, but once I did that and a few more of the usual chores one normally expects when installing a new system – (eventually after correctly using the installer!) I found myself in possession of a really nice system.

Void is a sleek system, obviously well engineered and the best thing has to be the package manager – xbps comprises in a small suite of interrelated console applications, which do just one narrow function each, for example given the choice of xbps-install, xbps-query, xbps-remove etc you can make a good guess at what they do. As you’d expect each xbps app if run without parameters gives you a quick run down of commands and parameters. One thing I did notice with xbps is its fast, and no mistake! There is a graphical package manager too (octoxbps) which is both familiar but refreshingly slightly different (and not just for the sake of it either) I didn’t manage to find an update reminder but the xbps tools are easy to work with and I was able to make a simple script to do a dry run update (so nothing’s changed) from this I can infer the number of updates that need to be done.

#!/bin/bash
n=`xbps-install -Snu | wc -l`
if [ $n -gt 0 ]
 then
 if [ $n -eq 1 ]
 then
 m="there is a system update to do"
 else
 m="there are $n system updates to do"
 fi
 zenity --info --text="$m"
 fi

I auto run this when the desktop environment starts, keeping package information synced and warning me of updates – this will be most useful when installed on machines that I maintain for others who let us say just need a gentle reminder about updates…

Of course everything was going far too well (spoiling my fun! just working like that) the only one big issue I had was with steam, but the Void forum soon came to my aid with a work around, a particular version of the Xorg driver for Intel gpu’s was causing some kind of networking issue (of all things) I won’t bore you with the details but suffice to say its working with a “little” persuasion!

I did notice pulse audio is installed by default, which seemed a little odd as I’m not sure it provides a great deal for the extra overhead, uninstalling pulse audio doesn’t break anything and getting Alsa going is just a case of enabling the daemon in the alsa-utils package and adding the usual Alsa configuration (~/.asoundrc)

pcm.!default {
 type plug
 slave {
 pcm "hw:1,0"
 }
 }
 ctl.!default {
 type hw
 card 1
 }

I’ve since found a better way to configure ALSA – a quote from their website

Neither .asoundrc or /etc/asound.conf is normally required. You should be able to play and record sound without either (assuming your mic and speakers are hooked up properly). If your system won’t work without one, and you are running the most current version of ALSA, you probably should file a bug report.

That said it did assume the HDMI output was the default so an even simpler config for the kernel module itself allowed me to disable HDMI sound which I have no use for…

/etc/modprobe.d/alsa-base.conf 

options snd_hda_intel enable=1 index=0
options snd_hda_intel enable=0 index=1

Your system might differ but its not really a problem, its just nice there are no enforced and/or needless package dependencies like there are with some other distributions.

Further testing centred on Java development, I knew if I was going to hit any major show stoppers that Jgles2 (with its multiple build systems) would likely show up issues. Not unusually for Void, Ant’s package was bang up to date (wish I could say the same of Gentoo – as at the time of writing Ant is languishing at version 1.9.2 which isn’t enough to compile Lwjgl….) installing g++, make and pkg-config had the complete build system for Jgles2 working as I’d expect.

While its still early days, and its not impossible I could find some wrinkles – all in all so far Void seems a positive experience and well worth considering.

Introducing Chris C, our occasional guest writer.
This article was originally published at his personal website here.

Categories: Chris C, Linux Tags:

Open formats are… the best formats?

January 17th, 2016 2 comments

Over the past few years there has been a big push to replace proprietary formats with open formats. For example Open Document Format and Office Open XML have largely replaced the legacy binary formats, we’re now seeing HTML5 + JavaScript supplant Silverlight and Java applets, and even the once venerable Flash is on its deathbed.

This of course all makes sense. We’re now in an era where the computing platforms, be it Microsoft Windows, Apple OS X, Android, iOS, Linux, etc., simply don’t command the individual market shares (or at least mind shares) that they once used to. Things are… more diversified now. And while they may not matter to the user the underlying differences in technologies certainly matter to the developer. This is one of the many reasons you see lots of movement to open formats where the same format can be implemented, relatively easily, on all of the aforementioned platforms.

So then the question must be asked: does this trend mean that open formats are the best formats? That is obviously quite a simple question to a deep (and perhaps subjective) subject so perhaps it’s better to look at it from a user adoption perspective. Does being an open format, given all of its advantages, translate to market adoption? There the answer is not as clear.

Open by example

Let’s take a look a few instances where a clear format winner exists and see if it is an open format or a closed/proprietary format.

Documents

When it comes to documents the Open Document Format and Open Office XML have largely taken over. This has been driven largely by Microsoft making Office Open XML the default file format in all versions of Microsoft Office since 2007. Additionally many governments and organizations around the world have standardized on the use of Open Document Format. That said older Microsoft Office binary formats (i.e. .doc, .xls, etc.) are still widely in use.

Verdict: open formats have largely won out.

Audio

For the purposes of the “audio” category let’s consider simply the audio codec that most people use to consume their music. In that regard MP3 is still the absolute dominant format. While it is somewhat encumbered by patents you will hardly find a single device out there that doesn’t support it. This is true even when there are better lossy compression formats (including the proprietary AAC or open Ogg Vorbis) as well as lossless formats like FLAC.

Verdict: the closed/proprietary MP3 format is the de facto standard.

Video

Similarly for the “video” category I’ll only be focusing on the codecs. While there are plenty of open video formats (Theora, WebM, etc.) they are not nearly as well supported as the proprietary formats like MPEG-2, H.264, etc. Additionally the open formats (in general) don’t have quite as good quality vs size ratios as the proprietary ones which is often while you’ll see websites using them in order to save on bandwidth.

Verdict: closed/proprietary formats have largely won out.

File Compression

Compression is something that most people consider more as an algorithm than a format which is why I’ll be focusing on the compressed file container formats for this category. In that regard the ZIP file format is by far the most common. It has native support in every modern operating system and offers decent compression. Other open formats, such as 7-Zip, offer better performance and even some proprietary formats, like RAR, have seen widespread use but for the most part ZIP is the go-to format. What muddies the waters here a bit is that the base ZIP format is open but some of the features added later on were not. However the majority of uses are based on the open standards.

Verdict: the open zip format is the most widely used standard.

Native Applications vs Web Apps

While applications may not, strictly speaking, be a format it does seem to be the case that every year there are stories about how Web Apps will soon replace Native Applications. So far however the results are a little mixed with e-mail being a perfect example of this paradox. For personal desktop e-mail web apps, mostly Gmail and the like, have largely replaced native applications like Microsoft Outlook and Thunderbird. On mobile however the majority of users still access their e-mail via native “apps”. And even then in enterprises the majority of e-mail usage is still done via native applications. I’m honestly not sure which will eventually win out, if either, but for now let’s call it a tie.

Verdict: tie.

The answer to the question is…

Well just on the five quick examples above we’ve got wins for 2 open formats, 2 closed/proprietary formats and one tie. So clearly based on market adoption we’re at a stand still.

Personally I’d prefer if open formats would take over because then I wouldn’t have to worry about my device supporting the format in question or not. Who knows, maybe by next year we’ll see one of the two pull ahead.

This post originally appeared on my website here.




I am currently running a variety of distributions, primarily Linux Mint 17.
Previously I was running KDE 4.3.3 on top of Fedora 11 (for the first experiment) and KDE 4.6.5 on top of Gentoo (for the second experiment).

KWLUG: Mageia Linux, Tax Software (2016-01)

January 12th, 2016 No comments

This is a podcast presentation from the Kitchener Waterloo Linux Users Group on the topic of Mageia Linux, Tax Software published on January 5th 2016. You can find the original Kitchener Waterloo Linux Users Group post here.

Read more…




I am currently running a variety of distributions, primarily Linux Mint 17.
Previously I was running KDE 4.3.3 on top of Fedora 11 (for the first experiment) and KDE 4.6.5 on top of Gentoo (for the second experiment).
Categories: Linux, Podcast, Tyler B Tags: ,

KWLUG: GNU Social (2015-12)

January 12th, 2016 No comments

This is a podcast presentation from the Kitchener Waterloo Linux Users Group on the topic of GNU Social published on December 8th 2015. You can find the original Kitchener Waterloo Linux Users Group post here.

Read more…




I am currently running a variety of distributions, primarily Linux Mint 17.
Previously I was running KDE 4.3.3 on top of Fedora 11 (for the first experiment) and KDE 4.6.5 on top of Gentoo (for the second experiment).
Categories: Linux, Podcast, Tyler B Tags: ,

Listener Feedback podcast episode 51: Other Nosies – S.L.A.S.H

January 10th, 2016 No comments

Listener Feedback podcast is a royalty free and Creative Commons music podcast. This episode, titled “Episode 51: Full Album – Other Noises – S.L.A.S.H” was released on Sunday January 10th, 2016. To suggest artists and albums that should be featured you can send an e-mail to contact@listenerfeedback.net or message @LFpodcast on Twitter.

To subscribe to the podcast add the feed here or listen to this episode by clicking here.




I am currently running a variety of distributions, primarily Linux Mint 17.
Previously I was running KDE 4.3.3 on top of Fedora 11 (for the first experiment) and KDE 4.6.5 on top of Gentoo (for the second experiment).

Listener Feedback podcast episode 50: Tab – Dead Poets: The Village Idiots

December 27th, 2015 No comments

Listener Feedback podcast is a royalty free and Creative Commons music podcast. This episode, titled “Episode 50: Full Album – Tab – Dead Poets: The Village Idiots” was released on Sunday December 27th, 2015. To suggest artists and albums that should be featured you can send an e-mail to contact@listenerfeedback.net or message @LFpodcast on Twitter.

To subscribe to the podcast add the feed here or listen to this episode by clicking here.




I am currently running a variety of distributions, primarily Linux Mint 17.
Previously I was running KDE 4.3.3 on top of Fedora 11 (for the first experiment) and KDE 4.6.5 on top of Gentoo (for the second experiment).

Listener Feedback podcast episode 49: Final Round – None Of Us Will Ever Leave A Legacy

December 13th, 2015 No comments

Listener Feedback podcast is a royalty free and Creative Commons music podcast. This episode, titled “Episode 49: Full Album – Final Round – None Of Us Will Ever Leave A Legacy” was released on Sunday December 13th, 2015. To suggest artists and albums that should be featured you can send an e-mail to contact@listenerfeedback.net or message @LFpodcast on Twitter.

To subscribe to the podcast add the feed here or listen to this episode by clicking here.




I am currently running a variety of distributions, primarily Linux Mint 17.
Previously I was running KDE 4.3.3 on top of Fedora 11 (for the first experiment) and KDE 4.6.5 on top of Gentoo (for the second experiment).

Let’s write a very simple text editor in CoreGTK

December 5th, 2015 No comments

In this post I’ll quickly show how you can write a very simple text editor using CoreGTK. This example is purposely very basic, has no real error handling and few features but it does show how to use CoreGTK in various ways.

To start with I quickly threw something together in GLADE (which if you aren’t aware is an excellent drag and drop GUI editor for GTK+).

coregtk_glade

Very basic shell in GLADE

Next I created a SimpleTextEditor class that will house the majority of my logic and stubbed out my callbacks and methods.

@interface SimpleTextEditor : NSObject
{
    CGTKTextView *txtView;
    CGTKWidget *window;
}

-(void)show;

// Callbacks
-(void)winMain_Destroy;
-(void)btnNew_Clicked;
-(void)btnOpen_Clicked;
-(void)btnSave_Clicked;

// Helper methods to deal with the text view
-(NSString *)getText;
-(void)setText:(NSString *)text;

@end

Now the fun part begins: filling in the implementation of the methods. First create the init and dealloc methods:

-(id)init
{
    self = [super init];
    
    if(self)
    {
        CGTKBuilder *builder = [[CGTKBuilder alloc] init];
        if(![builder addFromFileWithFilename:@"gui.glade" andErr:NULL])
        {
            NSLog(@"Error loading GUI file");
            return nil;
        }
        
        NSDictionary *dic = [[NSDictionary alloc] initWithObjectsAndKeys:
            [CGTKCallbackData withObject:self andSEL:@selector(winMain_Destroy)], @"winMain_Destroy",
            [CGTKCallbackData withObject:self andSEL:@selector(btnNew_Clicked)], @"btnNew_Clicked",
            [CGTKCallbackData withObject:self andSEL:@selector(btnOpen_Clicked)], @"btnOpen_Clicked",
            [CGTKCallbackData withObject:self andSEL:@selector(btnSave_Clicked)], @"btnSave_Clicked",
            nil];
        
        [CGTKBaseBuilder connectSignalsToObjectsWithBuilder:builder andSignalDictionary:dic];
        
        // Get a reference to the window
        window = [CGTKBaseBuilder getWidgetFromBuilder:builder withName:@"winMain"];
        
        // Get a reference to the text view
        txtView = [[CGTKTextView alloc] initWithGObject:[[CGTKBaseBuilder getWidgetFromBuilder:builder withName:@"txtView"] WIDGET]];
        
        [builder release];
    }
    
    return self;
}
-(void)dealloc
{
    [txtView release];
    [window release];
    [super dealloc];
}

OK let’s break down what we’ve done so far.

CGTKBuilder *builder = [[CGTKBuilder alloc] init];
if(![builder addFromFileWithFilename:@"gui.glade" andErr:NULL])
{
    NSLog(@"Error loading GUI file");
    return nil;
}

First thing is to parse the GLADE file which is what this code does. Next we need to connect the signals we defined for the different events in GLADE to the callback methods we defined in our code:

NSDictionary *dic = [[NSDictionary alloc] initWithObjectsAndKeys:
    [CGTKCallbackData withObject:self andSEL:@selector(winMain_Destroy)], @"winMain_Destroy",
    [CGTKCallbackData withObject:self andSEL:@selector(btnNew_Clicked)], @"btnNew_Clicked",
    [CGTKCallbackData withObject:self andSEL:@selector(btnOpen_Clicked)], @"btnOpen_Clicked",
    [CGTKCallbackData withObject:self andSEL:@selector(btnSave_Clicked)], @"btnSave_Clicked",
    nil];

[CGTKBaseBuilder connectSignalsToObjectsWithBuilder:builder andSignalDictionary:dic]

Finally extract and store references to the window and the text view for later:

// Get a reference to the window
window = [CGTKBaseBuilder getWidgetFromBuilder:builder withName:@"winMain"];

// Get a reference to the text view
txtView = [[CGTKTextView alloc] initWithGObject:[[CGTKBaseBuilder getWidgetFromBuilder:builder withName:@"txtView"] WIDGET]];

Before we can test anything out we need to fill in a few more basic methods to show the window on command and to exit the GTK+ loop when we close the window:

-(void)show
{
    [window showAll];
}

-(void)winMain_Destroy
{
    [CGTK mainQuit];
}

Now we can actually use our SimpleTextEditor so let’s write a main method to create it:

int main(int argc, char *argv[])
{    
    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];

    /* 
     * This is called in all GTK applications. Arguments are parsed
     * from the command line and are returned to the application. 
     */
    [CGTK autoInitWithArgc:argc andArgv:argv];
    
    // Create and display editor
    SimpleTextEditor *editor = [[SimpleTextEditor alloc] init];
    
    // Check for error
    if(editor == nil)
    {
        return 1;
    }
    
    // Show the window    
    [editor show];
    
    // Start GTK+ loop
    [CGTK main];

    // Release allocated memory
    [editor release];
    [pool release];

    // Return success
    return 0;
}

Compile and run this and you’ll be presented with a cool Simple Text Editor window!

Our very... err... simple text editor

Our very… err… simple text editor

So far so good. Let’s keep filling in our stubbed in methods starting with our helper methods that will allow us to manipulate the underlying text buffer:

-(NSString *)getText
{
    gchar *gText = NULL;
    GtkTextBuffer *buf = NULL;
    GtkTextIter start, end;
    NSString *nsText = nil;
    
    // Grab reference to text buffer
    buf = [txtView getBuffer];
    
    // Determine the bounds of the buffer
    gtk_text_buffer_get_bounds (buf, &start, &end);
    
    // Get the gchar text from the buffer
    gText = gtk_text_buffer_get_text(buf, &start, &end, FALSE);
    
    // Convert it to an NSString
    nsText = [NSString stringWithUTF8String:gText];
    
    // Free the allocated gchar string
    g_free(gText);

    // Return the text
    return nsText;
}

-(void)setText:(NSString *)text
{
    // Get reference to text buffer
    GtkTextBuffer *buf = [txtView getBuffer];
    
    // Set contents of text buffer
    gtk_text_buffer_set_text(buf, [text UTF8String], -1);
}

At this point we have everything we need to implement our New button click callback method:

-(void)btnNew_Clicked
{
    [self setText:@""];
}

Like I said this is a pretty basic example so in a real world application I would hope you would prompt the user before blowing away all of their text!

All that’s left to do at this point is to implement the Open and Save callback methods. For these I’m going to create a new class, MultiDialog, to show how you can still really dig into the GTK+ C code when you need to.

@interface MultiDialog : NSObject
{
}

+(NSString *)presentOpenDialog;
+(NSString *)presentSaveDialog;

@end

And here is the implementation:

@implementation MultiDialog

+(NSString *)presentOpenDialog
{
    // Variables
    CGTKFileChooserDialog *dialog = nil;
    gchar *gText = NULL;
    gint result;
    NSString *filename = nil;

    // Create the dialog itself
    dialog = [[CGTKFileChooserDialog alloc] initWithTitle:@"Open File" andParent:nil andAction:GTK_FILE_CHOOSER_ACTION_OPEN];
    
    // Add cancel and open buttons
    gtk_dialog_add_button ([dialog DIALOG],
                   "_Cancel",
                   GTK_RESPONSE_CANCEL);
    gtk_dialog_add_button ([dialog DIALOG],
                   "_Open",
                   GTK_RESPONSE_ACCEPT);
    
    // Run the dialog
    result = gtk_dialog_run (GTK_DIALOG ([dialog WIDGET]));

    // If the user clicked Open
    if(result == GTK_RESPONSE_ACCEPT)
    {
        // Extract the filename and convert it to an NSString
        gText = gtk_file_chooser_get_filename ([dialog FILECHOOSERDIALOG]);
        filename = [NSString stringWithUTF8String:gText];
    }

    // Cleanup
    g_free(gText);
    gtk_widget_destroy ([dialog WIDGET]);
    [dialog release];
    
    return filename;
}

+(NSString *)presentSaveDialog
{
    // Variables
    CGTKFileChooserDialog *dialog = nil;
    gchar *gText = NULL;
    gint result;
    NSString *filename = nil;

    // Create the dialog itself
    dialog = [[CGTKFileChooserDialog alloc] initWithTitle:@"Save File" andParent:nil andAction:GTK_FILE_CHOOSER_ACTION_SAVE];
    
    // Add cancel and save buttons
    gtk_dialog_add_button ([dialog DIALOG],
                   "_Cancel",
                   GTK_RESPONSE_CANCEL);
    gtk_dialog_add_button ([dialog DIALOG],
                   "_Save",
                   GTK_RESPONSE_ACCEPT);

    // Set settings
    gtk_file_chooser_set_do_overwrite_confirmation ([dialog FILECHOOSERDIALOG], TRUE);
    gtk_file_chooser_set_current_name([dialog FILECHOOSERDIALOG], "Untitled document");
    
    // Run the dialog
    result = gtk_dialog_run (GTK_DIALOG ([dialog WIDGET]));

    // If the user clicked Save
    if(result == GTK_RESPONSE_ACCEPT)
    {
        // Extract the filename and convert it to an NSString
        gText = gtk_file_chooser_get_filename ([dialog FILECHOOSERDIALOG]);
        filename = [NSString stringWithUTF8String:gText];
    }

    // Cleanup
    g_free(gText);
    gtk_widget_destroy ([dialog WIDGET]);
    [dialog release];
    
    return filename;
}

@end

There is quite a bit of code there but hopefully the comments make it pretty easy to follow. Now that we have our MultiDialog class we can use it in our SimpleTextEditor methods:

-(void)btnOpen_Clicked
{
    NSString *text = [NSString stringWithContentsOfFile:[MultiDialog presentOpenDialog]];    
    [self setText:text];
}

-(void)btnSave_Clicked
{
    NSString *filename = [MultiDialog presentSaveDialog];
    NSString *text = [self getText];
        
    NSError *error;
    BOOL succeed = [text writeToFile:filename atomically:YES encoding:NSUTF8StringEncoding error:&error];

    if(!succeed)
    {
        NSLog(@"%@:%s Error saving: %@", [self class], _cmd, [error localizedDescription]);
    }
}

And there you have it a very simple text editor that lets you open text file and save them. You can find the full source for this application under the examples directory of the CoreGTK github repository.

 

This post originally appeared on my website here.




I am currently running a variety of distributions, primarily Linux Mint 17.
Previously I was running KDE 4.3.3 on top of Fedora 11 (for the first experiment) and KDE 4.6.5 on top of Gentoo (for the second experiment).
Categories: Open Source Software, Tyler B Tags:

hpr1913 :: Help us take The Linux Experiment to the next level!

December 2nd, 2015 No comments

Hacker Public Radio (HPR) is a podcast that releases shows every weekday Monday through Friday. What differentiates HPR from other podcasts is that the shows are produced by the community. This episode, titled “The Linux Experiment” was released on Wednesday December 2nd 2015.

To subscribe to the podcast add the feed here or listen to this episode by clicking here.




I am currently running a variety of distributions, primarily Linux Mint 17.
Previously I was running KDE 4.3.3 on top of Fedora 11 (for the first experiment) and KDE 4.6.5 on top of Gentoo (for the second experiment).

Listener Feedback podcast episode 48: Boom Boom Beckett – Boom Boom Baby

November 29th, 2015 No comments

Listener Feedback podcast is a royalty free and Creative Commons music podcast. This episode, titled “Episode 48: Full Album – Boom Boom Beckett – Boom Boom Baby” was released on Sunday November 29th, 2015. To suggest artists and albums that should be featured you can send an e-mail to contact@listenerfeedback.net or message @LFpodcast on Twitter.

To subscribe to the podcast add the feed here or listen to this episode by clicking here.




I am currently running a variety of distributions, primarily Linux Mint 17.
Previously I was running KDE 4.3.3 on top of Fedora 11 (for the first experiment) and KDE 4.6.5 on top of Gentoo (for the second experiment).
Categories: Podcast, Tyler B Tags:

Linux alternatives: Mp3tag → puddletag

November 28th, 2015 No comments

Way back when I first made my full-time switch to Linux I made a post about an alternative to the excellent Mp3tag software on Windows. At the time I suggested a program called EasyTAG and while that is still a good program I’ve recently come across one that I think I may actually like more: puddletag.

A screenshot of puddletag from their website

A screenshot of puddletag from their website

While it is very similar to EasyTAG I find puddletag’s layout a bit easier to navigate and use.

This post originally appeared on my personal website here.




I am currently running a variety of distributions, primarily Linux Mint 17.
Previously I was running KDE 4.3.3 on top of Fedora 11 (for the first experiment) and KDE 4.6.5 on top of Gentoo (for the second experiment).

Big distributions, little RAM 9

November 28th, 2015 No comments

It’s been a while but once again here is the latest instalment of the series of posts where I install the major, full desktop, distributions into a limited hardware machine and report on how they perform. Once again, and like before, I’ve decided to re-run my previous tests this time using the following distributions:

  • Debian 8.2 (Cinnamon)
  • Debian 8.2 (GNOME)
  • Debian 8.2 (KDE)
  • Debian 8.2 (MATE)
  • Debian 8.2 (Xfce)
  • Elementary OS 0.3.1 (Freya)
  • Kubuntu 15.10 (KDE)
  • Linux Mint 17.2 (Cinnamon)
  • Linux Mint 17.2 (MATE)
  • Linux Mint 17.2 (Xfce)
  • Mageia 5 (GNOME)
  • Mageia 5 (KDE)
  • Ubuntu 15.10 (Unity)
  • Xubuntu 15.10 (Xfce)

I also attempted to try and install Fedora 23, Linux Mint 17.2 (KDE) and OpenSUSE 42.1 but none of them were able to complete installation.

All of the tests were done within VirtualBox on ‘machines’ with the following specifications:

  • Total RAM: 512MB
  • Hard drive: 10GB
  • CPU type: x86 with PAE/NX
  • Graphics: 3D Acceleration enabled

The tests were all done using VirtualBox 5, and I did not install VirtualBox tools (although some distributions may have shipped with them). I also left the screen resolution at the default (whatever the distribution chose) and accepted the installation defaults. All tests were run prior to December 2015 so your results may not be identical.

Results

Just as before I have compiled a series of bar graphs to show you how each installation stacks up against one another. Measurements were taken using the free -m command for memory and the df -h command for disk usage.

Like before I have provided the results file as a download so you can see exactly what the numbers were or create your own custom comparisons (see below for link).

Things to know before looking at the graphs

First off if your distribution of choice didn’t appear in the list above its probably not reasonably possible to be installed (i.e. I don’t have hours to compile Gentoo) or I didn’t feel it was mainstream enough (pretty much anything with LXDE). As always feel free to run your own tests and link them in the comments for everyone to see.

Quick Info

  • Out of the Cinnamon desktops tested Debian 8.2 had the lowest memory footprint
  • Out of the GNOME desktops tested Mageia 5 had the lowest memory footprint
  • Out of the KDE desktops tested Mageia 5 had the lowest memory footprint
  • Out of the Xfce desktops tested Debian 8.2 had the lowest memory footprint
  • Out of the MATE desktops tested Debian 8.2 had the lowest memory footprint
  • Elementary OS 0.3.1 had the highest memory footprint of those tested
  • Debian 8.2 Xfce and MATE tied for the lowest memory footprint of those tested
  • Debian 8.2 Xfce had the lowest install size of those tested
  • Kubuntu 15.10 had the largest install size of those tested
  • Elementary OS 0.3.1 had the lowest change after updates (+2MiB)
  • Mageia 5 KDE had the largest change after updates (-265MiB)

First boot memory (RAM) usage

This test was measured on the first startup after finishing a fresh install.

big_distro_little_ram_9_first_boot_memory_usageMemory (RAM) usage after updates

This test was performed after all updates were installed and a reboot was performed.

big_distro_little_ram_9_memory_usage_after_updatesMemory (RAM) usage change after updates

The net growth or decline in RAM usage after applying all of the updates.

big_distro_little_ram_9_memory_usage_change_after_updatesInstall size after updates

The hard drive space used by the distribution after applying all of the updates.

big_distro_little_ram_9_install_sizeConclusion

Once again I will leave the conclusions to you. Source data provided below.

Source Data




I am currently running a variety of distributions, primarily Linux Mint 17.
Previously I was running KDE 4.3.3 on top of Fedora 11 (for the first experiment) and KDE 4.6.5 on top of Gentoo (for the second experiment).

Distro hopping: feeling good with my time on LXLE

November 23rd, 2015 No comments

Well the time has come to officially switch off from LXLE. This time around however I find myself in a weird spot. I’ve honestly struggled with LXLE; not in using the distribution itself but rather coming up with things to write about it. That isn’t to say that LXLE is bad by any stretch of the imagination, in fact it is quite good, it’s just that once you get used to the light weight desktop environment (DE) there is a perfectly capable “heavy weight” distribution underneath. What I mean by this is that once you get used to the DE and it fades into the background you’re left with a perfectly functional distribution that could just as easily have been Ubuntu or Linux Mint or Fedora or {insert your favourite one here}.

Due to this strength I didn’t find myself struggling to make things work or figure out new ways to accomplish the things I needed to do… things were pretty much where I expected them to be… and that’s a great thing! It means that if you want to run a distribution that will be somewhat lighter on your system but you don’t want to scrimp on the applications you need to get work done then LXLE may just be for you.

The desktop

The desktop

Pros:

  • One of the few distributions that uses the light weight LXDE environment
  • Very low system resources (my machine took less than 400MiB of RAM after logging into the desktop!)
  • Just because it is a light weight distribution doesn’t mean it gives you less featured alternative applications
  • Boring… but in a good way! The distribution gets out of your way and lets you get work done!

Cons:

  • Still a couple of little bugs that seem like obvious things that would be caught if it had a larger user base
  • Ships with a load of applications, the majority of which most people probably won’t use day-to-day (maybe they could save some space instead?)
  • Boring… other than the desktop environment there isn’t anything overly unique to this distribution. Seems like you could just install LXDE on top of Ubuntu and get the same thing.

Other:

  • How awesome is the desktop background changer button right in the tool bar? I mean at first I thought it was a ridiculous waste of space but now I’m addicted to changing my desktop wallpaper with the push of a button.

Be sure to check back here soon to find out where I land next!

This post is part of a series:




I am currently running a variety of distributions, primarily Linux Mint 17.
Previously I was running KDE 4.3.3 on top of Fedora 11 (for the first experiment) and KDE 4.6.5 on top of Gentoo (for the second experiment).
Categories: LXLE, Tyler B Tags: ,

Distro hopping: adding a podcast in Guayadeque on LXLE

November 15th, 2015 No comments

I have to admit that I hadn’t even heard of Guayadeque until starting this little distro hopping adventure but since then I’ve found it to be the default music player in more than one distribution. As such I’ve decided to try and use it to see if it will work better for me instead of the usual alternatives.

Seeing as I’m a big fan of podcasts I’ve decided to see how Guayadeque handles the process of adding and listening to my feeds.

Start Guayadeque and click the Podcasts tab

Step 1

Step 1

Right click under the Channels column and click New Channel

You can add feeds directly from the podcast directory or from feed URLs

You can add feeds directly from the podcast directory or from feed URLs

If for some reason you can’t find your podcast in their existing directory you can simply find the podcast RSS feed and plug it into the Url text box instead.

For example let’s say I wanted to add the feed for Listener Feedback podcast. Unfortunately it isn’t already listed in the built-in directory but there are a few handy feeds that I found on the website here (there is even an Ogg Vorbis feed for higher quality). Once pasted in Guayadeque was able to find the podcast details right away:

Some handy settings are available

Some handy settings are available

Download and play

A short download later and the podcast is ready to be played!

Playing away

Playing away

So all told it’s a relatively painless to add a podcast to Guayadeque. My one issues with the user interface are that it feels a bit dated and seems to require a lot of right-clicking and context menus which may not be immediately obvious for some users. That said they’re very minor complaints and it is still a very functional application.

This post is part of a series:




I am currently running a variety of distributions, primarily Linux Mint 17.
Previously I was running KDE 4.3.3 on top of Fedora 11 (for the first experiment) and KDE 4.6.5 on top of Gentoo (for the second experiment).

Listener Feedback podcast episode 47: LukHash – The Other Side

November 14th, 2015 No comments

Listener Feedback podcast is a royalty free and Creative Commons music podcast. This episode, titled “Episode 47: Full Album – LukHash – The Other Side” was released on Saturday November 14th, 2015. To suggest artists and albums that should be featured you can send an e-mail to contact@listenerfeedback.net or message @LFpodcast on Twitter.

To subscribe to the podcast add the feed here or listen to this episode by clicking here.




I am currently running a variety of distributions, primarily Linux Mint 17.
Previously I was running KDE 4.3.3 on top of Fedora 11 (for the first experiment) and KDE 4.6.5 on top of Gentoo (for the second experiment).

Distro hopping: slimming down with LXLE

November 8th, 2015 1 comment

Now that my time with BSD has come to an end I thought I should jump back into Linux via a distribution I had never even heard of before (just to keep things interesting!). DistroWatch is an excellent source for finding different, unique and of course obscure distributions but I was surprised to find one in the top 10 that I had never even heard of before: LXLE.

LXLE on the DistroWatch top 10

LXLE on the DistroWatch top 10

So what exactly is LXLE? Well according to their website:

LXLE is based on Lubuntu which is an Ubuntu OS using the LXDE desktop environment. It is designed to be a drop-in and go OS, primarily for aging computers. Its intention is to be able to install it on any computer and be relatively done after install. At times removing unwanted programs or features is easier than configuring for a day. Our distro follows the same LTS schedule as Ubuntu. In short, LXLE is an eclectic respin of Lubuntu with its own user support.

After a quick install I am now running on LXLE!

The desktop

The desktop

Let’s take a quick walk through of what comes with this light weight distribution.

To browse your files it comes with the slim PCManFM:

PCManFM

PCManFM

Unfortunately it is also where I ran into my first issue with the distribution. The default user name in the installer was “qwerty” but somehow this survived, even though I replaced it with my own name, in the quick Places links along the left-hand side of the window. They still pointed to non-existent locations based on this default user name.

That's... not right...

That’s… not right…

Seamonkey suite is used for most basic Internet functionality including web browsing, e-mail, FTP, IRC, etc.

Seamonkey

Seamonkey web browser

Other interesting inclusions are anti-virus scanner ClamTk, password manager KeePassX, open source BitTorrent Sync alternative Syncthing, instant messenger Pidgin, Tox client uTox, music editor Audacity, music player Guayadeque, a load of games and many, many more utilities.

ClamTk, for all your virus scanning needs

ClamTk, for all your virus scanning needs

For a distribution that prides itself on being light weight it sure does ship with a lot of software! Like the others I’ll be playing around with LXLE over the next couple of days and post my thoughts and experiences here.

This post is part of a series:




I am currently running a variety of distributions, primarily Linux Mint 17.
Previously I was running KDE 4.3.3 on top of Fedora 11 (for the first experiment) and KDE 4.6.5 on top of Gentoo (for the second experiment).
Categories: LXLE, Tyler B Tags: ,

KWLUG: Sound in Linux (2015-11)

November 5th, 2015 No comments

This is a podcast presentation from the Kitchener Waterloo Linux Users Group on the topic of Sound in Linux published on November 5th 2015. You can find the original Kitchener Waterloo Linux Users Group post here.

Read more…




I am currently running a variety of distributions, primarily Linux Mint 17.
Previously I was running KDE 4.3.3 on top of Fedora 11 (for the first experiment) and KDE 4.6.5 on top of Gentoo (for the second experiment).
Categories: Linux, Podcast, Tyler B Tags: , ,

Distro hopping: shutting down PC-BSD

October 14th, 2015 No comments

Like the other distros before it the time has come for me to move on from PC-BSD. This has been an interesting experience as it is really my first time working with BSD up to this point.

Welcome to your PC-BSD desktop

Welcome to your PC-BSD desktop

Pros:

  • Neat standard technologies (like ZFS, file system compression, jails, etc.).
  • Really not that different from Linux so it feels very familiar.
  • Good software selection for the most part, although it could be more clear as to what the differences between some versions are. Common software makes it easy to jump between PC-BSD and other operating systems.

Cons:

  • Weirdly AppCafe which is designed to make installing software easier gave me a lot of problems. Sometimes clicking install wouldn’t actually install anything. Other times there would be errors but redoing the same process a second time would make it work. Once I somehow initiated a system update while trying to install a program and it wasn’t very clear what was happening or how much longer it would take before I could continue.
  • Konqueror is unnecessary with Firefox installed by default and often times doesn’t even work well. This is especially odd because I haven’t had as many problems using Konqueror in the past on Linux so the problems may be unique to PC-BSD.
  • I know this will likely start a religious debate but from a practical day-to-day desktop user perspective I’m not quite sure what would draw someone to using PC-BSD over Linux. That isn’t to say PC-BSD is bad or even lacking but with the much larger software library and support for Linux and very little differences between the two it seems like a no brainer to stay with Linux.

Other:

  • How come PC-BSD uses /usr/home/{account}? It still requires a link from /home/{account} (I assume for compatibility) so why not just keep it all under /home?

Where will I distro hop to next? Stay tuned!

This post is part of a series:




I am currently running a variety of distributions, primarily Linux Mint 17.
Previously I was running KDE 4.3.3 on top of Fedora 11 (for the first experiment) and KDE 4.6.5 on top of Gentoo (for the second experiment).
Categories: PC-BSD, Tyler B Tags: , ,

Distro hopping: installing Plex Media Server and Home Theater on PC-BSD

October 10th, 2015 No comments

Back when I was using elementary OS I made a post on how to install Plex Home Theater on Linux. While Plex officially supports Linux in most cases it did not for Home Theater but that thankfully didn’t stop me from getting it working. When it comes to PC-BSD things get a little more complicated. The only BSD download that Plex officially supports is Plex Media Server and even then only for FreeBSD. As I’m not overly familiar with BSD yet I’m not sure if I can just use that download on PC-BSD or not.

A search through the AppCafe

Thankfully PC-BSD comes with this nice application called AppCafe that is basically a big repository of software (like an app store). Searching for Plex in there finds Plex Media Server:

AppCafe

AppCafe

However if I check the box that says “Search all available PBIs and packages” then not only do I get a newer version of Plex Media Server but also Plex Home Theater as well.

Even more options!

Even more options!

The newer version of Plex Media Server was called ‘Plex Media Server – Plex Pass’ and as I don’t have a Plex Pass I chose to just install the slightly older version instead. Maybe this is the beta channel download or something? Anyway the install went well and Plex Media Server was good to go. One odd thing I did notice was that the local Plex management website wouldn’t fully load in Konqueror for some reason, only in Firefox…

Plex would only load in Firefox for some reason...

Plex would only load in Firefox for some reason…

Installing Plex Home Theater was a similar experience. I simply grabbed it from the AppCafe and away it went.

Because who doesn't love Big Buck Bunny?

Because who doesn’t love Big Buck Bunny?

So all told it really wasn’t that different of an experience installing Plex Media Server and Home Theater in PC-BSD compared to elementary OS. This mirrors what I’ve seen elsewhere in PC-BSD during my time with it as well. Basically as a long time Linux user I must say that so far BSD really isn’t that much different in day-to-day operations.

This post is part of a series:




I am currently running a variety of distributions, primarily Linux Mint 17.
Previously I was running KDE 4.3.3 on top of Fedora 11 (for the first experiment) and KDE 4.6.5 on top of Gentoo (for the second experiment).
Categories: PC-BSD, Tyler B Tags: , ,