Archive 2012

Blaze — Blaze 0.1-dev documentation. Hmm, I could have sworn I already had that, but never mind. Blaze is essentially a compiler that transforms numpy-like code and passes it to runtimes for evaluation. Specifically, it also supports many parallel runtimes and parallelization of evaluations. The data types are also significantly more developed than in numpy - the authors themselves consider Blaze to be the natural evolution of numpy. What fascinates me about it is the integration of a quite extensively developed array programming library into Python - since I've been playing around with J, I find array languages fascinating.

IOIO for Android - SparkFun Electronics. Also an interesting project, a friend pointed me to it today: an IO board for Android smartphones. It simply plugs in via USB and is accessed through a simple Java library. It has various analog and digital inputs and outputs, I2C and other goodies. You can even get a Bluetooth kit for it if you don't want to communicate via radio. Pricier perhaps than what you're used to in the Arduino environment, but still, sounds cool. I'll wait for my Smartduino first, though, which also has Android support.

Run Mobile Apps on Mac with BlueStacks :: Mobile Apps on Mac :: Mobile App Player for Mac | BlueStacks. Hey, the beta can now run any Android apps. I should definitely check it out. So one or the other Android tool would also be practical on the desktop, especially if there are not really good desktop versions available.

MariaMole | dalpix.com. If the normal Arduino IDE is too simple for you (although I would say that the simplicity is the great bonus), you can check out this project. This is a rather classic IDE with which you can build Arduino programs.

Java 3D Engine | Learn Java Programming in 3D. Looks very interesting, especially because it has a close integration into an IDE (BlueJ) with a focus on learning to program. And meanwhile, you can also directly generate Android applications from it and, for example, build your own games or toys.

several methods to find interesting areas of an image - and for example interesting for overview galleries where images are brought into fixed formats jd where you want to apply more intelligent cropping and scaling.

imwilsonxu/fbone · GitHub. Not so uncool at all. I'm actually a Djangonaut, but Flask has always interested me a bit, as it's quite a good basis for more compact projects. With the integration of HTML5 Boilerplate and CSS Bootstrap, this could also be interesting for small web projects with frontend. Although Flask offers enough room to grow to realize larger things - it's just that for larger things I often still reach for Django. But especially for the typical web service with additional HTML presentation of the data, this can really be practical.

Cubes 0.10.1 Released – Multiple Hierarchies Data Brewery. I think I've mentioned this before, but hey, TV repeats things all the time. And it looks even better, what you can do with it. I really need to take a closer look, there's a project where I think I could use it. I need to check how to integrate it, though, because my project uses Django and its ORM, and Cubes uses SQLAlchemy. It could be interesting to mix them.

The Ruggeduino. Might be interesting when I actually fry my upcoming toys ... (which, given my electrical knowledge, can happen faster than I would like)

The SQLite RTree Module. And another extension for SQLite, this one a standard extension. R-Trees are tree structures optimized for range queries - that is, range queries such as "is this given rectangle contained in the list of rectangles".

The Gaia-SINS federated project home-page. Just quickly bookmarked in case I need it - spatial data (GIS data) can be efficiently indexed and queried in SQLite with an extension. Since I am a declared fan of SQLite, this is quite interesting. And it is implemented as a dynamically loadable extension (of course, this only works if the SQLite you are using is also enabled for extensions - unfortunately this is often not the case, installation might require a recompilation of SQLite, but it's not that terrible).

Sweet Potato Lentil Coconut Milk Soup

Today we were in the mood for soup again. Yesterday I was looking for something and came across this Asian lentil/potato soup, and we decided to try it. It wasn't that difficult and was very delicious. Here's what goes into it (you can also see this in the first picture):

  • Sweet potatoes (we had about 750g)
  • Regular potatoes (we had 5 small ones, that had to suffice)
  • Two carrots
  • One mango
  • Fresh ginger (we had two small pieces, could have been more)
  • Lentils (we had brown lentils, about 200g)
  • Vegetable broth (about 1.5 liters)
  • One can of coconut milk (400ml)
  • Spices (pepper, salt, turmeric, cumin, chili flakes, nutmeg, cloves)

Preparation is also quite simple, it's just a soup:

  1. Cube both types of potatoes, the sweet potatoes about twice as large as the regular potatoes (sweet potatoes cook faster and otherwise become mushy)
  2. Chop the carrots
  3. Chop the onions
  4. Peel the ginger
  5. Sauté the onions in oil until translucent
  6. Add both types of potatoes and sweat them (let them sit for a while until they release moisture)
  7. Pour the vegetable broth over
  8. Stir in the coconut milk (don't be surprised, it's partly quite solid)
  9. Add the carrots
  10. Add the lentils (if they are very hard and need to cook for a long time - pre-cook the lentils, ours were still quite hard)
  11. Grate the ginger over the soup (a cheese grater works well for this)
  12. Add all the spices to taste
  13. Let the whole thing simmer for about 20-25 minutes
  14. Remove some of the soup (especially sweet potatoes and regular potatoes) - about 1/2 liter - and puree and mix back in. This makes it nicely creamy.
  15. Peel the mango, cut it into small pieces, and add it to the soup
  16. Sprinkle nutmeg over the soup
  17. Let it simmer for another 5 minutes
  18. Serve (we had Scottish spiced bread with it)

The whole thing was very filling and very delicious. Quite spicy for our standards because of the chili flakes. But a very interesting flavor combination.

plan 9 was the system that took the ideas of Unix even further and, building on that, enabled a distributed system with distributed resources and seamless networking as early as the late 80s. Just think about where we would be today if it had become mainstream. Tablets that directly use network resources, that directly use complex applications on CPU servers in the network and that the developer can directly access for debugging from his workstation, without any hacks.

F-Droid. Quite interesting - an app store for open source applications for Android. So you don't have to constantly check yourself for news. Of course, some of the apps are also in the normal Google Play Store, but not every open source project wants to jump through Google's hoops.

The iDroid Project - Where it presently stands - 0xDEADFA11. On the topic of Android on iPad - it doesn't look good, iDroid was probably the most active project that wanted to provide a complete solution, but the status from July and the project status overview do not look like something will come soon. Too bad.

Ipad optimization - xSellize. I think I'll take a closer look at this - on my iPad 1, I now have the problem that apps constantly crash due to lack of memory (e.g. the official Twitter client). Based on experiences with other systems with Flash, the swap to Flash shouldn't be too bad in terms of performance - and if the battery consumption is also kept within limits, it might be a temporary solution. Even though it annoys me that you can only use your system with jailbreak and system hacks after such a short time. Ideally, someone would port Android to the old iPads ...

ActiveAndroid | Active record style SQLite persistence for Android. Hmm, let's take a look - another ORM for Android, but one with quite interesting syntax. The source also promises a few more things like e.g. Joins. If migrations are also reasonably implemented (this is often lacking), the project could definitely motivate me to switch my little tinkering project.

Official Website | FreeBASIC Programming Language. Just stumbled upon it (don't ask), a free Basic compiler that is oriented towards QuickBasic.

The ElfData Plugin. For future use, more efficient string classes and structures than the standard ones in RealBasic. And basic structures for parsers and tokenizers. Eventually, I want to build my own Markdown processor for my Desktopwiki instead of constantly calling external tools.

Pumpkin Soup

Somehow we came up with the idea for pumpkin. Pumpkin - that fits the season. And why not make a proper pumpkin soup? So off to the market to get what we needed (especially the pumpkin) and off we went. What goes in:

  • a small Hokkaido pumpkin. Ok, in our case it was 3/4 of a small one, so with medium-sized pumpkins probably about half will suffice. Ours weighed about 1.6 kg.
  • 3-4 potatoes
  • half an orange (squeeze out the juice, that goes in)
  • cooking cream
  • 2-3 cloves of garlic
  • olive oil to sauté the pumpkin
  • 1 liter of vegetable broth
  • spices (ginger, coriander, cayenne pepper, hot paprika powder, nutmeg, cinnamon, the turmeric from the picture was not used)
  • pine nuts (toasted later over the soup)

The most labor-intensive part of the whole dish was butchering the pumpkin. They are hard! That's work! Nevertheless, you have to get through it. This was the procedure:

  1. cut the pumpkin into columns. Caution, this is really work, they are hard. I also peeled the pumpkin. Yes, I know, with Hokkaido you can eat the skin. But you can - you don't have to. And with a vegetable peeler it goes quickly.
  2. then empty the columns - remove all the core.
  3. then cut the columns into cubes
  4. sauté the cubes with garlic together in oil
  5. cook potatoes in cubes together with the pumpkin and the vegetable broth (20-25 minutes)
  6. blend the whole thing with the hand blender.
  7. add the first round of spices (generous amount of ginger and coriander, be a bit careful with hot paprika and cayenne pepper, of course pepper and salt and a little cinnamon) and stir in
  8. stir in the cooking cream and the orange juice
  9. add nutmeg and stir in and let it simmer lightly
  10. toast pine nuts in the pan, when the pine nuts are done, the soup is also ready

We had a delicious French country bread with paprika and wine spritzer to go with it. It was absolutely delicious, the whole thing! By the way, the quantity was rather for 4 people, we like to cook a little more than just for one meal when it comes to soup.

Cloud Storage Programming Interface - Store everything. This looks quite interesting - a C# library for accessing various cloud storage. It also supports Dropbox and, most importantly, it supports Mono for Android and MonoTouch, which I could use as a basis to rewrite my small Android project in C# for testing.

F# and MonoGame on the Mac. If you want to build games on the Mac, you have an interesting option with MonoGames. This is a reimplementation of the Microsoft XNA APIs. So basically, it's just the continuation of Mono into the gaming area. Pretty cool stuff - and because a cool thing alone isn't enough, the linked article provides the whole thing with integration in F#, the functional language for .NET from Microsoft. Unfortunately, for iOS, MonoTouch and for Android, MonoDroid are required, which means there is a slight hurdle to overcome in terms of acquisition (the licenses are not exactly cheap, so maybe not quite the knockout for hobbyists).

git-annex. Definitely worth a look or two. In principle, it's something like a manually operated Dropbox - you can link folders with other folders and define sync relationships. But you can also define redundancies, ensuring that there are enough copies of files - if you delete a file, you get a warning if it was the last copy (and it is restored). Many commands for efficient management of various scenarios are added, and there are various backends for the data - for example, you can integrate Amazon S3 and include it as a backup repository with suitable means, or reference URLs from the web and make files always reconstructable (with this you can also integrate your own file server with an http interface). Or even use something like Google Mail as a backend and store your data in file attachments. Or use all the means of git to exclude temporary results of synchronizations, for example. Unlike Sparkleshare - which is also based on git - only the metadata is versioned in git here, not the files themselves. This of course has the disadvantage that file changes cannot be undone via it - for this you would need a versioning backend such as bup, which is then used as a data backup with versioning and definition of backup cycles. The advantage of the git-annex method, however, is that the data does not grow as gigantic as with Sparkleshare if you want to sync large files such as videos or digital images - only at the defined backup interface would the versions occur and you can explicitly determine which data goes there. Not for mouse pushers, but great for command line fetishists.

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.

couchbase/Android-Couchbase. Might be interesting as an alternative to SQLite - especially if you work less with structured data and more with documents. Because CouchDB offers real advantages there. Additionally, you get a sync infrastructure for automatic replication of database changes to a central server. And without having to build text exports with Dropbox-Sync like with SQLite solutions. Although the latter works surprisingly well in the situations where I need it.

Processing on iOS. Just stumbled upon it. What it says - processing.js in a spartan but usable mini-IDE. Nice for in between. And somehow fits well with the tablet. Ending sketches is a bit awkward, you have to tap or press on a bar at the top or something, which nobody tells you. But otherwise everything is clear. There are two more that I found, one costs 89 cents and delivers an interface analogous to PDE and the other is pr0c0d1n6 - it's quite expensive at forty-five, but it has a really usable IDE.

Rainbow Trout with Parsnips

... and without the baked potatoes (they didn't turn out right and were demoted to salad). Somehow, Juliana and I got the idea to make fish, and I thought, a nice trout, that would be something. So, we bought it at the market and got trout and parsnips. These were the ingredients:

  • two trout (each 400g)
  • parsnips for two servings
  • garlic (6-8 cloves)
  • parsley
  • lemon (for the juice)
  • green onion
  • olive oil, pepper, salt

Preparation wasn't really complicated, and it didn't take very long until everything was ready.

  1. Juliana chopped the garlic, green onion, and parsley
  2. I cut the parsnips into sticks
  3. then we rubbed the trout inside and out with pepper and salt (don't be stingy)
  4. then squeeze the lemon (half was enough for us) and mix the juice with the garlic, parsley, and green onion
  5. fill the two trout generously and drizzle the remaining lemon juice in.
  6. place the trout in an oven-safe dish wrapped in aluminum foil. So, line the dish with aluminum foil, put in the trout, and wrap it up.
  7. wrap the parsnip sticks in aluminum foil as well (thin layer of sticks so they all cook nicely)
  8. preheat the oven to 200 degrees and then put the trout and parsnips in the oven
  9. bake for 25 minutes
  10. arrange on the plate and serve

The whole thing was super delicious. As indicated above, baked potatoes were actually supposed to be included, and then a dip, but neither turned out quite right for us - the dip was too thin, more like a salad dressing, and the baked potatoes weren't done in time. But with the amount of fish, it was enough as it was.

OpenXION. For the sake of completeness: an open-source implementation of an xTalk language (the family to which HyperTalk - the language of HyperCard - belongs) in Java. You could, for example, incorporate it into your own projects as a scripting language.

uliwitness/Stacksmith. And since we're talking about HyperCard again - Stacksmith wants to build a clone for OSX. Although I wonder why they exactly follow the (pure black-and-white) original in the graphical representation.

NovoCard. Wow, I've been waiting for something like this for a long time. Unfortunately, it's not for Android yet, but for the iPad, but it could revive my old iPad for a while - a Hypercard clone for iOS that comes with a scripting language based on JavaScript in this case. Everything onboard on the iPad, making it ideal for tinkering on the go. And in general, I think the Hypercard structure fits tablet computers pretty brilliantly. I'll probably play around with it.

Travis Shrugged: The creepy, dangerous ideology behind Silicon Valley’s Cult of Disruption. "Almost seven decades in fact, since Ayn Rand’s “The Fountainhead” first put her on the radar of every spoiled trust fund brat looking for an excuse to embrace his or her inner asshole." - how so-called "disruptive startups" are influenced by bullshit Rand. Also explains such great ideas as the many approaches in which one is already being used data-wise in a service, even if one is not a member (Klout, for example). Far too many translate "disruptive" for themselves as "be an egotistical asshole," which may fit well with Rand, but not so well with reality - even in the USA.

Arduino Due with 32-bit ARM Microcontroller - Pro-Linux. Wow, 32bit embedded boards. Somehow already cool. Only with the 84 MHz clock frequency almost nostalgic feelings come up.

mono/xwt. Maybe I should take a look at this high-level GUI toolkit for Mono, which, in addition to a GTK backend on the Mac, also has a Cocoa backend. With this, you can program across platforms without having to pay the look-and-feel penalty of GTK (which is simply ugly on OSX).

misfo/Shell-Turtlestein. If you work with Sublime Text 2 and use many command line tools, this plugin is very helpful - you can execute commands directly from ST2 and get the results displayed directly there. Commands run directly in the directory of the current window or you can also start a terminal there immediately. Very practical for alternative build systems, or to quickly search for something in the directory with grep.

Turning to the past to power Windows’ future: An in-depth look at WinRT. Nice overview of the history of Windows APIs and then a detailed look at WinRT and why it's not as new and independent as Microsoft claims and how it's really integrated into the system environment (TL;DR WinRT is modernized COM based on Win32 with automatic wrappers for .NET and JavaScript).

wilhelmtell/dis. If anyone gets the idea of building something like a distributed Twitter based on git: someone has already done it, source is available here. Just with bash, git and the linux coreutils.

jq. A very cool tool for someone who has to deal with JSON a lot, especially in the Unix shell. The tool can process JSON data with functions that are inspired by sed, awk, and grep. And you can pipe jq in a Unix-typical way or even use internal pipes in transformation expressions à la awk. And it all comes as a single-executable without runtime libraries except for libc - so it should even work as a static binary and thus be trivially installable with scp.

From Coesfeld to Billerbeck

Today, Juliana and I took the train to Coesfeld and then hiked to Billerbeck, and then took the train back home. A very beautiful autumn hike, with many colorful impressions. We stopped at Kloster Gerleve for coffee and cake. We planned the tour using Komoot - created it there and then used the voice navigation. Amazingly practical, such a pedestrian navigation. And it really led us on hiking trails, field paths, and side roads, only the last stretch to Billerbeck was along a country road, but at least one with a footpath. If you want to check out the tour, I made it public on Komoot. The colors - it really had something of an Indian Summer.

Jerusalem Artichoke Salad and Lentil Salad

Today we had two rather exotic salads for our standards. Actually, it was just by chance because I got the idea for one salad (the lentil salad) while shopping for tomorrow and accidentally saw the ingredients for the other salad (Jerusalem artichoke) and got curious. Both salads are easy to prepare. Both require some cooking, but nothing complicated.

For the Jerusalem artichoke salad you need the following:

  1. Jerusalem artichokes of course
  2. Cherry tomatoes
  3. Lemon juice
  4. Olive oil
  5. Pepper, salt
  6. Basil, oregano

For the preparation, simply bring the Jerusalem artichokes to a boil covered with salted water and cook for 15 minutes until they are nice and soft. It's better not to take pieces of very different thicknesses like we did, but rather pay attention to the sizes of all roots being similar, just like with potatoes, then it works better. While the Jerusalem artichokes are cooking, chop the tomatoes. After cooking, rinse the Jerusalem artichokes with cold water. Chop and mix with the tomatoes. Add lemon juice, pepper, salt, basil, and oregano for seasoning. Mix well, add olive oil, and mix briefly again, then simply let it stand. It should marinate for a while (in our case it was about 2-3 hours).

For the lentil salad you need the following:

  1. Brown lentils
  2. Cherry tomatoes
  3. Green onions
  4. Lemon juice
  5. Olive oil
  6. Balsamic vinegar
  7. Vegetable broth
  8. Pepper, salt
  9. Turmeric, coriander, cumin, ginger, hot paprika powder

For the preparation, simply bring the lentils to a boil in vegetable broth and then cook for 30 minutes. We just used half a vegetable broth cube. While the lentils are cooking, chop the tomatoes and green onions. Make a vinaigrette from oil, vinegar, lemon juice, and spices. Additionally, add spices to the tomatoes and green onions. Our vinaigrette also contained regular onions. Mix the cooked lentils with the tomatoes and mix well. Then add the vinaigrette and mix again. Let it stand, here too it was 2-3 hours. Before eating, chop and distribute fresh coriander on the lentil salad.

Then serve with baguette. Juliana liked the Jerusalem artichoke salad better, I liked the lentil salad better, but both tasted good. Bon appétit!

XKCD plots in d3. And this in JavaScript and directly in the browser. Would be something for the math fans out there who always think they have to post plots.

IBM Worklight - Mobile application platform. Eclipse-based and presumably Java-infested in a typical IBM fashion, but still perhaps worth a look: an IDE for mobile applications that a) includes both client and server and b) supports multiple target systems (iOS, Android, web applications). So basically something like Titanium Appcelerator or Phonegap, but with server infrastructure and management tools included. And you can choose how portable you want to be and integrate native extensions if you need them (and of course sacrifice parts of portability in the process).

Lomography Belair X 6-12. Awesome - Lomography actually has an interesting product. Medium format 6x12/6x9/6x6 with interchangeable lenses (two come with it) and all at an extremely moderate price (starting at under 200 US$) - ok, the lenses will probably be Lomo-typical more like bottle bottoms, but hey, who cares - they are interchangeable optics! Someone will eventually find a way to make lenses out of glass. The only drawback is the processing of 120 film rolls - this has now become an adventure (or a shipping frenzy). Still, it's the first time that the "preorder" button on a Lomography page makes my fingers itch.

BBC News - Apple loses UK tablet design appeal versus Samsung. And the ruling is also quite creative: Apple must run ads stating that Samsung did not copy. Especially in light of the ongoing other proceedings, the judge said only a prominent action can correct consumer perception. I think this really hurts Apple now.

Mushroom Salad with Chicken Strips

Another episode of "Cooking with rfc1437" - this time Juliana was the cook and I was just the photographer and assistant. And there was a salad with wild mushrooms, in our case porcini mushrooms, after all it is the right season for it. Our ingredients:

  • about 250g wild mushrooms (we actually had 500g porcini mushrooms, but only used half of them for the salad)
  • lettuce (we forgot to check how much we had beforehand, so there was definitely not enough)
  • one bell pepper (which we added because otherwise there would have been too little salad)
  • cherry tomatoes or dwarf tomatoes (8-9 pieces)
  • 180g chicken breast fillet
  • a bit of parsley
  • 2-3 cloves of garlic
  • half a lemon
  • hot paprika powder and ginger to marinate the chicken
  • vinegar, oil and apricot-mustard sauce to make the salad dressing
  • pepper and salt for the mushrooms

For the preparation, we took a lot of pictures again, so the points here are based on the pictures above.

  1. We used the recipe as a basis, but changed it significantly. It comes from a book that we received as a wedding gift and has already served us well several times.
  2. We had already cut the chicken into strips in the morning and marinated it with hot paprika powder and ginger.
  3. Cut the porcini mushrooms into small pieces and fry them with olive oil. They need about 15 minutes to be done.
  4. Then fry the chicken strips thoroughly.
  5. Squeeze the lemon
  6. optionally eat the lemon zest
  7. Mix the mushrooms with the finely chopped parsley and the briefly fried garlic
  8. Pour the squeezed lemon over the mushrooms and mix everything well
  9. In between, ask the husband to mix a salad dressing from vinegar, oil and apricot-mustard sauce (the apricot-mustard sauce is actually something like jam or chutney, we just had it in the fridge, of course any other variant would work too)
  10. Cut the lettuce and put it in the bowl. And yes, that was really all we had, it was a bit little.
  11. Therefore, quickly chop a bell pepper
  12. Mix lettuce, bell pepper and the dwarf tomatoes with the salad dressing
  13. Put the mushrooms on the salad (do not mix anymore, it looks prettier)
  14. Arrange the chicken strips on the salad
  15. Once again the spices we used for chicken strips and salad dressing, the oil was already in the picture. The vinegar was simply balsamic vinegar.
  16. serve the whole thing with bread
  17. and then eat!

The result was very tasty, but for next time we plan to have a larger amount of lettuce and I think making the salad dressing with part of the lemon juice instead of vinegar would also be a good idea. But it was a very tasty salad that also fits perfectly with the season.

Moby is a package for Racket with which you can create Android programs. Integrated in DrRacket, you also have a suitable IDE in which most things can be tested. So much to try out, so little time.

PharoDroid is an implementation of Pharo that runs on Android tablets - but really like on the desktop, so no special touch support. Therefore rather cumbersome to use, but it's a start.

ownCloud’s Latest Community Edition Adds Video Streaming, and Easy Mounting of Third-Party Storage. Sounds nice, especially the mounting of cloud storage. I wonder if it only resides in the cloud and is passed through, or if it is also additionally downloaded to the server. But I could maybe play around with my small installation. The improved sync also sounds good, as the previous one is really a bit strange with its regular timestamp file check.

Streak - CRM in your Inbox. Strange - that thing completely passed me by. Ok, maybe that's because they call it a CRM and that's boring by definition for me. But in reality, it's not a CRM at all, but rather a kind of spreadsheet with mail integration and filters - you can define rules and sort mails into boxes and evaluate, filter, sort all these things according to various criteria, whatever. And the whole thing is integrated into GMail, directly into the web platform (which of course means it only works there and not, for example, in the mobile clients). And suddenly the whole thing is interesting again, because if you deal with larger quantities of email-controlled workflows, you can use something like this well. At least if you have your emails in GMail. Their architecture is also not uninteresting, as they use pretty much everything Google has to offer.

LLJS : Low-Level JavaScript. I don't understand what the point is of compiling a low-level language (a JavaScript dialect with C-like type definitions and constructs) to JavaScript, which is not exactly low-level in its execution model. But in case of doubt, the standard argument applies: because it can be done! However, this is probably more of a project that I only link to because it's weird, but I probably won't use it myself anytime soon.