Main Content RSS FeedRecent Articles

Google Open Source Build Tool »

Bazel is Google’s own build tool, now publicly available in Beta. Bazel has built-in support for building both client and server software, including client applications for both Android and iOS platforms. It also provides an extensible framework that you can use to develop your own build rules.

Bazel was designed to fit the way software is developed at Google. It has the following features:

  • Multi-language support: Bazel supports Java, Objective-C and C++ out of the box, and can be extended to support arbitrary programming languages.

  • High-level build language: Projects are described in the BUILD language, a concise text format that describes a project as sets of small interconnected libraries, binaries and tests. In contrast, with tools like Make, you have to describe individual files and compiler invocations.

  • Multi-platform support: The same tool and the same BUILD files can be used to build software for different architectures, and even different platforms. At Google, we use Bazel to build everything from server applications running on systems in our data centers to client apps running on mobile phones.

  • Reproducibility: In BUILD files, each library, test and binary must specify its direct dependencies completely. Bazel uses this dependency information to know what must be rebuilt when you make changes to a source file, and which tasks can run in parallel. This means that all builds are incremental and will always produce the same result.

  • Scalable: Bazel can handle large builds; at Google, it is common for a server binary to have 100k source files, and builds where no files were changed take about ~200ms.

Feature Engineering Toolkit »

FeatureFu[l] contains a collection of library/tools for advanced feature engineering, such as using extended s-expression based feature transformation, to derive features on top of other features, or convert a light weighted model (logistical regression or decision tree) into a feature, in an intuitive way without touching any code.

Sample use cases:

  1. Feature normalization

    "(min 1 (max (+ (* slope x) intercept) 0))" : scale feature x with slope and intercept, and normalize to [0,1]

  2. Feature combination

    "(‐ (log2 (+ 5 impressions)) (log2 (+ 1 clicks)))" : combine #impression and #clicks into a smoothed CTR style feature

  3. Nonlinear featurization

    "(if (> query_doc_matches 0) 0 1)" : negation of a query/document matching feature

  4. Cascading modeling

    "(sigmoid (+ (+ (..) w1) w0))" : convert a logistic regression model into a feature

  5. Model combination (e.g. combine decision tree and linear regression)

    "(+ (* model1_score w1) (* model2_score w2))" : combine two model scores into one final score

Expr: A super fast and simple evaluator for mathematical s-expressions written in Java.

Open Source Windows 10 UWP Web Browser »

JavaScript Browser is web browser built with JavaScript as a Windows app. This project is a tutorial demonstrating the capabilities of the web platform on Windows 10. The browser is a sample app built around the HTML WebView control.

The user interface consists of ten components:

  • Title bar
  • Back button
  • Forward button
  • Refresh button
  • Favicon
  • Address bar
  • Share on Twitter button
  • Favorites button and menu
  • Settings button and menu
  • WebView control

Hack Codegen »

Hack Codegen is a library for easily generating Hack code and writing it into signed files that prevent undesired modifications. The idea behind writing code that writes code is to raise the level of abstraction and reduce coupling. You can use your own way of describing a problem and generate the corresponding code. E.g. see examples/dorm.

grpc »

grpc is high performance, open source, general-purpose RPC framework from Google.

gRPC is a modern, open source remote procedure call (RPC) framework that can run anywhere. It enables client and server applications to communicate transparently, and makes it easier to build connected systems.

The main usage scenarios:

  • Low latency, highly scalable, distributed systems.
  • Developing mobile clients which are communicating to a cloud server.
  • Designing a new protocol that needs to be accurate, efficient and language independent.
  • Layered design to enable extension eg. authentication, load balancing, logging and monitoring etc.

Torch–A Scientific Computing Framework »

Torch is a scientific computing framework with wide support for machine learning algorithms. It is easy to use and efficient, thanks to an easy and fast scripting language, LuaJIT, and an underlying C/CUDA implementation.

A summary of core features:

  • a powerful N-dimensional array
  • lots of routines for indexing, slicing, transposing, …
  • amazing interface to C, via LuaJIT
  • linear algebra routines
  • neural network, and energy-based models
  • numeric optimization routines
  • Fast and efficient GPU support
  • Embeddable, with ports to iOS, Android and FPGA backends

The goal of Torch is to have maximum flexibility and speed in building your scientific algorithms while making the process extremely simple. Torch comes with a large ecosystem of community-driven packages in machine learning, computer vision, signal processing, parallel processing,image, video, audio and networking among others, and builds on top of the Lua community.

At the heart of Torch are the popular neural network and optimization libraries which are simple to use, while having maximum flexibility in implementing complex neural network topologies. You can build arbitrary graphs of neural networks, and parallelize them over CPUs and GPUs in an efficient manner.

Streaming Build System–gulp »

Gulp does nothing but provide some streams and a basic task system.

With gulp,

  • With Gulp your build file is code, not config
  • You use standard libraries to do things
  • Plugins are simple and do one thing – most are a ~20 line function
  • Tasks are executed with maximum concurrency
  • I/O works the way you pictur
  • AngularJS IDE »

    AngularJS Eclipse Plugin extends Eclipse WTP to :

    • provides an HTML editor which supports AngularJS expression and directive. See HTML featuresfor more informations.
    • provides an Angular Explorer view which displays modules, controllers of your project in a tree.
    • provides a Javascript editor which supports AngularJS features (modules, etc). See Javascript features for more informations.

    AngularJS Eclipse is based on to manage powerful completion on HTML files (AngularsJS Expression, directive, modules) and Javascripts files (see Tern Eclipse IDE)


    Javascript Code Analysis Engine »

    Tern is a stand-alone code-analysis engine for JavaScript. It is intended to be used with a code editor plugin to enhance the editor’s support for intelligent JavaScript editing. Features provided are:

    • Autocompletion on variables and properties
    • Function argument hints
    • Querying the type of an expression
    • Finding the definition of something
    • Automatic refactoring

    Tern is open-source (MIT license), written in JavaScript, and capable of running both on node.jsand in the browser.

    There is currently Tern support for the following editors:

    Follow the links to find instructions on how to install the plugins.

    Learn Web Programming on Raspberry Pi »

    Coder is a free, open source project that turns a Raspberry Pi into a simple platform that educators and parents can use to teach the basics of building for the web. New coders can craft small projects in HTML, CSS, and Javascript, right from the web browser.

    Coder is designed for creating, editing, and running simple web apps. Coder apps are built using the standard building blocks of the web (HTML, CSS, and Javascript), and they can be crafted directly in your web browser. Click through the images below for a quick tour of Coder.


    Open Source Painting and Graphic Editor »

    Krita is a FREE digital painting and illustration application.

    Krita offers CMYK support, HDR painting, perspective grids, dockers, filters, painting assistants, and many other features you would expect.


    It is a KDE program for sketching and painting, offering an end–to–end solution for creating digital painting files from scratch by masters. Fields of painting that Krita explicitly supports are concept art, creation of comics and textures for rendering. Modelled on existing real-world painting materials and workflows, Krita supports creative working by getting out of the way and with a snappy response.

    It means that Krita as a project is proud to be part of the wonderful KDE community and uses the great framework technology that the KDE community develops.. You can run Krita on Windows, Gnome, XFCE, and if you spend some effort even on OSX.

    Glide–Android Media Management »

    Glide is a fast and efficient open source media management framework for Android that wraps media decoding, memory and disk caching, and resource pooling into a simple and easy to use interface.

    Glide supports fetching, decoding, and displaying video stills, images, and animated GIFs. Glide includes a flexible api that allows developers to plug in to almost any network stack. By default Glide uses a custom HttpUrlConnection based stack, but also includes utility libraries plug in to Google’s Volley project or Square’s OkHttp library instead.

    Glide’s primary focus is on making scrolling any kind of a list of images as smooth and fast as possible, but Glide is also effective for almost any case where you need to fetch, resize, and display a remote image.

    WebCommander–PowerShell Web Services »

    WebCommander wraps Powershell scripts into web services and presents them as a simple one-click automation solution. This can be likened to an "App Store" for PowerShell/PowerCLI !

    Wrapping a program as a web service means using a web portal to gather parameters and then passing them to the wrapped program. By doing so, details on how the program is developed and what underlying system it depends on become transparent to others. People could make easy use of the program via browser manually or through any programming language that supports calling web services.

    End users usually run many repeatable routines which could be automated by PowerCLI. WebCommander makes it even easier by providing a more user friendly UI and result report. Users have no need to setup their own environment to use PowerCLI, keep upgrading it, download and learn scripts written by others.

    Open Source Mobile Conferencing/Event Mgmt App »

    Google IO Android App is the Android app for the conference. The app supports devices running Android 4.0+, and is optimized for phones and tablets of all shapes and sizes. It also contains an Android Wear integration.

    With the app, you can:

    • View the conference agenda and edit your personal schedule
    • Sync your schedule between all of your devices and the I/O website
    • View detailed session, code lab, office hours, and speaker information, including speaker bios, photos, and Google+ profiles
    • +1 sessions right from the app
    • Participate in public #io14 conversations on Google+
    • Guide yourself using the vector-based conference map
    • Get a reminder a few minutes before sessions in your schedule are due to start
    • View information about companies in the Developer Sandbox
    • Play "I/O Live" session video streams
    • Beam session details from your NFC-enabled device to another using Android Beam
    • Scan attendee badges on your NFC-enabled device
    • See a list of people whose badges you have scanned, and take notes about your meeting with them
    • Send feedback on sessions, from your phone/tablet, or from your Android Wear device

    Facbebook f8 App is for the f8 conference.

    Open Source Web Security Scanner »

    IronWASP is an open source web security scanner.

    • It’s Free and Open source
    • GUI based and very easy to use, no security expertise required
    • Powerful and effective scanning engine
    • Supports recording Login sequence
    • Reporting in both HTML and RTF formats – Click here to view the sample report
    • Checks for over 25 different kinds of well known web vulnerabilities
    • False Positives detection support
    • False Negatives detection suppport
    • Industry leading built-in scripting engine that supports Python and Ruby
    • Extensibile via plug-ins or modules in Python, Ruby, C# or VB.NET
    • Comes bundled with a growing number of Modules built by researchers in the security community.
      • WiHawk – WiFi Router Vulnerability Scanner by Anamika Singh
      • XmlChor – Automatic XPATH Injection Exploitation Tool by Harshal Jamdade
      • IronSAP – SAP Security Scanner by Prasanna K
      • SSL Security Checker – Scanner to discover vulnerabilities in SSL installations by Manish Saindane
      • OWASP Skanda – Automatic SSRF Exploitation Tool by Jayesh Singh Chauhan
      • CSRF PoC Generator – Tool for automatically generating exploits for CSRF vulnerabilities by Jayesh Singh Chauhan
      • HAWAS – Tool for automatically detecting and decoding encoded strings and hashes in websites by Lavakumar Kuppan

    Open Source Home Automation »

    More and more new cool devices and technologies arrive at our homes every day. But though they are all aimed at enhancing our lifestyle they all lack one important feature: a common language they could speak to each other to create a really automated and smart environment at home. The main goal of openHAB is to provide an integration platform to fix this issue.

    openHAB is a software for integrating different home automation systems and technologies into one single solution that allows over-arching automation rules and that offers uniform user interfaces.

    This means openHAB
    1. is designed to be absolutely vendor-neutral as well as hardware/protocol-agnostic
    2. can run on any device that is capable of running a JVM (Linux, Mac, Windows)
    3. lets you integrate an abundance of different home automation technologies into one
    4. has a powerful rule engine to fulfill all your automation needs
    5. comes with different web-based UIs as well as native UIs for iOS and Android
    6. is fully open source
    7. is maintained by a passionate and growing community
    8. is easily extensible to integrate with new systems and devices
    9. provides APIs for being integrated in other systems

    Awesome Sysadmin »

    A curated list of amazingly awesome open source sysadmin resources inspired by Awesome PHP

    Open Source Graph Database–Cayley »



    Cayley is an open-source graph inspired by the graph database behind Freebase and Google’s Knowledge Graph.

    Its goal is to be a part of the developer’s toolbox where Linked Data and graph-shaped data (semantic webs, social networks, etc) in general are concerned.

    • Written in Go
    • Easy to get running (3 or 4 commands, below)
    • RESTful API
      • or a REPL if you prefer
    • Built-in query editor and visualizer
    • Multiple query languages:
      • JavaScript, with a Gremlin-inspired* graph object.
      • (simplified) MQL, for Freebase fans
    • Plays well with multiple backend stores:
    • Modular design; easy to extend with new languages and backends
    • Good test coverage
    • Speed, where possible.

    Rough performance testing shows that, on consumer hardware and an average disk, 134m triples in LevelDB is no problem and a multi-hop intersection query — films starring X and Y — takes ~150ms.

    Javascript XMPP Library » is a library for using modern XMPP in the browser, and it does that by exposing everything as JSON. Unless you insist, you have no need to ever see or touch any XML when using



    Open Source Mind Mapping »

    Freeplane is a free and open source software application that supports thinking, sharing information and getting things done at work, in school and at home. The software can be used for mind mapping and analyzing the information contained in mind maps. Freeplane runs on any operating system that has a current version of Java installed. It can be run locally or portably from removable storage like a USB drive.