Posts for Wednesday, January 27, 2010

avatar

When Dell Doesn't Deliver

I've never had a "bad" experience from Dell (Australia) with the exception of the outsourced sometimes hard-to-understand technical support.  So it is interesting to watch what happens when Dell doesn't deliver the way they promise.

Here's the sequence of events.  For the record, I do not and have never worked for Dell, nor do I receive any free or discounted goods or services from them.

14 April 2008

Ordered Dell Precision M6300 laptop including a Logitech MX Revolution cordless laser mouse with CompleteCover Guard and Next Business Day Onsite warranty.

November 2009

The mouse stopped charging (charging light flashes red when placed on charger).  I didn't do anything at the time since I was busy.

12 January 2010

My first contact with Dell about the mouse.  Was transferred from their usual warranty number (Indian speaker) to the "premium" warranty area (Australian speaker).  Was told a new mouse would be here in 2 days.

18 January 2010

Received email from TNS requesting I complete a survey regarding my recent call.
Completed the survey on the same day.  I noted in one of the survey questions that the issue was "unresolved" since I had not received the replacement part

<= 22 January 2010

Decided to call Dell again to find out about the mouse.  Warranty told me that the part had not been sent, and it would have to be handled by Logitech.  They transferred me to Logitech who took details of the mouse and told me to expect a new one up to two weeks later.

27 January 2010

Received a call from Dell regarding the survey I completed.  The caller asked if I had received the part, and offered to get the original person ("Nick") to look into it.  He asked if I had a mouse to use in the mean time (I said yes).

27 January 2010

Received a call from Nick from Dell.  He asked about the part and said he would check with Logitech and get back to me.

27 January 2010

The mouse arrived in the afternoon!  I called Dell to let them know they could stop looking for it!

So it took 9 days to respond to the survey.  The replacement mouse was here in around one week, although not in the next business day as the warranty implied.  But then, it was an accessory and not a typical spare component of the laptop.

And in case you're wondering about the Gold Phone Technical Support, apparently it's the difference between speaking to someone in India vs someone in Austrlia.  The "Pro" warranty personnel even answers the phone "This is <name> in Sydney".

Posts for Tuesday, January 26, 2010

Working remotely

I'm sitting here in Canada trying to work for my employer back in the US for a month. It's been a few weeks already, and I'm surprisingly pleased (or pleasantly surprised) with how well it's working. At the same time, certain aspects of this rather suck.

One huge obstacle so far is (of course) Windows. Aside from the Linux server that I convinced IT to let me run out of a closet, the whole place is Microsoft. Whatever MS VPN software we're using is slow, clunky, unreliable, and generally annoying.

At one point I tried to fetch a file from a network drive and watched it download at 0.2 k/sec. Then I had someone back home copy it onto my Linux box, and I downloaded from there at 120 k/sec. The Windows and Linux servers are in the same room in the same building behind the same network connection; I don't understand how VPN overhead slowed things down by that many orders of magnitude.

After connecting to VPN, there's about a 25% chance that Outlook will be able to connect to the Exchange server at work. Generally I have to fire up the VPN, turn it off, turn it on, turn it off, turn it on and then Outlook will find it. Sometimes I close Outlook, but it lives on as a zombie, futilely hammering away at the server but unable to find it, until I CTRL-ALT-DEL and kill it. This is with Office 2007.

But the work I do on the Linux server is (of course) easy. No problems whatsoever. Working over SSH is how I did things when I was sitting in my office anyways. I tunnel in and use local GUI SQL clients. I put VirtualBox on my laptop and I do a bunch of stuff in a Linux VM and rsync it back home with no problems. I can edit files over SSH right in Emacs as if they were on my local box, if I care to.

Sometimes I wonder if my dislike of Microsoft is irrational. Any belief that is caused by or results in a strong emotional response should be subject to questioning. Then reality comes waltzing by and reminds me that no, MS software really does suck.

I've worked for this company for over two years before moving. I don't know how well I'd be doing if this was a company I just started with. It's hard to see how important face-to-face communication is until it's impossible. Email is OK, but the benefit of knowing people in person and knowing how they talk and how they think really goes a long way to being able to interpret and understand plaintext communication.

avatar

Setting up a basic test lab using VMware

One of my favourite features in VMware Workstation that I have found recently is the ability to create a ‘team’ of virtual machines. What this does is allow you to have one or more virtual machines running on a virtual LAN, essentially allowing you to setup a private test network where you for example run test domain controllers or any network application and as long as you have the network setup correctly there is no way for anything to ‘leak’ out onto your production network.

Ive been using this to run a simple test network with two virtual machines to help develop and test a new Group Policy for our Windows 7 deployment later this year. In one virtual machine I have Windows Server 2003 running as a Domain Controller and as a Router/DHCP Server (this VM effectively becomes our virtual LAN’s gateway for internet access and so needs two network interfaces – one to connect to hosts network and gain internet access and the other to connect to the internal virtual LAN), and in the other I have Windows 7 setup as a member of the test domain.

Once you have your virtual machines ready to go we are ready to create our Team and add the virtual machines to it. In VMware go to File -> New -> Team to launch the New Team Wizard. Give the Team a name and decide where you want to store the configuration file then add the virtual machines you want in the Team (you can always add and remove virtual machines to and from Team at any point). Next you need to add at least one LAN Segment, this is basically the virtual LAN that will connect our Domain Controller to our Windows 7 virtual machine (any any other VM’s you add), you can has multiple segments, all with different network speeds if you want to simulate a larger, multi-site network but for our simple lab it is easiest to just use one segment. Finally you need to which network adaptor connects to which network (virtual or otherwise), this can be a confusing if you are not used to networking and VMware so here is a screenshot of my configuration that you can use as a base.

My VMware Team Network Configuration

My VMware Team Network Configuration

The important thing here is to make sure that one network adaptor of the Domain Controller is on the Virtual LAN with the Windows 7 VM (and that if you have already run the network setup wizard after installing the network router/DHCP roles on the Domain Controller you make sure you select the correct adaptor – dont worry, it can always be changed if you get it wrong). Also, assuming you want all the machines in your Team to be able to access the internet then you will need to map the Internet facing adaptor on your Domain Controller to the host machines network, my recommendation is to use NAT here to ensure your Virtual Network remains isolated although aslong as you are careful when you configure the Domain Controller’s routing you can use Bridged networking.

And there we go, you should now have a simple, but very useful Virtual lab environment that you can use like me to test new Group Policy options, or really anything (ive been running the new Sharepoint 2010 beta in another test network), you can even extend the lab with additional LAN Segments to represent remote sites (with simulated packet loss too if you want), the Team options give you a lot of options if you want to expand your lab, the only limitation is how fast your computer is!

avatar

foaf

Some time ago I learned about the foaf-project, I did like the project back then but I never took the time to write my own foaf.rdf. Well now it is created. Very basic but I hope it will be extended soon.

Since my recent social network activity the step to foaf was, in my eyes, also a logical one. But it does seem that a lot more people have facebook than foaf….

One of the nice things about foaf, if you are interested in semantic web stuff, is that it is in constant development there are discussions on the mailing list about how to structure the data etc or why things should change. This makes it a very dynamic project.

As you can see I do not yet have any foaf:knows elements in my foaf.rdf but lets hope that soon will change so a semantic network can span around me.

avatar

The Sarc Mark available for Linux?

Raise your hand if you’ve seen this little gem:

That’s the latest addition to the English language (The Guardian). Used like the rest of the Mark brothers (Mr Question Mark and his annoying sister Little Miss Exclamation Mark) Mr Sarc’s purpose is to denote sarcasm. Now instead of using various to-be-deprecated techniques such as the sarcasm tag </sarcasm> vague emoticons or my personal favourite "No shit, Sherlock", we have a standard to look towards that will appear whenever you hit ctrl-. (that’s full-stop). Of course you’d have to pay some US company 2USD to get it there (please, please don’t tell me you actually tried it just now).

I was wondering if anybody took the initiative to create a font with support for this on Linux – others might see it as a complete waste of time and resources but I can’t wait to write my next essay with this in it.

Related posts:

  1. rtm – a Command Line Tool for RememberTheMilk
  2. Hello. I hacked the GIS website.

New York City – KDE SC 4.4 Release Event

Anyone living in NYC up for putting together KDE SC 4.4 release shenanigans? It would be around Feb 9th, probably a day or two after, I suppose.

Posts for Monday, January 25, 2010

Wpa_gui is Underrated

A hot topic in the community is wireless management. There’s a whole lot of buzz about NetworkManager, Wicd, dbus, frontends, PolicyKit, plasmoids, and the whole modicum of dizzying names and acronyms. Let me tell you about my mobile laptop’s wifi setup and why it’s easier and slimmer than any of the classic bloat.

I use wpa_supplicant’s optional wpa_gui. It’s a tiny Qt app that has a tray icon and a command line switch to start in the tray. Wpa_supplicant is required for all modern wireless connections and is always running in the background no matter what. Wpa_gui simply connects to wpa_gui’s socket and tells it what to do. I like having wpa_gui in my system tray so that I can reconfigure wifi networks easily.

zx2c4@ZX2C4-Laptop ~ $ cat ~/.kde/Autostart/wpagui.sh
wpa_gui -t

And check it out:

A simple, somewhat ugly, but extremely functional info display. I can connect to new networks with a simple double click:

And presto it connects to the wifi network. I can also configure all of the highly advanced encryption profiles that wpa_supplicant supports. All of this is easily accessible in my tray:

If I did not want wpa_gui -t running all the time, I could pretty easily make this into a little quick launch plasma button, and it would start up nearly as fast, because wpa_gui is so light weight.

This is how I do wireless. I have never had any trouble, and I can connect to wifi networks anywhere I go with ease. It remembers the connections and the priorities that I assign, and I have not seen any system simpler or easier than this.

For wired networking, netplug calls my ethernet setup scripts when I plug in an ethernet cable. No tinkering required. For my cellphone internet via bluetooth, I run “pon nokia” and my ppp chatscript does all the rest. This could easily be tied to a little menu button in my launcher.

I’m bloat free, and networking dynamically on the go with my laptop does not require any advanced timely tinkering.

Why are you all using NM, wicd, etc instead of good ol’ wpa_gui?

avatar

How to Create and Edit Group Policy for Vista/Windows 7 PC’s

Ive spent the better part of the last week or so documenting our existing Group Policy and getting a test environment ready so I can develop and test a new policy for Vista and Windows 7 (well, most likely just Windows 7 as I cant see us ever touching Vista again!). One problem I’ve hit so far is there is no easy guide that explains how to get everything setup, just different guides all pointing to different files (at one point I think I was downloading 3 different versions of the same file because different Microsoft guides said to use different versions).

So, heres what you need to manage GPO’s for Windows 7:

  • Windows 7 – Even if all your Domain Controllers are Windows 2003 you can only create/edit Windows 7 GPO’s from a Windows 7/Vista/2008 R2 host. My recommendation is to use a virtual machine for this, if you dont want to buy a license yet you can use the trial version of Windows 7 for 90 days.
  • Download and install the Windows 7 Remote System Administrators Tools pack (This will only work for Windows 7, if you are using Windows Vista or 2008 to manage your GPO’s you will need to corresponding RSAT pack).
  • By default the Group Policy Management Console isnt enabled so we need to enable it in the Control Panel. Go to Control Panel -> Programs and Features -> Turn Windows features on or off -> Remote Server Administration Tools -> Feature Administration Tools -> Enable Group Policy Management Tools.
  • Now we can see all the shiny new Group Policy options that have been added for Windows 7 but we need to make it so that when we create a policy all the other computers that use it make use of the same source admx files, currently GPMC is only looking at the admx files installed locally. To change this we need to copy all our admx and adml files onto a Domain Controller (which will then sync them to all the other DC’s in your network).
  • Copy the PolicyDefinitions folder that is in the Windows folder on your Windows 7 PC to your Domain Controller’s sysvol folder, this is normally \\<domain controller>\sysvol\<your domain name>\Policies

There we go, you should now be able to use this Windows 7 PC to create and manage your Group Policy for all Vista/Win7/Win 2008 machines even if your domain controllers all run Windows 2003. Dont forget though, even though you can see these Windows 7 policies in GPMC on Windows 2003, if you edit them there you risk corrupting them and causing yourself a big headache! Only edit Windows 7 GPO’s from a computer running Windows Vista, 7, 2008 or 2008 R2!

avatar

Third time lucky

Well, its been a few months since my old blog died when I cancelled the hosting and since I had to renew my domain this month I decided to go crazy and setup some new hosting and give this blogging thing another go.

Since I last posted anything i’ve started a new job, im now the systems administrator for www.interregs.com and www.lsi.edu. I get to play around with and manage all their servers (currently just 2 racks full but a third may arrive later this year when we deploy Exchange 2010 and WSS2010). All this is a great change of pace and a whole lot more fun than my previous job at www.cobweb.com, which, while teaching me a lot was a little too busy for my liking (try talking on the phone for 5-6 hours a day, 5 days a week!). While I do sometimes miss the chaos and banter of a busy office its certainly a lot nicer being my own master and I can finally start on my career path to becoming a BOFH :D

So, as I trundle through the next few months/years(!?!), I’l be using this blog to post anything I find thats useful while I rollout our Windows 7 deployment, new Exchange 2010 server and then eventually a Sharepoint 2010 server aswell.

Posts for Sunday, January 24, 2010

avatar

Fosdem 2010

I'll be at fosdem - 10th edition - again this year.
I'm going to FOSDEM, the Free and Open Source Software Developers' European Meeting

I'll be presenting a lightning talk about uzbl.
Also, Arch Linux guys Roman, JGC, Thomas and me will hang out at the distro miniconf. We might join the infrastructure round-table panel, but there is no concrete information yet.

More stuff I'm looking forward to:

I'm suprised myself how there are much more topics of interest to me then last year, and I'm not sure if the program is even finished.

avatar

Wikisurfing, the latest in extreme sports.

Say, my good sir, have you gone Wikisurfing before? No? Well- it’s time to expose yourself to the latest and greatest addiction.

Wikisurfing is the act of a group of people starting on a predetermined page on Wikipedia.org (in whatever language). Their objective is to navigate through Wikipedia to another predetermined article, using only inline links on the page excluding "See Alsos", disambiguations, and any lists (eg: list of countries, list of singers, etc). The first person to arrive on that page wins.

So for example we’d have 5 people all on the page on the Sultan Iskandar of Johor (Malaysia), who died a few days ago, all trying to click through links to navigate to Old Ephraim – and depending on your level of general knowledge you’d know that Old Ephraim was a very large grizzly bear that lived quite happily in Utah until he got shot in the head by an unwitting shepherd. You’d have to plan your strategy – you could go through the countries-america-utah route or instead try the animals-bears-grizzlys technique. It’s very hard to find a page that you really can’t find a link to, but I’m willing to bet Old Ephraim is one of them (30 minutes without success!)

There are many variations of the game, such as one where every 5 minutes you must switch computers, another where at random times you may click a link on your neighbour’s computer, or ones where you must navigate through many topics in a sequence of your choice.

An experienced wikisurfer can tell you that there are certain topics that are dead-ends and others which are self-sustaining spirals of disaster – you will be stuck in that topic once you enter it. One example of this would probably be some complex topic in hypothetical physics. Once somewhere within the topic it’s very hard to move to another. Whereas in other topics, such as sociology, would be able to link directly to the most random of articles with almost guilty relevance.

A great way to describe this situation is that it represents the depth of a topic. A topic where it would be hard to reach other unrelated topics would be seen as an in-depth and technical topic, whereas one which could easily be changed to another (such as in 5 clicks or less) would be seen as a shallow, academically unchallenging topic. The problem when trying to measure this is determining exactly which page would be used as a base-page to attempt to navigate to. For example, hypothetical physics would be very deep compared to your average McDonald’s hamburger, whereas detailed biology, though arguably as complex as physics, would be significantly easier to get to your burger.

The way to get around this is to divide our intelligence into several different categories, such as music, art, physics, biology, chemistry, math, etc – and use a representative article for each of these subjects. The next step is to proceed from each page in an article into the representative of each of the other subjects. Thus you could find an average depth of a subject.

I find that since we have a massive repository of knowledge instead of simply using it as a portal we should use it as a data-source for these sorts of fun facts – like for example exactly how useful would it be to know what a tomium is? If mapped to a specialised personality profile we can actually start sorting out knowledge that would be useful for people, so instead of searching for information it would be fed to us.

Someone remind me why I’m wasting their bandwidth when they need help? Shame on me.

Related posts:

  1. Achieving what?

Posts for Saturday, January 23, 2010

avatar

Social Networking

After having resisted for a long time last week I finally created a facebook account. I still prefer e-mail or instant messages (jabber!) but I have to admit it is a nice way to get in touch with a lot of people and to follow activity.

So now that I have sold my soul I decided to create an extra box on the blog with direct link to my various social network profiles. Just to make it look pretty!

So far I am active on 3 social networks:

  • last.fm: I actually created my account in order to improve QtMPC, however it is now also coupled to my amarok and I upload the scrobble log from my ipod (with rockbox).
  • linkedin: I created this to join the OpenStreetMap group.
  • facebook: Now since a few days facebook.

Now I think that is (for now) enough to keep track of but it makes me wonder why there aren’t any good desktop apps to manage some of this. Like the facebook notification thingy at the bottom right. Why isn’t there a cool Qt app to just make this sit in the system tray? A well maybe a cool project for the upcoming semester :)

Destroying an LVM Array

Alright... So one of my hard drives failed in my backup server LVM array, and I received the new replacement disk today.

So, I turn on my computer and even though the volume group isn't initialized (due to the missing disk), it still exists, and has all the other drives in the array still held captive.

So, this is how to completely destroy your LVM array and all the data within it after a drive has failed.

DO NOT DO THIS IF YOU WANT TO KEEP ANY DATA ON THE ARRAY. (you have been warned)

The procedure is really quite easy.

First, do pvdisplay to see which disks are still part of the array you wish to destroy. (in my case it was /dev/sdb /dev/sdc and /dev/sdd)

simply run the command : "pvcreate -ff /dev/deviceyouwanttokill"

that will initialize the disk, even if it is part of another array.

Do that to all the disks you want to be part of your new array, and voila!  You're done.

(hope you didn't just do all that hoping to do anything but COMPLETELY DESTROY your LVM array.)

Posts for Friday, January 22, 2010

avatar

Webcam

Since my girlfriend is going to do her research and write most of her thesis on Curaçao I will only have contact with her trough email/skype for some time.

She already has a webcam build into her webcam. Not great quality but good enough for skype. Also there was an old webcam which was bought approx 5 years ago, a Creative Webcam NX Pro, now I have not yet figured out what is so “pro” about it but it works like a charm!

The GSPA ZC3XX driver is the one I need! After that some programs need to be compiled with video4linux (2) support but that is to be expected. The only problem I ran in so far was skype itself! For some reason skype does not work with v4l2 so in order to run skype I have to use the following code:

LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so skype

Long story short. The webcam works like a charm and thanks to the hard work of many people I had it working in no time!

Spring Schedule

I apologize for not posting in a (very) long time. I have been busy. Additionally, I haven’t had many topics to talk about.

Currently, I’m in limbo waiting for the new MacBook Pro laptops to be released. It is rumored that a refresh might happen at Apple’s January tablet event. I’m purchasing a MacBook Pro due to the endless volley of issues being thrown at me directly by Dell’s abomination of a service department.

School has started back. I will be listing my schedule below:

MWF Fundamentals of Calculus 8:30-9:20

MWF Operations Research 2:30-3:20

TTH Personal Finance 8:30-9:45

TTH Database Systems 1:00-2:15

TTH English Composition II 2:30-3:45

TTH Astronomy 5:00-6:15

Monday Committee Meetings at 6:30-7:30

Work:

Monday 1:00-2:30

3:30-4:30

Tuesday 12:00-1:00

Wednesday 1:00-2:30

3:30-4:30

Desk hours: 9:30-12:30

Duty on some Sundays and every other Thursday night.

Posts for Thursday, January 21, 2010

How free music could become even more available

After hacking for a while on the beforementioned Jamendo helper KTorrent script and learning about Libre.fm I got a great idea!

How about if we made not only a central system to promote all free music, but also to make all the free music available to users/listeners in a more natural and easy way and at the same time lessen the load and costs of the netlabels?

Well, I have a plan and I think it could work!

Because I'm quite busy lately, I'll just quote my own e-mail that I sent to the Libre.fm mailing list with my battle plan in it:

Hullo,

I've just recently learnt about Libre.fm and it made me think about the
possibilities...

Because this will be a longer e-mail, I'll try to put some structure in it. At
first I'll talk in short about what I imagine Libre.fm could provide that
Last.fm doesn't (and couldn't), then show you the big picture and at the
end a detailed example of a real-life use case.

// Libre.fm and Downloads //

One thing that Libre.fm has that Last.fm didn't (and couldn't by this day) is
access to all of the music it promotes and streams. It would be a shame
to let this wonderful opportunity pass us by!

What I propose is to have next to every album that is promoted on
Libre.fm:
* a direct HTTP/FTP link to the download
* a torrent or magnet link to the album

The direct download link was proposed already, from what I gathered from
IRC, so I'll concentrate on the latter idea.

The idea behind having a BitTorrent link — either as a torrent link with
Libre.fm running a tracker or better yet a tracker-less magnet link — has
many positive side effects.

Firstly it would shift the web traffic from the indie net labels (and Libre.fm)
towards the users, which would lower the hosting costs. A possible
downside would be that the net labels wouldn't have their own track then
on how many people downloaded the album, but a) since it's under a
copyleft license, the users could share it otherwise anyway; and b) they
could always check Libre.fm for that data (via API?).

Secondly the fact that it was handled via P2P would mean that even if a
net label went away, the albums would still be shared. Here the magnet
link would IMHO fare even better then a tracker, in case Libre.fm gets into
trouble (knocks on wood).

// The Big Plan (TM) //

Of course, just having a direct download and a P2P link is a nice touch, but
it's nothing really revolutionary. But using the Libre.fm API to extend this
idea, Libre.fm could bring the music directly to the user's fingertips and
ears with minimal effort from the user him-/her-self.

What I imagine is that by using the Libre.fm API integrated into music
players and P2P clients we could make access to music a lot more natural:

1) Let's say the Jimmy listens to a music stream either in the browser or
favourite music program.
2) Jimmy likes the current song and wants to check out the album, so he
clicks on the "download" button.
3) Automatically his computer (or other device) downloads the album and
puts it into his music collection, without bothering him about it.
4) When Jimmy goes offline he can still enjoy the music, without bothering
too much where, how and using which protocols his got his music.

So, from Jimmy's point of view, he would just click (or drag and drop or
whatever) the download button and that was it!

// Technicalities of the Use Case //

Here's how I imagine the above use case would work in the background
(be warned, I'm not much of a coder!) with already existing technology:

1) Jimmy launches Amarok and tunes into the Libre.fm plugin to check his
recommended artists.
2) When he hears something he likes, he clicks the little "download" button
in Amarok.
3) Amarok uses the Libre.fm API to check out the torrent/magnet link and
uses the user's default BitTorrent application to open it — let's use
KTorrent, because I'm somewhat familiar with its scripting API.
4) KTorrent has a script implemented, which would check where the
torrent/magnet link came from and/or which tracker, and because it came
from one of the free music net labels, it would automatically apply the
user's settings for it (e.g. download to the music collection folder, any
bandwidth restrictions, add it to the appropriate torrent group etc.).
5) At the same time the same KTorrent script would check if there's any
seeds available. If there aren't any (for a longer period of time) it would
trigger a direct download, which it would get from the Libre.fm API,
uncompress the album (if needed) and move its contents into the music
folder accordingly. Then it would start seeding that same album, so the
next user(s) could already use the benefit of P2P.
6) Amarok would automatically notice the new album in its local collection
and Jimmy would see it there with artwork and all.

For this to work optimally, all the albums in the torrents would have to be
ready for use the moment they finish downloading — e.g. not
compressed, all tracks (including artwork and license) in a folder.

I imagine we could stretch this even further, so that even if the user didn't
start the download from a Libre.fm page or service, the system (e.g.
browser, music player, BitTorrent client or all of them) could check via API
if there is a torrent/magnet link available on Libre.fm for the album. Maybe
it would be plausible (I doubt it though) even to get BitTorrent clients to
upload torrent/magnet links to Libre.fm.

Of course, it shouldn't be limited only to KDE software — that's why I think
it would be a great idea to use Libre.fm and its API as the central
intermediary for it all.

// Conclusion //

I know this is quite an enthusiastic idea, but I'm already working on
something similar for Jamendo using Amarok (the plugin's there) and
KTorrent (I'm writing the script) — and it seems possible to do!

So far the biggest problem I encountered was that KTorrent is not
forwarding some methods that I need to their API, but the devs already
have that planned.

Of course, doing this on such a grand scale as I propose, would be more
difficult, but I think it'd be worth it! As I said, although I'm not much of a
coder, I'll be happy to at least write the Amarok and KTorrent scripts in
order to make it work.

So... what do you think of it?

Cheers,
Matija "hook" Šuklje (a.k.a. "silver_hook")

hook out >> studying, going to bed
<!--break-->

avatar

Review of Doteasy hosting.

Some time ago I received an email asking for a sponsored post about a website called Doteasy.com which offers domains, webhosting and the usual hubbub with a shared server account. There were some delays but I’ve finally come ’round to writing what I hope will be an honest and relative review about this service.

To start with, I peeked at their plans page and scanned through. The plans page is an easy to follow comparison chart that divides features into clear-cut categories. A first read through only serves to confuse as it seems as though paying an extra $5 means you don’t get as many features – but apparently the justification lies in the control panel choice "Ensim" instead of the almost standard "CPanel" which comes with most providers.

A slightly closer inspection shows that you have to pay at least $8 bucks in order to get anything worth your time. The free package doesn’t even come with PHP support (and from that, no MySQL databases!), no ASP, if you’re into that sort of masochism, CGI/Perl nonexistent, and a measly 100MB space, which is quite depressing indeed. Together with the lack of support for SSL, key management and a unique IP really just makes you think it can’t get any worse.

It does however come with a generous 10 add-on domains and 10 parked domains, a rare sight among providers. Even rarer and quite a gem in their service is the provision of custom DNSes even with their free account. Interestingly although not allowing any sort of server-side scripting whatsoever they do allow .htaccess rules. Not quite sure how useful that’ll be with only html files in your account, but who knows.

The paid services don’t fare that much better. If you’re going to pay $7 a month, you might as well jack that up to $10, because you’ll miss out on a lot of the vitals. With $10 you get yourself a decent account by today’s standards but might still be annoyed by the lack of SSH. With a name like unlimited hosting it’s hard to not provide this. The IIS packages are much saner, giving you bearable functionality by the $15 price-level.

The next step was to get a free hosting account and revie- nope. I tried to grab myself a "free" account. Doteasy is one of those companies which try their best to throw hidden charges in your face. The $0 of the price has a lovely asterisk superscripted next to it. Yep, they don’t give any sort of subdomain or subdirectory URL but instead want you to to transfer or buy a domain name with them for a hefty price exceeding $20. Although this waives the technical knowledge required on DNS management for those who know what they’re doing it’s quite unacceptable. The registration process would put GoDaddy’s to shame – a 5 step process that in-between tries to sell "Spam & Virus Protection", "MailPro Email Service", and uh, what, um, yep – a "Photo Gallery"?

Doteasy is a hosting provider that aims to provide services with the account instead of giving a flexible environment for the more technically literate. (Note: these are available with a "free" account, which is a great thing) For example they provide a set of in-house scripts for the blogs, forums, e-commerce systems, mailing lists, etc that you might want installed. If these were good in-house scripts with excellent customer support I might be persuaded but a quick demo shows otherwise.

For those who didn’t see me saying that the scripts were in-house, I might want to emphasize that point. You won’t find your PHPBB, Wordpress or OSCommerce here – no, you’ll get a couple half-baked scripts that were probably cooked up in somebody’s spare time. The only one probably worth mentioning is the "Site Creator", which will initially give you an excellent website worthy of a Google Sites creation. The others are poorly designed (both aesthetically and technically) and should’ve been replaced by OSS-equilvalents long ago.

Given the rather expensive services and unmatching value for money I was determined to find out exactly what made them "The Leading Business Hosting Network" for over 160,000 domain owners – or so they claim. Apparently it lies in their groundbreaking customer service – I was wondering why they mentioned that several times in their comparison chart. The service is non-discriminatory and provided you don’t know jack, they provide quick and helpful responses.

Despite the lack of technical freedom we cannot say Doteasy is a bad webhost – it simply has a very clear-cut market segment. Hosting providers normally belong in one of three categories – the people who know absolutely nothing about it and don’t want to learn about it, such as Google Sites, the other extreme, of people who want to be able to do things with their account with freedom (which may be severely more costly), and finally – where Doteasy lies, somewhere in-between, for those who don’t know anything about it but want to learn.

Given the definition of quality as fit for purpose, Doteasy definitely knows how to cater to its audience – it does the job, and for what it does, it does well.

If you lie in that category, then Doteasy is definitely one for you – visit Doteasy.com for more information.

Related posts:

  1. Is there such thing as a good monopoly?
  2. Windows 7 Review
  3. ADOM: Game review.

Posts for Wednesday, January 20, 2010

avatar

TEDIndia: The thrilling potential of SixthSense technology by Pranav Mistry – how could I have missed this?

<object height="306" width="500"><param name="movie" value="http://www.youtube.com/v/YrtANPtnhyg&amp;fs=1"><param name="allowFullScreen" value="true"><param name="allowscriptaccess" value="always"><embed allowfullscreen="true" allowscriptaccess="always" height="306" src="http://www.youtube.com/v/YrtANPtnhyg&amp;fs=1" type="application/x-shockwave-flash" width="500"></embed></object>

No related posts.

a firewall in layman’s terms

Dealing with companies can be frustrating, because they like to appear opaque to the outside world. When you look on the website you find a page with contact information. You’ll find a phone number and an email address, and maybe more than one if it’s a large company with several departments. But they all point to the reception. Few companies are generous enough to give you direct access to their personnel with a listing of employees and their contact information.

So if there is a person you have to get to you have to do it through the reception. “Yes, I am blah and I need bleh and why don’t you just transfer me to the person I need to talk to, per favore!” It’s not a lot of fun, but this way whoever makes this decision to give out only the number of the reception can also decide who may and may not receive calls. And even on what conditions. If you say the magic word then, yes, you can get Frank on the line, otherwise not. And maybe Steve has been known to say too much and has a history of divulging information he wasn’t supposed to. So no, you can’t talk to Steve.

Well, this is the principle of a firewall. The reception screens calls with the discretion to reject or divert according to the protocol that has been instituted. Some people can be reached anytime, others only at certain intervals. Some are available depending on your request, and some are completely unreachable.

This picture, however, conflicts with the original meaning of the word firewall, which is a wall erected to stop a fire from spreading. Unconditionally.

Out of memory... ouch

I've written before about how I'm running four Clojure-driven websites out of a single JVM on my VPS. No problems for many months, but today I tried to make a blog post and got all kinds of out-of-memory errors. Hopefully I didn't lose any / many user comments on this blog in the past couple days, but it's possible.

I restarted the JVM and gave it a bit more RAM to play with, I imagine this will fix things. But we'll see. It occurs to me now that there may be such a thing as too much caching.

Virtualbox looking good

I blathered on a bit about VMWare a while back, and lots of people recommended VirtualBox. I'm trying VirtualBox 3.1.2 with Windows 7 host and Linux guest, and it works surprisingly well. I've used it successfully to hack on a bunch of projects while I'm stuck on a Windows laptop (shudder).

Installing was essentially self-explanatory. I never read any docs, except when it came to installing those "Guest Addition" programs to allow better mouse-handling. And I had to look up how to go about sharing folders between host and guest. But the documentation was clear, I found a short description how to set up the share and then and a command to run to mount the host folder:

sudo mount -t vboxsf ShareName /mnt/mountpoint

I'm using Gnome in my guest, because I haven't used it in a long time and I was curious what'd changed. I'm amazed even Compiz works in the guest. I recall a time in the very recent past when my computer couldn't even handle Compiz natively, let alone in a virtual machine.

Perhaps the best part about VirtualBox compared to VMWare is that there is one product called "VirtualBox" and one download link that took me a matter of seconds to find. Fancy the thought.

Dive Into Python 3 - Review

When I started learning Python, I already knew some programming cause I had had to learn Java at university and I had already done some work in PHP. I was looking for something fun that would allow me to do non-webby things and someone, I can't remember who it was, recommended Python to me. I looked at the website and docs and kinda got things going but I relatively quickly decided I wanted to learn things in a more structured way so I got myself a book. That book was not the first Edition of Dive Into Python, it was some other book, I can't even remember its name. It had the usual dry examples that never felt "real" and it treated you like a dummy not giving you the feeling of real progress.

A few weeks later I got the first Dive into Python (you can read it for free on the Dive Into Python website). I don't know how broken my mind already was from all the Java and PHP but Dive Into Python fixed it: Great writing style and real-world examples that you could apply to your day-to-day problems without trying too hard. I have recommended Dive Into Python to numerous people asking about Python and everybody was really happy with it.

When Python3 (a newer version of Python that introduced a few backwards-incompatible changes to the language to clean it up and remove a few "warts that it had grown) the author Mark Pilgrim (he works for Google on HTML5 and has an absolutely brilliant blog, he also is on Twitter) decided to update the book to Dive Into Python 3. A few months ago he asked on Twitter who wanted a review copy, I said yes and yesterday got a package from him containing a review copy of the book and a few nice words handwritten on the first page - to make a long story short [Disclaimer] I did not pay for the book I'm writing about, it was a gift by Mark, so take this with a grain of salt [/Disclaimer]. With all that said, let's go into detail.

When starting at the beginning with the first chapter I instantly got the impression that this book might actually work better for complete programming newbies than the first edition did. The old book was sometimes hard to understand if you didn't know how to program, you kinda needed to already know the basics and Dive Into Python supplied you with Python's syntax and more importantly a pythonic approach to solving real-world problems. But you had to bring something to the table. Dive Into Python 3 makes it easier to get into the whole topic, but I still wouldn't recommend it to a complete newbie: Knowing any other programming language (well maybe not Prolog) will enable you to quickly pickup what's going on and learn Python with this book. Being able to hack some PHP is enough. On the other hand this book does try to teach you a pythonic approach. There is a lot of bad Python code out there (often written by people with too much Java background) that is not idiomatic, that does things in a way you might use in Java but that's just not how you should use Python. So if you know a lot about some other programming platform, it might actually help to "forget" a little before reading the book to allow you to understand everything. That is not a weakness of the book, I just wanted to make sure who the target audience is.

I'll skip over the "howto install python on your machine" chapter because ... well ... a trained monkey can probably install software and there are more screenshots than there are in ... something really screenshotty. It's clear it's explicit but most people probably won't need that chapter.

Chapter 1 introduces you to Python. You get a real world example ("humanize a number" as in write a readable representation for X bytes as for example 1.3 TB). You get the full code and Mark walks you through how Python modules work, how functions are defined and how you call them. Simple straightforward. Throughout the book there are little info boxes that summarize important hints or gotchas which I found really helpful.

The next chapters deal with Python's native datatypes and how to work with them, but instead of just listing them and going through them, Mark first focusses on lists (lists are really important in Python, you do pretty much everything with lists) and list comprehensions. This allows him to do interesting things (like working with directories and files) at a rather early stage and people can write cool programs after having read the first 3 chapters.

Then he dives into the big one: Strings. Strings have changed a lot from Python2 to Python3 (since Python3 all strings are unicode) so he spends quite a lot of time in the beginning of the chapter explaining what strings actually are and why there are problems. I enjoyed the text but I can imagine that some people might actually not care too much about the underlying thoughts and problems. Maybe a quick note in the beginning of the textblock would have helped because it looks kinda scary considering how the book had been rather "light" with big text paragraphs before. But after that you just get a quick walk through how to deal with strings which kinda fits to the chapter following: Regular Expressions.

Many people think regular expressions are weird or scary and Mark doesn't even try to explain them completely. He builds the chapter around a case study (Street Addresses) and that works really well: Instead of throwing too much theory at the reader, the example helps you to get into the topic and with Mark holding your hand, you walk through the whole case study without any troubles. You will not be able to write huge regex all by yourself, but you know how they work and there is enough groundwork laid out for you to understand the official documentation (which is rather theoretical) a lot better.

The next chapters go through "generators and closures" with "classes and iterators" following. Which might look weird to you considering that Python is object-oriented, but allowing that kind of learning is actually one of the strengths of Python. It allows Mark to build on all the topics he covered earlier and allows him not to use interesting examples for classes (in this case he builds a fibonacci number iterator). What I missed in that chapter was an explanation of inheritance and how it works in Python. "X inherits Y" is used in the iterator explanation but I think that should have been made more explicit and it also should probably have gotten another example to show people when it might make sense to generalize some functionality into a superclass. If people have no idea how inheritance works that part will be quite a hard nut to crack I think.

Chapter 9 goes through unit testing. Unit testing is important but most people don't do it. Why? Cause it looks like a lot of extra work. Mark does build on a previous example of "Converting numbers to roman numerals" and shows how unit tests can really save your ass. Especially in connection to chapter 10 "refactoring" it's make clear why you want to use unittests and how to write them with the build-in unittest module. Those two chapters should be read by unittest-sceptics no matter what language they write code in. Great work here.

Chapters 11 to 14 ("Files", "XML", "Serializing Python Objects" and "HTTP Web Services") work together really well. You learn how to read data from files, how to deal with XML files (using the lxml package) and how to access HTTP apis. Those are real work problems and from the book it all flows really very naturally. Knowledge gained from reading data from files smoothly gets "upgraded" to knowledge about querying for example Flickr or Google apis. At this point the reader can solve many of his (or her) real-world problems with Python. The HTTP chapter is somewhat struggling with the fact that there is quite a lot about HTTP that you have to know (GET vs POST, redirecting, headers) so it does not really work as well as the other chapters: It ends with short code examples on how to post a dent to Identi.ca but the chapter before that throws a lot of "basics" at the user that he (or she) doesn't really care that much about. Maybe having one clearer example would have helped here. It's not that the chapter is bad, every subsection in itself is clear and explains exactly why something is relevant and how it works, I just find the subsections don't tie into each other as they do in previous chapters.

For those amongst you that already know Python2, Chapter 15 is pure gold. Mark goes through the whole process of porting a real life Python2 library to Python3 explaining all the tools to support you Python3 comes with and where and how to fix stuff manually when automatic translation fails. Really helpful and cool chapter!

The last "real" chapter deals with something bad... packaging. If you know Python you also know that its packaging is a huge pain. "easy_install" doesn't integrate well with linux distributions' own package management facilities and it cannot uninstall which completely sucks. On the other hand I think it makes sense to tell people how to publish their code in a rather sane way instead of letting them fight PyPI (Python Package Index) and Distribute all alone. The chapter provides the user with a clear and simple walkthrough on how to package and publish python code. It suggests a directory layout and adds some more best practices so while Python packaging still sucks, I think that this chapter will still help people a lot.

The book finishes with 2 appendices, one showing you how to port code from Python2 to Python3 automatically and the other one listing the "magic functions" python objects have and what to do with them (good reference material).

All in all this is a great book if you want to get into Python. The examples given in most chapters are way better than what many programming books offer, they feel "real". Another great thing is the whole flow of the book: The book goes through aspects not based on some abstract categorization but based on what works together and what allows the user to use the knowledge gained in the previous chapters directly in the next one to do something cool. "Classes" is a good example: Instead of just throwing them at the user very early ("cause Python is object-oriented") it's kept simple for the user, purely based on functions and classes enter the mix only when we need them. The language (as in writing style) is very accessible and avoids unnecessary complexity, I think even people with English as a second language will not have trouble understanding the book.

The layout looks beautiful and the fonts are quite good, too, even though code sometimes "drowns" in text. Choosing somewhat more differing fonts might have been a good idea just for quick scanability of the page.

The Website states that the book is:
The book is freely licensed under the Creative Commons Attribution Share-Alike license. You can download it as HTML or PDF. Über-geeks can also clone the Mercurial repository
. On the other hand the book says that
All rights reserved. No part of this work may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording, or by any information storage or retrieval system, without the prior written permission of the copyright owner and the publisher.

I send an email to Mark, maybe he can clear that up, I guess the copyright is not about the content but the layout and stuff, but I'll keep you guys updated.

Dive Into Python 3 is available on Amazon(affiliate link, this one isn't ;-))and most other bookstores so don't hesitate, it is a great book. And if you are unsure and want to check a chapter out or two (or the whole book), visit the Dive Into Python 3 website
avatar

oxygen-molecule

A couple of days ago some friend came by for a beer (or multiple beers, who keeps count anyway?). However after some time I had to show something on my laptop and firefox was still open. So I got some complaints that GTK+ apps in KDE look horrible, which is true.

Now I am a konqueror user but every now and then I need to start Firefox. For some reason my bank can’t seem to properly write web apllications, they do a browser check and konqueror is not supported, faking the bowser string is not that hard but for some reason all the firefox specific things they want to do then fail on konqueror, long story short I sometimes have to use firefox!

So one of the guys suggested to use oxygen-molecule, it is in portage so it is just a matter of compiling and following the README. And I have to admit all of a sudden firefox looks awesome! So to all KDE users that have to run GTK+ apps every now and then get yourself oxygen-molecule!

Posts for Tuesday, January 19, 2010

Gentoo XFCE4 / XDM / TWM Problems

Okay... So with the latest update to xorg-server (I think it was 6.5), xdm stopped loading XFCE4 and I couldn't get it to load anything but TWM.

Here was the problem:

Somehow, an important file got removed.  The file is this one:


  • /etc/env.d/90xsession



The contents of the file is simply:

XSESSION="Xfce4"

With that, (and all the other /etc/rc.conf and /etc/conf.d/xdm settings in place), xdm and slim will now properly load XFCE4!

Just thought I'd share because google was totally confused.  Hopefully this will straighten things out.

Planet Larry is not officially affiliated with Gentoo Linux. Original artwork and logos copyright Gentoo Foundation. Yadda, yadda, yadda.