Work in progress: 181,232 of 181,233 sites checked so far, more every week · updated 2 Nov 2026Missing a blog? Tell us

Top all-time · #12021

N

Nick Lothian

Personal blog · nicklothian.com/blogprogrammingai

Nick Lothian writes NickLothian.com, a personal blog at nicklothian.com about programming and ai. Since 2008, 6 different Hacker News readers have linked it 25 times, most often “Solandra = Solr + Cassandra”. It is still writing: the last post was on 2026-04-19, and you can follow it by feed.

Visit the blog
25mentions?
6HN people?
2008–2022first – last linked?
Links on Hacker News per year · peak 5 in 2009

Welcome to the website of Nick Lothian

Most-linked posts?

  1. Solandra = Solr + Cassandra
    2 people · 4 mentions · first linked 2009-10-28
  2. Using Flash to shim a webcam to HTML Canvas
    2 people · 3 mentions · first linked 2009-12-16
  3. Augmented Reality Virtual Keyboard using HTML 5
    2 people · 2 mentions · first linked 2009-11-19
  4. Why Question Answering Is Hard
    2 people · 2 mentions · first linked 2014-09-26

What Hacker News says?

  1. I wrote the original version of Solandra (which is/was Solr on Cassandra) on top of Jake's Lucene on Cassandra[1]. I can confirm it wasn't fast! (And to be fair that wasn't the point - back then there were no distributed versions of Solr available so the idea of this was to solve the reliability/failover issue). I wouldn't use it on a production system now days. [1] http://nicklothian.com/blog/2009/10/27/solr-cassan…

    Comment linking /blog/2009/10/27/solr-cassandra-solandra/

    on “Apple open-sources FoundationDB”
  2. Submitted A pragmatic approach to Google AppEngine as a story · 68 points

    HN discussion
  3. I've gone months without rebooting my MBP, and weeks without restarting Firefox. I don't remember the last time software crashed and I lost work. 15 years ago I'd reboot nightly because things were more stable. 20 years ago I debugged an issue in the JVM where it was deleting any file it touched ( http://nicklothian.com/blog/2003/08/13/a-java-bug-worthy-of-... ). 25 years ago it was normal for a computer to crash mu…

    Comment linking /blog/2003/08/13/a-java-bug-worthy-of-your-vote/

    on “Ask HN: Why is Microsoft Teams still so bad?”
  4. Submitted Why Question Answering Is Hard as a story · 54 points

    HN discussion
  5. I've suggested that statuary licensing for video streaming[1] would be something that all tech companies could agree to support, and that Hollywood would hate. I think it fits well with the "0.99c/view" model proposed here. [1] http://nicklothian.com/blog/2012/01/18/why-the-tech-industry...

    Comment linking /blog/2012/01/18/why-the-tech-industry-cant-go-on-the-offensive-against-ip-laws/

    on “My idea to "Kill Hollywood"”
  6. Submitted Interesting papers from NIPS 2014 as a story · 22 points

    HN discussion
  7. Also great is being able to read JVM bytecode. Even minor changes can be pretty interesting. Back in the day I wrote [1] about simple Java string concatenation. I still get people quoting it now, even though I'm sure it is completely outdated by newer compilers. It gets even more interesting when you see what x64 (or whatever!) assembly is generated by the JVM. [1] http://nicklothian.com/blog/2005/06/09/on-java-stri…

    Comment linking /blog/2005/06/09/on-java-string-concatenation/

    on “Say hello to x64 Assembly, part 1”
  8. Submitted Solandra = Solr + Cassandra as a story · 20 points

    HN discussion
  9. Your site will scale well - as in it will give exactly the same performance for the millionth user as for the first user. That doesn't mean you will have a fast site, though. On GAE the datastore is pretty slow (it's a lot better now, but it used to be terrible), so a common pattern it to use a read-though cache to improve performance. I wrote a thing that touched on this a couple of months back: http://nicklothian.…

    Comment linking /blog/2010/11/23/a-pragmatic-approach-to-google-appengine/

    on “The Unofficial Guide to Migrating Off of Google App Engine”
  10. Submitted Augmented Reality Virtual Keyboard using HTML 5 as a story · 16 points

    HN discussion
  11. It was 7 years ago. Jake did Lucene on Cassandra, but I actually did the Solr part, initially at least[1]. I never did much with it though, and Jake deserves the credit for making it a real thing people might use. I'm pleased with the name though. [1] http://nicklothian.com/blog/2009/10/27/solr-cassandra-soland...

    Comment linking /blog/2009/10/27/solr-cassandra-solandra/

    on “Elassandra: Elasticsearch implemented on top of Cassandra”
  12. Submitted The (s|S)emantic (w|W)eb as a story · 8 points

    HN discussion
  13. I wrote a flash->HTML shim for webcams. Works ok on Firefox, Webkit has a memory leak. Details: http://nicklothian.com/blog/2009/12/15/using-flash-to-shim-a...

    Comment linking /blog/2009/12/15/using-flash-to-shim-a-webcam-to-canvas/

    on “HTML5 video chat implemented in Webkit GTK”
  14. Submitted Using Flash to shim a webcam to HTML Canvas as a story · 4 points

    HN discussion
  15. There is actually a (minor) difference. Amazon really is streaming the MP3s, while if you play one from Dropbox it downloads and plays and plays (technically it could be played while downloading, but this is actually uncommon). There are slight technical differences - in streaming MP3s there is metadata embedded inside the files - see, for eg the second part of http://nicklothian.com/blog/2009/03/18/random-mp3-metad…

    Comment linking /blog/2009/03/18/random-mp3-metadata-code/

    on “Amazon on Cloud Player: we don't need no stinkin' licenses”
  16. Submitted Google Search API is back as a story · 4 points

    HN discussion
  17. Detection is pretty useful though. Combine this with something like http://nicklothian.com/blog/2009/12/15/using-flash-to-shim-a... and you might be able to do facetracking in Javascript

    Comment linking /blog/2009/12/15/using-flash-to-shim-a-webcam-to-canvas/

    on “Face Detection jQuery Plugin”
  18. Submitted Why question answering is hard. (2014)) as a story · 3 points

    HN discussion
  19. Back in 2009 I did some work on augmented reality in the browser[1]. Back then there was no WebRTC, so I had to shim Flash to Canvas to get webcam images, and I implemented image tracking using a simple color tracking algorithm. If this really is doing image tracking in JS (as tomp noted the explanation isn't clear) then I'm very impressed. The previous state of the art was some great face-detection code I'd seen, b…

    Comment linking /blog/2009/11/18/augmented-reality-virtual-keyboard-using-html-5-video/

    on “Javascript motion tracking”
  20. Submitted Why the tech industry can’t “go on the offensive” against IP laws as a story · 2 points

    HN discussion
  21. StringBuilders are verbose, but they do make a measurable difference in your code. The problem with no using them is that then you need to be sure your code is never called by something else that runs it in a loop. A fair while ago (JDK 1.5 had just been released, so I was still looking at StringBuffer) I did some analysis on the bytecode generated by concatenation. There is a pretty significant difference: http://n…

    Comment linking /blog/2005/06/09/on-java-string-concatenation/

    on “Java memes which refuse to die”
  22. Submitted Experimental SOLR and Cassandra as a story · 2 points

    HN discussion
  23. The right ad, for the right product, at the right time adds huge value to me as a user. If I'm looking to buy a specific product, have finished researching it and now know what I want then I don't really care if I get the product via an ad, via an unpaid link, or via walking to the shop. It comes down to price, availability, and service and if I'm delivered that via an ad I'm happy. It's called perfect advertising[1…

    Comment linking /blog/2010/08/25/perfect-advertising/

    on “Breaking news: advertsing company wants your personal information”
  24. The demo is using a recorded video in the left view, with JS processing on the right. When he (I) was developing it, I used VLC to stream the webcam to the page. If you view-source, I've got a link to the documentation on how I did that: "To use this with a webcam instead of a saved video you'll need to stream your webcam via the same domain this is running from. http://nicklothian.com/blog/2009/11/17/using-a-webcam…

    Comment linking /blog/2009/11/17/using-a-webcam-with-html-5-via-vlc/

    on “Augmented Reality Virtual Keyboard using HTML 5”
  25. It's not as simple as he makes out. I had a look at the + operator and compiler optimizations back in 2005. Basically, depending on exactly how you setup your strings javac is able to do some optimization. Note that this is a compile time optimization, so compiling with Eclipse (for example) will probably give different result. Anyway, some details are at http://nicklothian.com/blog/2005/06/09/on-java-string-concat.…

    Comment linking /blog/2005/06/09/on-java-string-concatenation/

    on “Java String Concatenation and Performance”

Search all of HN for nicklothian.com

Linked by the same people?