Eric TF Bat's Journal

It's People Like You What Causes Unrest

Hey, This Is A Really Good Price For A Laptop! I Wonder Why...
nailgun
[info]etfb
Student buys cheap Dell online; finds out it's got Ubuntu instead of Windows; can't use Word or connect to the internet; drops out of college.

If you hear something bleeding for her, it's my heart.

This Is Why
the-dark-batpup-returns
[info]etfb
Any time I'm tempted to give up on Linux and go back to Windows (which is, to be honest, hardly ever) I just have to remember what's involved in getting Windows installed and usable and the urge passes.

Ubuntu Live Install: seven steps and you're done. Suck it, Billy G.

The New Ubuntu: A Status Report
the-dark-batpup-returns
[info]etfb
Things seem to be going well with the new Ubuntu. A couple of things aren't fixed, and a couple are. I love the way my media player is now tied in with the Ubuntu package system so it downloads codecs without prompting. I don't love the way Samba still doesn't work, so it can't find my shared Windows printer (connected to the last remaining Windows box, in my study). Why include an option if it's not going to work? Painful. But generally, it's been the easiest transition yet. It'd be nice if the built-in UI themes were a little less pig-ugly, but that's Free/Open Source Software for you: the people with a sense of taste are all using Macintoshes...
Tags:

Nothing To See Here (Unless You're A Geek)
the-dark-batpup-returns
[info]etfb

This will be quite dull. I'm upgrading my laptop to Kubuntu 8.04.1, and I keep wishing the last time I upgraded I'd kept track of the changes I made. So this time, I'm keeping track - here. Move along if you don't care.

Really. It's dull. I'm not kidding. Look! Dot points! apt-get lists! DULL!!! )
Tags:

Wish me luck...
the-dark-batpup-returns
[info]etfb
I'm upgrading my laptop over my lunch break.  I would have done it last night, but I ran into a roadblock: my system claimed to have an icon file that was 3.6 exabytes in size.  I'm impressed that I managed to fit it on a hard disk that was 60,000,000 times too small, even after removing the Doctor Who episodes.  But a simple sudo rm command cleared up all that space, and now I'm installing Kubuntu 8.04.1 (Hardy Heron) and hoping my copious and careful backups will all Just Work...
Tags:

Anatomy of an Open Source Pain: The GIMP
the-dark-batpup-returns
[info]etfb
I had an idea for a LOLCat (actually, a LOLDoctor) so I thought I'd try making it myself using The GIMP, one of the flagship Free/Open Source software products available in Linux.  The essential problem with The GIMP is that it's brain-damaged and stupid, which is why I've never achieved much with it before; I thought I'd try getting it to work anyway.

The image required one main picture, of a particular person, and a second image, of a prop, plus some text.  The prop has to be adjusted so that the person appears to be holding it in his hand.  A bit of Google Image searching got the appropriate images; now to fire up The GIMP.

First step: open the image of the person, and paste in the image of the prop.  So far so good; the prop appears as a separate layer, so I can manipulate it.  I try to drag it and... the "paintbrush" tool is selected, so I end up drawing a black streak across it.  What the fuck?  When you paste in an image, what moron decided that the first thing you'll want to do is to scribble all over it.  Why not auto-select a "move" tool as a standard part of the pasting operation the way every other graphics program has done since MacPaint 1.0 in 1983?    Strike one.

So: undo, then hover over the palette to find the "move" tool.  Note that the palette doesn't have labels unless you hover, and that the palette is a separate window rather than a toolbar, meaning that you have to find the palette in the task bar every single time you want to use it, presumably because the GIMP's designers still feel that Window 3.0 was the pinnacle of UI design.  Some people claim that the GIMP's layout is better than the alternatives invented in the last 15 years, and that multiple windows are better than single windows with toolbars.  People who believe this are evil and retarded and should never breed.  Please don't take this as an opinion, because it's not: it's a fact.  Strike two.

Now, having moved the prop over to the side where it belongs, I want to flip it horizontally.  "Flip Horizontally", I found out recently, is hidden in a menu called "Transform", because a university degree in geometry is a natural prerequisite for using any software.  Oh, and watch out: use the Transform submenu under Layers, not the identical one under Image, or you'll flip the whole image.  Did they spend a whole ten minutes designing this menu structure?

Now, the prop has some background of its own that I want to fix.  If I were using Paint.NET, the excellent MS Paint replacement under Windows, there'd be a tool for selecting all of an area of a similar colour.  There's a similar thing on the GIMP palette (once I find it again) so let's see what it does...  nothing.  Selecting it and clicking on the prop layer has no effect.  The Move tool is still in effect.  What the...?  No feedback, no explanation, the thing just doesn't work.  Strike three.

Perhaps it would help if I hide the background layer to avoid distraction.  I call up the layers window and deselect the background... and both layers disappear.  What???  I want to just see the second layer here!  The one with an eyeball shown against it on the layers window!  Come on, that even works in Photoshop, for fuck's sake!  ... Ah, wait.  It says it's a floating selection layer.  What if I right-click and select New Layer?  Wouldn't that just create a blank layer?  No, apparently not; it converts this layer to a different kind of layer, one that actually works.  Now we're making progress.  I use the magic wand tool, which does indeed work like Paint.NET, to gradually delete the background of the prop image.  Fiddling with the "Threshold" setting is profitable too; after a while I get the image tidied up enough that I can use a normal lasso select tool and the eraser to get the rest.

Now the prop is a little small.  I'd like to enlarge it.  What's the mathematical jargon for that?  Scaling, I think; it's a transformation operation, so it should be in the Transform menu, surely?  No, because consistency is apparently only the bugbear of little minds who aren't on the GIMP dev team; Scaling is a separate menu item.  Fine; I scale it up by choosing a new width, because there's no percentage-scale option.  (Oh, wait, I tell a lie - it's in a drop-down box.  Not quite another strike, then.)

Now I decide I don't like my original background image, so I find an alternative.  How to paste it in?  Simply pasting it into the stack of layers doesn't work; it crops it to the size of the existing selection.  Rummage through the Edit menu... eventually, the only way to do it is to create a new layer and paste it in there (and then use the identically-named-but-completely-unrelated New Layer option to make it into a real layer).  That done, I edit out the device this person is holding -- and that Threshold option is nearly useless here; why can't it be a right-click option or something to save me clicking back and forth? -- and then I have to think about filling in the space thus revealed, using the nondescript background wall image.  Let's see if The GIMP provides any such functionality. Some kind of texture-cloning ability, perhaps?  A search through the menus is unproductive; eventually I just use the lasso tool and it's good enough.

Now to position the prop in the person's hand.  I scale it and position it, but I'd like the person's hand to appear to hold the prop as much as possible, so I need to do some trickery.  I hide the prop, then lasso just the hand and put it in a separate layer.  For a while, I can't figure out why the Delete key doesn't work when I remove parts of the hand image, until I realise the background image is still visible underneath, and is showing through when I delete parts of the hand.  Clicky click on the layers menu again.  A bit of fiddling with layers and the erase tool, and soon it doesn't look half bad.  I begin to understand how this program can be used to do real work... by those who can bear the ugliness of the UI, at any rate.

Now I have the image looking the way I want, so I want to add text.  I hear it's possible to do that white-with-black-outline text style that you see on LOLCats images, but I don't think I have time to learn how, so I'll just do a plain shadow.  New layer, and some typey-typey... I'm getting the hang of these layers now, so the text comes together relatively easily.  One improvement over the ordinary Paint-style tool is that I can continue to manipulate text even after I've moved it and duplicated it and so on; no need to have it converted to mere mindless pixels with no memory of their origin.  That's a Good Thing.

So the result is pretty much what I wanted.  Stay tuned for the unveiling...!

Lazyweb: Editing Video Files
the-dark-batpup-returns
[info]etfb
Hey, Lazyweb! Especially the Linuxy bits of the Lazyweb! I have a problem, and I demand that you fix it free of charge because that's what free s0ftwarez is all about, rite!!!!1!!!eleventyone!!!

Ahem

I have a bunch of AVI (video) files containing cartoons. Each one has about half a dozen eight-or-nine minute episodes plus, in many cases, a long advertisement for similar kiddystuff at the end. I want to chop them into individual files, one per episode, discarding the ads. Also, in some cases the tracking is off, so the sound and picture are out of synch by as much as three seconds, so I'd like something that will let me adjust this to work properly.

Any suggestions? I don't have access to a MacOS machine, so it will have to be Linux or, in a pinch, Windows.

Late Night
the-dark-batpup-returns
[info]etfb
Took the BatPup and went along to the Arts & Sciences evening at the Baron & Baroness's place tonight.

The Baron told me some more of his strongly-held opinions on the unsuitability of Linux for ordinary users, and I began to see the pattern: he's had a run of bad luck with drivers and so feels that only Windows is going to work without pain.  I managed to impress him with the Add/Remove Programs feature and Aptitude/Synaptic, because his biggest experience with Linux was with Fedora, which either lacked or didn't sufficiently advertise such features, leading him to believe that installing any software at all required a familiarity with makefiles and command lines.  Showing him how easy it was to install and configure some software may have convinced him that Ubuntu, at least, is not a complete dead loss.  However, unlike most people I know, he's had uniformly good experiences with Windows, and even with Outlook and Exchange, so he'll never be converted now.  The damage is done, poor poor boy...

Meanwhile, I gave our Rapier Marshal a tutorial on WordPress, and she did her first blog entry.  She was pleasantly surprised at how easy it is, once you've fixed your password, so I expect she'll get to work pretty quickly and use it as intended.  This is a Good Thing, since writing reports is a chore and anything that makes it easier must be worth it.

Also, helped the bookings officer for the upcoming College War add a booking form to the College site.  It's only a simple fill-in-the-form-and-it-emails-the-bookings-officer sort of thing, but it's better than nothing.

Meanwhile, the BatPup played with people and charmed their socks off, from the looks of things.

A good night, but it's now late and I need my ugly sleep.

To Heron, Or Not To Heron
the-dark-batpup-returns
[info]etfb
Quick question for the Penguiphiles of the Lazyweb: I haven't been impressed with the stability and reliability of Ubuntu 7.10, Gutsy Gibbon, but I hear that 8.04, Hardy Heron, is an improvement. What do you think: should I go ahead and upgrade now? Is it going to make my life and my laptop a living hell, or is it relatively painless? By "upgrade" I really mean "archive everything off, reformat my hard disk and install the new version", because for all that I love Mr Spaceman's little toy, I don't trust him to get an upgrade process to work even as well as Windows does it, which is not well at all. So: install Heron, or suffer through broken USB support and weird suspend/hibernate and an apparently braindead multi-monitor setup and all the other (minor) aches of the Gibbon? What say ye?

Lazyweb: What's a mAh?
the-dark-batpup-returns
[info]etfb
Hey, Lazyweb! The battery on my laptop seems to be dying, so I'm pricing replacements. What confuses me is that my current model, the PA3399U-2BAS has a label with "DC 10.8V 4000mAh" on it, but there are alleged replacements with up to DC 10.8V 8800 mAh. So what's a mAh? And is more better? I never understood electricity. People talk about volts and ohms and amps and something about pipes and diameters and volumes of water and my eyes glaze over like a Mac user in room full of AUTOEXEC.BATs. Can someone give me the potted revelation on this topic?

Also: if you have a laptop battery that used to last for a couple of hours and now dies three quarters of the way through an hour-long bus trip, how do you diagnose the problem and/or fix it? Any ideas?



ETA: [info]subtle_eye suggested a trick to find out some info about my battery, and this is what I got:
poet@manticore:~$ cat /proc/acpi/battery/BAT0/info
present:                 yes
design capacity:         1364 mAh
last full capacity:      1364 mAh
battery technology:      rechargeable
design voltage:          15000 mV
design capacity warning: 0 mAh
design capacity low:     0 mAh
capacity granularity 1:  0 mAh
capacity granularity 2:  1364 mAh
model number:            PA3399U-2BAS/BRS
serial number:           8A74
battery type:            Li-ion
OEM info:
poet@manticore:~$

That's bad, right? I mean, it says 4000 mAh on the battery, so what's with the 1364 mAh?



Right; I've ordered a replacement battery. I'd been meaning to anyhow, just because it tends to be a good policy. We'll see if it's an improvement.

Plans
the-dark-batpup-returns
[info]etfb
So our plans for Festival are proceeding (see previous f-locked entry) and ditto the plans for my birthday party next weekend.  I've been tidying today, and the house will probably be respectable in time for an invasion of chums and chumettes, provided the BatPup doesn't decide to disassemble the bookshelf at the last minute and the EDoD doesn't set fire to the cat.  On past experience, both of these are at worst only moderately likely.

My brother and sister-in-law suffered a computer virus recently, so I've been rebuilding their laptop.  I used an Ubuntu Live CD to thoroughly reformat the hard disk - I figure very few viruses can survive the forced change from NTFS to EXT3 (ie from the Windows disk layout to the completely different Linux one).  XP is reinstalled, taking up all but 10Gb of the hard disk.  I'll be installing Ubuntu (Kubuntu, actually, since it's what I have) on the remaining 10Gb, so that if anything goes haywire again it will be relatively easy to log in to the uninfected OS and slurp all the files onto a CD or external drive without running the risk of further infection.

I'd love to get them into Linux properly, but my brother enjoys his games and my sister in law is Chinese - are there any versions of Linux that can be relied upon to handle Chinese input methods and software without barfing?  Anyone?  Bueller?  Bueller?  [info]kirmish?

In other news: didn't get much done on the instructions for installing Gratian, or on the changes to automate the configuration for new users.  Too many nights of getting the BatPup to bed too late, and I can't do it on the bus because Jottit requires a net connection to work.  But I'll get there; at least I know [info]syridian and Benedict (does he have an LJ?) have plenty of other things to do with their time, so they're not twiddling their thumbs.

Me, I have thirty seconds of thumb twiddling booked for 8:47pm on Tuesday, 23 April 2047, but I don't know if I'll be able to fit it in...

Lazarus: Stupid
the-dark-batpup-returns
[info]etfb
Tried downloading Lazarus, a multi-OS Delphi-alike compiler. Sadly, the people who produce the web page don't want anyone to use the software. They're actively fighting against adoption of this alternative to Borland Delphi. Why else would it be apparently impossible to download an installation for Linux? If you follow the links to download, you're given the following cryptic list with no documentation or release notes at all:

Lazarus Linux amd64 DEB
Lazarus Linux i386 DEB
Lazarus Linux i386 RPM
Lazarus Linux SRC RPM
Lazarus Linux x86_64 RPM
Lazarus Mac OS X i386
Lazarus Mac OS X powerpc
Lazarus Testing
Lazarus Windows 32 bits
Lazarus Windows 64 bits
Lazarus Zip / GZip

Presuming you know at a glance what these unexplained acronyms mean (I do) you will generally choose the right one. I chose Lazarus Linux i386 DEB, because Unbuntu is a Debian-based distro and my laptop is a Centrino Duo, which isn't an i386 but I know what they mean. I then get this, with no indication of which is which and what I need to download.

fpc_all_i386_deb.tgz Mirror 43318112 4652 i386 .gz
fpc_crosswin32_2.2-071103_i386.deb Mirror 57626506 1415 i386 .deb
fp-compiler_2.2.0-1_i386.deb Mirror 2682134 931 i386 .deb
fpc-src_2.2.0-071107_i386.deb Mirror 20404222 1308 i386 .deb
fp-ide_2.2.0-1_i386.deb Mirror 2097302 673 i386 .deb
fp-units-base_2.2.0-1_i386.deb Mirror 1151744 581 i386 .deb
fp-units-db_2.2.0-1_i386.deb Mirror 1288758 579 i386 .deb
fp-units-fcl_2.2.0-1_i386.deb Mirror 4093708 574 i386 .deb
fp-units-fv_2.2.0-1_i386.deb Mirror 556558 524 i386 .deb
fp-units-gfx_2.2.0-1_i386.deb Mirror 967802 538 i386 .deb
fp-units-gnome1_2.2.0-1_i386.deb Mirror 413002 563 i386 .deb
fp-units-gtk_2.2.0-1_i386.deb Mirror 1141932 537 i386 .deb
fp-units-gtk2_2.2.0-1_i386.deb Mirror 1740796 535 i386 .deb
fp-units-i386_2.2.0-1_i386.deb Mirror 487168 490 i386 .deb
fp-units-misc_2.2.0-1_i386.deb Mirror 376306 517 i386 .deb
fp-units-multimedia_2.2.0-1_i386.deb Mirror 60978 509 i386 .deb
fp-units-net_2.2.0-1_i386.deb Mirror 659658 575 i386 .deb
fp-units-rtl_2.2.0-1_i386.deb Mirror 2219600 634 i386 .deb
fp-utils_2.2.0-1_i386.deb Mirror 3188396 586 i386 .deb
lazarus_0.9.24-0_i386.deb Mirror 49354346 4761 i386 .deb

It also suggests "you may want to read the release notes". Hell, yes! I click the notes link and get... this:

Release Name: Lazarus 0.9.24

Notes:
Changes:


Ooh, yeah, helpful. Thanks, guys.


I've said it before and I'll say it again: SourceForge is broken. If you're using SourceForge to distribute your software, and you haven't hand-built a replacement download page to disguise or minimise the standard one, then you're an idiot and you should stop. Software development is a serious business, and braindead incompetence is not in short enough supply for you to add to it. Go get a real job.

But more generally, the whole Lazarus project looks like a dead end because nobody there cares enough about making their software accessible. There's an Ubuntu Lazarus package, but it's configured wrong so you get error messages when you start and some major functionality doesn't work. Discussions on the forums go round in circles: "I did this and it worked"; "I tried exactly that and it didn't"; "well, I guess you must be a tete de merde, non?"; rinse, repeat.

I'm renaming the whole thing the Anorak project instead, because it seems to be run by a bunch of friendless nerds with even less clue about social interaction than is normal in Free/Open circles. Thank the gods for VMWare and Delphi. Lazarus can go back to the grave.

Too Knackered To Find Witty Illustration; Imagine One Yourself
the-dark-batpup-returns
[info]etfb
First of all: the Gimp, the whiz-bang graphical tool for Linux? Piece of shit. Needs to be nuked from orbit. Just sayin', that's all.

Spent today working on the chicken run (imagine picture of Potsdam New Palace with cunningly overlaid chickens, and label over the top "Artist's Impression - Not To Scale"). We already have one chicken run, which was a bit of a running gag back when I was at the Department of Internet Mediocrity because I kept threatening to get it built but never did. Eventually we found a chicken coop by way of Freecycle, and I fenced off the area behind our enormous green shed (picture here of Space Shuttle hangar with witty caption I am too fscked to think of) and it became home to our three chickens, Nimmitabel, Blackie and Cecilia Wilberforcetta Arbuthnott III.

But of course, the Beloved wanted a second chicken run. I'm hazy on the reasons. I think it has something to do with chickens being an excellent tool for preparing difficult ground for cultivation, so in theory every part of our back yard will spend some time as a chicken run before being turned over to production of Useful Plants like chokos and triffids. She conceived a plan involving star pickets, chicken wire, the ineptly-assembled silver shed that used to be my utterly useless toolshed, and recycled lawnmower catchers as nesting boxes.

We didn't get it finished today, even despite help from the Father In Law, primarily because (a) it was stinking hot, and (b) I didn't have the right disc for the angle grinder so I couldn't make a chookflap (like a catflap but bipedal). But it's pretty close.

And I want to sleep now. Pity the BatPup won't let me, really. Sigh.

RedPill@Home
ping-my-cheese
[info]etfb
Ah, the joys of Virtual Private Networks (pictured, right). I worked from home today, so as to provide my Beloved with some munchkin-wrangling services and possibly save her sanity. Not sure if the latter ever had much chance, but the former was OK. The Boy Wonder spent a fair amount of time in his bouncy hammock thing, and the BatPup was generally happy to pootle about -- although I owe her more Daddy/Daughter Bonding Time after appearing to ignore her all day. Out of sight is not out of mind.

The good news is: I fixed bugs in three different programs, and got them all ready for use. As often happens, I find myself writing tools for my cow-orkers, because I have a tendency to identify stupidities in our day-to-day procedures and think of ways to fix them. So as well as the magnificent ChartCheck, which we use to sanity-check our database upgrades, I now have Dr Johnson, the data dictionary documentation editor, and DBCopy, the general-purpose database file-mover for MSSQL. All three are stable, solid and easy to use. I think my boss will be pleased with my progress out from under foot.

Of course, the tool I really want to write is a replacement for our slow, klunky and bugridden time tracking program, written in some flash-in-the-pan toy language. I'm fairly sure I can produce a program that's simultaneously faster and easier to use, coming from a totally different angle and turning a chore into something simple and easy. Trouble is: the time tracking program we already use is considered "good enough", so I can't work on anything to replace it in company time. That means VPNing in to work when I have no other commitments (ha!) so it won't get done any time soon. Which is a shame, because I'm sure the quantity and quality of my interactions with the underlying time tracking process would be vastly improved. But that's how it goes: there's never enough time to do what you need to save time.

Software Stockholm Syndrome
the-dark-batpup-returns
[info]etfb
Stockholm Syndrome is the bizarre psychological effect where a captive begins to identify with his captors, even defending them and arguing for their cause. Think Patty Hearst, if you're old enough (which I'm not).

I think it applies to software too.

The obvious example is Java. Here we have a programming language so underpowered that every simple algorithm has to be expressed as a mountainous concatenation of subclasses, iterators, event listeners and sundry other pieces of boilerplate madness. So do the programmers rebel and demand to be allowed to get a real programming language? No; in significant numbers, they do not. They come up with ways to turn necessity into virtue and call it names like "efficient" and "expressive" and even "powerful". Stockholm Syndrome.

Or what about Microsoft Word? Nobody who has ever used real desktop publishing software, real text editors or real collaborative editing tools could consider MS Word to be anything but a half-hearted attempt to be all things to all people. And yet, perhaps through the mechanism of Dummies books and MCSE courses, people actually call it a word processor, and won't entertain any alternatives. If that's not Stockholm Syndrome then psychiatrists need to invent a new word for stupid.

And then there's anti-virus software: people willingly cripple their computer's performance to save themselves having to learn not to open every last attachment. Although maybe that's not Stockholm Syndrome; maybe that's a combination of fear-based marketing and wide-spread idiocy. Never mind.

And lest you think I'm only railing at Microsoft, I might point out that one-button mice are such a broken idea that Macintosh fans actually point to two-button mice as the Wrong Thing and insist that their particular Iranian embassy of a hardware choice is the only way to click. Say it with me: Stock. Holm. Syn. Drome. Four little words that mean so much!

Sadly, however, the biggest example for me is still Linux. I still suspect, very occasionally, that it's not quite ready for use by real people, even with Ubuntu bringing it closer than ever before. Part of it is recalcitrance on the part of proprietary hardware makers, who won't release the specs and standards for their wireless adapters and video cards. But a lot of it has to do with the lack of any real tools for writing usable GUI software and a general sense that if it's free it must be morally good, so who cares if it SIGFAULTs every now and then?

Ja, ja, I too in Stockholm am living. Skål!

Unbuggering Linux, Part 1: The Default Browser
the-dark-batpup-returns
[info]etfb

Mainly as a set of notes to myself, I’m recording the assorted tips and tricks that make Linux more usable. My distro is Kubuntu, the KDE version of Ubuntu, so that’s my focus. No doubt these tips will have applicability to other system too.

Today: how to set your default web browser once you realise that Konqueror just isn’t quite what you want.

A little tortuous googlage turned up this explanation, which was all right apart from a smart-quotes-induced typo. Note to blog software developers: if it’s in a code block, don’t convert -- to an em dash!

> sudo update-alternatives --config x-www-browser

There are 2 alternatives which provide `x-www-browser’.

Selection Alternative
------------------------------------------
*+ 1 /usr/bin/konqueror
2 /usr/bin/firefox

Press enter to keep the default[*], or type selection number: 2
Using `/usr/bin/firefox’ to provide `x-www-browser’.

That’s all it takes! KDE handles things much the same way Windows does, from the looks of it. No doubt there’s a way to do this within the GUI, but I’m happy with the command line for something that simple.

Crossposted from fLog.


Strike "Apparently", Substitute "Definitely"
the-dark-batpup-returns
[info]etfb
The Boa Constructor IDE is certainly well on the way to giving me what I want in a development system, but I've found something even better: Mono lets me develop in C# (or Visual Basic, but never mind that) and has all the ease of use and polish I expect from a modern software development tool.  Excellent!  I can now write GUI-based software in Linux, in my copious free time, and it will Just Work.  Mission accomplished.

(And yes, I know, C# is a Microsoft product... Bite me.  It was developed by Anders Hejlsberg, one of the top dozen or so programming language developers and the man who was largely responsible for Delphi.  I'm willing to put up with a little Microsatanism if it means I can write real software with a language designed by a genius.)

Linux Wish #1 Apparently Answered!
the-dark-batpup-returns
[info]etfb
I took some advice given in the comments to my previous entry, and took a second look at KDevelop. The sequence of events was:
  1. Install KDevelop (easy, thanks to the Add/Remove Programs option in Ubuntu).  Score: 10 out of 10.
  2. Find the appropriate program; I picked the one that allegedly does KDE C++ development, since I know it will produce standalone executables.  Lots of items in the list, all clearly labelled.  Score: 8 out of 10 (2 off for lack of focus).
  3. With the advice given, decided not to give up upon finding no form designer.  Clicked the Help link.  Got told there isn't any.  A check of Google reveals this isn't a configuration issue or anything; rather, there are no help files for KDevelop.  Not a sausage.  Score: -3 out of 10 (would be 0, but lost three points for having a stupid useless help menu).
  4. Found a tutorial and began following it (after checking that it was for the right version, as suggested by a comment I found during earlier googling).  Got as far as step two and got a cryptic error message, "cpp fails sanity check".  Nothing on the KDevelop website about this.  Had to pray to Google again.  Score: 0.
  5. Google turned up an Assburger who was berating someone for not finding the Requirements link on the KDevelop page -- 8 point gray text, tucked in a sidebar, with no "Start Here!!!" links to tell anyone that it was important.  Score: -30 for the Assburger, 2 out of 10 for the website (at least they have the link, hidden though it was).
  6. Requirements page gave a list of requirements, including the advice that typing the name of the program followed by "--version" will usually tell you what you need.  The very first "program", KDE, naturally enough doesn't have a program; you have to know where to find the version information.  Same with the second, Qt.  Score: -10 (-5 for each of the programs-that-aren't-programs whose version numbers I don't know).
  7. Went through and guessed the apt-get commands to update things, until I got to the last one, Berkley DB.  The URL on the requirements page was broken, and aptitude and apropos know nothing of any "Berkley", so I took a guess that it was probably not important and ignored it.  Score: -5 for proofreading again.
  8. Repeatedly ran the configure menu item in KDevelop for each of the above, waiting for the error message.  Eventually found a request for X Headers, which wasn't mentioned on the requirements page.  Googled for them and found the name of the apt package I needed.  Score: -20, because I'm getting angry.
  9. Reran configure and discovered a need for Qt headers.  Installed them using apt as well.  It uninstalled Wine and my Paint program, among others.  Score: a baling hook, a bucket of salt and ten minutes alone with the fucktards who produced KDevelop, because that  is utterly unreasonable.
So I gave up on KDevelop, and will never touch it again.  The people in charge should be tried for war crimes and beaten to death.

So anyhow... I took another look at Boa Constructor, a Python RAD/IDE that (joy!) is apparently aiming at being a cross-platform "Delphi for Python"!  Perfect!  It suffers from typical open source disease -- produced by someone who didn't really give the overall design much thought -- but I think I can work past the obvious flaws.  My "Hello World" button program isn't quite as easy as I wanted, but so far it's worked out of the box (dependencies, KDevelop guys... ever heard of those?  We grown-ups manage to document them so that people don't hose their systems by accident!).  I plan to actually achieve something.  Let's see, shall we?

Linux Wish #1: Visual [Something] Studio for X Windows
the-dark-batpup-returns
[info]etfb
Here's something I'd like and haven't found yet. If you're a Linux programmer with more experience than me in the nooks and crannies of apt and Sourceforge, perhaps you can suggest something.

Picture if you will...

I click on a menu item and fire up a program. It has a palette of icons across the top and a picture of a blank window form taking up most of the screen. I pick up an icon of a push button from the palette and stick it on the window. A list of properties on the side updates to include details like size, caption and events. I type in "Hello World" as the caption, and resize the button by dragging its edges. Then I double-click the button and an editor window opens with a function stub in the appropriate language (see note #1). The function is called something like "Button1_Click". I fill in a few lines of code, say MessageBox('Do not press that button again!');. I click a button on the toolbar. A compilation dialog appears, and swiftly compiles my program. Shortly thereafter, a window identical to the one I just created appears, but this time it's not just a picture; it's the real thing, an actual executable program. I click its Hello World button and a message pops up, just as I told it to.

All of this is pretty standard. Visual Basic 1.0 did it in the early nineties and enabled twelve-year-olds to produce user interfaces for the first time. Delphi did it better in the mid-nineties and allowed the creation of standalone executables written in a grown-up's language. Visual Studio eventually followed Delphi's lead and produced some actual visual languages, mainly by poaching all the competent programmers from Borland. Borland even produced a version of Delphi that worked (for suitably generous definitions of the word) under Linux, but they marketed it with their usual skill (stupidly high price, huge numbers of obvious and never-fixed bugs, and ridiculously childish documentation - the Borland trifecta) so it sunk like a stone.

My question is: does anything like this exist in Linux, preferably for KDE development?

Note #1: I don't care what language it is. I can learn a new language faster than I can learn to love hand-coding my message loops and writing native X calls.

Note #2: I have had a look at a few, but they don't all do what I said. Some don't work at all on a bog-standard Ubuntu Feisty install, others are just editors with syntax highlighting but no visual form design, and a few appear to separate the form design from the coding, making them little more than Macintosh ResEdit in new trousers. I want something that works. Any ideas?

More of this "Is Linux Ready For The Desktop" Game
the-dark-batpup-returns
[info]etfb

I'll start with a blanket assertion: Linux is not ready for the desktop. It's close, certainly, especially now that Ubuntu is becoming the big new noise in the public consciousness, but it's still got three major problems, amply demonstrated by my recent question about backups and the interesting responses from my Linux geek friends:

  1. Discovery is fragmented. It should be possible to go to "Add/Remove Programs" and get an answer to any query. I want to back up my computer? Typing "backup" into the search bar should give me a small number of relevant suggestions, all of them properly designed to work on your standard array of desktops and laptops as owned by the hoi polloi. Currently it gives a small-to-medium list of poorly described programs of widely varying quality. Compared to Windows it's still far superior -- nothing like the Add/Remove Programs option exists in the proprietary software world -- but the whole point of having the option in the first place is that it should Just Work, and it doesn't, quite.
  2. Testing is woeful. Understandably so; testing, unlike just about every other part of programming, is hard. Orders of magnitude hard. Brain-bending hard. Team-of-competent-testers-needed hard. Programmers and system administrators always underestimate how hard it is to test software. Until you've met a good tester and watched how they work, you have no idea. If I take nothing else away from my current job, I'll take this: there are excellent testers in the world, and they have a skill well beyond anything I've seen, and it can't be underestimated. Sadly, it also doesn't come for free. People don't give their testing expertise for free, because testing isn't fun like programming, so the open source model doesn't work there. In this, Microsoft beats everyone else hands down; their testers are the best in the world. Sadly their managers are shite, which explains things like Office 2007 and the Vista security model, but their testers are spectacular. Anyone who ever tried to write software to work with a sizeable proportion of the available printers in the world back in the MS-DOS days will remember what a pain it is; multiply that by every piece of hardware and third-party software that Just Works with MS Windows and you see what I'm talking about.
  3. Competition is not always good. There's Gnome, and there's KDE. Each one duplicates effort for no advantage at all. It's a stupid, retarded situation. They should merge the codebases and stop competing, because they're wasting effort. Ditto with GNU Emacs and XEmacs, Firefox and Konqueror, The Judean People's Red Hat Front and the People's Ubuntu Front of Judea, and so on and so fifth. Sure, it's good that there are different ways to do things, but it's not good that so much effort is wasted. It's not like there are too many competent, talented programmers in the FLOSS world, are there? The situation is stupid and pointless and you really need to be entirely too close to the problem to see it as a benefit.

Sadly, I don't think the current Free/Libre/Open Source Software model allows for any solutions to these problems. That's why I think Mark Shuttleworth is the key: he's a millionaire who wants to help. A few more of those, working together, and this thing will be ready to go. Until then... well, it's still better than Vista, so I'm sticking with it.

But it's not all roses, and you're mad if you think the smell is only fertiliser.


Home