Key

—–BEGIN PGP PUBLIC KEY BLOCK—–
mDMEXlV5xBYJKwYBBAHaRw8BAQdAnKklBIWYmDrOBcePQPPtPIW8UG9W5/6CRaPu
PXWYGie0N01hcnRpbiBDaHJpc3RvcGhlciBIYXJ2ZXkgPG1hcnRpbl9jX2hhcnZl
eUBob3RtYWlsLmNvbT6IlgQTFggAPgIbAwULCQgHAgYVCgkICwIEFgIDAQIeAQIX
gBYhBO56LD+kIVtHRqV9fnD0ZcHuLC5SBQJeVXvmBQkB4hd8AAoJEHD0ZcHuLC5S
1jsBAPopvcXsaspoo6skjvXDhahu3E4yTBK2wOw0ab6hDYNcAQCo+Qb8zPe8tzVH
DE2FaLfX4eLyvSDNtWFDACkEo79HBLg4BF5VecQSCisGAQQBl1UBBQEBB0C4XaaQ
DewezTiCxQOyskN8R2TofNVVKhMmrP/c1Jv4LAMBCAeIfgQYFggAJhYhBO56LD+k
IVtHRqV9fnD0ZcHuLC5SBQJeVXnEAhsMBQkDw0r8AAoJEHD0ZcHuLC5SqeoA/RGA
lXJhmvMDd4CPt7NlBpD/tC8s3R9EsMOw58BzBVUoAQCCPaZIF9rfd/Grf/JXQgau
gMAo1Ohvq6Wjnwn74/MGBQ==
=GjYk
—–END PGP PUBLIC KEY BLOCK—–

Work and project news.

So, I’m now working for Citrix, which, so far, is excellent. Unfortunately, that means I don’t have so long to work on my wonderful on the side project.

I’ve mooted putting the source code online, but as it doesn’t quite meet the security and authentication requirements for all the social networks it logs on to, there’s no way I’m gonna make it public in its current form. However, it’s on the TODO list, and I’ll get round to it in good time.

Database engine it runs on is not bad, and I’ve made some good speed improvements. Now I have an SSD, I’m also considering ways to put most of the data and indexing info on disk, at which point it’ll run pretty much like most other NoSQL database engines. Open sourcing *just* the DB engine code is another possibility, but I’ll await requests on that front.

What’s changed…. people wise.

So – colleagues are good. Better than many other places. V. Happy about work.

Cambridge was different a few years back. Had more friends, used to enjoy social do’s more. Had fun on summer evenings lazing on parkers piece. It was a very convivial, friendly town.

London was OK I guess – Did a lot of concerts. Both the choirs I was in took tours, and I missed every damn one. Real shame – didn’t get to know the people as well as I wanted. Didn’t even get invited to a dinner party.

So, for the moment, it’s brave the cold January nights and roll on spring. Also need to start an exercise regime, which for me, starts next weekend. Suggestions welcome.

Some more social thoughts.

So, time for a few quick social thoughts before I retire for the evening. This is half negative, half positive:

People definitely change. A lot of the people I was delighted to hang out with in my 20’s I now feel are really not my type. They get disqualified on the grounds of:

  • Being too groupy / laddish / ladettish.
  • Being controlling or playing games.
  • Being unaccepting of who I am.
  • Trying to get something for nothing.
  • Being overly critical. (Software developers fall into this category regularly – it works well for the job, not for social things).
  • Flipping their lid when they didn’t get the desired outcome having not explained what it was they expected to happen in the first place.
  • Relying on hearsay and groupthink rather than forming their own judgements and making their own decisions.

On the flip side, I have also been somewhat inspired by a few members of the public (and not so public) who have done really good things:

  • Offered advice.
  • Or encouragement.
  • Or kept silent when further volume did not seem to change things.
  • Or indicated assent or provided help when I wasn’t sure.
  • Or provided wisdom and research on possible next steps and options.

Interestingly, most of them feel it’s a touch to early to do much in the way of consolation….

Not to raise class issues too much, but there are some aspiring working class people (I am thinking gym instructors, and a few local business managers), who have been absolutely excellent in that respect, and mostly uncomplaining of the trials that life throws them.

I still go out to the pub occasionally, and probably shouldn’t: It’s loneliness.

So, anyway, I have started online dating (again), and yes, it is very hit and miss. I’ve met a few people, some of which are looking for prince charming, and perhaps not being so realistic, and some which seem not to get the principle of reciprocity (you scratch my back …, and additionally, we’ll share 50% of the time / cost / burden / travel). And yes, in your 40’s it definitely gets harder. Looking back at the 20’s and 30’s – I should have been less shy, and making more friends would have been a piece of cake.

I’m still having a little difficulty working out why I didn’t get what I wanted in my 30’s. I definitely got run around more than I should have been, and some people I met were definitely a touch vindictive. I should probably have been more assertive. I didn’t get a single thing I wanted in my 30’s, and am back where I was then with somewhat less time to run in life.

Anything else: I’m taking a fair bit of criticism on the chin at the moment, and less than ideal attitudes. Most events that have transpired have not been under my control. I guess I will just have to roll with it. I don’t think I’m going to get the standard of life I originally expected, but things are definitely improvable.

PS. If you think I’m just fab, but should lose a couple of pounds, do please politely remind me to do more exercise (in a positive and encouraging fashion). My scales tell me I’m about five or six kilos above my ideal weight. I’m not surprised – I have been sitting on my arse a bit.

How do I make this quicker?

I should probably start referring to database textbooks at this point. Lookups and indexing:

  • Hashing is almost definitely quicker, given a decent hash bucket size…
  • .. but doesn’t allow next/previous operations very well.
  • The hash vales can be easily stored to disk, so it’s not like having to build or rebuild indices.
  • Tree structures can also be stored to disk, but you need to distinguish between whether you’re storing a disk tree (pointers are blocks / offsets / etc), or storing a memory tree with has been indirected / translated to a stream datastructure.
  • Unfortunately, if doing the latter, where the offsets are an indirection of some sort, if you’re not careful, reading the tree off disk can be more time consuming than building it from scratch: you need another datastructure to store the translation from disk blocks / offsets to memory addresses, which has a similar set of costs to a tree (unless you use another hash table).
  • I suppose I could increase the branching factor, but even if you do, you still have the same set of costs to build the tree.

So, as you might guess, the datastructures I’ve got have good amortized cost, but there’s a still a startup cost to be minimised. I also have other techniques to help minimise the startup costs (background loading). This is not critical, and an optimisation to be made after completing basic functionality. Answers on a postcard please.

KnowComment Project progress…

So, I’ve been working on my latest top secret project. In summary:

  • Progress pretty good, but didn’t do much work on it over the hols.
  • New bespoke database engine pretty good (definitely fast enough!)
  • It does Instagram and filters posts and users quite nicely.
  • A bit more work needed to present tweets & twitter data: They’re in the database engine, but more work needed on the display.
  • After basic filtering is done,  working on more advanced analytics: graphs of who posts / replies to who, volumes of posts, hashtags etc.