By admin on Nov 30, 2013 in open source | 0 Comments
An asynchronous callback-based Http client for Android built on top of Apache’s HttpClient libraries. All requests are made outside of your app’s main UI thread, but any callback logic will be executed on the same thread as the callback was created using Android’s Handler message passing.
- Make asynchronous HTTP requests, handle responses in anonymous callbacks
- HTTP requests happen outside the UI thread
- Requests use a threadpool to cap concurrent resource usage
- GET/POST params builder (RequestParams)
- Multipart file uploads with no additional third party libraries
- Tiny size overhead to your application, only 25kb for everything
- Automatic smart request retries optimized for spotty mobile connections
- Automatic gzip response decoding support for super-fast requests
- Binary file (images etc) downloading with
- Built-in response parsing into JSON with
- Persistent cookie store, saves cookies into your app’s SharedPreferences
By admin on Nov 30, 2013 in Android, open source | 0 Comments
AndroidAsync is a low level network protocol library. If you are looking for an easy to use, higher level, Android aware, http request library, check out Ion (it is built on top of AndroidAsync). The typical Android app developer would probably be more interested in Ion.
But if you’re looking for a raw Socket, HTTP client/server, WebSocket, and Socket.IO library for Android, AndroidAsync is it.
- Based on NIO. One thread, driven by callbacks. Highly efficient.
- All operations return a Future that can be cancelled
- Socket client + socket server
- HTTP client + server
- WebSocket client + server
- Socket.IO client
AutobahnAndroid implements The WebSocket Protocol and The WebSocket Application Messaging Protocol (WAMP):
- library for WebSocket and WAMP clients
- implements WebSocket RFC6455, Draft Hybi-10+ and WAMP v1
- works on Android 2.2+
- very good standards conformance
- high-performance asynchronous design
- easy to use API
- seamless integration in Android UI apps
- no (really none) network activity on UI thread
- Open-source (Apache 2 license)
You can use AutobahnAndroid to create native Android apps talking to WebSocket servers or any WAMP compatible server.
Using WAMP you can build applications around asynchronous RPC and PubSub messaging patterns.
android-websockets is a very simple bare-minimum WebSocket client for Android.
By admin on Nov 30, 2013 in Java, open source | 0 Comments
Naga aims to be a very small NIO library that provides a handful of java classes to wrap the usual Socket and ServerSocket with asynchronous NIO counterparts (similar to NIO2 planned for Java 1.7).
All of this is driven from a single thread, making it useful for both client (e.g. allowing I/O to be done in the AWT-thread without any need for threads) and server programming (1 thread for all connections instead of 2 threads/connection).
Internally Naga is a straightforward NIO implementation without any threads or event-queues thrown in, it is "just the NIO-stuff", to let you build things on top of it.
Naga contains the code needed to get NIO up and running without having to code partially read buffers and setting various selection key flags.
Here is an example opening a server socket:
NIOService service = new NIOService;
NIOServerSocket serverSocket = service.openServerSocket(1234);
This is how working with a regular socket looks like:
NIOService service = new NIOService;
NIOSocket serverSocket = service.openSocket("www.google.com", 1234);
// Asynchronous write by default:
By admin on Nov 24, 2013 in Java, open source | 0 Comments
The Atmosphere Framework contains client and server side components for building Asynchronous Web Application. The majority of popular frameworks are either supporting Atmosphere or supported natively by the framework. The Atmosphere Framework supports all majors Browsers and Servers
Atmosphere transparently supports WebSockets, Server Side Events (SSE), Long-Polling, HTTP Streaming (Forever frame) and JSONP.
The Atmosphere Framework Stack works on all Servlet based server including Tomcat, JBoss Jetty, Resin, GlassFish, Undertow, WebSphere, WebLogic etc. Not running a Servlet Container? Netty Play! Framework orVert.x
By admin on Nov 24, 2013 in C/C++, Java, open source | 0 Comments
APE Server is an Comet server implementing the POST and GET methods of the HTTP protocol. It does not replace a regular Web Server (such as Apache, Lighttpd or Nginx), however, the APE Server is only used for AJAX Push.
By admin on Nov 24, 2013 in Java, open source, security | 0 Comments
eBay CORS filter is a Java Servlet Filter implementation of server-side CORS for Java web containers such as Apache Tomcat. Salient features:
- Easy to integrate and use – enable CORS capability with a few lines in your web.xml!
- Protects against CRLF injection / response splitting attacks.
Another CORS filter for Java is is also available here.
By admin on Nov 22, 2013 in Java, open source | 0 Comments
Cling is a complete, clean, and very flexible Java/Android UPnP library, implementing the UPnP Device Architecture 1.0specification. Additional UPnP service modules and graphical tools are also part of this project. Cling helps you create, control, and monitor UPnP-compatible services on your local network.
Cling Core is a Java UPnP library that implements this infrastructure, it offers clean and natural APIs for any developer who wants to implement either UPnP services or control points.
The main features of Cling Core are:
- Fine-grained and safe APIs
Cling Core is not just a thin layer on top of the low-level UPnP protocol, it offers rich and natural APIs for developers. Every UPnP header, every message, and every piece of metadata is exposed as a type-safe API with as few type casting and string-lookups as possible. Much of the API is thread-safe, thus simplifying the pervasively multi-threaded environment in which UPnP operates.
- Modular design and extensive SPIs
Almost all functionality of Cling Core can be overridden or replaced with custom code. Subsystems such as network transport, message parsing, and even individual aspects of the UPnP protocol implementation (such as discovery, control, eventing) offer SPIs for extension and customization.
- Specification compliance
Many vendors who implement UPnP software violate the UPnP device architecture (UDA) specification in one way or another. Cling Core’s goal is to implement and respect every detail of the UDA specification. Currently, Cling Core is targeting UDA 1.0, with preparations already made for future UDA 1.1 compliance.
- Complete implementation
Cling Core does not take any shortcuts, no parts of the specification are omitted just because they are difficult to implement.
- Full support for Android
All features of Cling Core are supported on Android (see manual, platform level 7/Android 2.1 required). Use Cling to write UPnP/DLNA Android clients or even server applications. The full source code of the UPnPBrowser example application of the manual can be found here. You can see the application in action in this video.
By admin on Nov 1, 2013 in C/C++, open source | 1 Comment
Opus is a totally open, royalty-free, highly versatile audio codec. It is primarily designed for interactive speech and music transmission over the Internet, but is also applicable to storage and streaming applications. It incorporates technology from Skype’s SILK codec and Xiph.Org’s CELT codec. It has been standardized by the Internet Engineering Task Force (IETF) as RFC 6716.
Opus has been in development since early 2007. Programmers associated with Xiph.Org, Skype, and several other organizations have contributed to its development and to the standardization process as part of the IETF’s codec working group.
Opus can handle a wide range of audio applications, including Voice over IP, videoconferencing, in-game chat, and even remote live music performances. It can scale from low bit-rate narrowband speech to very high quality stereo music. Supported features are:
- Bit-rates from 6 kb/s to 510 kb/s
- Sampling rates from 8 kHz (narrowband) to 48 kHz (fullband)
- Frame sizes from 2.5 ms to 60 ms
- Support for both constant bit-rate (CBR) and variable bit-rate (VBR)
- Audio bandwidth from narrowband to fullband
- Support for speech and music
- Support for mono and stereo
- Support for up to 255 channels (multistream frames)
- Dynamically adjustable bitrate, audio bandwidth, and frame size
- Good loss robustness and packet loss concealment (PLC)
- Floating point and fixed-point implementation
By admin on Oct 26, 2013 in Java, open source | 0 Comments
H2O makes hadoop do math! H2O scales statistics, machine learning and math over Big Data. H2O is extensible and users can build blocks using simple math legos in the core. H2O keeps familiar interfaces like R, Excel & JSON so that big data enthusiasts and experts can explore, munge, model and score data sets using a range of simple to advanced algorithms.
Data collection is easy. Decision making is hard. H2O makes it fast and easy to derive insights from your data through faster and better predictive modeling.
By admin on Oct 26, 2013 in open source | 0 Comments
Snap.svg is designed for modern browsers and therefore supports the newest SVG features like masking, clipping, patterns, full gradients, groups, and more.
By admin on Oct 26, 2013 in open source | 0 Comments
Hauntbox is an open-source arduino-based prop controller for haunters and hackers. It is built upon the brilliance of other open source projects.
By admin on Oct 19, 2013 in open source | 0 Comments
ASCII Camera uses the HTML5 getUserMedia API to transform a video stream from your webcam into a real-time ASCII representation.
- Chrome ≥ 21
- Firefox ≥ 17 (requires
media.navigator.enabled = true in
- Opera ≥ 12
By admin on Oct 15, 2013 in interesting, security | 0 Comments
Tor is a network of virtual tunnels that allows people and groups to improve their privacy and security on the Internet. It also enables software developers to create new communication tools with built-in privacy features. Tor provides the foundation for a range of applications that allow organizations and individuals to share information over public networks without compromising their privacy.
Individuals use Tor to keep websites from tracking them and their family members, or to connect to news sites, instant messaging services, or the like when these are blocked by their local Internet providers. Tor’s hidden services let users publish web sites and other services without needing to reveal the location of the site. Individuals also use Tor for socially sensitive communication: chat rooms and web forums for rape and abuse survivors, or people with illnesses.
By admin on Oct 15, 2013 in .NET, C/C++, open source | 0 Comments
Kinect Common Bridge is a complement to the Kinect for Windows SDK that makes it easy to integrate Kinect scenarios in creative development libraries and toolkits
The Microsoft Open Technologies Hub is releasing this open source project, making it simple to integrate Kinect scenarios and experiences in creative development. MS Open Tech has worked closely with open source communities such as openFrameworks (OF) and Cinder and the Kinect for Windows team to integrate the new Kinect Common Bridge in popular creative development libraries and toolkits.
More details can be found at http://msopentech.com/blog/2013/10/14/ms-open-tech-releases-kinect-common-bridge/
By admin on Oct 15, 2013 in Java, open source | 0 Comments
The Apache OpenNLP library is a machine learning based toolkit for the processing of natural language text.
It supports the most common NLP tasks, such as tokenization, sentence segmentation, part-of-speech tagging, named entity extraction, chunking, parsing, and coreference resolution. These tasks are usually required to build more advanced text processing services. OpenNLP also includes maximum entropy and perceptron based machine learning.
By admin on Oct 15, 2013 in Java, open source | 0 Comments
CLAVIN (*Cartographic Location And Vicinity INdexer*) is an open source software package for document geotagging and geoparsing that employs context-based geographic entity resolution. It combines a variety of open source tools with natural language processing techniques to extract location names from unstructured text documents and resolve them against gazetteer records. Importantly, CLAVIN does not simply "look up" location names; rather, it uses intelligent heuristics in an attempt to identify precisely which "Springfield" (for example) was intended by the author, based on the context of the document. CLAVIN also employs fuzzy search to handle incorrectly-spelled location names, and it recognizes alternative names (e.g., "Ivory Coast" and "Côte d’Ivoire") as referring to the same geographic entity. By enriching text documents with structured geo data, CLAVIN enables hierarchical geospatial search and advanced geospatial analytics on unstructured data.
By admin on Sep 28, 2013 in open source, Programming | 0 Comments
Resources to get your kids started on programming
Scratch helps young people learn to think creatively, reason systematically, and work collaboratively — essential skills for life in the 21st century. Scratch is a project of the Lifelong Kindergarten Group at the MIT Media Lab. It is provided free of charge.
Alice is an innovative 3D programming environment that makes it easy to create an animation for telling a story, playing an interactive game, or a video to share on the web. Alice is a freely available teaching tool designed to be a student’s first exposure to object-oriented programming. It allows students to learn fundamental programming concepts in the context of creating animated movies and simple video games. In Alice, 3-D objects (e.g., people, animals, and vehicles) populate a virtual world and students create a program to animate the objects.
Greenfoot teaches object orientation with Java. Create ‘actors’ which live in ‘worlds’ to build games, simulations, and other graphical programs. Greenfoot is visual and interactive. Visualisation and interaction tools are built into the environment.
Sagan – Sagan-1 Robot Simulator is used to program a robot using simple commands, convenient for kids around 10-14 years old, graphical simulate the outcome and send it (after background cross-compiling) into a real robot. The application is written in Java (1.6) Swing. Beside of the pure simulation, it supports cross-compiling and downloading into Arexx RP6 and Lego NXT Mindstrom robots out of the box.
Arduino is an open-source electronics prototyping platform based on flexible, easy-to-use hardware and software. It’s intended for artists, designers, hobbyists and anyone interested in creating interactive objects or environments.
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.
Mindstorms NXT is a programmable robotics kit released by LEGO.
By admin on Sep 10, 2013 in Android, open source | 0 Comments
Patchfield is an audio infrastructure for Android that provides a simple, callback-driven API for implementing audio modules (such as synthesizers and effects), a graph-based API for connecting audio modules, plus support for inter-app audio routing. It is inspired by JACK, the JACK audio connection kit.
Patchfield consists of a remote or local service that acts as a virtual patchbay that audio apps can connect to, plus a number of sample apps that illustrate how to implement audio modules and how to manipulate the signal processing graph. The implementation resides entirely in userland and works on many stock consumer devices, such as Nexus 7 and 10.
By admin on Aug 19, 2013 in Java | 0 Comments
Tracker is a free video analysis and modeling tool built on the Open Source Physics (OSP) Java framework. It is designed to be used in physics education.
Tracker video modeling is a powerful new way to combine videos with computer modeling. For more information see Particle Model Help or AAPT Summer Meeting posters Video Modeling (2008) and Video Modeling with Tracker (2009).
By admin on Aug 16, 2013 in Android, C/C++, Java | 0 Comments
OpenCv4Android is available as a SDK with a set of samples and Javadoc documentation for OpenCV Java API. It also contains prebuilt apk-files, which you can run on your device instantly. There are three OpenCV tutorials aimed to help you start:
- “Introduction into Android Development” would be useful for the absolute beginner, because it shows you how to setup Android development environment.
- Detailed instructions on SDK are available in the “OpenCV for Android SDK” tutorial. You’ll see a couple of sample applications, which you can use as a basis for your own developments.
- “Android development with OpenCV” shows you how to add OpenCV functionality into your Android application. For those who want to reuse their C++ code, we’ve created a special section: “Native/C++”. We propose this way for the professional developers, since native development is a bit harder, but gives you larger opportunities. Face detection sample shows an example of wrapping a C++ class to the Java.
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.
FastCV is a computer vision library being released by Qualcomm. The library is targeted toward very sophisticated Computer Vision (CV) application developers who are interested in writing CV applications that run on mobile devices. FastCV 1.0 is specifically designed to run efficiently on Android mobile devices, but it is anticipated that subsequent versions of FastCV will support mobile devices running on iOS and WinPhone operating systems.
The FastCV 1.0 library will be released as a unified binary. This unified binary file has a single API, but contains two implementations. The first implementation is designed to run efficiently on any ARM processor, and is named ‘FastCV for ARM.’ The second FastCV implementation runs only on Qualcomm SoC’s and is called ‘FastCV for Snapdragon.’ ‘FastCV for Snapdragon’ has the same API as ‘FastCV for ARM,’ but it provides hardware accelerated implementations of the CV functions included in the library.