Introducing UWU, the Uncomplicated Web Uploader

On occasion it's been useful to transfer files to/from colleagues at different organizations. But when they want to send me something, doing so securely (i.e., not via email) can be a bit of a chore. I've found solutions tend to require too much technical setup for the sender (e.g., key-based SFTP), need too much on-going management at the server (e.g., user-based SFTP), or are part of a much heavier integrated solution (e.g., a fully-fledged personal cloud suite). I just wanted a minimal CGI script that I can run on something as basic as my Raspberry PI. So I made UWU.

UWU, the Uncomplicated Web Uploader, is a simple portal for uploading files to a server through a web browser. It's loosely inspired by woof, and while that tool does have an upload mode, it can't be set up to run on an HTTPS-secured server. UWU can. In addition, a standalone server for private/trusted networks can be run, without any prerequisites other than Python 3.

UWU provides separate “spaces” which a user can upload to, each with enforced file size and count quotas. By design, UWU does not support viewing the existing contents of spaces [...]

Read this post

How to make private git repositories open for public access

Some of my personal projects are tracked using private git repositories, hosted on this server. I can access these via ssh, but for a while I've had in mind to make at least a couple of them publicly accessible... somehow. After finally getting around to looking into it, this turns out to be deceptively simple using git-daemon (instructions for Debian distros):

  1. Install the git-daemon-sysvinit package.
  2. Enable the daemon by editing /etc/default/git-daemon. Reboot, or start the git-daemon service by hand.
  3. Add a symlink to each git repo you want to make public under /var/lib/git. These will then be accessible via git://<hostname>/git/<linkname>.
  4. Ensure the git protocol port (9418) forwards to the server.

Simple! The git protocol is faster than serving over http(s), and the standard configuration ensures that anonymous clients can pull, but not push, which is exactly what I was after.

Over the next little while I'll introduce the couple of projects that I'm opening up for public access.

Read this post

A new beginning: Relaunching my website

Some time ago in a far off land, I kept a website. It was a cozy little website, housing a few bits and bobs that I had made and thought to share should other people find them at all useful. It was hosted with my ISP, accessible via a free domain, which made things cheap and easy for me, but also meant that if I were ever to move I'd have to find a new host, or lose my site.

Of course I moved and I lost my site. This was a couple of years ago, now. From then until now I've been meaning to get this thing back up and running at some point, but lack of time and real impetus meant that it didn't happen. Recently I got my butt into gear and began a focused effort to finally get it off the ground, getting myself some cheap hardware and a new domain name for the purpose.

What you see here is the result—welcome to Quantum Furball! Over the next little while I'll be reposting old things (backdated as accurately as I can guess), along with things I should've posted at the time, and I hope to [...]

Read this post

My home-built personal video recorder nightmare 2: peace and quiet

After some expensive failed experiments in building a dedicated MythBox out of a MiniITX form factor system, I decided what I really wanted was a quiet machine that would do everything. That is, a machine I could just leave on all the time, downloading, serving, processing, recording... anything. The problem I had in attempting to do this with my regular desktop machine was that my machine was (a) situated only a couple of metres from my bed, and (b) loud. Loud enough to make sleeping anywhere near it uncomfortable.

With the new goal to fix the problem of noise, I bought a new case on my way back from visiting my parents over the Christmas break: an Antec P180. I also bought a new, quiet PSU: an Antec TruePower Trio 550W.

As I work during the day (starting a new year in the lab), all of the following happened over several consecutive nights. I had to spend a couple of nights disassembling everything from the old case and reassembling everything in the new case. It wasn't until some days later that I was finally able to check whether my machine had not only survived the trip home (which, honestly, was [...]

Read this post

My home-built personal video recorder nightmare

It started with an impulse purchase. I was browsing Harvey Norman for one reason or another (I was probably in there to buy some overpriced printer ink) when I stumbled across the TV tuner card aisle. I had been digital-TV-curious for a while—this at a time when digital-TV was still fairly recent—and I was in a buying mood, so I bought a single-tuner DviCo PCI HDTV card. It took a bit of effort to get the software right, and I had to also get myself a long TV aerial cable, but it wasn't too long until I got working TV on my computer.

It was at this point that strange and wonderful ideas began to form in my head. Words like “MythBox” and “PVR” and “TiVo” coalesced, loitered around menacingly, and formed gangs that beat up other words like “easy”, “sensible” and “cheap”.

I considered for a moment what I already had to work with. I had an nVidia video card with, supposedly, video out function. I say “supposedly” because, at the time that I tried it, nVidia's Linux drivers were a bit thin on this particular front. TV out would kinda-sorta work, I think, but probably wouldn't [...]

Read this post

The return of the claws

A followup to Wolverine claws.

My parents quickly became aware of my creation (that is to say, I told them about it, and they had helped out with a couple of things) and they insisted that “Wolverine” make a similar appearance at Dad's 60th birthday party. The theme of this party was different, but it was craftily crafted (the best kind of crafting) so that my costume would still fit.

Shelved claws.

Now, the thing is, honestly, the claws barely lasted the party they were originally created for. The blocks between each claws were coming apart, and so I had retired the claws to ornamental duty.

But my parents insisted, so I had to bring them out of retirement. To fix the problem of the loose connections between claws, Dad got his fibreglassing epoxy goo and plastered around the blocks to reinforce them. There was a bit of a problem, though, that after the epoxy set the claws were too close together in a couple of spots. A bit of sanding into the wood with a Dremel fixed that, but it also further weakened the structural integrity of the claws.

The claws were worn again for the party, and they worked well [...]

Read this post

Wolverine claws

Back in the days around the time of the release of the first X-Men movie on DVD, I heard that the actor who played Wolverine (Hugh Jackman), in order to fully flesh out the sideburn-awesomeness of the character, had to have extra fake hair pasted on his own sideburns around his ears. Being the virile, hairy young man I was (Still am!), I reckoned I would have little trouble growing the necessary fleece. That is, if I ever had the inclination to.

Several years later I was invited to a costume party, the theme being “Superheroes and Supervillains”. This was the perfect opportunity to test my facial-hair-growing power: I decided to go as Wolverine! So over the course of a month the thin goatee I had was joined by big mutton chops.

But that's not what this article is about. The really cool thing about Wolverine, of course, is not his facial hair. (Though, you have to admit, that is a pretty cool do.) No, the really cool thing is his adamantium claws. Now, in this respect, me not having had an adamantium skeleton grafted to my body at some point during my previous life meant that reproducing the claws [...]

Read this post


Page 1 of 1