[Cover art by Cyberpunk Portrait Generator API] For educators, it’s easy to perceive AI-tools as a threat or a tool that almost invites students to cheat. Not as easy, but still plausible, is an approach that integrates AI-tools into teaching. For a given task like “write a Python program that prints the first 100 prime […]
GPT – summarizing it cannot.

GPT-3, the third-generation Generative Pre-trained Transformer, is a neural network machine learning model trained using internet data to generate text. More often than not, however, I found that the T(ransformer) in GPT means “Transform into bullshit”. Recently, I put the Lenovo IdeaPad 1 through its paces trying to find out if it would be sufficient, to […]
Could there be an effective computer for students that are REALLY on a budget?

At some point during my last high school years, I caught the computer bug, and I couldn’t stay away from programmable devices. Late-afternoon bus rides back to the city, followed by 20-minute walks to the local university, finding an unlocked door, sneaking in, trying to look a little older, and finally finding an unattended terminal […]
Programming pyBox

Probably the easiest way to develop software for pyBox and iterate reasonably fast, is using the PyCharm IDE with the MicroPython plugin enabled. Create a new project, enable MircoPython and create three files: boot.py, main.py, and app.py. Remember, during the boot process, once the filesystem is mounted, boot.py is executed. Don’t do too crazy things […]
Tomcat

Installing Tomcat on macOS 13.x Ventura Apache Tomcat 10.1.8 implements specifications that are part of the Jakarta EE 10 platform. Please note that applications that ran on Tomcat 9 and earlier will not run on Tomcat 10 without changes. Java EE based applications designed for Tomcat 9 and earlier may be placed in the $CATALINA_BASE/webapps-javaee […]
Porting MicroPython to pyBox

The standard ESP32 MicroPython port gets built for a generic ESP32 board. Compared to a generic board, pyBox has more to offer, most of which is not supported out of the box. Some of these additional features like the blue LED (GPIO 13), are easily accessible. Others, like the display need support libraries that would […]
pyBox Specification

Smallest viable MicroPython Computer? Dallas Semiconductor, acquired by Maxim Integrated in 2002, was a company that designed and manufactured analog, digital, and mixed-signal semiconductors. They had also designed the TINI board, a 68-pin SIMM, approximately 103 mm wide, 32mm tall, and 10 mm thick. Uniquely, the TINI board ran Java programs, well Java byte-code, almost natively. […]
Installing Java on macOS 13 Ventura

For some time now, Java is not (pre-)installed anymore, let’s fix that. As I’m writing this, Java 19.0.1 is the latest version and Adoptium is one of the best places to find Prebuilt OpenJDK Binaries. Adoptium was known as AdoptOpenJDK, before the project was moved to the Eclipse Foundation. All available versions for supported platforms can be found here. […]
Introducing pyBox

Could there be a computer that is as nimble as it is useful, and still be fun and distinctly easy to program? pyBox, a small single-board computer, connected to a frugal 16×2 character display may be just that. pyBox is remarkably small, just about the size of a deck of cards, and also entirely transparent, […]
Micro Python on ESP8266 (HUZZAH ESP8266)

The ESP8266 is a low cost 80 MHz microcontroller with a full WiFi support. It can be found on several breakout boards, with Adafruit’s HUZZAH ESP8266 being one of the better ones. For about $10 you can own a small internet connected microcontroller that can be programmed in MicroPython. ESP8266 64 KB of instruction RAM […]
Installing Tomcat on macOS 12 Monterey

The Servlet 5.0 specification is out and Tomcat 10.0.x does support it. Time to dive into Tomcat 10. Prerequisite: Java Tomcat 10 requires Java version 8 or later and since OS X 10.7 Java is not (pre-)installed anymore. Let’s fix that by installing a Prebuilt OpenJDK Binary. Easy to follow details about how to install OpenJDK are […]
Onward to conversational applications

About 37%, or in numbers, 95 million U.S. adults have smart speakers in their homes. Half of them are daily active users. However, in the last two years, user growth has only been at 4%. (Smart Speaker Consumer Adoption Report Mach 2022) About 70% of surveyed businesses stated that voice-enabled digital assistant technology is critical […]
Installing Java on macOS 12 Monterey

For some time now, Java is not (pre-)installed anymore, let’s fix that. As I’m writing this, Java 17.0.3 is the latest LTS (Long Term Support) version and Adoptium is one of the best places to find Prebuilt OpenJDK Binaries. Adoptium was known as AdoptOpenJDK, before the project was moved to the Eclipse Foundation. All available versions for supported platforms […]
Conversational Interaction Conference 2022

I did something last week I hadn’t done for quite some time: I spoke at a conference in front of a live audience. I started speaking at conferences in 2002 after I had created the SwiXml open source project: Graphical User Interfaces were described in XML documents, parsed at runtime, and rendered into Java objects – Android […]
Installing Tomcat on macOS 11 Big Sur

The Servlet 4.0 specification is out and Tomcat 9.0.x does support it. Time to dive into Tomcat 9. Prerequisite: Java Since OS X 10.7 Java is not (pre-)installed anymore, let’s fix that by installing a Prebuilt OpenJDK Binary. Easy to follow details about how to install OpenJDK are available here. Anyway, after opening the Terminal app, java –version […]
Installing Java on macOS 11 Big Sur

Since OS X 10.7 Java is not (pre-)installed anymore, let’s fix that. As I’m writing this, Java 11.0.9 is the latest LTS (Long Term Support) version and AdoptOpenJDK is one of the best places to find Prebuilt OpenJDK Binaries. Easy to follow details about how to install OpenJDK are available here. However, the easiest way is to […]
One Lambda to rule them all

Whenever I got a new laptop or was (re-)installing macOS from scratch, a Java JDK, IntelliJ IDEA, and Tomcat, the “pure Java” HTTP web server environment, were always among the 1st things I installed. How times have changed. Now it’s Docker, Python3, PyCharm, and AWS and SAM CLIs that go on first. I still do […]
Tunneling Web and Git access through a remote VPN Client

This post is for the long tail since only a few will find it helpful, but for those it may just be the dramatic productivity booster they were looking for. Imagine a scenario where you have a dedicated machine on you local network and only that machine has a VPN client installed, which allows access […]
Cable Modem Signal Levels revisited

Fourteen years ago I wrote a blog post about the signal levels that come in and go out of your typical cable modem. Some things have changed some stayed the same. Let’s revisit this topic. The IP address to connect to a cable modem is still the same 192.168.100.1. These days, I’m still using a […]
Frictionless Speed / Zero Intent Skills

Teams had taken four runs down the 1,450 meter (almost 1 mile) long track, made of reinforced concrete, covered in ice. Still, their combined times were separated by less than a blink of an eye. The ice on the track varied, the colder and harder, the faster the sleds would go. A sled’s metal blades […]
Deploying Python AWS Lambda Functions

When it comes to deploying lambda function into AWS, I have been using mostly Java for the implementation language and runtime. However, using Python has some advantages, especially if the code does not require parallel threads. E.g., the deployment package is usually a lot smaller and waking the lambda function, after it hasn’t been used […]
Alicia vs Alexa

Democratizing the creation of delightful audible content Have you ever heard an interview with Alicia Keys? She spent most of her childhood in Hell’s Kitchen, one of New York City’s toughest neighborhoods. Experiencing how much emotion she’s putting into each word and her very deliberate expressive pronunciation means you cannot just casually listen but have to […]
Even or Odd – Lambda Edition

Very recently, I showed you one of the probably easiest ways, to host your very own Java-based web-service. Remember, we added providedCompile group: ‘javax.servlet’, name: ‘javax.servlet-api’, version: ‘4.0.1’ to the build.gradle file, implemented a WebServlet, and finally dropped a war file into Tomcat’s webapps directory. I know, you’ll have a hard time finding paying customers […]
Even or Odd

This is a quick demo, showing how to create a Java web-service in just a few minutes. I’m assuming you have Java and Tomcat already installed on you computer and use IntelliJ as your IDE, and gradle as your build-automation system. The simple task is to create a web-service that can answer if a provided […]
Installing Tomcat on macOS 10.15 Catalina

The Servlet 4.0 specification is out and Tomcat 9.0.x does support it. Time to dive into Tomcat 9. Prerequisite: Java Since OS X 10.7 Java is not (pre-)installed anymore, let’s fix that first. As I’m writing this, Java 11.0.1 is the latest version and AdoptOpenJDK is one of the best places to find Prebuilt OpenJDK Binaries. Easy to […]
A Universal Voice Browser

On September 25, Amazon released 80 new devices, some of which can be found here. Even for a company of its size, that is an impressive number and an even more impressive line-up. However, I think something much more profound happened a day earlier. On Tuesday, September 24, 2019, at 11:04 AM EDT, in a […]
From the Docks to the Gate

This is a story about a simple web-service that answers only one question: if a given number is prime. The core problem is first solved with a Java class, which is then wrapped into a WebServlet and tested within a web server environment. The web server, however, does not get directly installed, but a docker […]
Installing Java on macOS 10.15 Catalina

Since OS X 10.7 Java is not (pre-)installed anymore, let’s fix that. As I’m writing this, Java 11.0.4 is the latest version and AdoptOpenJDK is one of the best places to find Prebuilt OpenJDK Binaries. Easy to follow details about how to install OpenJDK are available here. However, the easiest way is to select OpenJDK 11 (LTS), […]
Raspberry Pi Zero W w/ Python 3

1GHz, single-core CPU 512MB RAM 802.11 b/g/n wireless LAN Bluetooth 4.1 Bluetooth Low Energy (BLE) Case The Raspberry Pi Zero W V1.1 by far not the most powerful, but my favorite Raspberry Pi board, because it’s so very most and still capable enough. After putting the tiny board, weighing only 9.3g / 0.3oz into a nice […]
Only speak when spoken to

It wasn’t Steve Jobs, but former Apple Computer CEO John Sculley, who in his book Odyssey: Pepsi to Apple, introduced us to the Knowledge Navigator, an astoundingly capable virtual assistant. Today, more than thirty years later, smart speakers are trying to implement at least some of the conversational concepts, envisioned in the Knowledge Navigator video, […]
Configuring multiple SSL certificates for a single Tomcat connector

Sometimes you may want the same Tomcat instance to respond to requests for more than just one hostname. For HTTP this can easily be accomplished, by mapping those hostnames to the same IP address, using the tools provided by your registrar. Supporting HTTPS for multiple hosts is more involved since the SSL certificates need to […]
Micro Python on ESP32 (HUZZAH32)
Adafruit’s HUZZAH32 Feather board is built with the official WROOM32 module: Two CPU cores that can be individually controlled, and the CPU clock frequency is adjustable from 80 MHz to 240 MHz 448 kB of ROM for booting and core functions. 520 kB of on-chip SRAM for data and instructions. 8 kB of SRAM in RTC, […]
Installing an SSL Certificate on Tomcat

If you have Tomcat installed on your Mac or Linux computer, like I have shown here and here, you may sooner or later want to serve content not only through HTTP, but also securely through HTTPS. Instead of going the self-signed certificate route, where the certificate is signed with its own private key, I’m describing […]
Emotion Lamp

The idea behind the Vocal-Emotion Lamp is rather simple: to use a small affordable computer that can continually recognize emotion from the human voice and then visualize the result of the analysis, effortlessly and enjoyably. The implementation of this idea uses the small and inexpensive Raspberry Pi computer, extended with a far-field microphone expansion board. The software that performs […]
Custom wakeup-words for an Android app

With most modern Android phones, just saying the phrase “OK Google” will launch the Google assistant app, which is capable of answering simple questions, or functioning as a app launcher. Following up with “open g mail” will launch the Gmail app on your phone, or saying “navigate home”, will open the Google Maps app, with […]
Serverless compute with Java, on AWS Lambda

Serverless computing is a cloud computing execution model, in which the cloud provider dynamically manages the allocation of machine resources. Serverless computing allows running applications and services, without thinking much about servers, runtime resources, or scaling issues. A very simple serverless computing application is intended to be used as a template project, a model, or starting […]
How to get conversational UI right

Cross-Post from my article on VentureBeat.com With the rise of AI, voice, and more generally language-driven technologies — like chatbots, Siri, and Amazon Echo — conversational user interfaces (CUI) have a chance of becoming the next major technology platform after mobile. The field of conversational UI holds a lot of promise in terms of how […]
SpeechTEK 2017, Washington, District Of Columbia

— The Einstein Memorial – National Academy of Sciences, 2101 Constitution Ave NW, Washington, DC 20418 “New uses of speech technologies are changing the way people interact with companies, devices, and each other. Speech frees users from keyboards and tiny screens and enables valuable, effective interactions in a variety of contexts.” Clearly focused, SpeechTek 2017 was intended […]
The Path to the CUI is Heavily Mined and Booby-Trapped

Cross-Post from my article in Chatbots Magazine The concept of the Conversational User Interface (CUI) is not really new. Wolfgang Wahlster of the German Research Center for AI, DFKI, wrote 12 years ago in his paper on Conversational User Interfaces: “Conversational user interfaces allow various natural communication modes like speech, gestures and facial expressions for […]
Conversational Interaction Conference

The CI-Conference is the successor of the Mobile Voice Conference, and like its predecessor, organized by Bill Meisel and AVIOS (Applied Voice Input Output Society). The two day conference (1/30-31) ran like clockwork at the Westin in San Jose, had a keynote, two keynote panels, and 26 sessions. What makes this conference unique, is how it balances academia and […]
AI World Conference

The AI World Conference and Expo took place from November 7th to 9th at the Parc 55 Hotel in San Francisco. DIGITAL ASSISTANTS AND BOTS William Meisel, Ph.D., president, TMA Associates, led a 1/2 day seminar and provided insights and analysis on how to determine, which applications are best used for Digital Assistants and Bots communicating […]
Debugging your Alexa Skill

Hosting a skill for the Amazon Alexa platform can be more or less involved, depending on the implementation language and hosting platform you pick. If you have some experience with the Java-Servlet life-cycle, then implementing a skill in Java, using Amazon’s Alexa-Skills-Kit library for Java, available in this Maven Repository and on Github, becomes an […]
Audio Routing and Recording

Originally, an iPod connected to your Mac, would show up in the Spotify app, allowing you to copy songs to the device and enjoy them later, when untethered. Not anymore. Fortunately, the analog loophole still exists; but admittedly, it’s a very inconvenient way to replicate the above mentioned lost functionality. Step1: Install the Soundflower kernel extension, which […]
The Conversational User Interface is a Minefield

Cross-Post from my article on Medium The path to an acceptable Conversational User Interface is heavily mined and booby-trapped. Let’s not fall into the IVR trap, but create a humanized and personalized user experience. [IVR – Interactive voice response is a technology that allows a computer to interact with humans through the use of voice […]
Hosting an Alexa Skill yourself

If experimenting with the Amazon Echo / Alexa Skill Kit or running a so-called Skill in production, you generally have two choices: AWS Lambda functions on AWS Lambda (a service offering by Amazon Web Services) Hosting the Web service yourself. If you decide against AWS Lambda, you can build the Web service, using Java Node anything […]
Working with files on an external USB Hard-Drive

I am the proud owner of an Apple Thunderbolt Display (2560×1440). It has an outstanding image quality, comes with built-in microphone, speakers, and autofocus FaceTime HD camera. – Btw, the camera does a rather poor job with the white balance and has a red tint, but becomes useable with a tool like iGlasses 3 – […]
Mobile Voice Conference 2016

The Applied Voice Input Output Society (AVIOS) and TMA Associates organize the annual Mobile Voice Conference, which this year took place at the Westin in San Jose, California on April 11 and 12. Recognizing that speech recognition, speech synthesis, as well as language interpretation has matured, the Mobile Voice Conference 2016 focused on Language User Interfaces and explored trends […]
Putting your Bot into Slack

It all began back in 1990, when Hugh Loebner initiated a contest, designed to implement the Turing Test. The Loebner Prize is an annual competition in artificial intelligence, where judges decide, which chatbot is the most human-like. The format of the competition is that of a standard Turing test. In each round, a human judge […]
SpeechTEK 2015 – New York City

This year, the annual SpeechTEK conference focused heavily on Virtual Agents and Advances in Biometrics. The conference took place at last year’s venue, the Marriott Marquis Hotel in New York City, but more noteworthy, this was the conference’s twenties anniversary. So I thought it was only appropriate, to put my conference talk “Bridging the Gap between […]
United States Patent 9,048,963

About four years ago, near field communication – NFC was a cool and still new technology. I had worked with static and dynamically generated NFC signals at HP’s print devision, with the intent to tell by-passing mobile phones, how to set up a Wifi connection, to quickly and conveniently send a print-job to the printer. At […]
Java 8, Tomcat 8, and Jersey on Mac OS X

A while back, I wrote a blog post on how to quickly develop and deploy a Web app in Java, using RestEasy on top of Tomcat. While this worked well, I never felt really comfortable with the rest-easy dependencies. Moreover, since I wanted a really lean web-app, manually extracting only the absolutely necessary jars from the rather […]
Installing Java 8 and Tomcat 8 on Debian Jessie or Raspbian or RedHat

Apache Tomcat is a Servlet/JSP container and version 8.0 implements the Servlet 3.1 and JavaServer Pages 2.3 specifications. Please note that Apache Tomcat 8.0 requires a Java Standard Edition Runtime Environment (JRE) version 7 or later. So we start with installing a recent version of Oracle’s JRE. Install Oracle JRE 8 on Debian Linux (or Raspbian) […]
Raspberry Pi – Translator

Recently, I described how to perform speech recognition on a Raspberry Pi, using the on device sphinxbase / pocketsphinx open source speech recognition toolkit. This approach works reasonably well, but with high accuracy, only for a relatively small dictionary of words. Like the article showed, pocketsphinx works great on a Raspberry Pi to do keyword […]
Android M(y Adventure)

At the I/O 2015 conference, Google announced Android M, gave developers access to a preview release to put on their Android Nexus devices, and released Android Studio 1.3, thereby allowing development for Android M. One of the highlights of Android M is the support for Fingerprint and Payment APIs; watch Maya Ben Ari, a product […]
Mobile Voice Conference 2015

The Applied Voice Input Output Society (AVIOS) and TMA Associates organize the annual Mobile Voice Conference, which this year took place at the Sainte Claire Hotel in San Jose, California on April 20 and 21. The Mobile Voice Conference examines the current state of speech recognition, speech synthesis, and natural language understanding technology, what it […]
Raspberry Pi 2 – Speech Recognition on device

This is a lengthy post and very dry, but it provides detailed instructions for how to build and install SphinxBase and PocketSphinx and how to generate a pronunciation dictionary and a language model, all so that speech recognition can be run directly on the Raspberry Pi, without network access. Don’t expect it to be as […]
Google Cloud Messages

In the new world of micro-services and micro-applications, push notifications are an important and sometimes even the exclusive way to get information to mobile/wearable applications. The term Micro Application is not fully established yet. I use it here to describe an application that is deployed on a mobile or wearable device with the purpose to […]
JSON Schema

JSON, the JavaScript Object Notation, has a somewhat misleading name, since it is used for data exchange in a lot of places that have nothing to do with JavaScript. It has become very common that web-services encode all sorts of payloads using JSON, which is then decoded on the receiving end, using libraries like Google’s gson, which […]
Listen2014 Conference

Listen 2014 was a short one-day conference, focusing on “Voice Interfaces for the Internet of Things” organized by Wit.ai Inc, the company that provides a WebService, making it easy for developers to build applications and devices that you can talk to. The conference took place on November 6. 2014 at the unique Bluxome Winery in […]
SpeechTEK 2014 – New York City

I was able to attend this year’s SpeechTek 2014 conference in New York City. Organized in four parallel tracks, the conference’s advanced technology track was devoted to topics like virtual agents, voice biometrics, natural language understanding, or speech technologies for smart devices. Bruce Balentine, @brucebalentine Chief Scientist at the Enterprise Integration Group, gave the keynote […]
Java 8, Tomcat 8, and RESTEasy on Mac OS X

The main idea for this blog post was using the Mac, for quickly developing and deploying a Web app in Java. I’m using RestEasy on top of Tomcat as my server platform and Intellij IDEA as my preferred IDE. Once the webapp has been built and tested locally, IDEA is also used for archiving the […]
Mobile Voice Conference 2014

The fourth annual Mobile Voice Conference took place at the Hyatt Fisherman’s Wharf, San Francisco, on March 3rd-5th, 2014. Opening the Mobile Voice Conference, Robert Weideman, GM and Executive VP at Nuance, stated in his keynote address that building an intelligent multichannel virtual assistant, delivering personalized customer service via a human-like conversational interface, built on […]
Prevent automounting volumes in OS X

f you have multiple hard drives connected to your Mac, or maybe you have multiple partitions on a single hard drive, by default, OS-X will mount all those volumes at boot time. In case you don’t want this to happen, and instead mount one only on-demand, when needed, maybe with Disk Utility, here is what […]
Start/Stop Script for Python Programs

For the last two years or so, I often find myself in the situation, where I need to quickly prototype a Web-service that is accessed by mobile applications. If successful, the service will eventually be hosted in Amazon’s AWS Elastic Compute Cloud, most likely in Red Hat Enterprise Linux 6 (EHEL 6) instance. Besides a […]
Open Text Summarizer

The open text summarizer is an open source command line tool for summarizing texts. The program reads a text and generates a summary. By default, the summarizer tries to reduce the text size down to 20%, for a this short text about python for instance, the summary would contain only the highlighted text. Python is […]
Lips don’t lie

To create a believable virtual agent or avatar, involves many dynamic tasks, one of which is to coordinate your character’s facial animation with a sound track. For a chat bot, a typical lip-sync process, may look something like this: Generate the voice track by synthesizing the text the bot needs to speak. Break down the voice track into […]
Chatbots 3.3 Conference

The Gathering The legends and current elites of AIML and Turing AI (not necessarily disjoint groups) met for their yearly gathering at Seed Philly, a Philadelphia tech startup incubator, located in the heart of Center City. The Chatbots 3.3 conference was a fast flowing event with exciting flash-talk style presentations, always followed by Q&A segments. The […]
E*Trade Mobile – Voice Commands

ETrade provides a great mobile app experience on iPhone, iPad, Android, Windows Phone, and Blackberry. I think it’s almost expected that the feature-set provided by the dedicated native mobile applications are not quite the same. The Windows version and especially the one for Blackberry fall far behind what ETrade has to offer on Android and […]
Sh!t We Like – TP-Link Nano Router TL-WR702N

Pack your own parachute and bring your own wireless router If you ever gave a talk or presentation that involved demonstrating software running on a wireless device, you probably remember some restlessness, approaching the venue. What would the Wifi conditions be? Would you be able to connect your device(s) to the Wifi network? Would the […]
The iRack

Functionality and design. Taken right to the edge. When we envisioned a new shelf, to provide a place for all your home network equipment, we landed on a remarkably elegant and stable design. But it’s nearly impossible to make a rack so stylish and so tall, without sacrificing strength or beauty. Creating the stunningly tall design […]
Grand Slam

A Grand Slam in Baseball, is a home run hit, when each of the three bases is occupied by a runner, thus scoring four runs. The Grand Slam of Ultra-running is recognition for those who complete in four of the oldest 100 mile trail runs in the U.S. And in Tennis, the Grand Slam describes […]
Extended list of 8-bit AVR Micro-Controllers, easily programmable with the Arduino IDE

A couple days back, I wrote about ‘The $3 Arduino‘, how to leave the Arduino board behind and program an ATmega168 Micro-Controller directly, still using the Arduino IDE but with the AVRMSPII programmer. Of course, the ATmega168 isn’t the only MC available for something like that. In fact, I have quite a few 8-bit AVR […]
The $3 Arduino

Buying and using an official Arduino Board like the standard Arduino Uno is the perfect way to get started with the Arduino language, common electronic components, or your own embedded prototyping project. However, once you have mastered the initial challenges and have built some projects, the Arduino Board can get in the way. For instance, […]
The iLift

Creating an entirely new design meant inventing entirely new technology When we envisioned the new stand for MacBook, we landed on a remarkably elegant and stable design. But it’s nearly impossible to make a device so stylish and so firm, without sacrificing features or beauty. We could have taken the easy way out and designed […]
Streaming Your Webcam w/ Raspberry Pi

[Last updated on Feb. 2. 2013 for (2012-12-16-wheezy-raspbian) Kernel Version 3.2.27+] Three years ago, we bought two small Webcams and since we wanted to use them on Linux and OS X, we went with the UVC and Mac compatible Creative LIVE! CAM Video IM Ultra. This Webcam (Model VF0415) has a high-resolution sensor that lets […]
Accessing Raspberry Pi via Serial

Using a serial connection to connect to a Raspbery Pi has many advantages. The boot process (Kernel boot messages go to the UART at 115,200 bit/s) can be monitored, without the need to hookup an HDMI-Monitor. Once booted, you can of course login through a serial terminal as well, i.e. the serial connection allows logging-in […]
Tiny WiFi Adapter for Raspberry Pi

[Updated on Feb. 2. 2013 for (2012-12-16-wheezy-raspbian) Kernel Version 3.2.27+] The extremely small EW-7811Un USB wireless adapter looks like the perfect WiFi adapter for the Raspberry Pi. Not only is it tiny and relatively inexpensive, it also seems capable enough to be a great companion device for the Raspi. While elinux still shows that some users […]
Raspberry Pi – Where to start?

At its core, the Raspberry Pi uses the Broadcom BCM2835 System-on-a-chip. This single chip contains an ARM1176 CPU (normally clocked at 700MHz) a VideoCore 4 GPU, i.e. a low-power mobile multimedia processor (also used in the Roku-2) 256 MByte SDRAM in addition to the ARM’s MMU, a second coarse-grained Memory Management Unit for mapping ARM physical addresses […]
Android and OCR

I’m still remembering it well, the first piece of software I wrote when I came to the US was a de-skewing algorithm. Deskewing an image helps a lot, if you want to do OCR, OMR, barcode detect, or just improve the readability of scanned images. At the time, I was working for a small software […]
Running Errands with Google Wallet

Running errands with Google Wallet in San Diego’s Carmel Valley / Rancho Bernardo area (92128 / 92129 / 92130) Tap & Go a.k.a PayPass, is a new simple way of paying. PayPass is a payment method that lets you make purchases without having to swipe your card or provide your signature. A simple tap with […]
Photo Printing on Android

I always find it interesting to watch the 4x100m Sprint Relay at the Olympics and Track and Field Championships. It’s the fastest and most technically difficult of all the relays. Demonstrating true synergy, a well executed relay transports the baton around the track faster than the sum of the individual personal best 100m times. Synergy […]
Being at home, even when you are not

Virtual Private Network Being born and raised in Germany, most of my extended family lives over there and even after all these years, a simple phone call easily reconnects me with family and friends. Almost like a secret handshake, dialing a number and hearing each others voice makes me part of their networkover there. With a […]
Arduino Pt.4

Doubling the Arduino Flash Memory once again Times really flys when you’re having fun – it has been more two years since I posted this journal entry about how to double the Arduino board’s Flash memory by replacing the ATmega8 with an ATmega168 microcontroller. Lots has changed since then, e.g. the Arduino project now includes several board designs […]
Protect your online privacy when on the road
Using your Home Router as a Secure Socket Proxy f you use your Laptop computer at the local coffee shop, in a hotel while traveling, or at any location where you expect your online privacyat risk, you may want to consider some extra steps to protect your electronic mail and Web browsing behavior from those nosy […]
Formatting a USB Flash-Drive for OS X

Since a while back, I’m using a tool to store all my passwords, website logins, program serial numbers etc. all RC4-encrypted and password-protected. Currently, the password tool (Pastor) and the data file are located on my Power Mac G5, which of course is a problem when I need to lookup a password when away from […]
Arduino Pt.3

ATmega 8 / 168 internal clock and fuse settings Considering the already low price of the Arduino board, building an Arduino-like board yourself probably doesn’t save you any money but is certainly a fun and education project to do. I tried to make the simple board even simpler, by using a Serial instead of an USB […]
Arduino Pt.2

I have been playing with Arduino for one week now and really enjoyed the simplicity with which Wiring allows access to I/O ports. The comprehensible but mandatory structure of a program works really well as long as things are kept simple, while somewhat more advanced programs could certainly benefit from access to interrupts. However, before making things […]
Arduino Pt.1

Taking advantage of strong disagreements inside Germany, the Italian feudatories rebelled and, in 1002, elected Arduino, Marquess of Ivrea, king of Italy. He distinguished himself particularly because of his fights against the Bishop of Ivrea. Today, Arduino distinguishes itself in price, capability, openness, and ease of use – but first things first. Arduino is an open-source computing […]
Data Transfer Speeds Compared

When it comes to file transfer over your local area network, Wifi and Bluetooth win hands down, when only “coolness” is considered. Obviously, the laptops at my house share files using their built-in Airport Extreme cards, but all other computers are connected through a“legacy” 100 Mbit Ethernet Switch (DLink DSS5+) and that is also the case […]
Cable Modem Signal Levels

If you have a router to connect multiple computers to your high-speed Broadband Internet connection, your certainly have configured the router’s DHCP and NAT settings, using a networked computer’s Web Browser. On a LinkSys router for instance, this is done by browsing to http://192.168.1.1. You can also use your Web browser to find out how good your […]
How to remotely access a Mac behind a corporate firewall

Accessing your Mac remotely isn’t really that difficult, if it weren’t for your resident IT-Department. You could simply open System Preferences / Sharing, enable ARD (Apple Remote Desktop) and check the VNC viewer checkbox. By doing so, your Mac starts listing on port 5900 and you could access it via any VNC viewer, like Chicken of the VNC (for […]
JavaOne SwiXML presentation online

Finally, Sun posted PDF formatted session documentation of all JavaOne 2005 sessions here: http://developers.sun.com/learning/javaoneonline/2005/ Even if you went to JavaOne, you probably missed Hans Muller’s Defining Swing GUIs Declaratively session and his take on Swixml. The PDF version of his slides is now available here:
How private are private fields after all?

Last week, I sent the following brain teaser: public class Foo { private int secret = 47; public Foo() { new Hacker().hack(this); } public String tellSecret() { return String.valueOf(secret); } public static void main(String[] args) { System.out.println(”How secret are private members? ..”); System.out.println(”Psst: ” + new Foo().tellSecret(); } } Can you write a void hack(Object […]
Podcasting and the law of conservation of modularity

Flying to Sunnyvale, meeting up with developer peers is fun, wouldn’t there be the flight. Seems like I’m unable to have an ordinary uneventful trip and it wasn’t any different this time around. Due to a deadly traffic accident on the I5, driving the 30 miles from Carlsbad to airport in San Diego took me […]
Code Inspection

I recently got the chance to participate in another code inspection, in which among other things, the following line of code was heavily criticized for using String concatenation on constants and not using a StringBuffer object for the string operation in general. FindFile.FindFileInClasspath( kPropFilePrefix + “*”+ kPropFileSuffix + kKeyProperties, vPropFiles ); This is from a J2EE […]