LinuxPlanet Blogs

By Linux Geeks, For Linux Geeks.

Bye Bye Ars Technica

without comments

Hearing someone's voice can be an eye opener to what they're like, compared to the impression they give of themselves in a text medium, specially a live chat style text medium. That can be a double edged sword.

My Crivins co-host Kevie found out that Ars Technica had a podcast. I decided to listen to episode two. It opened my eyes, and lowered my previously high opinion of Ars Technica to zero. I am no longer a subscriber to Ars Technica after hearing Peter Bright.

The general subject of the episode is about a post done by a tech writer who took a year off of the internet. It's quite a decent discussion overall. Part of it is about how the various hosts came to the internet. This is where things start to go pear shaped.

Before I get into that, I'll point out that I've had a few run-ins with Peter Bright on IRC in the #Techrights channel on Freenode. Mostly it's not direct run-ins, but as an observer to a conversation that appears to be trolling. When you're kinda half paying attention, and it's trolling someone else, you don't know the background or context. When others are part of the conversation, things can turn into arguments, insults etc. After seeing multiple instances of that from Peter Bright, my impression was of a troll.

As I said at the start, sometimes we are seen in a bad light because of the ambiance of the forum or having had a bad day or whatever. So hearing someone in their own comfort place on a podcast should hopefully give a different and more positive impression. It kinda does for Peter Bright. He sounds intelligent, eloquent, personable and articulate.

That's not the issue. The issue is how proud he is to be a troll.

When they discussed how they came to the internet, his story had him as a kid of about 12 (I think) growing up, cracking passwords to get user accounts to allow him to do more on the internet than his account let him do. That in itself isn't the dealbreaker.

What does he want to do on the internet? He moves through trolling of one thing, to trolling of another, to trolling of another and so on. Offhand it jumps from newsgroups, to messenger etc Listen for yourself, if the exact details matter. That even extends to out lives as young adults at college or university. Kids will be kids right? We all do stuff growing up that we're not proud of, and would rather not have done. Some of us will not try to hide our past, but will have grown beyond it.

The parts of the story he chose to share on the podcast are almost all trolling, trolling, trolling, trolling and then employed as an Ars Technica staffer. I'm sure there's more to him that that, he's chosen to share just the trolling theme. I'm not sure if it's a kinda flamebait style choice of cherry picking incidents or themes, to illicit clicks on the site, making the advertisers happy. For me, it backfired big style.

Peter's past seems to revolve very heavily around trolling of one sort or another, on one type of service or another. This isn't the dealbreaker either. The dealbreaker is that he's proud of trolling, and happily informs the hosts and the listeners that he continues to do it, while being employed at Ars Technica.

How the fuck did he ever get passed an employment interview at Ars Technica? He must have some other redeeming features that made him worth employing. If not, the obvious conclusion to draw is that he was hired by Ars Technica as an experienced and proud troll, to carry on that pattern.

Ars Technica hire proud trolls.

For this reason, I have unsubscribed to Ars Technica. I will not be listening to another of their podcasts. I will not be linking to, or discussing Ars Technica stories on Crivins. Continuing to do so, is knowingly supporting a company who condones trolling. There are plenty of tech sites who break the same news as Ars Technica, plenty of them also do podcasts. Ars Technica is the only one I know to condone trolling.

We're all individuals. I am a podcaster too. The difference that I see, is that Ars Technica is a professional site, staffed by professional journalists to behave in a professional manor. Trolling is NEVER professional.

In a respectable organization, staff would be expected to conduct themselves properly as it reflects back on the organization. This applies especially strongly to tech sites, where strong opinions can easily boil over into accusations of bias and fanboism.

As the various hosts point out, lines are blurred between professional and personal lives online with social networking. Even this barrier is happily left behind with Peter Bright. This was not his personal site, blog or podcast. It's an Ars Technica podcast, on Ars Technica's network with the Ars Technica brand and with Ars Technica staff. This is his work environment, not his personal one.

It'd be easy for his fellow members of staff to enjoy the tales from each others youth's, while pointing out that as responsible members of staff, that's in the past. That'd be perfectly fine. Not only does Peter Bright feel perfectly confident in announcing his continued trolling, not a single co-host even attempts to interject with any caveats or assurances.

I forgot about checking out the Ars Technica podcast after mentioning it on Crivins. I'm glad I did. Bye bye Ars.

If you liked this post, buy me a coffee

Written by ThistleWeb

May 18th, 2012 at 1:39 am

Posted in Linux

Getting Started With Git

without comments

I have been using Git for years now and I am still a novice user. Actually, if you are an individual developer or work in a really small team, you don’t really need to go beyond using the basic stuff like cloning a repo, committing code, branching and pushing back to the origin repo. And that’s exactly what happened with me. Working alone most of the times and working in my own repos. I never felt the need to explore advanced usage.

Last week, we didn’t have internet at home for like four days. So, I thought I’ll read a book. I downloaded ProGit : The Free Git Book and started reading. It’s an awesomely written book. I learned a lot of new things about Git. A few more concept about using branches efficiently. If you are a Git beginner or looking forward to getting started with Git and you don’t like reading too much, I’ll suggest that you read at least first three chapters thoroughly. That along with a free GitHub account should be enough to get you going if you are not going to be a heavy Git user soon.

Fedora Tutorials and Videocache by Kulbir Saini.


Written by Kulbir Saini

May 16th, 2012 at 10:44 pm

Howto: Change Default User Session Ubuntu 12.04 LTS Precise Pangolin | Login Session | Desktop Environment

without comments

Hello, I hope you like my previous two posts, Some comments are very good to see and some comments from root protectors but that is also good as they feel that it is best. Everybody has rights to say but its upon them to accept it or not. Anyways, Today I am going to share [...]

Fedora 16

without comments


In the HPR0892 :: Hacker Public Radio New Year’s Eve Part 2/8 (A Bit About Fedora) I spoke about my Fedora install and I would like to put some better show notes out here.

First thing to do is get and iso. I downloaded Fedora-16-x86_64-Live-KDE.iso as I will be running KDE on a 64 bit system. I had some issues with the Fedora cd creator so I just used UnetBootin which has had more success. I rebooted and selected the usb key from the hardware boot up menu.
For the most part I selected the defaults, with the exception of hard disk encryption, which I would recommend that everyone would use.
If you want more information on the install process then I recommend that you read the excellent Installation Guide maintained by the project. I will be focusing on the things that I did to customize it for my liking.

I will never understand the “Application Launcher Style” that requires discrete clicks to navigate. Thankfully they have made it easy to switch, just right click on the Fedora icon/the KDE menu, and select “Switch to Classic Menu Style”.

If you are a Debian user then you may be familiar with the Debian multimedia repository that enables features that may not be legal in every jurisdiction. The equivalent repository in Fedora is RPM Fusion. It’s simple enough to install by opening the Konqueror web browser and going to http://rpmfusion.org/Configuration/ and click on “RPM Fusion free for Fedora 15 and 16″ and select “Open with Apper” and follow the instructions to install the free applications. If you want to install the nonfree applications then select “RPM Fusion nonfree for Fedora 15 and 16″
Notes:

  • that the password is the root password and not your sudo password
  • that there is a “pop under” authentication issue so if you see noting opening look for a window in the background
  • you are asked for your root password twice

I found it easier to use the console to install applications. The equivalent to debian’s aptitude is yum. Drop to root using su - and type yum update to do a system update. This will download all the updates since your spin was spun.

As you have just installed the RPM Fusion repositories you will need to accept the keys:

Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-free-fedora-16-i386
Importing GPG key 0xADF25D9C:
Userid : RPM Fusion free repository for Fedora (16)
Package: rpmfusion-free-release-14-2.noarch (@/11281.0.rpmfusion-free-release-stable.noarch)
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-free-fedora-16-i386
Is this ok [y/N]: y
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-nonfree-fedora-16-i386
Importing GPG key 0x952F3AF8:
Userid : RPM Fusion nonfree repository for Fedora (16)
Package: rpmfusion-nonfree-release-14-2.noarch (@/11306.0.rpmfusion-nonfree-release-stable.noarch)
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-rpmfusion-nonfree-fedora-16-i386
Is this ok [y/N]: y

I like to install all the applications I use in one go using the command yum install synergy openssh-server audacity-freeworld ffmpeg sox mplayer inkscape vlc vim firefox poppler-utils wget sshfs kdiff3 terminator kid3 speex-tools filezilla gimp hpijs kate kdiff3 kdirstat

Once all that is installed, you can get down to the business of setting everything up. For me that means getting synergy running so that I can control the new install from my desktops keyboard and mouse.

Synergy lets you easily share your mouse and keyboard between multiple computers on your desk, and it’s Free and Open Source. Just move your mouse off the edge of one computer’s screen on to another. You can even share all of your clipboards. All you need is a network connection. Synergy is cross-platform (works on Windows, Mac OS X and Linux).

To run that securely you need to have OpenSSH installed so that you can tunnel the communication between computers over a secure connection. We have already installed openssh-server so now we need to configure it.

First we start the service by running

# systemctl start sshd.service

Then we enable the service to run on each boot

# systemctl enable sshd.service

Now you can ssh localhost and if all is well you should be asked to accept the ssh keys. We’re not finished yet as you will find that if you try and ssh from your desktop ssh will report “No route to host”, but you will still be able to ping the machine.

$ ssh 192.168.100.100
ssh: connect to host 192.168.100.100 port 22: No route to host
$ ping 192.168.100.100
PING 192.168.100.100 (192.168.100.100) 56(84) bytes of data.
64 bytes from 192.168.100.100: icmp_req=1 ttl=64 time=0.676 ms
64 bytes from 192.168.100.100: icmp_req=2 ttl=64 time=0.619 ms
^C
--- 192.168.100.100 ping statistics ---
2 packets transmitted, 2 received, 0% packet loss, time 1000ms
rtt min/avg/max/mdev = 0.619/0.647/0.676/0.038 ms

So what’s going on ? Well in addition to offering full disk encryption, Fedora comes with a built in firewall and also a access control system. Although SSH appears to be enabled in the firewall (Start -> Administration -> Firewall) you still need to tick and untick it in order to reload the configuration. Once you do that ssh should be working.

My synergy configuration is quite simple a desktop in the center with a laptop (the new install) on the left and my Acer Aspire One on the right. The server runs on the desktop and I start it with the command:

$ synergys --daemon --address localhost --name desktop --config /etc/synergy.conf

This runs synergy in server mode as a daemon listening only on the localhost with the name “desktop” and using the settings from /etc/synergy.conf. Here is that configuration file.

$ cat /etc/synergy.conf
section: screens
        laptop:
        desktop:
        aa1:
end

section: links
        desktop:
                right = aa1
                left  = laptop
        laptop:
                right = desktop
        aa1:
                left  = desktop
end

We are doing the install on the laptop so over there we need to run two commands. The first will open ssh connection from the laptop to the desktop with the command:

ssh -f -N -L localhost:24800:localhost:24800 192.168.100.99

The -f tells ssh to run in the background
The -N will not execute a remote command
The -L is the switch that tells ssh to forward the any communication from on port 24800 on the laptops localhost private network card to the post 24800 on the other sides localhost private network card.
Finally the 192.168.100.99 is the ip address of the other side, in this case our Desktop

synergyc --daemon --name laptop localhost

This runs synergy in client mode as a daemon with the name “laptop” and connecting to the synergy server on the local private network card. When this happens the client will send it’s requests to the local port number 24800, it’s picked up by the ssh application, encrypted and duped out the other end to port 24800, where the synergy server is listening.
Once you do this, you should be able to move the mouse on your desktop to the left of the screen and you will see it “appear” on your laptops screen.

Follow these instructions to get the vpn working, and if you are running on 64 bit.

Follow these instructions to get the citrix working.

That was it for most of the major stuff.

And now that Fedora 17 is released – hold on for another 18 months for a review of that.

Written by ken_fallon

May 16th, 2012 at 5:00 pm

Posted in General,Linux

Informix Dialect With CASE Derived Polymorphism

without comments

I ran into an interesting issue when using SQLAlchemy 0.7.7 with the Informix dialect.  In a rather ugly database (which dates back to the late 1980s) there is a table called "xrefr" that contains two types of records: "supersede" and "cross".  What those signify doesn't really matter for this issue so I'll skip any further explanation.  But the really twisted part is that while a single field distinquishes between these two record types - it does not do so based on a consistent value.  If the value of this field is "S" then the record is a "supersede", any other value (including NULL) means it is a "cross".  This makes creating a polymorphic presentation of this schema a bit more complicated.  But have no fear, SQLAlchemy is here!

When faced with a similar issue in the past, on top of PostgreSQL, I've created polymorphic presentations using CASE clauses. But when I tried to do this using the Informix dialect the generated queries failed. They raised the dreaded -201 "Syntax error or access violation" message. 
The Informix SQLCODE -201 is in the running for "Most useless error message ever!".  Currently it is tied with PHP's "Stack Frame 0" message.  Microsoft's "File not found" [no filename specified] is no longer in the running as she is being held at the Hague to face war crimes charges.
Rant#1: Why do developers get away with such lazy error messages?
The original [failing] code that I tried looked something like this:
class XrefrRecord(Base):
    __tablename__  = 'xrefr'
    record_id      = Column("xr_serial_no", Integer, primary_key=True)
    ....
    _supersede     = Column("xr_supersede", String(1))
    is_supersede   = column_property( case( [ ( _supersede == 'S', 1, ), ],
                                            else_ = 0 ) )
 
    __mapper_args__ = { 'polymorphic_on': is_supersede }   
   
   
class Cross(XrefrRecord): 
    __mapper_args__ = {'polymorphic_identity': 0} 
           
           
class Supsersede(XrefrRecord): 
    __mapper_args__ = {'polymorphic_identity': 1}
Text#1: Code snippet that does not work.
The generated query looked like:
  SELECT xrefr.xr_serial_no AS xrefr_xr_serial_no,
         .....
         CASE
           WHEN (xrefr.xr_supersede = :1) THEN :2 ELSE :3
           END AS anon_1
  FROM xrefr
  WHERE xrefr.xr_oem_code = :4 AND
        xrefr.xr_vend_code = :5 AND
        CASE
          WHEN (xrefr.xr_supersede = :6) THEN :7
          ELSE :8
         END IN (:9) <--- ('S', 1, 0, '35X', 'A78', 'S', 1, 0, 0)
Text#2: Query SQLAlchemy generates for that construct.
It would seem that this would work.  If you substitute the values for their place holders in an application like DbVisualizer - it works.

The condition raising the -201 error is the use of place holders in a CASE WHEN structure within the projection clause of the query statement; the DBAPI module / Informix Engine does not [or can not] infer the type [cast] of the values.  The SQL cannot be executed unless the values are bound to a type.  Why this results in a -201 and not a more specific data-type related error... that is beyond my pay-grade.
Notice that when used like this in the projection clause the values to be bound are both input and output values.
Aside#1: An existential dilemma
The trick to get this to work is to explicitly declare the types of the values when constructing the case statement for the polymorphic mapper. This can be accomplished using the literal_column expression.
from sqlalchemy import literal_column

class XrefrRecord(Base):
    _supersede    = Column("xr_supersede", String(1))
    is_supersede  = column_property( case( [ ( _supersede == 'S', literal_column('1', Integer) ) ],
                                               else_ = literal_column('0', Integer) ) )
 
    __mapper_args__     = { 'polymorphic_on': is_supersede }
Text#3: A working CASE based polymorphic declaration.
Visually if you log or echo the statements they will not appear to be any different than before; but SQLAlchemy is now binding the values to a type when handing the query off to the DBAPI informixdb module. 

Happy polymorphing!

Written by whitemice

May 16th, 2012 at 11:30 am

Making sudo remember the password

without comments

The sudo command by default remembers a password for 15 minutes i.e. once a user enters the correct password for sudo the user can use sudo with out being prompted for password for 15 minutes.

This behaviour can be modified using the flag "timestamp_timeout" in the /etc/sudoers file.
To make sudo remember the password for 30 minutes add the following line after the initial comments.



To make sudo prompt for password every time add the following line after the initial comments



And to make sudo remember the password as long as the terminal is open add the,following line


Written by Tux Think

May 16th, 2012 at 2:42 am

Finding the number of columns in a terminal

without comments

If we want find the number of columns in a terminal, we can use the command tput


Written by Tux Think

May 16th, 2012 at 12:15 am

Posted in Commands,Linux,Tit Bits

Making sudo give a lecture every time it is used.

without comments

sudo command needs to be used with caution and sometimes we might need make this caution obvious with a message .
There is an option in sudo using which we can inform the user about using sudo with a message every time sudo is used.

Open the file /etc/sudoers



Add the following line after the intial comments to make sudo to throw the lecture every time sudo is used by a user.



If giving lecture every time seems like an overkill, it can be made to lecture only once when a user uses the sudo for the first time.

The message that is shown by default is



Instead of the above message, we can show our own customized message by putting the message into a file. for e.g. let us put the following message



In a file called lecture ,under the folder /home/user .

To make sudo use this file for the lecture message add the following line after enabling the lecture as shown above.



Save and quit the file. The next time we use the command sudo, we should see the above message being shown.

Written by Tux Think

May 15th, 2012 at 1:07 am

Ubuntu 12.04 Revisited

without comments

So I tried Ubuntu 12.04 on the netbook and kinda liked it. I've since reverted the netbook back to Crunchbang, Ubuntu and Unity aren't quite right for the netbook. This time, I was impressed enough with Ubuntu and Unity, that I switched the laptop to it. Surprised? Yeah, me too.

The biggest part of why Unity was going to be a problem for the laptop was that I use various Firefox and Thunderbird profiles for different things. I don't want to be opening them manually. It then occurred to me to copy the launchers, change the display name and command to open that profile. It works great.

After that, it was just a case of getting used to the Unity workflow. This isn't as bad as I initially thought based on my previous short stints in it. Some applications I use in Crunchbang don't have panel integration with Unity yet, so the functionality provided by the status icon is non existent.

I had to find a replacement for Audacious. I don't need a fancy player, just an icon sitting out of the way to show or hide the window, and a shortcut to pause and resume. Clementine does fine for that. If or when Audacious gets Unity integration, I'd switch back to that.

Nautilus detailed view doesn't remember the column sizes, and is determined to bunch them all up and leave most of the screen blank. This annoys me no end, so I'm using the icon view, which is different.

When I was using Unity breifly on the netbook, I didn't get a single crash. I've had several on the laptop. Mostly they come down to two applications; Rhythmbox and AFP. As I couldn't get Rhythmbox to change shortcut keys, it was a non starter anyway. I had no end of hassle with AFP in browsing and connecting to my NAS. Every application I tried failed to see it on the "open file" dialog box, although you could browse via Nautilus and "open with" to play a file. As soon as you move the slider to a different part of the file, it freezes. Not only that but it's determined to add two extra folders to each network share. It's an abomination. Thankfully Nautilus can connect to a NAS share via the drop down menu.

I am curious about the names of folders it drops onto your NAS share though:

  • .AppleDB
  • .AppleDesktop
  • .AppleDouble

Apple? Seriously? It's not like the top panel, global menu and launcher (flipped to the side instead of at the bottom) aren't obvious homages to Apple already, they had to go and name one of their components after Apple too? At least those are all hidden folders. The ones AFP wants to drop on are not.

One of the most annoying things about Unity until you kinda spot it and get used to it, is the Global Menu. I've lost count of the number of times I've accidentally closed the wrong window by mistake, assuming that the one that's maximized and on top is the active window. I've since spotted the launcher helps you out. The arrow on the left of the icon denotes an open window of that application, the more arrows on that side, the more windows. The arrow on the right of the icon is the active one. The titlebar also gives you a clue, but that's less effective if you're already mousing over it. In plenty of cases it's not obvious which set of menus belong to which application.

I have noticed an odd thing in the way applications seem to be installed. I've installed things via sudo apt-get install and they don't seem to add themselves to the menus, so they don't show up with the Super key. If I remove them via sudo apt-get remove and reinstall via the Software Centre, they install as expected.

This seems tied to the launcher too. By default, when you run an application it's icon appears in the launcher. Any time you click on it, it brings focus back to the existing window rather than start a new window, although many have right click options for that. Sometimes applications don't show there that used to show, like Chrome. Sometimes the left and right arrows don't apply to the icons there. I had Chrome locked to the launcher, decided to unlock it. Now no matter what I do, I can't get it to show there even when Chrome is running.

So part of me is wondering if the Software Centre runs some menu update script post install. I'm also wondering if logging out and back in refreshes things like that.

The only other annoying part for me so far is that the dash doesn't reset the search field to blank every time you hit the Super key. It's always exactly as it was from the last time. I can't find any way to set that to autoclear.

For a while I was rather concerned with where the next stop would be. I didn't like any of the GTK3 or QT4 offerings. I was holding onto the older Crunchbang (Debian Stable) stuff. The distros are one thing, but most of the applications I use are GTK. Many have already been ported to GTK3, those that haven't yet, will be eventually. So change is inevitable.

Unity finally feels cohesive. I kinda get where Canonical are going with Ubuntu. Nothing is ever perfect, but Ubuntu 12.04 is pretty damn good. Right now I'm happy using Unity on the laptop. I never thought I'd ever say that. Would I recommend it? Yes, but as one of several.

The biggest praise goes to whoever worked their magic with Compiz and Unity. That was the major surface element before that made Unity feel sketchy before. Now it's smoothed out, the difference is incredible.

If you liked this post, buy me a coffee

Written by ThistleWeb

May 14th, 2012 at 9:37 am

Posted in Linux

NRW election results

without comments

In light of my last post, I wanted to share the results of the North Rhine-Westphalia state diet elections, now that they are out. In essence, the election was a sound success for the SPD/Green government which now has the majority of seats in the diet (before the forced elections, they were operating a minority government). The conservative CDU had a big loss and The Left was resoundingly kicked out of the state diet. The Pirate Party had a pretty big win and gets seats in the assembly for the first time. All in all, this election was a success for the Pirate Party but it looks like the myth of being “third strongest party” has been thoroughly dispelled. The Pirates gain 20 seats in the state diet but are far from being a force that is included in any decision making, especially because of the unwillingness of more traditional parties to ally themselves with the Pirate Party. Let’s hope this result gets other parties to adopt some of their more key values, though.

Source: tagesschau.de

 

Written by Fabian A. Scherschel

May 14th, 2012 at 12:51 am