- Family and Friends
Archive for category Modding
This is Leela. She is a 7 year old lilac white British short hair cat that lives with us. Leela had a sister who used to live with us as well but she developed a heart condition and passed away last year. Witnessing how quickly such conditions develop and evaluate we thought that we can do something to monitor Leelas health a bit to just have some sort of pre-alert if something is changing.
Kid in a Candystore
As this Internet of Things is becoming a real thing these days I found myself in a candy store when I’ve encountered that there are a couple of really really cheap options to get a small PCB with input/output connectors into my house WiFi network.
One of the main actors of this story is the so called ESP8266. A very small and affordable system-on-a-chip that allows you to run small code portions and connect itself to a wireless network. Even better it comes with several inputs that can be used to do all sorts of wonderful things.
And so it happened that we needed to know the weight of our cat. She seemed to get a bit chubby over time and having a point of reference weight would help to get her back in shape. If you every tried to weigh a cat you know that it’s much easier said than done.
The alternative was quickly brought up: Build a WiFi-connected scale to weigh her litter box every time she is using it. And since I’ve recently bought an evaluation ESP8266 I just had to figure out how to build a scale. Looking around the house I’ve found a broken human scale (electronics fried). Maybe it could be salvaged as a part donor?
A day later I’ve done all the reading on that there is a thing called “load-cell”. Those load cells can be bought in different shapes and sizes and – when connected to a small ADC they deliver – well – a weight value.
I cracked the human scale open and tried to see what was broken. It luckily turned out to have completely fried electronics but the load-cells where good to go.
Look at this load cell:
That brought down the part list of this project to:
- an ESP8266 – an Adafruit Huzzah in my case
- a HX711 ADC board to amplify and prepare the signal from the load-cells
- a human scale with just enough space in the original case to fit the new electronics into and connect everything.
The HX711 board was the only thing I had to order hardware wise – delivered the next day and it was a matter of soldering things together and throwing in a small Arduino IDE sketch.
My soldering and wiring skills are really sub-par. But it worked from the get-go. I was able to set-up a small Arduino sketch and get measurements from the load-cells that seemed reasonable.
Now the hardware was all done – almost too easy. The software would be the important part now. In order to create something flexible I needed to make an important decision: How would the scale tell the world about it’s findings?
Two basic options: PULL or PUSH?
Pull would mean that the ESP8266 would offer a webservice or at least web-server that exposes the measurements in one way or the other. It would mean that a client needs to poll for a new number in regular intervals.
Push would mean that the ESP8266 would connect to a server somewhere and whenever there’s a meaningful measurement done it would send that out to the server. With this option there would be another decision of which technology to use to push the data out.
Now a bit of history: At that time I was just about to re-implement the whole house home automation system I was using for the last 6 years with some more modern/interoperable technologies. For that project I’ve made the decision to have all events (actors and sensors) as well as some additional information being channeled into MQTT topics.
Let’s refer to Wikipedia on this:
“MQTT1 (formerly MQ Telemetry Transport) is an ISO standard (ISO/IEC PRF 20922) publish-subscribe-based “lightweight” messaging protocol for use on top of the TCP/IP protocol. It is designed for connections with remote locations where a “small code footprint” is required or the network bandwidth is limited. The publish-subscribe messaging pattern requires a message broker. Thebroker is responsible for distributing messages to interested clients based on the topic of a message. Andy Stanford-Clark and Arlen Nipper of Cirrus Link Solutions authored the first version of the protocol in 1999.”
Something build for oil-pipelines can’t be wrong for your house – can it?
So MQTT uses the notation of a “topic” to sub-address different entities within it’s network. Think of a topic as just a simple address like “house/litterbox/weight”. And with that topic MQTT allows you to set a value as well.
The alternative to MQTT would have been things like WebSockets to push events out to clients. The decision for the home-automation was done towards MQTT and so far it seems to have been the right call. More and more products and projects available are also focussing on using MQTT as their main message transport.
For the home automation I had already set-up a demo MQTT broker in the house – and so naturally the first call for the litterbox project was to utilize that.
The folks of Adafruit provide the MQTT library with their hardware and within minutes the scale started to send it’s measurements into the “house/litterbox/weight” topic of the house MQTT broker.
Some tweaking and hacking later the litterbox was put together and the actual litterbox set on-top.
Since Adafruit offers platform to also send MQTT messages towards and create neat little dashboards I have set-up a little demo dashboard that shows a selection of data being pushed from the house MQTT broker to the Adafruit.io MQTT broker.
These are the raw values which are sent into the weight topic:
You can access it here: https://io.adafruit.com/bietiekay/stappenbach
So the implementation done and used now is very simple. On start-up the ESP8622 initialises and resets the weight to 0. It’ll then do frequent weight measurements at the rate it’s configured in the source code. Those weight measurements are being monitored for certain criteria: If there’s a sudden increase it is assumed that “the cat entered the litterbox”. The weight is then monitored and averaged over time. When there’s a sudden drop of weight below a threshold that last “high” measurement is taken as the actual cat weight and sent out to a /weight topic on MQTT. The regular measurements are sent separately to also a configurable MQTT topic.
You can grab the very ugly source code of the Arduino sketch here: litterbox_sourcecode
And off course with a bit of logic this would be the calculated weight topic:
Of course it is not enough to just send data into MQTT topics and be done with it. Of course you want things like logging and data storage. Eventually we also wanted to get some sort of notification when states change or a measurement was taken.
MQTT, the cloud and self-hosted
Since MQTT is enabling a lot of scenarios to implement such actions I am going to touch just the two we are using for our house.
- We wanted to get a push notification to our phones whenever a weight measurement was taken – essentially whenever the cat has done something in the litterbox. The easiest solution: Set-Up a recipe on If This Than That (IFTTT) and use PushOver to send out push notifications to whatever device we want.
- To log and monitor in some sort of a dashboard the easiest solution seemed to be Adafruits offer. Of course hosted inside our house a combination of InfluxDB to store, Telegraf to gather and insert into InfluxDB and Chronograf to render nice graphs was the best choice.
Since most of the above can be done in the cloud (as of: outside the house with MQTT being the channel out) or inside the house with everything self-hosted. Some additional articles will cover these topics on this blog later.
There’s lots of opportunity to add more logic but as far as our experiments and requirements go we are happy with the results so far – we now regularly get a weight and the added information of how often the cat is using her litterbox. Especially for some medical conditions this is quite interesting and important information to have.
So it happened to one of the VU+ Duos in the house. After a clean shutdown it did not boot up as expected but instead just showed the red light. It still blinked on remote keypresses and the harddisk spun up. Nothing else happened with it.
So it was bricked.
Reading the forums about that pointed to a capacitor on the board that quite regularly seems to fail. C807 is it’s name and it’s located near the Harddisk and the power-supply part of the VU+ Duo.
When I looked at the capacitor it did not seem to be faulty or anything. So without the right tools to measure I’ve decided to just give it a shot and replace the original 16V 220uF 85 degrees celsius capacitor with a 105 degrees celsius 16V 330uF one.
In my case I’ve taken out the board, to have a little bit of extra space, and cut of the old capacitor. Desoldering would be nicer looking but, well …
Replacing it on the left-over pins of the old capacitor was a matter of seconds.
After putting the board back in, the VU+ Duo powered up and booted as new. Brilliant!
Obviously it’s impossible for Apple to fix that quite annoying bug in their operating system that leads to double/tripple/… program entries in the “Open with…” menu. Everytime an application is updated it adds a new entry but does not remove the old one.
This makes your open-width menu look like this:
/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -kill -r -domain local -domain system -domain user;killall Finder
This simple command will kill the double/tripple/… entries and restarts your finder.app to make the change visible. Your “Open with…” menu should now only show singular entries per application:
There you are – you’ve spent hundreds of hours, maybe together with friends, in a game called Minecraft. You mined and you crafted. And you built yourself your own world. Out of blocks.
“Minecraft is a game about breaking and placing blocks. At first, people built structures to protect against nocturnal monsters, but as the game grew players worked together to create wonderful, imaginative things.
It can also be about adventuring with friends or watching the sun rise over a blocky ocean. It’s pretty. Brave players battle terrible things in The Nether, which is more scary than pretty. You can also visit a land of mushrooms if it sounds more like your cup of tea.”
Those who haven’t played Minecraft yet – you’re missing out a lot. It’s fun and addictive. It seems pretty dull when you don’t know it. As soon as you got immersed in it you immediately see that it’s a lot bigger and the possibilities are a lot more varying than at first sight.
With all those blocks you can basically build your own world and humongously huge objects. It obviously takes a while in most cases because you (until you start using tools and mods) need to fit each block to the other in order to create those big objects.
So imagine you got your own world and you want to create nice renderings of it to hang on your real-world-appartment walls? You can use a very simple to use and thankfully free (open sourced) tool to do that.
It’s called McObj and it uses blender to render the exported geometry. Get it and send your renderings!
Source 1: https://github.com/quag/mcobj
Source 2: http://quag.imgur.com/minecraft__blender
Source 3: https://minecraft.net/
Source 4: http://www.pcgamer.com/2012/11/29/minecraft-renders-azeroth-and-the-pc-gamer-server/
OpenType is a font format which I personally might have underestimated in the past. Well you know – fonts and stuff. This all seemed not too interesting up until now. Now that changed dramatically when a font came to my attention which can be used for various purposes and as a font does not resemble the normal numbers and characters scheme. But what can it be used then if not to type numbers and characters?
Well. What about typing graphs?
Everything in the above image is generated by a font… like in your Word-processor (if it uses that font)
“Designed by Travis Kochel, FF Chartwell is a fantastic typeface for creating simple graphs. Driven by the frustration of creating graphs within design applications (primarily Adobe Creative Suite) and inspired by typefaces such as FF Beowolf and FF PicLig, Travis saw an opportunity to take advantage of OpenType technology to simplify the process.
Using OpenType features, simple strings of numbers are automatically transformed into charts. The visualized data remains editable, allowing for hassle-free updates and styling.”
Source 1: https://www.fontfont.com/how-to-use-ff-chartwell
Just a couple of days ago – after a waiting time of more than half a year – my personal raspberry pi board arrived. Fantastic!
It’s small. Oh yes, it’s very very small.
What is the Raspberry Pi you may ask:
“The Raspberry Pi is a credit-card sized computer that plugs into your TV and a keyboard. It’s a capable little PC which can be used for many of the things that your desktop PC does, like spreadsheets, word-processing and games. It also plays high-definition video. We want to see it being used by kids all over the world to learn programming.”
For under 40 Euro you get a huge choice of I/O interfaces like USB, Ethernet, HDMI, Audio and Multi Purpose IO pins you can play with if you’re into hardware hacking. This small card is running a fully blown linux and because it has a dedicated graphics core which can hardware decode and encode 1080p h264 it’s definitely a good choice for a home mediacenter (yes, XBMC runs on it.)
It draws so little power that you could use solar panels to power it. It’s all open and sourced and I will use it for a couple of things in the household. Like a cheap Airplay node. Or a more intelligent sensor node for home automation. This thing seriously rocks – finally a device to play with – with reasonable horse-power.
There are many things which are underestimated when team leads think about their team and possible actions to drive progress.
One of those things is that a team needs information to maintain and gain velocity. You cannot expect everyone to know just out of the blue what is important and in which direction everything is moving. To let everyone know and to develop that direction it’s important to share information as much as possible. It’s important to give everyone access to the information necessary to make a better job.
That’s why we had a build monitor at sones. We had a tool that displayed the current status of our build servers to all developers. Everytime someone committed a change, those build servers got this commit, built it and tested it with automated tests. The status of that could be seen by all developers as things happened.
So within seconds everyone could see if his commit did break something. Even better: Everyone could see. Everyone cared that the build needed to be working, that tests needed to pass. It was everyones job to do the housekeeping. When we switched from Team Foundation Server to GIT and Jenkins this status display needed to be replaced – you could immediately tell that things went from good to not-so-good in terms of build stability and automated testing.
Today I had the opportunity to take a tour of the Thomann logistics center. Standing in the support department I had this in front of me:
There were like 6 big status screens displaying incoming call status of the day, sales figures and other statistics important to those who work there. It’s a very important and integrated way to keep information flowing.
Since I am with Rakuten I thought about having a new status board set-up for my team. Something that might be inspired by the awesome status board which panic has built:
Since in addition to sones there are a lot of more things to track and handle (code, deployment, operations, overall numbers) I think such a status board will be of invaluable worth for the team.
Configuring your favourite Editor on OSX (or Linux, or anywhere else) is important – since nano is my editor of choice I wanted to use it’s syntax highlighting capabilities. Easy as pie as it turned out:
I started with a .nanorc file from this guy and modified it to recognize some of my frequent file-types (like .cs files).
You can download my nanorc.tar – just extract it and put it into your user home directory.
Source 1: http://talk.maemo.org/showthread.php?t=68421
Source 2: http://www.nano-editor.org/dist/v2.2/nano.html#Nanorc-Files
Source 3: nanorc.tar
It’s been some time since I’ve written about a Visual Studio Color Theme Generator. And obviously since then a lot happened in the world of customization tools.
The website studiostyles.info is there to help the day with a lot of previewable Visual Studio styles. Even better: all styles can be exported for Visual Studio 2005, 2008 and 2010.
For Visual Studio 2010 you get a .vssettings file which can be imported into Visual Studio using the Tools->Import and Export Settings… menu item.
For Visual Studio 2010 there are additional color styling options available. Microsoft offers a plugin for Visual Studio 2010 called Visual Studio Color Theme Editor. Using this tool everything else can be color customized. So you can have something like that:
Oh what a nice n3rd toy this would be. Rumors say it will be available soon for under $30. And for those who right now think: “What the hell is this?” – This is a coffee mug in the shape of a quite expensive canon lens. In fact I already heard of that idea more than a year ago and wrote about it here. At this time there were only hopes that it would be produced.
Today was Linux-Distribution-ISO-Install-Day. And it turned out that the only existing external DVD drive was fubar.
So what to do? We had a spare USB stick and it turns out that you can quite easily convert that USB stick into a bootable Linux-Distribution-Install-USB-Stick. Awesome!
Just download the tool called “UNetbootin”, start it and you can turn virtually any ISO Distribution Image into an USB Stick that boots and installs that ISO:
If you – like me – want to migrate from dasBlog to WordPress by using the great BlogML Export and Import you might want to take this advice:
After exporting the BlogML you should replace all “ ”s in the XML file. If you don’t do that WordPress won’t import anything in the article after the “ "s.
Finally after more than 10 weeks of waiting the ordered Apple MacOS X Finder Pillows arrived at our door.
After painting the walls we took one of the new Philips Living Colors Lamp for a test run:
SONES just moved into the new place – and after having all the ordering done we’re now waiting for the delivery of the various bits and pieces of the new office.
To make it a little bit more SONESisch my wife and I decided to paint a 1,5m huge logo of the company on the wall that can be seen first when you walk in. So we went to the nearest hardware store and bought all the needed tools aaaaaaaand we found somebody who could mix the right shade of green to fit our company color.
Back at the office we started with placing the projector and the logo itself so we could draw the borders with a pencil on the wall.
When the borders where on the wall we started the masking tape attack! It was the first time that I had used masking tape but it everything went surprisingly good.
The last and final step is to paint it. So we got the paint, we got the rollers – and after half an hour:
The shades you’re seeing in the picture above are just because of the wet and already dry paint which has a slightly different shade. So after a bit of drying and the removal of the masking tape:
In my case it’s just partly do-it-yourself: Michael and Peter did the cable soldering and I wrote the software that controls the serial interface to the PMR sender/receiver.
My gateway is on PMR channel 5 with no CTCSS configured in the Campus area of the TU-Ilmenau. A gateway is only just a PMR radio connected to a PC which is logged into a Teamspeak server which is connected to several other gateways (citizen radio / PMR / …)
So if you talk within the range of my gateway you’ll be heard in more than 24 areas across germany over PMR and citizen radio.
One toolset which was particularly useful is the VU-Meter tools. You can use them to monitor your input/output ports and tune them for perfect modulation. You can get them here and they look like this:
Since the cable soldering was one piece of craftsmanship a picture of the radio and the cable:
If you want to connect from outside the range of the PMR you should go to the homepage of Freies Funknetz and get all the necessary information there.
Let’s say you’re like me: You got several audiobooks on CD over the years and you even ripped several of these to listen to them in your MP3 player/car.
So what I have is a number of audiobooks ripped as mp3s on my harddisk looking something like this:
If you only have the CD what you would like to do is rip the whole CD as ONE large m4a AAC encoded audiofile. We need it to be an m4a because we later want to inject chapter marks. If you have this big AAC file just skip the next few steps. But if you got those several small mp3 files – one for each chapter you want to merge them together and reencode them as m4a AAC.
There is a great free tool to merge these mp3 files together. It’s called (who would have thought) Merge MP3 and is available completely for free. It’ll create one big mp3 file out of your several small ones.
After you got that huge mp3 file you want to convert it into a m4a file with AAC encoding. I recommend using iTunes.
When you got that one huge m4a file you want to load it into a tool called Chapter Master. It’s not free and will set you back $15 but it’s worth as I did not find anything else that was a) that cheap b) that comfortable c) working.
Load the m4a file into Chapter Master, add the chapters in the right order and at the right time. Eventually you want to add an album art picture. Click save and you’re done.
The resulting file is a m4b file recognized by iTunes as an audiobook with chapters.
Source 1: http://www.shchuka.com/software/mergemp3
Source 2: http://www.rightword.com.au/products/chaptermaster/download.asp
Halloween is due in a few weeks and we had the time to cut our Jack-o-Lanterns today. After buying them last weekend at the “Kürbisfest Alterndorf” (see pictures of this at my wifes site) we decided to do 3 different ones this year.
So… here are the three Jack-o-Lanterns of this year:
and in the dark at the house entrance:
Source: Kürbisfest Altendorf at dreikiel.de
Someone built himself a (actually not working) modell of a V8 – infact if you click on the related videos in youTube you’ll find working ones… I never knew that this would be possible with lego…
Oh that is just a fantastic idea. One of the hobbies of my wife is photography and this cup would be just great as a christmas present:
Unfortunatly it’s not in production…just a concept.
“This is a road in Lancaster Ca. that makes music when you drive over it. It was created for a commercial and they designed harmonics in the asphalt to create the music when driven over. Apparently other countries have been doing it for awhile.”
Some weeks ago I came across those cool color changing LED lamps made by Philips in a hardware store. It’s a mood light with a remote control – you can even control up to 6 lamps with one remote… Oh I really do think that several of these would be great in the new office or at home.
It just looks cool 🙂 Gears that aren’t exactly circular and still work.
In May 2005 I wrote about a wish I had for years:
“As usual I’ve got a very strange wish what nobody else seems to have on this planet. I have several computers of different platforms. And on one of this machines there are speakers attached…I want to have the possibility to output from any of the machines to the speakers. And please loss-less and low latency!”
It took more than 3 years to fulfill this particular wish. But now it’s done. In 2005 I mentioned the Airfoil software that could run on MacOS X and forward sound from almost every application to an AirTunes compatible device. As it turns out Rogue Amoeba did their homework and created a free “Airfoil Speakers” application which can be used on Windows and MacOS X.
So the things are simple: Start the speaker application on a machine that is in the same network/subnet as the Airfoil master. The virtual speaker is then displayed on the master machine and you can assign a sound source from that machine to the speaker. Hmm… Simple Setup sample: One machine is in my kitchen (Windows XP machine) and one machine is on my desk – an iMac. In the kitchen only the speaker application is started and the iMac instantly “sees” the speaker. One click and the sound output of my desk machine is forwarded through the network to the kitchen… Easy and cool. One can think of any other combination of Speaker/Master application – even multiple speakers can be powered by one master…oh joy!
So here is what the master looks like:
and this is what it looks like on a client (speaker):
From the wiki about section:
“In Widelands, you are the regent of a small tribe. You start out with nothing but your headquarters, a kind of castle in which all your resources are stored. In the course of the game, you will build an ever growing settlement. Every member of your tribe will do his or her part to produce more resources – wood, food, iron, gold and more – to further this growth. But you are not alone in the world, and you will meet other tribes sooner or later. Some of them may be friendly and trade with you. However, if you want to rule the world, you will have to train soldiers and fight.
Widelands offers a unique style of play. For example, a system of roads plays the central role of your economy: all the goods that are harvested and processed by the tribe must be transported from one building to the next. This is done by carriers, and those carriers always walk along the roads. It is your job to lay out the roads as efficiently as possible.
Another refreshing aspect of the game is the way you command your tribe. There is no need to tell every single one of your subjects what to do – that would be impossible, because there can be thousands of them! Instead, all you’ve got to do is order them to build a building somewhere, and the builders will come. Similarly, whenever you want to attack an enemy, just place an order to attack one of their barracks, and your soldiers will march to fight. You’re really a ruler: You delegate in times of war and in times of peace!
Widelands offers single-player mode with different campaigns; the campaigns all tell storys of tribes or Empires and their struggle in the Widelands universe! However, settling really starts when you unite with friends over the Internet or LAN to build up new empires together – or to crush each other in the dusts of war. Widelands also offers an Artifical Intelligence to challenge you.
In the end, Widelands will be extensible, so that you can create your own type of tribe with their own sets of buildings. You can create new worlds to play in, and you could even create new types of worlds (who says you can’t build a settlement on the moon?). ”
Sometimes you’ll need the battery of your notebook last as long as possible – sometimes it’s speed that matters. With Windows Vista you can setup detailed power plans for each situation. But this options are a bit hidden under the surface.
For that matter the “Vista Battery Saver” is a tool that helps you to setup the important settings in just one window, with just one click. It even is aware of the power state of your machine – if it’s plugged in or now and so on.
It’s a free tool and you can even download it’s sourcecode. Give it a try if you’re on a mobile machine with Vista.
Oh boy that is cool! Ever since I read that article about Changing your colors in Visual Studio.NET I wanted to create my own theme but never had the time and creativity to do so. Now since there’s this cool generator website everyone can create their own Visual Studio Color Themes:
… build ourselves a case for the test machines with lego duplo blocks… like the founders of google did.
“It’d be hard to believe but yes, Sergey Brin and Larry Page made their first 40GB Google Storage Server with lego casing.”
If you’re using Windows and if you want to access those filesystems that are used by Linux you can use FUSE on Windows now.
“Filesystem in Userspace (FUSE) is a loadable kernel module for Unix-like computer operating systems, that allows non-privileged users to create their own file systems without editing the kernel code. This is achieved by running the file system code in user space, while the FUSE module only provides a “bridge” to the actual kernel interfaces. FUSE was officially merged into the mainstream Linux kernel tree in kernel version 2.6.14.
FUSE is particularly useful for writing virtual file systems. Unlike traditional filesystems, which essentially save data to and retrieve data from disk, virtual filesystems do not actually store data themselves. They act as a view or translation of an existing filesystem or storage device. In principle, any resource available to FUSE implementation can be exported as a file system. See Examples for some of the possible applications.” (Wikipedia)
There is a version of FUSE for Mac and of course for linux and now with coLinux there’s a chance to get the FUSE world onto the Windows machines.
“For our task we will use coLinux. coLinux is a modified linux kernel that can be executed as an application or a service in the Windows environment. The web page of the project is http://www.colinux.org/.”
You’ll find a very detailed how-to there.
Source 1: http://en.wikipedia.org/wiki/Filesystem_in_Userspace
Source 2: http://polishlinux.org/linux/ext3-reiserfs-xfs-in-windows-thanks-to-colinux/
Source 3: http://www.colinux.org/
If you ever wanted to sit on a real fast office chair… you probably want to consider buying one of these:
“Race Chairs brand office furniture is the perfect collection for the performance minded or motorsports obsessed individual. Our offerings are unique conversation pieces that give a subtle yet distinctive high tech atmosphere to any room.
Our chairs are made from the authentic high performance seats from exotic racecars such as Ferrari, Maserati, Lamborghini, and Porsche. From our unique connection to the motorsports world, we are able to acquire a unique and everchanging inventory. Our Carbonfiber desks are an industry first and our accessories collection and one-off motorsports memorabilia pieces truly complete the decor while acting as functional pieces in the room.”
It’s not cheap but it has style 🙂
It may come in handy some time to have this functionality available. Unfortunatly it does not support 64 Bits – on which I am mainly developing now – but it’s cool:
“NetAsm 1.0 is released. NetAsm provides a hook to the .NET JIT compiler and enables to inject your own native code in replacement of the default CLR JIT compilation. With this library, it is possible, at runtime, to inject x86 assembler code in CLR methods with the speed of a pure CLR method call and without the cost of Interop/PInvoke calls.”
- Runs on x86 32bit Microsoft .NET platform with 2.0+ CLR runtime (x64 may be supported in the future).
- Provides three different native code injection techniques: Static, DLL, and Dynamic.
- Static code injection: The native code is stored in an attribute of the method.
- Dll code injection : this method is similar to the DllImport mechanism but CLR methods are directly bind to the DLL function, without going through the interop layers.
- Dynamic code injection: you can generate native code dynamically with a callback interface that is called by the JIT when compilation of a method is occurring. It means that you can compile a method “on the fly”. You have also access to the IL code of the method being compiled.
- Supports for debugging static and dynamic code injection.
- Supports for different calling conventions: StdCall, FastCall, ThisCall, Cdecl. Default calling convention is CLRCall.
- NetAsm can be used inside any .NET language.
- Very small library <100Ko.
It seems that I missed that Augmented Reality Toolkit all the way until now. It’s ARToolKit and it’s completely OpenSource.
As a matter of fact there are a ton of demos available… HOW could I possibly miss that for so long?
“ARToolKit is a software library for building Augmented Reality (AR) applications. These are applications that involve the overlay of virtual imagery on the real world. For example, in the image to the right a three-dimensional virtual character appears standing on a real card. It can be seen by the user in the head set display they are wearing. When the user moves the card, the virtual character moves with it and appears attached to the real object.
One of the key difficulties in developing Augmented Reality applications is the problem of tracking the users viewpoint. In order to know from what viewpoint to draw the virtual imagery, the application needs to know where the user is looking in the real world.”
Here is a short video demonstration of what you could start with:
…not talking about the things that would be possible if someone had a great idea 🙂
a similar tool is available for Windows Server 2003 and now for 2008:
“Probably you are thinking at the moment: “Why the heck should I use Windows Server 2008 as my Workstations Operating System?? Vista works fine for me…”.
The answer is clear: Windows Server 2008 has almost exactly the same features as Windows Vista (SP1), but is remarkably faster and more stable!“
I cannot talk about the “more stable”-part since my Vista machines do not crash but if you’re one of those who just cannot live without the newest cutting-edge kernel version go ahead install Server 2008 and convert it into a useable workstation with Sound and stuff 🙂
You would need:
- an old yet powerful enough notebook to play MAME games
“MAME is an emulator application designed to recreate the hardware of arcade game systems in software, with the intent of preserving gaming history and preventing vintage games from being lost or forgotten. The name is an acronym for Multiple Arcade Machine Emulator.”
- an IKEA RAMVIK sideboard
- go to the homepage of the project to get the details how to build it 🙂
Oh yeah. I talked about these kinds of electronic whiteboards for years – and now it seems that there is a cheap and really useful DIY solution created by Johnny Chung Lee(beside several other really useful and astounding DIY jobs)
“Since the Wiimote can track sources of infrared (IR) light, you can track pens that have an IR led in the tip. By pointing a wiimote at a projection screen or LCD display, you can create very low-cost interactive whiteboards or tablet displays. Since the Wiimote can track upto 4 points, up to 4 pens can be used. It also works great with rear-projected displays.”
So you need:
- a Wiimote
- a selfmade Infrared-LED Pen that marks the trackable point
So namenlos (his blog) did his version of the Wii whiteboard and made a video of it:
Video: Wii Whiteboard
(due to music the license of this video is CC-BY-NC-SA)
Really impressive isn’t it? And you can do so much more with this Wiimote stuff. – Actually I am planning to get such a Wiimote and a Pen and try it myself.
The internet makes things possible some people dreamt of for years. One of these things is the possibility to stream live-voice-chat over the internet. Many people used the citizens’ band radio – CB radio – for the last decades:
“Citizens’ Band radio (CB) is, in many countries, a system of short-distance, simplex radio communications between individuals on a selection of 40 channels within the 27 MHz (11 meter) band. The CB radio service should not be confused with FRS, GMRS, MURS, or amateur (“ham”) radio. Similar personal radio services exist in other countries, with varying requirements for licensing and differing technical standards. In many countries, CB does not require a license and, unlike amateur radio, it may be used for business as well as personal communications.”
For several years now there is a group of people from virtually everywhere in germany who connect their CB radios to the internet – they link their “gateways” together using a software normally used by online gamers called “TeamSpeak”. All you have to do to take a look is to read this short how-to and follow the steps.
Here’s a sneak-peak at the current status of the server:
There’s even a livestream available (but sometimes not working):
It’s an underwater mosaic that is on the bottom of the pool and it just looks great… at least for us 🙂
Since we already got them this is not an option for us… but maybe for your wedding:
Since the good old mac mini is gone and a new mac arrived – and since I moved to a new place I think it’s time to share my current desktop with you:
If you want to know how it looked in the old place an 9 months ago take a look at the fourth part of this series.
You may – just like me – be curious about the things that might or might not be inside of the plastic housing of a SD card:
“CHDK is a firmware enhancement that operates on a number of Canon Cameras. CHDK gets loaded into your camera’s memory upon bootup (either manually or automatically). It provides additional functionality beyond that currently provided by the native camera firmware.
CHDK is not a permanent firmware upgrade: you decide how it is loaded (manually or automatically) and you can always easily remove it.”
- Save images in RAW format
- Ability to run “Scripts” to automate the camera
- Live histogram (RGB, blended, luminance and for each RGB channel)
- Zebra mode (blinking highlights and shadows to show over/under exposed areas)
- An “always on” full range Battery indicator
- Ability to turn off automatic dark-frame subtraction
- a higher compression movie mode, and double the maximum video file size
- exposure times as long as 65 seconds
- exposure times as little as 1/10,000 of a second
- ability to use the USB port for a remote trigger input
- a depth-of-field (DOF)-calculator
- File browser
- Text reader
- Some fun tools and games
Switcher is the name of the tool that is available since some months and if you ever used Flip3d in Windows Vista you maybe know what it means when I say: Switcher is the Flip3d that should have shipped with Vista.
There are several usability issues with Vistas built-in Flip3d, take a look:
First of all you just don’t see the content of the windows… then you don’t see their name… then… who came up with that layout?
Compare that to the UI of Switcher:
Neat, isn’t it? Try it, love it.
Maybe he’s just stupid…
“Apparently in Windows Vista, Microsoft still enforce and hard-limit (hard coded in tcpip.sys) the maximum simultaneous half-open (incomplete) outbound TCP connection attempts per second that the system can make, as in Windows XP SP2, in order to protect the system from being used by malicious programs, such as viruses and worms, to spread to uninfected computers, or to launch distributed denial of service attack (DDoS). When the limit is hit, in Event Viewer, there will be such an entry:”
How to fix that and the needed tools can be read and downloaded here.
Source: Patch for EventID 4226
“Our flagship product, the Disco Dance Floor Controller Board is capable of controlling up to 192 LEDs (with 4-bit intensity control) and 64 binary switches via a USB interface. Using the included source code, a refresh rate of 17 frames per second is easily achieved. With some environment specific modifications to the software, rates in excess of 30 frames per second may be achieved. Multiple boards may be connected together using USB hubs to control additional LEDs and switches.”
“an ungodly abomination, a EF 90-300 mm lens which is male to male filter coupled to a EF-S 18-55 lens …potential magnification is around 300 / 18 = ~16x (not taking into account non-full frame sensor, for which i am not sure how it would affect the result in the end)! granted at this mag the lens would be well over a foot long and need the subject to almost be almost _in_ the lens…total cost for me: $9 adaptor from e-bay (as i already had the lenses)”
While cleaning my keyboards the idea came up to actually use dvorak keyboard layout I wrote about more than a year ago.
After creating the “dovrak german type 2” keyboard layout file with Ukelele I am now slowly learning the new layout… quite hard after more than 16 years on QWERTZ/QWERTY…
Well… both Apple Keyboards are now dvorak-layouted… looks a bit strange when you’re only known to QWERTZ/QWERTY
If you like you can download the OS X keyboard layout here.
Source 1: dvorak article(german)
Source 2: http://en.wikipedia.org/wiki/Dvorak_Simplified_Key…
Source 3: Ukelele
Source 4: btk_Dvorak.zip (3,21 KB)
I had this very very annoying problem that Windows Vista since the July CTP refresh wasn’t able to connect to my home 802.1x certificate based wireless network. It just did not work as supposed…
But with the help of the RC1 Wi-Fi support specialists I got it working. If you run into the same problem, just do the following to solve it:
- delete all manual set-up profiles for your 802.1x wireless network (if there are any)
- download the Wireless Network Connection-evilgate.zip (,63 KB) and edit the included .xml file. You have to edit the SSIDs,…
- open a command prompt and run:
netsh wlan add profile “profile.xml” “Wireless Network Connection” all
- you have to change “profile.xml” to the filename of your .xml file and “Wireless Network Connection” to the name of your connection
Et voilá! A message should show up asking you for the certificate…
UPDATE: well you could also create a manual profile for your wireless network and export it to an xml file:
netsh wlan export profile “SSID”