software

Home page Latest blog

Software

This section is part of something like a blog. To contact me or comment on this, see my email page.

photo


A variety of educational software is available for children and adults. +


Back up and encrypt your files - before someone else does

Heard this report on the Radio 4 Six O'Clock News about attackers who used a virus to encrypt someone's documents and leave a ransom note. Of course, that was on Microsoft Windows, but you should have a good backup and testing regime.

I keep wondering whether to start encrypting my $HOME and I wonder if any GNU- ish variant of these attacks will ever cope with that.


Road to Scheme

At the SPA CLisp talk today, Nick Levine mentioned the number of "road to lisp" posts out there. So, I'm writing this on the train home to describe why I'm a schemer.

I started programming in BBC BASIC, then learnt Forth for something a bit more portable. The irony is that I've written BASIC on other platforms but never Forth. The reverse Polish notation has been useful, though. After that came "structured" Pascal, C and the horrors of Modula-2. I learnt tcsh and bash to do sysop, but I use the simpler RC myself. I learnt perl, php, python and more for web work, then Splus and R for stats work.

Then, finally, I learnt lisp - xlispstat in fact. Finally, here is a language that makes sense, smells right and can do everything. I can't remember enough common lisp, so I tend to use the smaller Scheme for everyday.

That's my road to Scheme: a search for elegance and flexibility. Even languages I've learnt since then have some similarities to lisp, such as objC with its message-passing.


Beware web advice

One big benefit of free software is that there's lots of helpful advice on the web.

One big problem of free software is that there's lots of bad advice on the web. Examples:

  1. Solving a connection problem with ssh by switching to "default permit".
  2. "Web resources mention that I may need to recompile Apache especially to support PHP".

Got more? My advice - try to learn the implications of a change before running untrusted commands from the web.

hey wrote: 'Well, as Debian nowadays comes default with a "ALL:ALL" line in /etc/hosts.allow, I don't see why the advice in 1) is so stupid. Anyway, most crackers will use IP's that perfectly pass any checking done by TCPwrappers, so the check is pointless anyway.'

AFAICR, I didn't say it was stupid, just bad. If someone had configured ssh to reject some IPs, then permitting everything is bad advice. It's better to add only the hosts, domains and networks you know need to connect. While my public servers allow connections from everywhere, 'most crackers' get caught by TCPwrappers on my private network's server, so I don't think it's pointless.

hey replied: _'OK, if someone specifically changed the default to reject some IPs for a good reason, then yes, you better be sure you want to be connected from all IPs. On the other hand, it's quite likely the default was "ALL:PARANOID", as it was until a few years ago with Debian. In that case, I'm all for 'upgrading' that default to "ALL:ALL", especially when you get reports of people (that have to use a lame ISP) not being able to connect' _

but I'm still not convinced. Reverse DNS is good and those lame ISPs should improve or lose customers. (If you want to permit them until their ISP de- lames, then by all means add that network to hosts.allow.) Something can be good advice in some situations, but bad advice in general.


That history meme

; history|awk '{print $2}'|awk 'BEGIN {FS="|"} {print $1}'|sort|uniq -c|sort -rn|head -10 history not found

Yes, I'm so paranoid/simple that my shell has no external command history store... go rc!


Printing: Samsung ML-4500 and GhostScript

The Samsung ML-4500 works perfectly with ghostscript, according to linuxprinting, but the supplied changes didn't compile for me with v8.54. Searching doc/Changes.htm showed that the gs_malloc and gs_free calls now take an extra pointer, looking at other drivers suggested that it should be pdev->memory, and adding pdev->memory to the calls produced something that compiled.

I announced an updated Samsung gdi patch to the list. Now to unpack the printer and test it properly!


Installation Difficulties

Sometimes me and hardware seem to just not get on...

Edimax wifi USB stick

Yesterday, I helped a friend install an Edimax wifi USB stick. I've been using wireless networking lots for a year or two without much trouble, even testing experimental drivers sometimes, so I thought this would be straightforward. How wrong was I?

First complication: the target machine is running the latest Windows, but still needed a driver CD-ROM loading. The instructions were quite clear that this must be done before plugging in the stick. What it doesn't tell you is that the stick has to be plugged in at a specific point during installation - cue mad unpacking.

Second complication: the autorun program on the driver CD tries to do DNS lookups. Why on Earth? This is part of installing a network device. There is no working connection to the network, else we would probably not be installing this...

Third complication: the questions in the install wizard are nonsense. For example: "Do you want to optimize for performance or for wifi operation?" Erm, I'd like it to operate as a wifi device with good performance please. The installation manual didn't explain what the questions meant, but did at least give recommended answers.

Final complication: the driver utility has at least two ways of setting which wireless network to use (as well as the target AP, there's a BT Home Hub and some other BT kit somewhere nearby, according to their ESSIDs, although the USB stick only saw the Home Hub). One of them works. One doesn't, with the same settings. The only obvious way to find that out is trial-and-error. There's no useful error message when it fails - just no working network connection.

Yes, lots of Linux stuff is harder to install than it needs to be, but at least its questions mostly make sense and most things give proper error output that helps to debug it. Windows is still in the dark ages on these two. I guess it's the lack of peer review: I didn't see any way to send a bug report to the dodgy driver designers.

By the way, the Edimax stick works pretty well (although their web site is terrible). I think I'd recommend it, particularly if you're not using the Windows drivers... It says on the box it works on Debian and it looks good on linux-wless, but I've not tested that.

Update: a comment from indows:

Windows 98 used to have this hideous bug in the USB driver install procedure, that if you couldn't point it at the drivers IIRC .inf file, it would bind the device to the unknown device driver.

And it would stay bind until you manually editted the registry.

So most windows USB installer force you to now install the device after they've 'installed' the driver filed into windows, then as you to install the device and check that they've been errr, modprobe'd (or rather the equivalent) correctly.

Of course most of this is moot if you have XP and can find the.inf files on the installation media by hand. In fact this seem to be the most reliable way of installing devices - despite what some manufacturers seem to think, but I gues they're worried they migt have to tech support the broken thing I mention with win98 above if they let people do things the MS way.

Samsung YP-U2 Firmware

Anyone know how to upgrade a Samsung YP-U2 Ogg player's firmware from GNU/Linux?

Nick at Samsung support says they'll email me some details, but they seemed pretty confused on the phone. The supplier said it was supported in Linux, although now I notice the box doesn't say so and I'm on the other side of the country to them.

It seems happy enough as a USB Mass Storage device, right down to backing up the settings, but this is my first firmware update. Unzip, Cabextract and Unshield have extracted lots of files and I guess some or all should go into the system directory, but I've no idea which and how. Help would be very much appreciated. Even better would be some free-as-in-freedom firmware... I knew enough to buy an Ogg player, but I think the firmware debate and my awareness of free firmware for some digital audio players came after I got this one.

Simon Brown asked in a comment:

"Why do you want to upgrade the firmware? Mine just works"

Mine is running firmware 1.30 EU which seems to misinterpret some low-bitrate Ogg files and I wanted to see whether that's fixed.

Scott commented on my attempt to upgrade the Ogg player from GNU/Linux:

"I bought my YP-U2 in the US where the installed firmware doesn't do OGG at all. I actually had to flash it to international firmware before I could even mount it in Linux. I found the firmware on the Samsung web site after much searching, and actually installed firmware for a slightly different version of the player to get it to play OGG.

Sadly I don't have the URL handy, but I may have the firmware files I used.

Additionally, I was required to use Windows to upgrade the flash."

I extracted some sb files that I think may be the firmware, but I don't know what to put where or how to persuade the YP-U2 to load them. Also, I don't own a computer with Windows installed - I may have a valid licence key somewhere, but I really don't know where.

Still no sign of the email Samsung promised yesterday.

I listened to my YP-U2 quite a bit on my recent travels. It worked fairly well. On my return, I remembered that I had a few comments to post from my old YP-U2 upgrade problems article...

David Weinehall wrote:

"FWIW, my YP-U2 also has problems playing some oggs (nothing low bit-rate about them though; they're encoded with -q6); this is with version 1.418 of the firmware =/ On Samsung's site there seems to be a new version (1.43) available; too bad they don't mention what has been fixed."

dann frazier commented:

"Links/discussion about ogg support in these device can be found here: http://wiki.xiph.org/index.php/Talk:PortablePlayersSamsungYepp#YP-U2

I had to use a friend's Windows computer to do the upgrade :("

Erik Rossen writes:

"I have a Samsung YP-U2RZW (code for YP-U2, with Radio, 1GB of space, White case) that I bought today. The firmware version is "1.41 EU" according to system/system.var. And playback of medium quality OGG (44100 Hz, ~160032 bps) has serious stuttering problems. The latest firmware available on the UK Samsung site is 1.43.

I too would love to know what files to copy to system/ (or wherever) so that I could do the upgrade from Linux, but I am probably going to end up booting WinXP for this task."

Scott Testerman comments:

"I don't have one of these players, but I wonder if this post is of any help to you?

http://err.no/personal/blog/tech/2006-12-13-22-25_Samsung_Z5F.html"

Interesting, but sadly, the YP-U2 upgrades I have don't include a dat file. I wonder if this is what Samsung's support engineer was trying when he told me to copy all the files to the device's root. Does anyone have more info?

Last time I chased Samsung about their promise of Linux upgrade instructions, I was asked to phone back in an evening when the member of staff who promised would be there. I still haven't had time to do that (there are other things to do most evenings - why won't they call me?).

As far as I can tell, Samsung's Linux upgrade support sucks. I've bought a few Samsung devices and been fairly happy (far better than Canon, for example), but if I buy one again, I'll expect upgrades not to work.

Updates: my Samsung YP-U2 was destroyed and Wouter's Eclectic Blog: Review: Samsung YP-T10

Comment form for non-frame browsers.

Comments are moderated (damn spammers) but almost anything sensible gets approved (albeit eventually). If you give a web address, I'll link it. I won't publish your email address unless you ask me to, but I'll email you a link when the comment is posted, or the reason why it's not posted.


To top of this page or to index.

This is copyright 2006 MJ Ray. See fuller notice on front page.