Monkey, an Open Source High Performance Embedded Web Server

Some time ago, I mentioned 5 web servers (mathopd, thttpd, busybox httpd, boa and lighttpd) suitable for embedded systems (including those featuring no MMU processors) and low end machines. I’ve recently come across Monkey web server, a lightweight open source Web Server for Linux (2.6.29 or greater), which has been designed with focus in embedded devices. Monkey is currently supported on ARM, x86 and x64, although a quick analysis of the source code shows it forks, so it won’t be supported on processors that do not feature a memory management unit (MMU) without modifications. Monkey supports the following features: HTTP/1.1 compliant Virtual Hosts Asynchronous networking model (event-driven) Indented configuration Plugins Support C API Interface Other features through base plugins: SSL Security Log writter Directory Listing Shell: Command line The developers have benchmarked Monkey against busybox httpd and nginx on a now well-know ARMv6 platform: the Raspberry Pi. They used Siege […]

Migrating a WordPress Blog from Apache2 to Nginx

This blog is hosted on a Linode VPS with 512 MB RAM and running Ubuntu 11.10. Up until today, Apache2 was the web server, and it worked fine except sometimes, it reached connection and memory limits, and the blog would go offline for a short period of time, especially right after a new blog post. So this week-end, I decided to switch to nginx (pronounced engine-x) web server which is said to use less memory than Apache2. Let me know if something suddenly stopped working… nginx is a relatively recent web server, and the documentation on the web seems to become outdated pretty fast, so I’ve decided to document what I’ve done. The first thing I would recommend is to try it in your own local server first,  and make sure most things are working including plugins. Testing your WordPress blog with nginx in a local server I run Ubuntu […]

WM8850-MID Android 4.0 Tablet Unboxing and Review

I recently bought an Android 4.0 tablet with a 7″ capacitive touchscreen based on the new WonderMedia WM8850 processor (Cortex A9 + Mali-400). In my first post, I called this tablet UGoos UG-LMW70, but I just received a no brand package with nothing mentioning Ugoos or the model number UG-LMW70 anywhere. Android settings just show WW8850-mid for the model number. The tablet comes with a 5V power supply, a miniUSB to USB cable, a short miniUSB to USB female adapter, headphones and a user manual in English explaining how to use Android, but nothing about the tablet itself. The tablet has vol-/+ buttons and a power button (left side below), and a power jack, microSD slot, headphones jack, a USB host port, a mini HDMI port, a miniUSB port and a microphone (right to left). They did not include a mini HDMI to HDMI cable, so I did not try HDMI […]

Raspberry Pi Debian Wheezy Alpha, Bodhi Linux Alpha and Pwn, A Security Test Suite

I still haven’t received my Raspberry Pi board, but there have been a couple of interesting Raspberry Pi software news this week. Raspberry Pi Debian Wheezy “Alpha” This is an update to Raspberry Pi Debian  Squeeze 6.0, based on Wheezy (Debian 7.0) and the maintainer (Alex) is looking for volunteer to help test it and iron it out, before the Raspberry Pi foundation officially announce the distribution on its blog. This distribution comes will the following: * Scratch, Python, Midori etc as before * A configuration tool for common initial setup tasks (resize root partition, change keyboard layout) * omxplayer * USB drives auto mount * Lots more This is alpha quality, so you can’t expect it something very stable, but if you want to test drive it, you can download it via BitTorrent (447 MB). Sha1sum: bdad7f1c504e22f8d754028843abb9da4330107f. You can login with the following credentials: User: pi | password:raspberry Known […]

VWorks VLAB Powers Freescale Vybrid Virtual Platform

Back in March, Freescale announced their Vybrid solution featuring both a Cortex A5 processor and a Cortex M4 microcontroller, and they had prototypes running  an unnamed virtual platform in order to speed up software development and possibly have the software ready at the same time as the silicon is. Always looking to learn more, I studied and wrote about virtual hardware platforms such as Cadence Virtual System Platform, Wind River Simics Virtual  Platforms and the open source Imperas OVPsim simulator. It turns out Freescale does not use any of these solutions, but relies on VWorks VLAB instead, which still use the same standard (SystemC/TLM) as the virtual hardware solutions aforementioned. VWorks uploaded a demonstration of VLAB running a virtual platform for the Freescale Vybrid controller and showing how it can handle both ARM Cortex-A5 and Cortex-M4 cores. This demo of VLAB 1.7.0 is pretty interesting and showcases: Dual (virtual) display […]

199 USD Seeed Studio DSO Quad Open Source Oscilloscope

The DSO (Digital Storage Oscilloscope) Quad is a pocket size 4 channel digital oscilloscope for common electronic engineering tasks based on STM32F103VCT6 ARM cortex M3 MCU with a 3″ display. It can provide 72MS/s sampling rate with integrated FPGA and high speed ADC and an internal 2MB USB disk can be used to store waveform captures, user applications and to upgrade firmware. SeeedStudio DSO Quad is not exactly a new product (June 2011), but I was not aware of this type of low cost oscilloscopes until I come across a review today. Here are the key features of this tiny oscilloscope: Pocket size and light weight Two 72MS/s analog channels, plus two digital channels Signal Generator Auto Measurement Various Triggering Option Easy waveform storage Firmware upgrade User applications Open source and technical specifications: 2x Analog channel: [CH A]  [CH B] 2x Digital channel :   [CH C]  [CH D] Vertical […]

Detect Mobile Devices with WURFL in Websites and Mobile Apps

When designing a mobile application or webpage, you may want to know exactly to know what devices access your site or run your application for example to differentiate automatically between desktops, laptops, tablets and smartphones and provide a user interface which is appropriate for a given screen size. This can be achieved with WURFL (Wireless Universal Resource FiLe), a Device Description Repository (DDR). This software component maps HTTP Request headers to the profile of the HTTP client (Desktop, Mobile Device, Tablet, etc.) and provides a description of the capability of the device that made the request. WURFL repository is an xml file (wurfl.xml – Direct links to version 2.3.1:  wurfl-2.3.1.zip or wurfl-2.3.1.xml.tar) containing the definition of thousand of devices which can be access using the WURFL APIs.  Several large Internet companies such as Facebook and Google are using WURFL, and ScientiaMobile, the company behind WURFL, claims that it is the […]

Getting Started with MultiArch (armel / armhf) in Ubuntu

Until now, I used xapt and dpkg-cross to install cross libraries for armel, but since I’ve upgraded to Ubuntu 12.04, it appears to be broken. I’ve contacted Linaro about this issue, and the “cross-building” expert at Linaro (wookey) recommended me to use multiarch instead, as xapt/dpkg-cross will be eventually deprecated. He provided me an example showing how-to use multiarch to build Chromium. I’ve been looking for a “How-to multiarch”, but haven’t been able to find something really clear and simple, so I thought I would post it here. In the example, they used a chroot for cross-building, which is probably a good idea to avoid messing up with the system. It’s also possible multiarch is not 100% reliable, and I’ve read stories where people messed up their system when using multiarch with i386 (32-bit) and amd64 (64-bit). Preparing a chroot for cross-building I’ll use a 32-bit Ubuntu precise chroot, but […]

Exit mobile version
Youyeetoo X1 x86 SBC