Wiki Tables

So I found the need / desire to place tables side by side in https://wiki.ubuntu.com/BeginnersTeam/FocusGroups/Development/Joining.

I successfully got the tables working how I wanted them, however I noticed a few issues.  The first issue is that the tables aren’t maintained when you break them across lines by the ‘||’ tag.  i.e.

||<tablestyle...>||Something||SomethingElse||

does not parse the same as

||<tablestyle...>
||Something
||SomethingElse

But that’s understandable, given how parsing engines work.. And the only time this becomes a hassle is when you want two or three or even four tables side by side, you have to write them as one large table which tends to take up several lines for one row of tabular data.

But one idea I propose is to create a shortcut for <style=”border:none”>.  Similar to how:  <#000000> is a shortcut for <style=”background:#000000;”>  and how <50%>  is a shortcut for <width:”50%”>  which is a shortcut for <style=”width:50%;”>.

That would make it a little easier and a little clutter than seeing a line such as:

||<style="border:none">||<style="border:none">||<style="border:none">|| dataHere || DataHere ||

And make it something more like:

||<nb>||<nb>||<nb>|| dataHere || DataHere ||

where <nb> = no border.

Another idea would be for the tables to actually be floated next to each other…but in the few attempts I had with the floating, it didn’t seem to work.  So if that does work, then I just may have overlooked something.  Hrm.

Food for thought. Tis all.

Bash/Shell Programming – Binary Operator Expected

So if you ever decide to get into shell scripting, it’s a wonderful world.  Until you run into snags that you once thought you had the hang of.  Let’s take shell conditionals, for example.

So i’m trying to test the output of grep and do something if it returns a result.  After setting it up the usual way:

if [ -n `ls | grep something' ]; then
echo "Something Exists";
fi

But by doing it that way, I kept getting the error:
./scnotify.sh: line 3: [: 2841.c: binary operator expected
which for the life of me I couldn’t figure out. Eventually I figured it out though…and all that the error was, was instead of a single ‘[‘ and ‘]’ wrapping the comparison, it requires a double…i.e.

if [[ -n `ls | grep something` ]]; then
echo "Success";
fi

Hope this saves someone some headache in the future.

Determining WHICH *nix distro is currently used…

–Edit.
Originally, I had run into the issue of trying to determine the *nix distribution – a command that would tell me the distribution and the build and everythign else I wanted to know. After reviewing some of the awesome comments left behind, here’s the updated perl script to determine the distribution (in Perl).

#!/usr/bin/env perl
use strict;
use warnings;

my ( $distro );
$distro = `lsb_release -i -s`;
chomp $distro;

my %installCmd = (
"Fedora" => \&fedora,
"Ubuntu" => \&ubuntu,
);

&test();

sub test {
if ( exists $installCmd{$distro} ) {
$installCmd{$distro}->();
} else {
print "Supported Distributions are: ". join(', ' , keys %installCmd) . ".\n";
exit;
}
}

sub fedora { print "Hello from the Fedora Family!"; }
sub ubuntu { print "Hello from UBUNTU!!!"; }

sqlite, sqlite3, and CPAN equivalents in Ubuntu and Fedora

So I ran into an issue today, while working trying to port a program from Ubuntu to Fedora, involving Sqlite and Sqlite3 and CPAN.

sqlite (2.8)

Ubuntu:    sudo apt-get install sqlite
Fedora:    su -c 'yum install sqlite2'

sqlite3 (3.0+)

Ubuntu:    sudo apt-get install sqlite3
Fedora:    su -c 'yum install sqlite'

CPAN

Ubuntu:    Installed by default
Fedora:    su -c 'yum install perl-CPAN'