Archive 10.4.2012 - 21.5.2012

sametmax/0bin. Interesting approach to circumvent the problems of pastebin hosting. With pastebin-like sites, the problem is that users post all kinds of content and the server operator can quickly be held liable. 0bin tries to shift this problem so that the operator cannot know what is in the pastebins, as they are stored encrypted and the encryption is done by the client via JavaScript. This works, of course, only if the judges also accept that the server operator cannot know what is going on - and not, for example, argue that he should then just install different pastebin software where he can know and still hold him responsible. Certainly an interesting approach, especially the idea of putting the key for the encryption in the hash of the URL (i.e., the part after the # in the address) and thus having a functioning URL, but still not providing the server with the key (since the hash of a URL is only used by the client and not communicated to the server).

Panasonic 12-35mm f/2.8 X lens officially announced!. Ok, the lens looks really good now - I think I might be tempted. Because a brighter zoom with a bit more wide-angle could be very good for the GH1.

Embedding Python in Objective-C: Part 2. An interesting project that embeds Python in Objective-C projects and allows direct connections between Python and Objective-C code via automatically generated bridge modules. I might check this out at some point, I still have a game project that could benefit from this.

jodal/pykka. An actor library for Python, based on threads and optionally on GEvent. Looks quite good and could be quite practical for communicating processes if the actor model fits. Perhaps one could also use something like this as a basis to run my Linda Tuplespace in a distributed manner.

Jython 2.7 alpha1 released!. Wow, it took a long time, but now at least the three major alternative Python runtimes are all at 2.7 (IronPython, PyPy and now Jython). I hope that Jython 2.7 has gained significantly in performance, because otherwise it is far behind in comparison - my last tests were rather depressing (2-3 times slower than CPython).

cocoa-python - Port of Objective-C runtime to Python using ctypes. It's actually all in the link text. Interesting because the author uses it to write a port of Pyglet that does not require PyOBJC and would therefore be completely python-only source code.

R17 - flexible, scalable, relational data mining language. Looks quite interesting, basically something like a cross between AWK and SQL. The result isn't really pretty, but it seems practical - especially because you can easily use multiple processors, or even multiple machines (implicit parallelization), and thus also quite easily evaluate large amounts of data with ad-hoc queries. Because there is a simple format for passing data to further steps, it can also be easily adapted to new data sources without first running a lengthy export step there.

Recently on the Internet (Black and White Edition)

I have uploaded new pictures on Google+ and/or Flickr. Here they are - unsorted and uncommented. This is the black and white edition.

Recently on the Internet

I have uploaded new pictures on Google+ and/or Flickr. Here they are - unsorted and uncommented.

The Schemaverse. And while we're on the topic of strange projects: someone has programmed an MMO that runs entirely within PostgreSQL. So using pgSQL as the language. Something like a multi-user battleships game. It just runs in a database. And is controlled via SQL.

sipML5 - The worlds first open source HTML5 client. Oh - someone wrote a SIP client in JavaScript that runs entirely in the browser. It is based on WebRTC, a standard for real-time communication on the web.

Gumbo

Today something exotic - Gumbo. And then also a bit modified, because I felt like it. In principle, it's quite simple: Bacon cubes (250g), onions (we had two onions), garlic cloves (don't be stingy with them!) and a carrot cut into slices. Fry bacon in the pot, add meat (we had 300g beef goulash), fry well, add onions, garlic, carrot, and let it simmer. Then deglaze with a splash of red wine (not necessary, but I think a bit of red wine always belongs with goulash, even if it doesn't become goulash), add 1l of broth, bay leaf, ginger, and cumin as spices, let it cook for about an hour. Then prepare rice and while the rice is cooking, dice a bell pepper and add it to the soup, and also add a glass of okra pods (drain and rinse before using), let it cook for about 10 minutes (until the rice is ready). We also added some capers (soak them well and for a long time before using, otherwise they are too salty). Serve rice on the plate, pour stew over it. We had wine spritzer with it. So the ingredients summarized:

  • 250g diced bacon
  • 300g beef goulash
  • 1l beef broth
  • 1 carrot
  • 2 onions
  • 4-5 garlic cloves
  • 1 bell pepper
  • 1 glass of okra pods (approx. 400g, drain and rinse before use)
  • Ginger powder, cumin, salt, pepper
  • a few capers (soak well before use)

Plumbum: Shell Combinators and More — Plumbum: Shell Combinators. Looks interesting and much more thought out than some alternatives I've looked at (and much more expanded than shutil+glob).

Exclusive premiere: The full Leica X2 review – Ming Thein | Photographer. Certainly, the X2 (especially together with the electronic viewfinder) will not run even approximately in the category "cheap", but somehow it sounds like a really good update to the X1. And compared to the, in my opinion, completely absurd overpriced M9-M, the X2 is at least roughly within the range of "could consider it if you have some money left over".

Pocket-sized fuel cell charges phones for two weeks - Mobile Phones - CNET - CNET Asia. If this thing becomes a reality, I want one. Finally, mobile power that can be stored and then activated anywhere outdoors when needed. Plus, a battery charger connected via USB for the camera battery (or check if you can charge directly in the camera via USB) and the job is done.

Clojure/core — Reducers - A Library and Model for Collection Processing. Why a new library? Because the standard functions are interesting and meaningful, but sometimes you need a stricter implementation that avoids intermediate temporary collections and provides direct out-of-the-box support for parallelization. Without much fuss and bother, just a different namespace.

A free book (that will also be available as dead tree or electronic wood from O'Reilly) about backbone.js. Backbone.js provides an MVC-inspired structure for JavaScript programming (where you can argue a lot about what exactly is the View and the Controller and whether it is "pure" MVC - or you just program and ignore the theoretical ballast).

PyPy Status Blog: STM update: back to threads?. The discussion and development continue to progress - and the discussion is returning to the old thread model, only expanded with a function to define atomic blocks of code. And all of this in such a way that the code would even run under normal CPython (though then of course without the advantages of STM, since there is no STM in CPython, there is still the GIL) but still makes sense to use multicore architectures. I like it more and more and I hope it will soon land in the PyPy Main Branch.

tuupola/jquery_lazyload. This might be interesting for displaying large amounts of images because it allows you to delay the loading of images until the user actually scrolls to them. The page is pre-built with placeholder images, and only the images are later sent over the line. However, I think Infinite Scroll is the better solution, as it allows not only images but also general content to be added - and it also works smoothly with Masonry so that these content blocks can also be visually well distributed.

dirq 1.1.2 documentation. Hey, I was recently looking for something like this - a queue based on the file system. The advantage: simplest persistence and good "debugging" by simply poking around in the file system. The disadvantage is that queues often need to perform some operations atomically - and this can become a bit tricky if you want to get it right. This is a port of an already existing Perl module, so the chances that most of the childhood diseases are out are quite high. The API, in any case, looks nicely simple. Definitely worth a closer look.

Hotcanvas: Realtime coding. I'm a fan of Processing-like environments, this one comes quite close, but runs as an interactive environment and looks quite nice. Ok, there are probably quite a few of these things by now, but still, I like this kind of stuff.

Bilderarchiv | rfc1437. My image archive was revised over the weekend and now comes with funny JavaScript gadgets for automatic tiling. Not really groundbreaking, but more interesting than the previous, rather boring format. jQuery Masonry is the main part of the work. Nice little JavaScript library. The most interesting part is probably the heuristic in my little plugin, with which I bring the images into portrait/landscape/square formats, so that the whole thing does not become too boring due to an excess of landscape formats. Unfortunately, there are still gaps in the image stream, where Masonry could actually become a bit smarter (and e.g. pull up small squares). Or I have to sit down again with the heuristic and make sure that the chances of gaps are reduced.

ownCloud.org | Your Cloud, Your Data, Your Way!. I will definitely keep an eye on this, because once the OSX desktop client and the iOS client are available, this will be a clear alternative to Google Drive, Dropbox, or SkyDrive for me. After all, I already have my own server (classic Ehschonda solution), and I would only use Dropbox for integrating various iOS applications and then integrate their content into my own server and bring it to my desktops. Because no matter how good a cloud provider is (and so far Dropbox is one of the clearly better ones), my own server gives me more trust in the end.

RubyMotion - Ruby for iOS. Since MacRuby already interests me, this sounds good too - directly programming for iOS in Ruby. However, there is no free version, which somewhat limits the trying out. Additionally, there is nothing in an IDE, it's pure command line. Which can be an advantage, but for debugging, for example, it's a real disadvantage.

Mojolicious - Perl real-time web framework. You had one problem, you took Perl. Now you have two problems and a bunch of sharp brackets to cut yourself on. Jokes aside: nice to see that Perl is not only still active, but also actively modern in the web environment. After all, Perl once set the standard in that area.

Recently on the Internet (Black and White Edition)

I have uploaded new pictures to Google+ and/or Flickr. Here they are - unsorted and uncommented. This is the black and white version.

Recently on the Internet

I have uploaded new pictures to Google+ and/or Flickr. Here they are - unsorted and uncommented.

RavenDB - 2nd generation document database. Bookmarked because I want to check it out in the not-too-distant future. Sounds quite interesting from the features and might be useful for one or two projects that I am currently thinking about.

JSIL - .NET to JavaScript compiler. No idea if I already had this, but it's one of those crazy projects you can safely link twice. The actual .NET IL code is translated - so you can run programs in the browser that were not really intended for it. For example, part of XNA is supposed to run, so you can run games in the browser that are actually for the XBox.

Amazon.com: Send to Kindle for Mac. Could be quite nice to easily "print" the various online documentations to the Kindle and read them comfortably there. In addition, they might also end up on the iPhone for on the go ...

the { buckblogs :here }: Maze Generation: Ellers Algorithm. Maze algorithms have fascinated me since my youth, but this one was new to me. It generates perfect mazes line by line, without trackback or recursion, with a runtime linearly dependent on the size of the maze. Pretty brilliant stuff.

jQuery Masonry. Alternative to BlocksIt. Worth checking out. Even pushes blocks more aggressively, rearranges the order if necessary.

BlocksIt.js - Dynamic Grid Layout jQuery Plugin. That's what it says. Sounds quite interesting, I have to check it out.

Kronuz/SublimeCodeIntel. CodeIntel is a port of the Komodo Code Intelligence to SublimeText2. With this, you can almost refer to ST2 as an IDE.

Cubism.js. So many projects, so little time. But just a quick blog note, if I ever have to deal with time series visualization in the near future, this looks really good for that.

jlongster/dcpu-lisp. Why this is cool? Well, Notch is working on a new game - something like Elite with integrated hacking. And the hacking happens on a 16-bit CPU that is based on a 6502. And now all kinds of people are building code for this CPU. Among other things, here is a Lisp compiler.

Subrepository - Mercurial. Quite embarrassing, what one keeps discovering and realizing that one should have been using it for a long time, but doesn't. Especially the tip with the "shallow main repository" sounds good, that could simplify some of the organizations of my projects. So far, I have rejected subrepositories precisely because of the fixed connection of the large main project with the library projects, since I use completely different external branches (i.e., repositories) for different environments and, for example, do not want to push my dependencies from the maintenance environment into production. With a shallow main repository per environment, on the other hand, I could cleanly separate the relationships and still document at a central point how the dependencies of the various repositories are represented. And yes, all of this here is just a note for myself, if you don't understand it, just ignore it, colorful pictures will definitely come again soon.

645 PRO app for iPhone offers access to lossless camera output but not Raw. Sounds quite interesting, but not so much because of the pseudo-RAW - there won't really be such huge differences - but because of the user interface, which is much closer to a normal camera and also provides a few more pieces of information. According to comments, however, it does drain the battery quite quickly.

ThinkUp: Social Media Insights Platform. I definitely want to check this out - a tool that collects your own social activities (well, they're not always that social) via various APIs and combines them. And in a self-hosted database. Supports Twitter, Facebook, and Google+ and evaluates the data collection according to various criteria. And with Social Timeline there is then a tool for displaying as a timeline, which could be integrated into your own blog. This could even be a much more pleasant variant than importing all posts from social networks into your own blog.

Google+ Importer for WordPress » Sutherland Boswell. I'm currently considering whether I might want to integrate this - it automatically imports public Google+ posts. I would probably need to adjust something to turn the posts into asides, but that shouldn't be too complicated. Maybe the tool can already do that directly. The question is whether it makes sense to bring the posts from Google+ over - especially with the image posts, I already get them later and mirror them in my media data. But the text-only posts would also end up here, which might be quite useful. I'll have to think about it a few more times.

Mozilla Archive Format, with MHT and Faithful Save :: Add-ons für Firefox. Asked about something like this today, my knowledge was a bit outdated, so I googled again and this seems to be the most interesting extension to save complete pages (including images, styles, and JS). Practical, for example, if you want to put together a dummy for presentations.

pycounters. I need to check this out, it allows you to easily integrate counters into a project that provide data on things like function calls or similar - basically something like the Windows Performance Counters, but for Python projects.

Recently on the Internet (Black and White Edition)

I have uploaded new pictures to Google+ and/or Flickr. Here they are - unsorted and uncommented. This is the black and white edition.

Recently on the Internet

I have uploaded new pictures to Google+ and/or Flickr. Here they are - unsorted and uncommented. Yes, I have combined my two importers. So that not so many different picture posts appear here, but everything is somewhat bundled.

Parliament: Fractions want to curtail speaking rights in the Bundestag. When will the pack finally be monitored by the Federal Office for the Protection of the Constitution? Because this is a first-class attack on the Basic Law. There are no fractions, no party discipline, and no restrictions on speaking rights for members of parliament with their own opinions in the Basic Law - there are only free members of parliament. And then the prolethicians in Berlin are still surprised about political disillusionment. Hurray for Lammert, who at least tries to resist this circus of dumbfounding in this regard.

Recently on Google+

I have uploaded new pictures on Google+. Here they are - unsorted and uncommented. Mostly spring and Easter.

Collected Old Black and White Pictures

Somehow, these have never been connected to a post as far as I can see, so I'm just linking and collecting everything here for completeness and posting it.

Gallery

Link to Image 1 Link to Image 2 Link to Image 3 Link to Image 4 Link to Image 5 Link to Image 6 Link to Image 7 Link to Image 8 Link to Image 9 Link to Image 10 Link to Image 11 Link to Image 12 Link to Image 13 Link to Image 14 Link to Image 15 Link to Image 16 Link to Image 17 Link to Image 18 Link to Image 19 Link to Image 20 Link to Image 21 Link to Image 22 Link to Image 23 Link to Image 24 Link to Image 25 Link to Image 26 Link to Image 27 Link to Image 28 Link to Image 29 Link to Image 30 Link to Image 31 Link to Image 32 Link to Image 33 Link to Image 34 Link to Image 35 Link to Image 36 Link to Image 37 Link to Image 38 Link to Image 39 Link to Image 40 Link to Image 41 Link to Image 42 Link to Image 43 Link to Image 44 Link to Image 45 Link to Image 46 Link to Image 47 Link to Image 48 Link to Image 49 Link to Image 50 Link to Image 51 Link to Image 52 Link to Image 53 Link to Image 54 Link to Image 55 Link to Image 56 Link to Image 57 Link to Image 58 Link to Image 59 Link to Image 60 Link to Image 61 Link to Image 62 Link to Image 63 Link to Image 64 Link to Image 65 Link to Image 66 Link to Image 67 Link to Image 68 Link to Image 69 Link to Image 70 Link to Image 71 Link to Image 72 Link to Image 73 Link to Image 74 Link to Image 75 Link to Image 76 Link to Image 77 Link to Image 78 Link to Image 79 Link to Image 80 Link to Image 81 Link to Image 82 Link to Image 83 Link to Image 84 Link to Image 85 Link to Image 86 Link to Image 87 Link to Image 88 Link to Image 89 Link to Image 90 Link to Image 91 Link to Image 92 Link to Image 93 Link to Image 94 Link to Image 95 Link to Image 96 Link to Image 97 Link to Image 98 Link to Image 99 Link to Image 100 Link to Image 101 Link to Image 102 Link to Image 103 Link to Image 104 Link to Image 105 Link to Image 106 Link to Image 107 Link to Image 108 Link to Image 109 Link to Image 110 Link to Image 111 Link to Image 112 Link to Image 113 Link to Image 114 Link to Image 115 Link to Image 116 Link to Image 117 Link to Image 118 Link to Image 119 Link to Image 120 Link to Image 121 Link to Image 122 Link to Image 123 Link to Image 124 Link to Image 125 Link to Image 126 Link to Image 127 Link to Image 128 Link to Image 129 Link to Image 130 Link to Image 131 Link to Image 132 Link to Image 133 Link to Image 134 Link to Image 135 Link to Image 136 Link to Image 137 Link to Image 138 Link to Image 139 Link to Image 140 Link to Image 141 Link to Image 142 Link to Image 143 Link to Image 144 Link to Image 145 Link to Image 146 Link to Image 147 Link to Image 148 Link to Image 149 Link to Image 150 Link to Image 151 Link to Image 152 Link to Image 153 Link to Image 154 Link to Image 155 Link to Image 156 Link to Image 157 Link to Image 158 Link to Image 159 Link to Image 160 Link to Image 161 Link to Image 162 Link to Image 163 Link to Image 164 Link to Image 165 Link to Image 166 Link to Image 167 Link to Image 168 Link to Image 169 Link to Image 170 Link to Image 171 Link to Image 172 Link to Image 173 Link to Image 174 Link to Image 175 Link to Image 176 Link to Image 177 Link to Image 178 Link to Image 179 Link to Image 180 Link to Image 181 Link to Image 182 Link to Image 183 Link to Image 184 Link to Image 185 Link to Image 186 Link to Image 187 Link to Image 188 Link to Image 189 Link to Image 190 Link to Image 191 Link to Image 192 Link to Image 193 Link to Image 194 Link to Image 195 Link to Image 196 Link to Image 197 Link to Image 198 Link to Image 199 Link to Image 200 Link to Image 201 Link to Image 202 Link to Image 203 Link to Image 204 Link to Image 205 Link to Image 206 Link to Image 207 Link to Image 208 Link to Image 209 Link to Image 210 Link to Image 211 Link to Image 212 Link to Image 213 Link to Image 214 Link to Image 215 Link to Image 216 Link to Image 217 Link to Image 218 Link to Image 219 Link to Image 220 Link to Image 221 Link to Image 222 Link to Image 223 Link to Image 224 Link to Image 225 Link to Image 226 Link to Image 227 Link to Image 228 Link to Image 229 Link to Image 230 Link to Image 231 Link to Image 232 Link to Image 233 Link to Image 234 Link to Image 235 Link to Image 236 Link to Image 237 Link to Image 238 Link to Image 239 Link to Image 240 Link to Image 241 Link to Image 242 Link to Image 243 Link to Image 244 Link to Image 245 Link to Image 246 Link to Image 247 Link to Image 248 Link to Image 249 Link to Image 250 Link to Image 251 Link to Image 252 Link to Image 253 Link to Image 254 Link to Image 255 Link to Image 256 Link to Image 257 Link to Image 258 Link to Image 259 Link to Image 260 Link to Image 261 Link to Image 262 Link to Image 263 Link to Image 264 Link to Image 265 Link to Image 266 Link to Image 267 Link to Image 268 Link to Image 269 Link to Image 270 Link to Image 271 Link to Image 272 Link to Image 273 Link to Image 274 Link to Image 275 Link to Image 276 Link to Image 277 Link to Image 278 [Link to

Virtualenv-clone 0.2.2 : Python Package Index. Not yet tried, but according to the description it copies virtualenv environments and fixes import paths, egg files, .pth contents and scripts. And it should work more completely than relocatable virtualenvs.

Introducing Pivot.js. Hmm, definitely worth a look, Pivot looks quite nice, simple API and interesting possibilities. I have a project at work that could really use some reporting features. And offloading to the client is sometimes a quite good idea.

abique/tmfs. Poorly blogged, could be helpful someday - a user-space filesystem for Time Machine backups on Linux.