leynos: (Default)
Today I've been trying to get my head around CouchDB. And yes, when you finally understand it, it is alarmingly simple.

CouchDB is one of those newfangled NoSQL databases. Specifically, it's a document store. This initially left me scratching my head, since it has no tables and no schemas. Records in CouchDB are a collection of arbitrary key value pairs.

The key to understanding how to make use of this all would appear to be views. Views are analogous to indices in an RDBMS. They are composed of two JavaScript functions—map and reduce. This is already getting into scary functional programming territory and you can see me glancing around for the exit at this point.

It's actually not that bad. Map takes a document as its parameter and emits a key value pair. This pair is then inserted as a leaf in a search tree. (Specifically a B-Tree). Every time you create or update a document it is passed to the various view functions to update these views.

The important thing here (the bit that I took my time getting my head around) is that the key in this pair need not be unique within the view. You can also then query these views by key. This gives you your entity relationships.

The reduce part of the view gives you the aggregate functionality of an RDBMS. The number of employees grouped by city, to use the archetypical example. Reduce takes a collection of values and returns a single value. These values are then stored in the branches of the search tree to accelerate future aggregate queries on slices of the keyspace.

There are also validation and transformational functions, but those are a bit more straight forward. What I hope I've noted down here is the answer to the question I was asking myself this morning, "How are you supposed to use a NoSQL database?"


Jul. 17th, 2010 01:03 pm
leynos: (Default)
Spent 20 mins in the O2 shop trying out a Samsung Wave. I know it's not an iPhone, but it's a good £300 cheaper, and it does most of the iPhone type things that I need. The screen is also quite beautiful and very readable - I downloaded an eBook of Dracula to test that out.

I'll wait and see if a Bada SDK for Linux makes an appearance. Ideally, Samsung should make a phone with the same form factor running Android, but Bada does seem to hold its own as a phone OS.
leynos: (Default)
In a year's time, pretty much every mid-level and upwards mobile phone will be running a Unix-derived or Unix-like OS. We've got the iPhone OS and Android already, based on BSD and Linux respectively. Then there's Nokia/Intel's MeeGo, Samsung's Bada and HP/Palm's WebOS, all based on Linux. And Research In Motion, the makers of Blackberry, have acquired the realtime UNIX vendor QNX.

If, ten years ago, you'd told me I could not only buy an off-the-shelf UNIX based palmtop, but that I'd be spoilt for choice, I'd have assumed you were daydreaming.
leynos: (Default)
I've cut a prototype of the front panel out of plasticard now, and I'm checking to see if everything fits. So far, it's mostly all good. The one big puzzle I have left is mounting tact switches on a PCB behind the panel. I've found that 6x6mm tact switches fit snugly into trackboard in the correct configuration, so now I just need a safe means of mounting the trackboard securely. It seems that someone makes 2.54mm pitch screw terminals that should do the job nicely.

I've also found a company that will laser cut and etch the panels for an affordable price. Hopefully I can get some done in February.

Pics to come, of course.
leynos: (Jack Off Jill)
The reason I avoid digital distribution (and the concept of 'phone home' software) wherever possible:

leynos: (Suzumiya Haruhi no Yuuutsu)

A Spectrum can really do bump mapping?

Although the bit that really gets me is the faux realtime raytracing bit at 5:46.


Jan. 31st, 2009 02:47 pm
leynos: (Ladytron)
I've ordered an Arduino board. Specifically, this bad boy from Sparkfun:

Arduino Pro Mini 5v 16MHz

I've also ordered a breadboard from some Chinese bloke on eBay, a USB/TTL adapter from Fundamental Logic and a PS/2 breakout board from Zerko.

So my first project will be to program a translator between PS/2 and SNES mouse protocol so I can play King Arthur's World with an optical PS/2 mouse.

After that, I'll pick up some I2C I/O boards and get started on my JVS controller.

P.S., here's a video of someone doing scary stuff with a soldering iron:

chmod 644

Nov. 22nd, 2008 12:51 pm
leynos: (Default)
I was reading Slashdot there (as one does), and someone hit the nail bang on the head:

Just because the (in this case) .odt file is set to "------r--" doesn't mean that it doesn't contain scripts that OpenOffice.org is going to ignore just based on the file permissions.

That sums up the mental objection I'd always had in the back of my mind to Javascript, Office macros, etc. In my mind, the web, documents, etc, had always had the privilege 644 or whatever. I.e., read, but not execute. And consequently, I found it objectionable that these documents were executing code without my authority. I was losing control over my own computer.

Of course, times have changed, and Office now asks you by default if you want to execute scripts from a non-trusted source. Web browser developers are wising up to the dangers of allowing all and sundry to execute code on your system, and for those still in doubt, add-ons like noscript exist for further granular control.

But it seems to be that no one really grokked the problem with all this. A document that generates a display should not need the kind of functionality that allows a virus to be written in VB script, or a PDF file to execute arbitrary code, or phisher to obsfucate their page source using an encryption algorithm implemented in Javascript.

I'm not saying that such functionality shouldn't exist (Google Mail et al are wonderful things). I just feel that a distinction should be made between documents which need only be readable to be used, and documents which must be "executed" in order to function. And where execution is required, the user must be given advance notice of what the code does.

Java does this already, as does .NET. I appreciate that these are heavy weight systems, and are not always appropriate for document scripting (although, I'm hoping Silverlight/Moonlight will do a good job of arguing for the latter). For other lighter-weight circumstances, I feel there needs to be more attention (beyond what is already in place) given to managing and advising of what code does.
leynos: (QR Code)
So I have a Samba share from my Mac Mini mounted in Nautilus on my Ubuntu laptop. Strangely (or maybe not), I can open the documents from it in GNOME apps, but not KDE apps. Seems like FreeDesktop.org still has some groundwork to lay.
leynos: (Default)
I got a comment this morning asking for a little bit more info on the wiring for my Supergun. I'll put something together as soon as I can, but here's a little bit of info to get you started. The principal is pretty simple. The jamma connector has all the lines you need for just about everything. The exception is the additional three buttons found in Street Fighter II derived games. For these, Capcom have their own connector, called a "kick harness". There are two variations on this, one for CPSI and one for CPSII/III.

You can get a ready wired Jamma and Kick harness from http://www.jammaboards.com/

From there, the next step is the connectors and power supply. The JAMMA harness has all the outputs you need to drive a SCART television, and an ATX power supply has all the requisite voltages.

A great source of all this kind of information is at http://www.hardwarebook.info/

One caveat with the ATX power supply is that you need to tie the "sense" pin to ground to get anything out of it.

Since CPSII already has line level stereo audio over RCA phono (i.e., you can connect this to any amplifier), I ignored this for now. But most PCBs output amplified mono audio over JAMMA. You can either use this to drive an 8 ohm passive speaker, or attenuate it to 75 ohms. Attenuation circuits can be as simple or as complex as you like, and may not work at all with some games (eg, Cave SH-3 boards). It's a nasty quagmire, and one I'd rather not get into, but I'll post the findings of my research along with the wiring I used for the rest of the circuit.

The joysticks I used are Hori Fighting Stick SS. Rewiring these to Neo-Geo standard was quite simple. I used the two extra N/C pins on the Neo-Geo joystick port for the E and F buttons, but this pin-out means I can use Neo-Geo sticks for 1-4 button games.

This should be enough to get you going, but I'll post more tonight. Good luck.

It should be noted that mine is still incomplete. Right now I can play Street Fighter Zero 3 one player, but that's it


Feb. 24th, 2008 01:38 am
leynos: (Suzumiya Haruhi no Yuuutsu)
Just in case anyone's been sleeping, now's the time to start snarfing up the cheap HD DVDs on eBay.

The format war is over. Sony won. Bastards. :(

Still, I can't complain, since I hedged my bets and bought a Blu-Ray player too. My hi def disc collection is roughly 50/50 HD DVD/BRD.
I switched to Ubuntu in the end. Not that it makes that much difference. WiFi still hates me, mplayer and composite hate each other, and the sound still isn't muting when you plug in headphones.

If I have time, I will give Haiku and AROS a go.

Tbh, Linux still is not impressing me. True, it's far more usable as a day-to-day operating system than it was five years ago, but there are far too many ways of doing any one thing, between which the attention of the developers is divided. No individual solution offers anywhere near the all encompassing usability of Mac OS X.

If someone asks me which computer to buy, I will still say "buy a Mac of some sort".

(I'm well aware of the fact that this is partly to do with the difference in the number of hardware configurations that Linux and Mac OS X are expected to support, but that's part of the beauty of it—Apple sell complete solutions.)

My next computer will probably be a Mac Pro.
leynos: (Suzumiya Haruhi no Yuuutsu)
Home made Dreamcast ethernet cards:


That's some scary wire wrapping going on there.

Fun fact(oid): The expansion port on the Dreamcast is, in essence, a PCI bus, or so I've been led to believe.

I've spent the past few days wondering why the hell I went with Gentoo instead of Ubuntu for my new laptop. On the plus side, I have learned a bit about the SysV init architecture.

I also have a strange urge to buy (or kluge together) an oscilloscope.
leynos: (Default)
I got a nice email today:

On www.onechipmsx.com we will soon launch a blog on which the process of the Western One Chip MSX project can be followed. Naturally, we will also keep informing you via this newsletter. As an added bonus, people who have pre-ordered the One Chip MSX in the past will get priority treatment over those who didn't as soon as the ordering period for the Western One Chip MSX opens. But of course, also people who didn't pre-order will get their chance to obtain a One Chip MSX when it becomes available.

One Chip MSX is an implementation of the MSX standard; an 8-bit computer format that saw much popularity in Japan, Holland, Brazil and Russia. The single FPGA machine includes USB and VGA output and an SD Card slot, making the system more comfortable to use in a modern environment. Not to mention a funky blue case
leynos: (Cooking Mama)
I've got six-button control in Street Fighter II-style games working now-- for one player at least. I need to buy and hax0r a second six-button joystick at some point. The image is jumping a hell of a lot though. I suspect it's something to do with the sync signal, so I'm going to build a sync amplifier soon and see what happens. Next step is three and four players inputs for Alien Vs Predator and Armoured Warriors.

The insides of my modified joystick. I used a Hori FightingStick SS as the basis, which features some damn nice button placement and controls. Nothing was sacrificed that would prevent it from being turned back into a Saturn stick again if needs be

The Supergun itself. Kind of simple actually. One 25 pin D-Sub for the JAMMA control pins, one 9-pin D for the video / audio and one 9-pin D for the auxiliary kick buttons. The joystick ports are wired to Neo-Geo standard, with two extra pins used for the "E" and "F" buttons. I've left one wire available for a "Test" button, should I feel the need

The rats nest of cables at the CPS2 board. This is the ATX power supply I mentioned before

The joystick once I put it back together again

The 3rd and 4th player inputs will reside on a second board. Once I have it all finished I'll stack the two to make it look a little neater. I'm going for the bare perfboard look though, mainly because I'm lazy.
leynos: (Suzumiya Haruhi no Yuuutsu)
Now that the consumer MacBooks have Core 2 processors, I wonder how long it will be before Apple start using them in the Mac Mini as well?
leynos: (Combichrist)
Where to get the French HD DVDs from Studio Canal:


Full list of announced titles

Incidentally, I have started acquiring HD DVDs now. Seven so far. I have also decided that I will get a Japanese PS3 for Blu-Ray playback. There are just too many good films on BRD to miss out on.

A nice chap at AV Forums tells me that the cheapest AV receiver that accepts lossless PCM over HDMI is the Onkyo TXSR604E, which can be had for around £300. It does also has four optical digital inputs, so the PS2, Xbox and Xbox 360 can have one each.

LPCM over HDMI is needed because TOSLink (optical digital) doesn't have enough bandwidth to carry a raw multi-channel digital audio signal, so without it, the best you'll be feeding into your receiver is full-bitrate DTS (lossy compressed digital audio). Unless you have multi-channel analogue out on your HD DVD player, that is, which the player I want doesn't have, and the PS3 certainly doesn't have.

Regarding displays, I still have my eye on the Hitachi 42PD9700, but the market is moving so quickly that it could all have changed in a couple of month's time when I move. And for those who worry, you'd be looking at upwards of £4000 for a 1080p capable plasma right now, so that's out for the foreseeable future. (The Hitachi does ~half resolution 1080i).
leynos: (Wolfteam)
I've been thinking about shelf space requirements for when I do finally buy new furniture. I want my new flat to be like a library of gaming, with games and magazines all on display and accessible, categorized by system, and all the loose cartridges in easy to get at drawers. And, of course, plenty of space devoted to DVDs, Laserdiscs and CDs.

Never let it be said that the things I own don't own me.

In Kinross, my games and magazines that I left behind filled three full-height book cases, with plenty of overflow (I reckon I could have filled another easily). Then, in Edinburgh, I filled one bookcase with DVDs, and still had to keep all of my Xbox and PS2 games in a cardboard box. That suggests I'm going to need at least six full-height bookcases pitched for magazines and DVDs. Goodness.

An idea that Sam suggested is a partition made of shelving. Depending on the shape of flat I eventually find myself in, I may put this idea into practice, as I could imagine it working really well.

Then there's CD storage. I've already been able to fill a full-height CD tower with my music CDs, and that's excluding the PlayStation, PC Engine and Saturn games I left behind in Kinross. On top of that, I have no intention of ceasing to buy new games any time soon. So by my reckoning, I'll be needing three CD towers as well.

Finally, I need something to house my consoles and AV equipment. I'll need something that can accommodate nine consoles (many of them top-loading), a DVD player, a Laserdisc player, and a receiver. And, of course, there will be more consoles to come. I think the only real option is to admit that they are not all going to fit in the one unit. Something like this could sit under the TV and accommodate the AV equipment and the few front-loading consoles, then I could find some kind of wide pitched trolly for the others. Awkward. And expensive.

I'll probably have to take a week off of work to assemble all of this too.
leynos: (Ladytron)


Looks like it. At this rate, Plasma TVs will be selling for 85p and a packet of Rolos by the time I actually need to buy one.


I've ordered Puyo Puyo 4 for the Dreamcast (along with those two Cave shmups), which means, at some point in the future we can have four player Puyo at a games night. Only problem is, it's a Japanese disc, and I don't have my DC-X boot CD at the moment, so it won't be any time in January.


Happy New Year, everyone!
leynos: (Default)
My Gran gave me a wad of cash for Christmas, so I bought a new Apple keyboard for my Mac, and a woven cotton hat from Reiss. I hope she doesn't mind me jumping the gun a little, but the broken dot key on my old keyboard was really starting to get to me.


Another handy toy in my pursuit of Quicktime assisted video piracy:

A52Codec: A Quicktime component for AC-3 audio.


Tomorrow, I get to learn all about JSP and templating for Magnolia. Woo.
leynos: (Jack Off Jill)
There's something wrong with the world when your mobile phone makes £25 worth of data calls without you asking it to. A 1kB call every 15 minutes for a month. The bill looks like a phone directory.


leynos: (Default)

January 2015

456 78910


RSS Atom

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 20th, 2017 02:05 am
Powered by Dreamwidth Studios