Main Content RSS FeedRecent Articles

Open Source Android Web Server »

i-jetty

i-jetty is a port of the popular Jetty open-source web container to run on the Android mobile device platform.Having a "personal" webserver on your phone opens up a world of possibilities, letting you run your favourite existing webapps in your mobile environment.

Moreover, as webapps developed for i-jetty have access to the Android API, this means that you can bring the contents of your mobile phone to your normal desktop browser.

 

image

 

PageKite

PageKite is a protocol for dynamic, tunneled reverse proxying of arbitrary TCP byte streams. It is particularly well suited for making a HTTP server on a device without a public IP address visible to the wider Internet, but can also be used for a variety of other things, including SSH access.

 

Miniature JWS

The Miniature Java Web Server is built as a servlet container with HTTPD servlet providing standard Web server functionality. The server is pretty small as in Java code as in result byte code. General purpose of the Web server is running and debugging servlets. However, it can be used as a regular web server for sites with low to medium load. I found also very convenient shipping a servlet based product packaging with the server, so a user can start a product just after unwrapping. You can try a web site hosted on this server on Amazon EC2. This web server also works on PDA and smart phones as Android and Blackberry based, or on Windows CE based when JVM installed. It gives additional flexibility for your phone, since using WebFolder (WebBee web app) can simplify file synchronization and provide control of your phone from web.

 

image

 

android-webserver

android-webserver – Smallest android webserver. Server understands "GET"-Requests and can handle ASCII and BINARY files. Works only when connected to a wifi-network.

image

JavaCV: OpenCV Java Interface »

JavaCV first provides wrappers to commonly used libraries by researchers in the field of computer vision: OpenCV, FFmpeg, libdc1394, PGR FlyCapture, OpenKinect, videoInput, and ARToolKitPlus. The classes found under the com.googlecode.javacv.cpp package namespace expose their complete APIs. Moreover, utility classes make their functionality easier to use on the Java platform, including Android.

JavaCV also comes with hardware accelerated full-screen image display (CanvasFrame and GLCanvasFrame), easy-to-use methods to execute code in parallel on multiple cores (Parallel), user-friendly geometric and color calibration of cameras and projectors (GeometricCalibrator,ProCamGeometricCalibrator, ProCamColorCalibrator), detection and matching of feature points (ObjectFinder), a set of classes that implement direct image alignment of projector-camera systems (mainly GNImageAligner, ProjectiveTransformer, ProjectiveColorTransformer, ProCamTransformer, and ReflectanceInitializer), a blob analysis package (Blobs), as well as miscellaneous functionality in the JavaCV class. Some of these classes also have an OpenCL and OpenGL counterpart, their names ending withCL or starting with GL, i.e.: JavaCVCL, GLCanvasFrame, etc.

Open Source Internet Phone »

Linphone is an internet phone or Voice Over IP phone (VoIP).

  • With linphone you can communicate freely with people over the internet, with voice, video, and text instant messaging.
  • Linphone makes use of the SIP protocol , an open standard for internet telephony. You can use Linphone with any SIP VoIP operator, including our free SIP audio/video service.
  • linphone is free-software (or open-source), you can download and redistribute it freely.
  • Linphone is available for desktop computers: Linux, Windows, MacOSX, and for mobile phones: Android, iPhone, Blackberry.
Signaling
  • SIP user agent compliant with RFC3261
  • SIP/UDP, SIP/TCP, SIP/TLS
  • Supports IPv6
  • Digest authentication
  • Supports multiple calls simultaneously with call management features: hold on with music, resume, transfer…
  • Multiple SIP proxy support: registrar, proxies, outbound proxies
  • Text instant messaging with delivery notification 
  • Presence using the SIMPLE standard in peer to peer mode
  • DTMF (telephone tones) support using SIP INFO or RFC2833
Media
  • Audio with the following codecs: speex (narrow band and wideband), G711 (ulaw,alaw), GSM, G722. Through additionals plugins, it also supports AMR-NB, SILK, G729 and iLBC.
  • Video with codecs: VP8 (WebM), H263, H263-1998, MPEG4, theora and H264 (thanks to a plugin based on x264), with resolutions from QCIF(176×144) to SVGA(800×600) provided that network bandwidth and cpu power are sufficient.
  • Audio conferencing
  • Supports SRTP and zRTP (encryption of voice and video)
  • ICE support (RFC5246) to allow peer to peer audio & video connections without media relay server
  • Supports any webcam with a V4L or V4L2 driver under linux and Directshow driver on windows
  • Acoustic echo cancelation using the great echo canceller available in libspeexdsp (works not only with speex codec of course)
  • Efficient bandwidth management: the bandwidth limitations are signaled using SDP (b=AS…), resulting in audio and video session established with bitrates that fits the user’s network capabilities.
  • Low bandwidth mode: make audio calls over EDGE
  • Adaptive audio & video bitrate algorithm to adapt to available network bandwidth.
  • Sound backends: 
    • Linux: ALSA, OSS, PulseAudio
    • Windows: waveapi
    • MacOSX: HAL Audio Unit
    • iPhone: VoiceProcessing AudioUnit with built-in echo cancellation
    • Android sound system
    • JSR135 on BlackBerryCan use plugins: to add new codecs, or new core functionalities, such as remote directory search of sip addresses for example.

image

Apache Cordova–Mobile Application Framework »

Apache Cordova is a set of device APIs that allow a mobile app developer to access native device function such as the camera or accelerometer from JavaScript. Combined with a UI framework such as jQuery Mobile or Dojo Mobile or Sencha Touch, this allows a smartphone app to be developed with just HTML, CSS, and JavaScript.

When using the Cordova APIs, an app can be built without any native code (Java, Objective-C, etc) from the app developer. Instead, web technologies are used, and they are hosted in the app itself locally (generally not on a remote http server).

And because these JavaScript APIs are consistent across multiple device platforms and built on web standards, the app should be portable to other device platforms with minimal to no changes.

Apps using Cordova are still packaged as apps using the platform SDKs, and can be made available for installation from each device’s app store.

Cordova provides a set of uniform JavaScript libraries that can be invoked, with device-specific native backing code for those JavaScript libraries. Cordova is available for the following platforms: iOS, Android, Blackberry, Windows Phone, Palm WebOS, Bada, and Symbian.

Open Source Compression Library »

Zopfli Compression Algorithm is a new zlib (gzip, deflate) compatible compressor. This compressor takes more time (~100x slower), but compresses around 5% better than zlib and better than any other zlib-compatible compressor we have found.

XINU Operating System »

XINU stands for Xinu Is Not Unix — although it shares concepts and even names with Unix, the internal design differs completely. Xinu is a small, elegant operating system that supports dynamic process creation, dynamic memory allocation, network communication, local and remote file systems, a shell, and device-independent I/O functions. The small size makes Xinu suitable for embedded environments.

The Xinu lab located in the Computer Science Department at Purdue University is used for both teaching and research. The lab is divided into a set of front-end machines (standard workstations running Linux) and a set of back-end machines (machines that are only used to download and test code). Each of the back-end machines has three connections: a connection to an Ethernet switch that provides access to the Internet, a connection to a rebooter device that can reboot the machine when needed, and a connection from the console serial port to a multiplexer. Software in the lab automates back-end allocation, download, and console interaction, making it easy for a student to compile an operating system image, allocate an unused back-end, establish a window that connects to the back-end console port, download the compiled image into the memory of the back-end, and run the image. The lab makes it easy for students to experiment with operating systems and protocol software.

Open Source Video Editor »

Avidemux is a free video editor designed for simple cutting, filtering and encoding tasks. It supports many file types, including AVI, DVD compatible MPEG files, MP4 and ASF, using a variety of codecs. Tasks can be automated using projects, job queue and powerful scripting capabilities.

Avidemux is available for Linux, BSD, Mac OS X and Microsoft Windows under the GNU GPL license.

image

Open Source Recording and Live Streaming Software »

Open Broadcaster Software is free and open source software for recording and live streaming. Source code is available to everyone to contribute and improve. Both 32 and 64 bit versions are available and it’s absolutely free!

OBS has an API allowing developers to create their own unique plugins, giving them and others complete control of their streaming experience.

Android Network Spoofer »

Network Spoofer lets you change websites on other people’s computers – from your phone.

Network Spoofer runs on Android devices with the following requirements:

  • Which are rooted (‘su’).
  • Have an SD card (or internal storage) with >450MB spare space.
  • Which has Wifi

The first can be obtained by using a custom firmware such as CyanogenMod. Alternatively search on the internet for instructions on how to root your phone.

Currently Network Spoofer has been thoroughly tested on these devices:

  • Samsung Galaxy Nexus
  • HTC Nexus One
  • T-Mobile G1

It is reported working on these devices, as well as working on most other devices:

  • LG Optimus 2x
  • Huawei u8150d
  • HTC Hero
  • Droid Bionic
  • Samsung Galaxy S / S II
  • Samsung Infuse 4G

However, Network Spoofer doesn’t currently work with:

  • Droid / Droid 2 / Droid X
  • Motorola Atrix

Open Source C# DirectX API »

SharpDX is an open-source project delivering the full DirectX API under the .Net platform, allowing the development of high performance game, 2D and 3D graphics rendering as well as realtime sound application.

SharpDX is built with a custom tool called SharpGen able to generate automatically a .NET API directly from the DirectX SDK headers, thus allowing a tight mapping with the native API while taking advantages of the great strength of the .Net ecosystem.

SharpDX is fully supporting all Windows platforms including latest Windows 8 Metro and Windows Phone 8. Easily develop multimedia applications for desktop, WinRT and Windows Phone with the same API!

  • SharpDX is providing the latest DirectX and Multimedia API to .Net with true AnyCpu assemblies, running on .Net and Mono. SharpDX provides also a high level Graphics API called the Toolkit.
  • SharpDX is ready for next generation DirectX 11.1 API, Windows 8 and Windows Phone 8 Platform. You can start to develop DirectX certified Metro style App in C# under Win8
  • SharpDX is the fastest managed DirectX implementation (link)

CD/DVD/HD DVD/Blu-Ray Burning Application »

ImgBurn is a lightweight CD / DVD / HD DVD / Blu-ray burning application that everyone should have in their toolkit!

It has several ‘Modes’, each one for performing a different task:

  • Read – Read a disc to an image file
  • Build – Create an image file from files on your computer or network – or you can write the files directly to a disc
  • Write – Write an image file to a disc
  • Verify – Check a disc is 100% readable. Optionally, you can also have ImgBurn compare it against a given image file to ensure the actual data is correct
  • Discovery – Put your drive / media to the test! Used in combination with DVDInfoPro, you can check the quality of the burns your drive is producing

ImgBurn supports a wide range of image file formats – including BIN, CCD, CDI, CUE, DI, DVD, GI, IMG, ISO, MDS, NRG and PDI.

It can burn Audio CD’s from any file type supported via DirectShow / ACM – including AAC, APE, FLAC, M4A, MP3, MP4, MPC, OGG, PCM, WAV, WMA and WV.

You can use it to build DVD Video discs (from a VIDEO_TS folder), HD DVD Video discs (from a HVDVD_TS folder) and Blu-ray Video discs (from a BDAV / BDMV folder) with ease.

It supports Unicode folder/file names, so you shouldn’t run in to any problems if you’re using an international character set.

ImgBurn supports all the Microsoft Windows OS’s – Windows 95, Windows 98, Windows Me, Windows NT4, Windows 2000, Windows XP, Windows 2003, Windows Vista, Windows 2008, Windows 7 and Windows 8 (including all the 64-bit versions). If you use Wine, it should also run on Linux and other x86-based Unixes.

It’s a very flexible application with several advanced features that are often lacking in other tools, especially when it comes to burning DVD Video discs. It supports all the latest drives without the need for updates (including booktype / bitsetting / advanced settings on many of the major ones – i.e. BenQ, LiteOn, LG, NEC, Optiarc, Pioneer, Plextor, Samsung, Sony).

There is an image queue system for when you’re burning several images (which you can automatically share between multiple drives if you have more than one) and an easy-to-use layer break selection screen for double layer DVD Video jobs. The Automatic Write Speed feature allows you store your favourite burn speed settings on a per ‘Media ID’ basis, right down to a drive by drive level. Data captured during the burn (write speed, buffer levels etc) can be displayed / analysed using DVDInfoPro.

Open Source Ebook Library Management–Calibre »

calibre is a free and open source e-book library management application developed by users of e-books for users of e-books. It has a cornucopia of features divided into the following main categories:

  • Library Management
  • E-book conversion
  • Syncing to e-book reader devices
  • Downloading news from the web and converting it into e-book form
  • Comprehensive e-book viewer
  • Content server for online access to your book collection

image

BDD in .NET »

SpecFlow aims at bridging the communication gap between domain experts and developers by binding business readable behavior specifications and examples to the underlying implementation.

SpecFlow also supports the concepts of Acceptance Test Driven Development (ATDD) and Behavior Driven Development (BDD), which are often used synonymously with Specification-By-Example.

SpecFlow is open source and provided under a BSD license. As a part of the Cucumber family, SpecFlow uses the official Gherkin parser and provides integration to the .NET framework, Silverlight, Windows Phone and Mono.

image

Storm–Distributed Real-time Computation System »

Storm is a free and open source distributed real-time computation system. Storm makes it easy to reliably process unbounded streams of data, doing for real-time processing what Hadoop did for batch processing. Storm is simple, can be used with any programming language, and is a lot of fun to use!

Storm has many use cases: real-time analytics, online machine learning, continuous computation, distributed RPC, ETL, and more. Storm is fast: a benchmark clocked it at over a million tuples processed per second per node. It is scalable, fault-tolerant, guarantees your data will be processed, and is easy to set up and operate.

Storm integrates with the queuing and database technologies you already use. A Storm topology consumes streams of data and processes those streams in arbitrarily complex ways, repartitioning the streams between each stage of the computation however needed. Read more in the tutorial.

image

Web Services Mocking Library »

WireMock is a flexible library for stubbing and mocking web services. Unlike general purpose mocking tools it works by creating an actual HTTP server that your code under test can connect to as it would a real web service.

It supports HTTP response stubbing, request verification, proxy/intercept, record/playback of stubs and fault injection, and can be used from within a unit test or deployed into a test environment.

Although it’s written in Java, there’s also a JSON API so you can use it with pretty much any language out there.

Some scenarios you might want to consider WireMock for:

  • Testing mobile apps that depend on third-party REST APIs
  • Creating quick prototypes of your APIs
  • Injecting otherwise hard-to-create errors in 3rd party services
  • Any unit testing of code that depends on a web service

Open Source Binary Serialization Library »

MessagePack is an efficient binary serialization format. It lets you exchange data among multiple languages like JSON but it’s faster and smaller. For example, small integers (like flags or error code) are encoded into a single byte, and typical short strings only require an extra byte in addition to the strings themselves.

If you ever wished to use JSON for convenience (storing an image with metadata) but could not for technical reasons (encoding, size, speed…), MessagePack is a perfect replacement.

In Java,

   1: import org.msgpack.MessagePack;

   2:  

   3: MessagePack msgpack = new MessagePack();

   4: byte[] bytes = msgpack.write(object);

   5: MyClass object = msgpack.read(bytes, MyClass.class);

In C#,

   1: using MsgPack.Serialization;

   2:  

   3: var serializer = MessagePackSerializer.Create<Foo>();

   4: serializer.Pack(foo, stream);

   5: stream.Position = 0;

   6: var value = serializer.Unpack(stream);

.NET Hardware Platform–.NET Gadgeteer »

.NET Gadgeteer is a platform for creating your own electronic devices using a wide variety of hardware modules and a powerful programming environment.

Even someone with little or no electronics background can build devices made up of components like sensors, lights, switches, displays, communications modules, motor controllers, and much more. Just pick your components, plug them into a mainboard and program the way they work together. .NET Gadgeteer uses the .NET Micro Framework to make writing code for your device as easy as writing a desktop, Web or Windows Phone application.

If you’re interested in building .NET Gadgeteer hardware, you can find hardware interface specifications and core libraries at http://gadgeteer.codeplex.com. A variety of hardware vendors are building components for .NET Gadgeteer, so you’ll have a huge assortment of modules to choose from.

A .NET Gadgeteer system is composed of a mainboard containing an embedded processor and a variety of modules which connect to the mainboard through a simple plug-and-play interface. There are lots of .NET Gadgeteer modules available today, including: display, camera, networking, storage and a variety of sensors and input controls. New modules are being designed all the time!

The .NET Gadgeteer mainboard’s sockets are numbered, and each is also labeled with one or more letters which indicate which modules can be plugged into it:

image

Free DVD Authoring Application »

DVDStyler is a cross-platform free DVD authoring application for the creation of professional-looking DVDs. It allows not only burning of video files on DVD that can be played practically on any standalone DVD player, but also creation of individually designed DVD menus. It is Open Source Software and is completely free.

Features

  • create and burn DVD video with interactive menus
  • design your own DVD menu or select one from the list of ready to use menu templates v1.8.0
  • create photo slideshow
  • add multiple subtitle and audio tracks
  • support of AVI, MOV, MP4, MPEG, OGG, WMV and other file formats
  • support of MPEG-2, MPEG-4, DivX, Xvid, MP2, MP3, AC-3 and other audio and video formats
  • support of multi-core processor
  • use MPEG and VOB files without reencoding, see FAQ
  • put files with different audio/video format on one DVD (support of titleset)
  • user-friendly interface with support of drag & drop
  • flexible menu creation on the basis of scalable vector graphic
  • import of image file for background
  • place buttons, text, images and other graphic objects anywhere on the menu screen
  • change the font/color and other parameters of buttons and graphic objects
  • scale any button or graphic object
  • copy any menu object or whole menu
  • customize navigation using DVD scripting

image

MP4Joiner »

MP4Joiner is a cross-platform free application that allows join multiple MP4 files into one without reencoding and without quality loss. It is Open Source Software and is completely free.

image

ROS: Operating System for Robots »

ROS is an open-source, meta-operating system for your robot. It provides the services you would expect from an operating system, including hardware abstraction, low-level device control, implementation of commonly-used functionality, message-passing between processes, and package management. It also provides tools and libraries for obtaining, building, writing, and running code across multiple computers. ROS is similar in some respects to ‘robot frameworks,’ such as Player, YARP, Orocos, CARMEN, Orca, MOOS, and Microsoft Robotics Studio.

The ROS runtime "graph" is a peer-to-peer network of processes that are loosely coupled using the ROS communication infrastructure. ROS implements several different styles of communication, including synchronous RPC-style communication over services, asynchronous streaming of data over topics, and storage of data on a Parameter Server. These are explained in greater detail in our Conceptual Overview.

ROS is not a real-time framework, though it is possible to integrate ROS with real-time code. The Willow Garage PR2 robot uses a system called pr2_etherCAT, which transports ROS messages in and out of a real-time process. ROS also has seamless integration with the Orocos Real-time Toolkit.