Thursday May 23, 2013
Going for jobs involves having your programming ability tested, and following a good first interview yesterday I was given 24 hours to complete a one hour C# programming online test. It's kind of scary being given 2 challenges to complete in that time but at 8:00 am GMT today I sat down and clicked the link.
This was from Codility, one I hadn't seen before. They have a virtual IDE where you edit and run your program against their validation then submit it. Both tests took me about 25 minutes each though the second one got down to 7 minutes left with one of the tests failing. A bit of serious reasoning, plus two extra lines of code and it passed all tests and I finished with just two minutes left on the clock!
Note you don't see the test data just that it was outputting x when it should have been y so my brain cells were doing double time this morning. So touchwood, I'm hopefully one step nearer towards getting my next job! Results tomorrow morning...
Wednesday May 22, 2013
It's unQLite. Like SQLite, it's a self-contained, serverless, zero-configuration, transactional database engine but with one big difference; it's for NoSQL.
In their words "UnQLite is 100% hand-coded, written in ANSI C, Thread-safe, Full reentrant, compiles unmodified and should run in most platforms including restricted embedded devices with a C compiler. UnQLite is extensively tested on Windows and UNIX systems especially Linux, FreeBSD, Oracle Solaris and Mac OS X.".
There's also an embedded scipting language Jx9 that looks a lot like PHP with over 312 functions and 143 constants. Both Jx9 and unQLite are definitely worth a detailed play!
Monday May 20, 2013
If you're thinking of doing any GPU programming, using the Graphical Processor in your video card, if it's NVIDIA, then the one place you should be looking for information and software is the NVIDIA CUDA documentation.
There's also an excellent introduction to Modern GPU as well with source code. One very trendy use of GPU's is in Bitcoin Mining, using the GPU to perform mathematical operations. That said, the alternative technology to CUDA is OpenCL and there's a bit of a clash over which has the best BitCoin implementation. I'm not into Bitcoin though so I'll leave that one up to you.
Sunday May 19, 2013
It's been an unusual week. On Thursday I registered a new domain, did the usual webmaster thing by adding it to Google webmaster tools and on Friday, less than 24 hours later it was on the first page of Google.com at #2 position for a search (to be fair, an exact match to the domain) out of 840,000 results.
More interesting I was thinking about website scalability and read this article on storing schema less data and using a separate table for indexes.
Doing it this way avoids the huge problems with indexes on multi million row tables that can take hours to update. We had that at my last work where a very much used table could only be altered at weekends and even then it took well over 24 hours. Managing production data can be a real nigfhtmare some days!