Skip to content

Software Development News: .NET, Java, PHP, Ruby, Agile, Databases, SOA, JavaScript, Open Source

Methods & Tools

Subscribe to Methods & Tools
if you are not afraid to read more than one page to be a smarter software developer, software tester or project manager!

Open Source

Registration for FOSDEM PGDay 2017 is now open!

PostgreSQL News - Fri, 12/16/2016 - 01:00

Registration for the FOSDEM PGDay 2017 in Brussels is now open.

FOSDEM PGDay 2017 is a one day, one track conference which is held as an extension to the PostgreSQL activities at FOSDEM. It takes place on Ferbruary 3rd in the Brussels Marriott hotel.

Registration for the FOSDEM PGDay 2017 is required. Registration for FOSDEM itself or the PostgreSQL Devroom at FOSDEM is not required.

More information on the event, venue and schedule as well as registration can be found here:

https://2017.fosdempgday.org/

Categories: Database, Open Source

pgDay Asia 2017 is CFP is Open

PostgreSQL News - Fri, 12/16/2016 - 01:00

Following the success of first pan-Asia Postgres event - pgDay Asia 2016 held in March 2016, we are pleased to announce pgDay Asia 2017 to be held in Singapore. The conference will be held along with FOSSASIA - one of the largest FOSS conference on the planet. pgDay Asia will be PostgreSQL conference series for all PostgreSQL enthusiasts in the Asia Pacific region.

For more details on FOSSASIA check FOSSASIA 2017 website

So, you will be able to enjoy one of the largest PostgreSQL conference in Asia and one of the largest FOSS conferences to meet new friends in Asia in the same week!

We would also like to open Call For Paper for pgDay Asia 2017. Some of the topics which can be used for submitting a talk are- 1. Migration projects 2. Performance troubleshooting and tuning 3. noSQL and geo-spatial features of Postgres 4. Unique use-case and customer stories 5. Postgres internals and their value for end users

For some examples you can refer to the papers which were presented at last year's event

Of course we are happy to receive proposal for talk on other PostgreSQL related topics as well.

To submit you proposal for presentation please go to this submission link

Dates

Friday, March 17th - Postgres Talks at pgDay Asia Saturday, March 18th - pgDay 2017 at FOSSASIA 2017

Venue

To be Announced

Important Dates

2016-12-16: Proposals acceptance begins 2017-01-16: Proposals acceptance ends 2017-01-20: Authors of accepted proposals contacted

If you need any additional information please contact our team at pgday-asia@googlegroups.com

Let's meet many PG and FOSS folks in Singapore!

This conference is organized by the PostgreSQL people from Asian communities (You can see the list on the web site). If you have any question, feel free to contact us on pgday-asia@googlegroups.com. The finances and local logistics for pgDay Asia 2016 are being handled by Ashnik Pte Ltd, Singapore this year.

As always, this event will not be possible without generous sponsorship and support from many different organizations. We will be soon sharing details of sponsorship opportunities at pgDay Asia 2017.

Categories: Database, Open Source

Announcing the Open IoT Challenge 3.0 Scholars

Eclipse News - Thu, 12/15/2016 - 12:00
Over 80 teams submitted entries and are in the running to win the Open IoT Challenge! View the most promising solutions.
Categories: Open Source

Google Summer of Code 2016 wrap-up: CSE@TU Wien

Google Open Source Blog - Wed, 12/14/2016 - 18:00
Every year over a thousand university students work with more than a hundred open source organizations as part of the Google Summer of Code (GSoC). This post is part of a series of guest posts from students, mentors and organization administrators reflecting on GSoC 2016.

CSE@TU Wien is a loose interest group at the Technische Universität Wien (TU Wien) focused on developing, providing and utilizing free and open source software for research. We’re an umbrella organization for several open source projects and we participate in Google Summer of Code (GSoC) to ensure that future generations continue building open source software for scientific computing.
We’ve participated in GSoC most years since 2011, and in 2016 we had ten successful projects. The thematic areas are -- befitting an engineering-focused university -- very diverse. Let’s take a look at the projects and what students accomplished:
Carbon Footprint for Google Maps is a browser extension that calculates CO2 emissions that users would incur by driving on routes suggested by popular mapping services and displays this information alongside time and distance. The aim is to raise awareness of the environmental impact of driving cars.
Kolya Opahle brilliantly re-factored the extension, making it much more modular. This enabled expansion to include other map services and port to other browsers, with browser-specific implementations reduced to a minimum. Building for specific browsers was made easy through a Gradle build script. He took on the Firefox port himself, which turned out to be more challenging than expected due to incompatibilities between the extension API’s of Firefox and Chrome. Overcoming this challenge required ingenuity. 
Prateek Gupta completely re-designed and reimplemented the extension’s user interface, optimizing the storage of user options and allowing localization. He added support for more mapping services and calculations of additional greenhouse gases. He added new features to give the user more information about greenhouse gas emissions, including: 
  • a page with air quality index using an API from the World Air Quality Index
  • a page with tips to reduce emissions; a calculator to compute CO2 absorption by trees
  • another calculator for the benefits of walking and cycling instead of driving
Chirag Arora ported the extension to the Safari web browser. Like the port to Firefox, this proved challenging due to discrepancies between the Chrome and Safari extension API’s. Chirag also implemented several new features, including: 
  • more unit systems in the options page
  • automatic configuration of fuel price based on location and the Global Petrol Prices API
  • approximate calculation of CO2 emissions for public transportation
The Colibri project focuses on smart building energy management. Intelligent control strategies are becoming more and more important for efficiently operating residential and commercial buildings, as buildings are responsible for a significant amount of global energy consumption.
Georg Faustmann implemented a connector for Open Automated Demand Response (OpenADR) networks. OpenADR information and signals can now be processed and stored in the Colibri data store. One challenge for this student was comprehensive handling of the OpenADR specification. Based on the specification, Georg identified a set of relevant use cases which were finally realized in this Colibri component.
Josef Wechselauer worked on a connector for gateways based on the OASIS Open Building Information Exchange (OBIX) standard. This connector links physical devices and data from building automation systems to Colibri. Josef was very enthusiastic and he implemented the connector with an additional graphical user interface for browsing through available OBIX objects. The system test with real hardware was challenging, but he solved all of the problems.
Pratyush Talreja implemented a connector that enables the integration of MATLAB Simulink simulations. More precisely, the connector links to the MATLAB environment and can read and write data over interfaces provided by the simulation. Pratyush had some initial troubles with the system design and the role of the connector in the overall system. However, he tackled those challenges and succeeded in the end.
Mind the Word is a browser extension that helps users learn a new language. It randomly translates a few words per sentence on websites as the user browsers. Since the user sees the translated words in context, they can infer its meaning and thus gradually learns new vocabulary with minimal effort. The extension uses Google, Microsoft and Yandex translation APIs.
Ankit Muchhala re-factored and modernized the code base to ES6 using JSPM, fixing critical bugs in the process and setting up a test environment in Karma and Jasmine. After that, he redesigned the user interface, making extensive use of Bootstrap 3 along with AngularJS. He also implemented various features to make the extension more usable, such as: 
  • dispersed word translation
  • (automatic) blacklisting and easy whitelisting of words and websites
  • and the ability to backup and restore the user's configurations
Rohan Katyal ported the extension to Firefox and implemented several new features, including: 
  • speech of translated words
  • generation of quizzes with the translated words
  • search for visual hints, similar words and usage examples, and more. 
R/sdcMicro is the state-of-the-art R package for data anonymization and is used by national and international institutions. Data privacy has become a hot topic in research and requires serious effort to ensure that individuals cannot be identified.
Probhonjon Baruah improved the code quality of sdcMicro. He wrote unit tests that should help other contributors keep the package consistent and free of bugs. The main challenge for the student was understanding the object-oriented implementation of sdcMicro that goes beyond typical R packages. The student learned that standardized tests are too general to be useful, and that more problem-oriented and specific tests are more effective.
Classilist is an open source visualization dashboard for probabilistic classification data.
Medha Katehara of LNMIIT India developed Classilist, an interactive system for visualizing the performance of probabilistic classifiers. Additionally, she developed plugins to pull classification data from machine learning frameworks such as RapidMiner, WEKA and R.
In conclusion, we are -- again -- very happy with Google Summer of Code. Students advanced themselves and our research software, a clear win-win. Our large team of experienced mentors performed well and we’re grateful for their continued dedication and the support of our university. We hope to participate again in 2017!
By Josef Weinbub and Florian Rudolf, Organization Administrators for TU Wien, Austria
Categories: Open Source

Request for Proposals | FEEP

Eclipse News - Mon, 12/12/2016 - 19:00
The latest FEEP RFPs for specific enhancements to the Eclipse IDE have been posted. Bids are requested by December 23, 2016.
Categories: Open Source

Open sourcing the Embedding Projector: a tool for visualizing high dimensional data

Google Open Source Blog - Mon, 12/12/2016 - 18:00
Originally posted on the Google Research Blog

Recent advances in machine learning (ML) have shown impressive results, with applications ranging from image recognition, language translation, medical diagnosis and more. With the widespread adoption of ML systems, it is increasingly important for research scientists to be able to explore how the data is being interpreted by the models. However, one of the main challenges in exploring this data is that it often has hundreds or even thousands of dimensions, requiring special tools to investigate the space.

To enable a more intuitive exploration process, we are open-sourcing the Embedding Projector, a web application for interactive visualization and analysis of high-dimensional data recently shown as an A.I. Experiment, as part of TensorFlow. We are also releasing a standalone version at projector.tensorflow.org, where users can visualize their high-dimensional data without the need to install and run TensorFlow.


Exploring Embeddings

The data needed to train machine learning systems comes in a form that computers don't immediately understand. To translate the things we understand naturally (e.g. words, sounds, or videos) to a form that the algorithms can process, we use embeddings, a mathematical vector representation that captures different facets (dimensions) of the data. For example, in this language embedding, similar words are mapped to points that are close to each other.
With the Embedding Projector, you can navigate through views of data in either a 2D or a 3D mode, zooming, rotating, and panning using natural click-and-drag gestures. Below is a figure showing the nearest points to the embedding for the word “important” after training a TensorFlow model using the word2vec tutorial. Clicking on any point (which represents the learned embedding for a given word) in this visualization, brings up a list of nearest points and distances, which shows which words the algorithm has learned to be semantically related. This type of interaction represents an important way in which one can explore how an algorithm is performing.


Methods of Dimensionality Reduction

The Embedding Projector offers three commonly used methods of data dimensionality reduction, which allow easier visualization of complex data: PCA, t-SNE and custom linear projections. PCA is often effective at exploring the internal structure of the embeddings, revealing the most influential dimensions in the data. t-SNE, on the other hand, is useful for exploring local neighborhoods and finding clusters, allowing developers to make sure that an embedding preserves the meaning in the data (e.g. in the MNIST dataset, seeing that the same digits are clustered together). Finally, custom linear projections can help discover meaningful "directions" in data sets - such as the distinction between a formal and casual tone in a language generation model - which would allow the design of more adaptable ML systems.

A custom linear projection of the 100 nearest points of "See attachments." onto the "yes" - "yeah" vector (“yes” is right, “yeah” is left) of a corpus of 35k frequently used phrases in emailsThe Embedding Projector website includes a few datasets to play with. We’ve also made it easy for users to publish and share their embeddings with others (just click on the “Publish” button on the left pane). It is our hope that the Embedding Projector will be a useful tool to help the research community explore and refine their ML applications, as well as enable anyone to better understand how ML algorithms interpret data. If you'd like to get the full details on the Embedding Projector, you can read the paper here. Have fun exploring the world of embeddings!
By Daniel Smilkov and the Big Picture group
Categories: Open Source

S-CASE

Date Created: Mon, 2016-12-12 10:23Date Updated: Tue, 2016-12-13 09:21Submitted by: ssupportdc6

Quickly generate the source code for RESTful API from requirements in English, UML diagrams or workflow storyboards

Turn your ideas in full-featured RESTful APIs in minutes. Start with English text specifying the requirements, add simple workflow storyboards to describe how your service works and generate Java source code for the service, complete with persistence (ORM and DB schema) and full-text search of service data.

If you need a mashup of existing web services, describe your idea with a workflow. S-CASE will take care to find existing services (ProgrammableWeb, Mashape and S-CASE generated service) that do exactly what you need and connect them to a running REST service for you to use.

To help you in the wild, S-CASE supports authentication and authorization (up to ABAC), including restricting access to selected resources - all in the code generated for you.

There's more...

Categories: Open Source

Projects of the Week, December 12, 2016

SourceForge.net: Front page news - Mon, 12/12/2016 - 06:21

Here are the featured projects for the week, which appear on the front page of SourceForge.net:

gretl

gretl is a cross-platform software package for econometric analysis, written in the C programming language.
[ Download gretl ]


optikey OptiKey

OptiKey is an assistive on-screen keyboard designed to bring keyboard control, mouse control and speech to people with motor and speech limitations. Completely open source and compatible with low cost eye-tracking devices, it is a great alternative to often expensive and complicated AAC (alternative and augmentative communication) products. It can also be used as an alternative to a physical keyboard or mouse.

OptiKey runs on Windows and works right out of the box once an eye-tracking device is installed. Without an eye-tracking device however it can still be used with a mouse or webcam.
[ Download OptiKey ]


digiCamControl

digiCamControl is an free and open source software. This allows you to save time by transferring images directly from your camera to your computer as you take each shot and allow to control camera shooting parameters.
[ Download digiCamControl ]


Warzone 2100

You command the forces of “The Project” in a battle to rebuild the world after mankind has almost been destroyed by nuclear missiles. The game offers a full campaign with optional (but strongly recommended!), videos, battle against four factions, multi-player and single-player skirmish modes, and an extensive tech tree and a full unit designer. Multi-player is also cross-platform, battle your friends with any OS, Windows, Linux or Mac, it all works seamlessly! We also offer 100% portable Windows builds, take the game and install it anywhere! Our source repo is now at https://github.com/Warzone2100/warzone2100 If you are using linux, and want a .deb, then please get the latest version available from http://www.playdeb.net/app/Warzone2100 (They are not affliated with us, but they do have the latest builds!) Warzone 2100 works on both 32 & 64 bit Windows Vista or higher, 32 or 64 bit Linux, 32 or 64 bit Macs.
[ Download Warzone 2100 ]


Cream (for Vim)

Cream is a free, easy-to-use configuration of the famous Vim text editor for Microsoft Windows, GNU/Linux, and FreeBSD. It uses common menus, standard keyboard shortcuts, and has extensive editing functions for the beginner and expert alike. UPDATE: Development has slowed recently due to the author’s full time endeavor to begin an architectural practice (http://SteveHallArchitecture.com). But the project still continues to build gVim installers and add minor features and bug fixes in the Cream source code.
[ Download Cream (for Vim) ]


Avogadro

Avogadro is an advanced molecular editor designed for cross-platform use in computational chemistry, molecular modeling, bioinformatics, materials science and related areas. It offers a flexible rendering framework and a powerful plugin architecture.
[ Download Avogadro ]


pspp4windows

PSPP is a program for statistical analysis of sampled data. It is a free replacement for the proprietary program SPSS. PSPP has both text-based and graphical user interfaces. Project page: http://www.gnu.org/software/pspp/ See changelog: http://git.savannah.gnu.org/gitweb/?p=pspp.git;a=shortlog;h=refs/heads/master For support: https://lists.gnu.org/archive/html/pspp-users/ or e-mail: pspp-users@gnu.org For bugs: https://lists.gnu.org/archive/html/bug-gnu-pspp/ or email: bug-gnu-pspp@gnu.org For known issues: https://savannah.gnu.org/bugs/?group=pspp
[ Download pspp4windows ]


uGet – Download Manager

uGet, the Best Download Manager for Linux. uGet is an Open Source download manager application for GNU/Linux developed with GTK+, which also comes packaged as a portable Windows app. uGet uses very few resources while at the same time packs an unparalleled powerful feature set. These features include a Queue, Pause/Resume, Multi-Connection (with adaptive segment management), Mirrors (multi-source), Multi-Protocol, Advanced Categorization, Clipboard Monitor, Batch Downloads, Individualized Category Default Settings, Speed Limiting, Total Active Downloads Control, and so much more! For the full Features list go to http://ugetdm.com/features – Quick Links – Blog: http://ugetdm.com/blog Support Forum: http://ugetdm.com/forum Tutorials: http://ugetdm.com/tutorials RSS Feeds: http://ugetdm.com/rss Gallery: http://ugetdm.com/gallery Frequently Asked Questions (FAQs): http://ugetdm.com/faqs
[ Download uGet – Download Manager ]


hyperion-project

Hyperion is an open source ambient light implementation controlled primarily by an Raspberry Pi. The main features of Hyperion are: 1. Low CPU load. For a led string of 50 leds the CPU usage will typically be below 2% on a non-overclocked Pi. 2. Json interface which allows easy integration into scripts. 3. A command line utility allows easy testing and configuration of the color transforms (Transformation settings are not preserved over a restart at the moment…). 4. Priority channels are not coupled to a specific led data provider which means that a provider can post led data and leave without the need to maintain a connection to Hyperion. This is ideal for a remote application (like our Android app). 5. HyperCon. A tool which helps generate a Hyperion configuration file. The tool will also remember your settings from the previous run. 6 Android remote control to set a static color. 7.Kodi-checker which checks the playing and screensaver status of Kodi
[ Download hyperion-project ]

Categories: Open Source

Google Summer of Code 2016 wrap-up: AOSSIE

Google Open Source Blog - Fri, 12/09/2016 - 18:00
We’re sharing guest posts from students, mentors and organization administrators who participated in Google Summer of Code (GSoC) 2016. This is the seventh post in the series.


AOSSIE (Australian Open Source Software Innovation and Education) is an organization created by the leaders of four research-oriented open source projects at the Australian National University. This was our first year in Google Summer of Code, but one of our projects had already participated three times as part of another organization.

We had 6 students and they surpassed our expectations. It was a great experience to mentor these students and provide them the opportunity to get involved in our cutting-edge research. We expect that their projects will lead to several publications and will be the starting point for long term collaborations.

Here are some highlights of their contributions:

Extempore is a programming language and runtime environment that supports live programming.

Joseph Penington adapted some cpp fluid dynamics code to show how live programming could be used to improve the workflow of scientific simulation. Joseph's project builds a series of increasingly complex fluid solvers in Extempore, allowing the programmer to make interesting and non-trivial changes to the simulation at runtime, including switching the way the fluids are solved in the middle of a simulation.

PriMedLink is software for matching similar patients in a way that preserves privacy (i.e. only using masked or encoded values of records without compromising privacy and confidentiality of patients) for health informatics applications such as clinical trials, advanced treatments and personalized patient care. The initial version of PPSPM software included masking and matching techniques for string, categorical and numerical (integer, floating point and modulus) data.

Mathu Mounasamy developed a module for PPSPM for masking and matching textual data which commonly occur in patient records (such as clinical notes and medical reports containing text data). The TextMM module developed by Mathu extends the functionality of PPSPM by allowing advanced privacy-preserving matching of similar patients based on various features containing textual data, thereby improving the quality and scope of PPSPM.

Rogas is a platform which integrates a collection of graph analysis tools and algorithms into a unified framework in order to support network analysis tasks.

Mojtaba Rezvani added the local community search (also known as local community detection) capability to Rogas. He has implemented several state-of-the-art algorithms proposed for local community detection, such as: k-core, k-truss, k-edge-connected, Îł-quasi, and k-cliques. He has also designed a new algorithm for local community detection, which can efficiently identify local communities in large-scale networks.

Yan Xiao redesigned the GUI of Rogas in order to improve usability. He also implemented several visualization techniques to support the graph primitives of Rogas, including cluster, rank and path finding. These developments support dynamic network analysis at different scales so as to predict trends and patterns.

Skeptik is a Scala-based framework for proof theory and automated reasoning.

Ezequiel Postan generalized a challenging proof compression algorithm (the Split algorithm) from propositional logic to first-order logic and implemented it. This enables Skeptik to execute this algorithm not only on proofs output by SAT- and SMT-solvers but also on proofs output by resolution-based automated theorem provers. Ezequiel also implemented parsers for the TPTP and TSTP formats for theorem proving problems and proofs, and implemented a random proof generator to allow comprehensive experimental evaluation of the algorithms.

Daniyar Itegulov implemented a theorem prover for classical first-order logic using Skeptik's data structures and based on a novel logical calculus recently proposed by his mentor. This new calculus, called Conflict Resolution, is inspired by the propositional conflict-driven clause learning procedure used by SAT- and SMT-solvers and generalizes it to first-order logic. Daniyar also went further, conceiving and developing a concurrent proof search strategy for this calculus using Akka actors.

By Bruno Paleo, Organization Administrator for AOSSIE
Categories: Open Source

Don’t Let Your Project Suffer Because of Founder’s Mentality

SourceForge.net: Front page news - Fri, 12/09/2016 - 06:04

If you want to build an open source project, you can’t let your ego stand in the way. You can’t rewrite everybody’s patches, you can’t second-guess everybody, and you have to give people equal control. ~Rasmus Lerdorf

There’s a certain mentality that can creep up and slowly destroy open source project development. It’s dangerous in a way that nobody really notices it’s there or that it is destructive, except at the very last moments. It’s the founder’s mentality.

Yes, sometimes the very reason a project can wither away is because of the founder. You might ask, “But how is this possible? Aren’t the founders of a project the people who want the project to succeed the most?” While this is true, the founder’s mentality can surface without the founder’s knowledge, and can grow out of his dedication to keep the project alive.

How the Founder’s Mentality can be a Bad Thing

Generally the creator of the project is the person who has the most drive and dedication to develop the project, and this is a good thing. However, it can turn bad once it hinders project development. But how does it do so?

  • The founder takes all the responsibilities upon himself. As the project founder you may feel quite attached to your project, and you may also feel the need to always be “hands-on” with every aspect. It’s hard to shake this practice off as most projects start that way: with the founder doing everything on his own. Even after some project growth, a founder may feel he must be there to implement every idea, answer every question, promote the project, fix every bug– but the fact of the matter is, he can’t. Chances are, he won’t be able to complete any one task thus hindering project development; and he’ll only end up stressed and overworked.
  • The founder makes all the decisions. Making the big project decisions are no doubt the responsibility of a project founder, but making all the decisions certainly isn’t. Some decisions can be handled by managers or other seasoned team members. Not all decisions have to go through the founder especially of an already established project. Such a practice can only stunt the growth of a project.

How to Grow Out of the Founder’s Mentality

  • Focus on what you’re good at. You may be good at several different areas of project development but let’s face it, you really can’t be doing them all. Learn to let go of some of these responsibilities and focus on the areas where your specific skills are most useful.
  • Delegate. It’s tough to hand over important aspects of project development to others, but if your project is to achieve continuous growth, you will have to do this. The key to doing this correctly is to make sure that you delegate tasks to the most competent and experienced members of your team, set proper expectations and make sure that the right processes are in place for them.
  • Trust your team. Delegation is just the beginning. You have to learn to let go of some of the reins and trust that your teammates are going to make the best decisions and actions. This trust starts by finding good, talented individuals; recognizing and nurturing their talents; and finally, developing a culture of trust and support.

Remember, just because you’re the project founder doesn’t mean that you have to do everything yourself. Help your project grow by growing as a founder yourself, away from the grips of the founder’s mentality.

Categories: Open Source

Open-sourcing DeepMind Lab

Google Open Source Blog - Wed, 12/07/2016 - 18:00
Originally posted on DeepMind Blog

DeepMind's scientific mission is to push the boundaries of AI, developing systems that can learn to solve any complex problem without needing to be taught how. To achieve this, we work from the premise that AI needs to be general. Agents should operate across a wide range of tasks and be able to automatically adapt to changing circumstances. That is, they should not be pre-programmed, but rather, able to learn automatically from their raw inputs and reward signals from the environment. There are two parts to this research program: (1)  designing ever-more intelligent agents capable of more-and-more sophisticated cognitive skills, and (2) building increasingly complex environments where agents can be trained and evaluated.

The development of innovative agents goes hand in hand with the careful design and implementation of rationally selected, flexible and well-maintained environments. To that end, we at DeepMind have invested considerable effort toward building rich simulated environments to serve as  â€ślaboratories” for AI research. Now we are open-sourcing our flagship platform,  DeepMind Lab, so the broader research community can make use of it.

DeepMind Lab is a fully 3D game-like platform tailored for agent-based AI research. It is observed from a first-person viewpoint, through the eyes of the simulated agent. Scenes are rendered with rich science fiction-style visuals. The available actions allow agents to look around and move in 3D. The agent’s “body” is a floating orb. It levitates and moves by activating thrusters opposite its desired direction of movement, and it has a camera that moves around the main sphere as a ball-in-socket joint tracking the rotational look actions. Example tasks include collecting fruit, navigating in mazes, traversing dangerous passages while avoiding falling off cliffs, bouncing through space using launch pads to move between platforms, playing laser tag, and quickly learning and remembering random procedurally generated environments. An illustration of how agents in DeepMind Lab perceive and interact with the world can be seen below:

At each moment in time, agents observe the world as an image, in pixels, rendered from their own first-person perspective. They also may receive a reward (or punishment!) signal. The agent can activate its thrusters to move in 3D and can also rotate its viewpoint along both horizontal and vertical axes.

Artificial general intelligence research in DeepMind Lab emphasizes navigation, memory, 3D vision from a first person viewpoint, motor control, planning, strategy, time, and fully autonomous agents that must learn for themselves what tasks to perform by exploring their environment. All these factors make learning difficult. Each are considered frontier research questions in their own right. Putting them all together in one platform, as we have, represents a significant new challenge for the field.


DeepMind Lab is highly customisable and extendable. New levels can be authored with off-the-shelf editor tools. In addition, DeepMind Lab includes an interface for programmatic level-creation. Levels can be customised with gameplay logic, item pickups, custom observations, level restarts, reward schemes, in-game messages and more. The interface can be used to create levels in which novel map layouts are generated on the fly while an agent trains. These features are useful in, for example, testing how an agent copes with unfamiliar environments. Users will be able to add custom levels to the platform via GitHub. The assets will be hosted on GitHub alongside all the code, maps and level scripts. Our hope is that the community will help us shape and develop the platform going forward.



DeepMind Lab has been used internally at DeepMind for some time (example). We believe it has already had a significant impact on our thinking concerning numerous aspects of intelligence, both natural and artificial. However, our efforts so far have only barely scratched the surface of what is possible in DeepMind Lab. There are opportunities for significant contributions still to be made in a number of mostly still untouched research domains now available through DeepMind Lab, such as navigation, memory and exploration.

As well as facilitating agent evaluation, there are compelling reasons to think that it may be fundamentally easier to develop intelligence in a 3D world, observed from a first-person viewpoint, like DeepMind Lab. After all, the only known examples of general-purpose intelligence in the natural world arose from a combination of evolution, development, and learning, grounded in physics and the sensory apparatus of animals. It is possible that a large fraction of animal and human intelligence is a direct consequence of the richness of our environment, and unlikely to arise without it. Consider the alternative: if you or I had grown up in a world that looked like Space Invaders or Pac-Man, it doesn’t seem likely we would have achieved much general intelligence!

Read the full paper here.

Access DeepMind's GitHub repository here.

By Charlie Beattie, Joel Leibo, Stig Petersen and Shane Legg, DeepMind Team


Categories: Open Source

Schedule Announced for Devoxx US 2017

Eclipse News - Mon, 12/05/2016 - 20:00
Schedule for DevoxxUS 2017 is now available! 200+ talks, Hackergarten, hands-on labs, quickies, BoFs & more!
Categories: Open Source

CFP Closes in 1 Week | Eclipse Converge

Eclipse News - Mon, 12/05/2016 - 18:30
Discover the tracks, and submit your passion to Eclipse Converge 2017!
Categories: Open Source

Why I contribute to Chromium

Google Open Source Blog - Mon, 12/05/2016 - 18:00
This is a guest post by Yoav Weiss who was recently recognized through the Google Open Source Peer Bonus Program for his work on the Chromium project. We invited Yoav to share about his work on our blog.

I was recently recognized by Google for my contributions to Chromium and wanted to write a few words on why I contribute to the project, other rendering engines and the web platform in general. I also wanted to share how it helped me evolve as a developer and why more people should contribute to the web platform for their own benefit.
The web platformI’ve written before about why I think the web platform is an extremely important asset for humanity and why we should make sure it'll thrive for years to come. It enables the distribution of knowledge to the corners of the earth and has fundamentally changed our world. Yet, compared to the amount of users (billions!) and web developers (millions), there are only a few hundred engineers working on maintaining and improving the platform itself.

That means that there are many aspects of the platform that are not as well maintained as they should be. We're at a real risk of a "tragedy of the commons" scenario, where despite usage and utility, the platform will collapse under its own weight because maintaining it is nobody's exclusive problem.
How I got startedPersonally, I had been working on web performance for well over a decade before I decided to get more involved and lend my hand in building the platform. For a large part of my professional life, browsers were black boxes. They were given to us by the browser gods and that's what we had to work with for the next few years. Their undocumented bugs and quirks became gospel, passed from senior engineers to their juniors.

Then at some point, that situation changed. Slowly but surely, open source browsers started picking up market share. No longer black boxes, we can actually see what happens on the inside!

I first got involved by joining the responsive images discussions and the Responsive Images Community Group. Then, I saw a tweet from RICG's chair calling to develop a prototype of the current proposal to prove its feasibility and value. And I jumped in.

I created a prototype using Chromium and WebKit, demoed it to anyone that was interested, worked on the proposals and argued the viability of the proposals' approach on the various mailing lists. Eventually, we were able to get some browser folks on board, improve the proposals and their fit to the rest of the platform, and I started working on an implementation.

The amount of work this required was larger than I expected. Eventually I managed to ship the feature in Blink and Chromium, and complete large parts of the implementation in WebKit as well. WOOT!
Success! Now what?After that project was done, I started looking into what I should do next. I was determined to continue working on browsers and find a gig that would let me do that. So I searched for an employer with a vested interest in the web and in making it faster, who would be happy to let me work on the platform's client - the web browser.

I found such an employer in Akamai, where I have been working as a Principal Architect ever since. As part of my job I'm working on our performance optimization features as well as performance-related browser features, making sure they make it into browsers in a timely fashion.
Why you should contribute, tooNow, chances are that if you're reading this, you're also relying on the web platform for your job in one way or another. Which means that there's a chance that it also makes sense for your organization to contribute to the web platform. Let’s explore the reasons:
1. Make sure work is done on features you care aboutIf you're like me, you love the web platform and the reach it provides you, but you're not necessarily happy with all of it. The web is great, but not perfect. Since browsers and web standards are no longer black boxes, you can help change that.

You can work on standards and browsers to change them to include your use-case. That's immense power at your fingertips: put in the work and the platform evolves for all the billions of users out there.

And you don’t have to wait years before new features can be used in production like with yesteryear's browser changes. With today’s browser update rates and progressive enhancement, you’ll probably be able to use changes in production within a few months.
2. Gain expertise that can help you do your job betterKnowing browser internals better can also give you superpowers in other parts of your job. Whenever questions about browser behavior arrive, you can take a peek into the source code and have concrete answers rather than speculation.

Keeping track of standards discussions give you visibility into new browser APIs that are coming along, so that you can opt to use those rather than settle for sub-optimal alternatives that are currently available.
3. Grow as an engineerWorking on browsers teaches you a lot about how things work under the surface and enables you to understand the internals of modern browsers, which are extremely complex machines. Further, this work allows you to get code reviews from the world's leading experts on these subjects. What better way to grow than to interact with the experts?
4. It's a fun and welcoming communityContributing to the web platform has been a great experience for me. Working with the Chromium project, in particular, is always great fun. The project is Google backed, but there are many external contributors and the majority of work and decisions are being done in the open. The people I've worked with are super friendly and happy to help. All in all, it's really fun!
Join usThe web needs more people working on it, and working on the web platform can be extremely beneficial to you, your career and your business.

If you're interested in getting started with web standards, the Discourse instance of the web Platform Incubator Community Group (or WICG for short) is where it's at (disclaimer: I'm co-chairing that group). For getting started with Chromium development, this is the post for you.

And most important, don't be afraid to ask the community. People on blink-dev and IRC are super friendly and will be happy to point you in the right direction.

So come on over and join the good cause. We'll be happy to have you!

By Yoav Weiss, Chromium contributor
Categories: Open Source

December 2016, “Staff Pick” Project of the Month – Tcl

SourceForge.net: Front page news - Mon, 12/05/2016 - 06:22

For our December “Staff Pick” Project of the Month, we selected Tcl, an interpreted language and very portable interpreter for that language.

Tcl is a very powerful yet easy-to-learn dynamic programming language that’s been widely used since its creation in 1988. It is highly embeddable and extensible, cross-platform and suitable for a very wide range of uses. These include web and desktop applications, networking, administration, testing and many more.

Open source and business-friendly, Tcl is a mature yet continuously evolving language. It is highly-rated among the projects featured on SourceForge, and has been nominated as “Community Choice” Project of the Month in previous months.

Learn more about Tcl by visiting their website.

 

[ Download Tcl ]

Categories: Open Source

Projects of the Week, December 5, 2016

SourceForge.net: Front page news - Mon, 12/05/2016 - 06:05

Here are the featured projects for the week, which appear on the front page of SourceForge.net:

SMPlayer

SMPlayer is a free media player for Windows and Linux with built-in codecs that can also play YouTube videos. One of the most interesting features of SMPlayer: it remembers the settings of all files you play. So you start to watch a movie but you have to leave… don’t worry, when you open that movie again it will be resumed at the same point you left it, and with the same settings: audio track, subtitles, volume… SMPlayer is a graphical user interface (GUI) for the award-winning MPlayer, which is capable of playing almost all known video and audio formats. But apart from providing access for the most common and useful options of MPlayer, SMPlayer adds other interesting features like the possibility to play YouTube videos subtitles. Note: for those people complaining about malware in the windows installer: be sure you download SMPlayer from the official website. Our installer is completely safe and free of malware.
[ Download SMPlayer ]


championify-logo Championify

Championify brings you the critical information you need to succeed in League of Legends by downloading all the latest items from sites like Champion.gg, Lolflavor, and KoreanBuilds and importing them into your game. Get the highest winning builds, most popular skills upgrades and more and achieve the best in League of Legends with Championify.
Championify is available in 39 languages, packed with new features and supports Windows and OSX.
[ Download Championify ]


Password Safe

Password Safe is a password database utility. Users can keep their passwords securely encrypted on their computers. A single Safe Combination unlocks them all.
[ Download Password Safe ]


Manjaro Community Torrents

This project is for download the Manjaro Officials and Community releases using a bittorrent client (console or graphical)
[ Download Manjaro Community Torrents ]


vJoy

This project was originally designed to provide an open-source replacement for PPJoy. The product, at this point, consists of virtual joystick devices that is seen by the system as a standard joystick but its position-data is written to it by a feeder application. An existing feeder application that takes advantage of this product is SmartPropoPlus. If you are an application writer you can very easily write an application that controls a joystick (e.g. mouse-to-joystick, keyboard-to-joystick). If you are a beginner in device drivers you can take this code and enhance it to support more (or less) axes, buttons or POVs.
[ Download vJoy ]


fre:ac – free audio converter

fre:ac is a free audio converter and CD ripper for various formats and encoders. It features MP3, MP4/M4A, WMA, Ogg Vorbis, FLAC, AAC, and Bonk format support, integrates freedb/CDDB, CDText and ID3v2 tagging and is available in several languages.
[ Download fre:ac – free audio converter ]


Synology Open Source Project

Open source projects that are included with Synology DiskStation/RackStation series. The license used by these projects are different. Please refer to the LICENSE / COPYING / COPYRIGHT file inside each project or any announcement in source code.
[ Download Synology Open Source Project ]


Battle for Wesnoth Android Port

This is an unofficial android port of the PC game Battle for Wesnoth. Battle for Wesnoth is a turn-based fantasy strategy game, featuring many addictive campaigns, lots of units, different races, AI controlled players, multiplayer gaming and much more.
[ Download Battle for Wesnoth Android Port ]


Freeciv

Freeciv is a free turn-based multiplayer strategy game, in which each player becomes the leader of a civilization, fighting to obtain the ultimate goal: to become (or subvert) the greatest civilization.
[ Download Freeciv ]

Categories: Open Source

Apache OpenOffice Reaches Record Mark of 200 Million Downloads

SourceForge.net: Front page news - Sat, 12/03/2016 - 06:28

Apache OpenOffice reached a milestone this week, gaining a record mark of over 200 million downloads. It’s an achievement that, according to Apache OpenOffice Vice President Marcus Lange “is an acknowledgment of the previous work and a great motivation for the future.”

Recently the project experienced a high demand for their most current release 4.1.3, which was released just last October. Lange mentions in the official blog post that there are still many ways to distribute Apache OpenOffice, but that it is safe to say that Apache OpenOffice has one of the highest user bases in the world of free software projects. For that, he is immensely grateful to the users and everyone who has supported them thus far.

SourceForge has long been a proud partner of the Apache OpenOffice community, and in support of their great accomplishment, we’ve decided to add Apache OpenOffice to our list of featured projects. For the entire week next week, you’ll find Apache OpenOffice right on our homepage. It’s our way of saying congratulations, and here’s to more great milestones to come!

Download Apache OpenOffice, or visit their blog to know more.

Categories: Open Source

Announcing OSS-Fuzz: Continuous fuzzing for open source software

Google Open Source Blog - Thu, 12/01/2016 - 18:00
We are happy to announce OSS-Fuzz, a new Beta program developed over the past years with the Core Infrastructure Initiative community. This program will provide continuous fuzzing for select core open source software.

Open source software is the backbone of the many apps, sites, services, and networked things that make up “the internet.” It is important that the open source foundation be stable, secure, and reliable, as cracks and weaknesses impact all who build on it.

Recent security stories confirm that errors like buffer overflow and use-after-free can have serious, widespread consequences when they occur in critical open source software. These errors are not only serious, but notoriously difficult to find via routine code audits, even for experienced developers. That's where fuzz testing comes in. By generating random inputs to a given program, fuzzing triggers and helps uncover errors quickly and thoroughly.

In recent years, several efficient general purpose fuzzing engines have been implemented (e.g. AFL and libFuzzer), and we use them to fuzz various components of the Chrome browser. These fuzzers, when combined with Sanitizers, can help find security vulnerabilities (e.g. buffer overflows, use-after-free, bad casts, integer overflows, etc), stability bugs (e.g. null dereferences, memory leaks, out-of-memory, assertion failures, etc) and sometimes even logical bugs.

OSS-Fuzz’s goal is to make common software infrastructure more secure and stable by combining modern fuzzing techniques with scalable distributed execution. OSS-Fuzz combines various fuzzing engines (initially, libFuzzer) with Sanitizers (initially, AddressSanitizer) and provides a massive distributed execution environment powered by ClusterFuzz.
Early successesOur initial trials with OSS-Fuzz have had good results. An example is the FreeType library, which is used on over a billion devices to display text (and which might even be rendering the characters you are reading now). It is important for FreeType to be stable and secure in an age when fonts are loaded over the Internet. Werner Lemberg, one of the FreeType developers, was an early adopter of OSS-Fuzz. Recently the FreeType fuzzer found a new heap buffer overflow only a few hours after the source change:

ERROR: AddressSanitizer: heap-buffer-overflow on address 0x615000000ffa
READ of size 2 at 0x615000000ffa thread T0
SCARINESS: 24 (2-byte-read-heap-buffer-overflow-far-from-bounds)
   #0 0x885e06 in tt_face_vary_cvtsrc/truetype/ttgxvar.c:1556:31

OSS-Fuzz automatically notified the maintainer, who fixed the bug; then OSS-Fuzz automatically confirmed the fix. All in one day! You can see the full list of fixed and disclosed bugs found by OSS-Fuzz so far.
Contributions and feedback are welcomeOSS-Fuzz has already found 150 bugs in several widely used open source projects (and churns ~4 trillion test cases a week). With your help, we can make fuzzing a standard part of open source development, and work with the broader community of developers and security testers to ensure that bugs in critical open source applications, libraries, and APIs are discovered and fixed. We believe that this approach to automated security testing will result in real improvements to the security and stability of open source software.

OSS-Fuzz is launching in Beta right now, and will be accepting suggestions for candidate open source projects. In order for a project to be accepted to OSS-Fuzz, it needs to have a large user base and/or be critical to Global IT infrastructure, a general heuristic that we are intentionally leaving open to interpretation at this early stage. See more details and instructions on how to apply here.

Once a project is signed up for OSS-Fuzz, it is automatically subject to the 90-day disclosure deadline for newly reported bugs in our tracker (see details here). This matches industry’s best practices and improves end-user security and stability by getting patches to users faster.

Help us ensure this program is truly serving the open source community and the internet which relies on this critical software, contribute and leave your feedback on GitHub.

By Mike Aizatsky, Kostya Serebryany (Software Engineers, Dynamic Tools); Oliver Chang, Abhishek Arya (Security Engineers, Google Chrome); and Meredith Whittaker (Open Research Lead).
Categories: Open Source

December 2016, “Community Choice” Project of the Month – ReactOS

SourceForge.net: Front page news - Thu, 12/01/2016 - 06:15

For our December “Community Choice” Project of the Month, the community elected ReactOS, an operating system based on the best Windows NT design principles. The team behind the project shared their thoughts about the project’s history, purpose, and direction.

SourceForge (SF): What made you start this project?
ReactOS Team (RT): ReactOS was started by a group of developers who, while impressed by the NT architecture of Microsoft’s Windows family, desired a more open development environment. They felt that not only would such an environment be beneficial to all developers that target Windows, providing insight into just how the underlying system actually works, but also provide a means to improve on the security and stability of the system by letting more people participate in its development.

SF: Has the original vision been achieved?
RT: We are still some ways to achieving complete application and driver compatibility with the NT5 family.

SF: Who can benefit the most from your project?
RT: Software developers seeking to understand how Windows works under the hood, OS developers/hobbyists who want an example of a non-Unix style OS, and users who require an NT5 era Windows platform for application or hardware compatibility, and who want continued updates for security and the like.

SF: What core need does ReactOS fulfill?
RT: With Microsoft having end-of-lifed the NT5 family, including XP and 2003, users who would prefer that environment, or a much more lightweight Windows environment, would be better served by ReactOS when it is completed.

SF: What’s the best way to get the most out of using ReactOS?
RT: Try it out on VirtualBox or VMware, and don’t go in expecting everything to be perfect yet. If you’re ready for some tinkering, or excited about the ability to customize everything, you’ll quickly find things to try or areas to take a deeper look at.

SF: What has your project team done to help build and nurture your community?
RT: Probably the biggest effort to help build our Community started a couple [of] years ago when we defined a new Product-Community strategy. As our first milestone we launched a crowdfunding campaign letting the Community decide which apps they wanted to see start working in ReactOS. The main objective of this move was not just to raise some funding for such on-demand development but also striking news, reaching new users, showing them their opinion counts, and helping them to find that lot of software was already working. This, as planned, enlarged our Community but, even more important, it helped build a closer relationship with them. The new site released at the same time, and largely requested by the Community, has been proven to improve the first overall impression of the ReactOS product itself.
Since then, and as part of our second milestone, we created several scripts which share in our social channels a constant flow of information from all our services. The best fixes from our Jira bugtracker, the latest videos from our ReactOS Youtube channel, blog posts created by developers or official news from the ReactOS website are, among others, shared now automatically. Now the Community can track how ReactOS is evolving daily and interact in real time with it. These interactions help attract new members to the Community and enhance a closer relationship with the current ones. Nowadays we’re probably one of the most complete in sharing infra among the open source projects out there.

SF: Have you all found that more frequent releases helps build up your community of users?
RT: Very much so, we’ve increased our release frequency considerably this year and have seen a far greater influx of new users and testers on our forum. Word of mouth is our only advertising way and seems to combine perfectly with a faster release tempo.
At the same time, our current 3 months lapse helps to feel the difference in terms of stability and compatibility within releases.

SF: What was the first big thing that happened for your project?
RT: We’ve had quite a few milestones in ReactOS’ history. The first time the OS booted by itself instead of being bootstrapped by DOS, the first time we were able to switch between two windowed applications, the first time network communications worked- there were a lot of big things over the course of the project.

SF: What helped make those happen?
RT: All of the milestones we’ve achieved have been due to the hard work and very often tenacity of our developers and testers. Some of these guys had to get very creative in solving the problems they encountered in trying to develop an OS from scratch. Also we can’t thank enough the support of our donors. Since we don’t have any company supporting our development, they are the ones helping to hire new developers and paying our server bills.

SF: How has SourceForge and its tools helped your project reach that success?
RT: All of our releases are done through SourceForge, helping us to reduce the cost of distribution of our product. The metrics that we get from the downloads provide us with a good idea of where our prospective user base is from.
These metrics help us to understand our users’ behaviour: Are they willing to test bootcds or livecds? Are we attracting more users release after release? How does it affect the downloads, a faster release cycle as we’re doing now? How does a particular marketing action done affect the ReactOS downloads? How is the inertia (download of old releases) evolving?
But also it helps us to predict the expected visitors in our website for the next releases so we can ensure the needed resources for the peak days.
Handling and analyzing correctly this data proves to be an amazing way to discover the health of the project and summed to the rest of our analytics helps to draw a roadmap of our actions.

SF: What is the next big thing for ReactOS?
RT: There are several next big things coming pretty soon. The first one is the integration of the results from this year’s Google Summer of Code. Also we’re working hard on having Word 2010, Java RE and Google Chrome supported, since they are the apps selected by our Community in the IndieGoGo crowdfunding campaign.

SF: Do you have the resources you need to make those happen?
RT: So far we’ve been fairly fortunate this year, contributions and manpower have been quite steady and we expect to get the improvements in without too much fuss. With that said, ReactOS is on its way to reach Beta status. Beta supposes a jump in quality and for such we’ll need to place full time developers to reach it. Reaching Beta is not as costly as one may think but some extra resources will be needed.

SF: If you had to do it over again, what would you do differently for ReactOS?
RT: ReactOS took a few shortcuts in its early days to try to achieve as many user-visible improvements as possible. Those hacks have been the source of considerable headaches as the team implemented more functionality correctly.
Looking back, we probably should have fought that particular temptation and done the software engineering right the first time around.

SF: Is there anything else we should know?
RT: ReactOS is now hiring!. Thanks to the donations and contributions from our Community we’re planning to hire a new developer. So if you are skillful in Windows APIs or you are willing to help us in fixing bugs, you can just drop an email here.
Feel free to follow the progress of our current hired developer, Hermès, through his blog posts, discover what’s coming in the next release, or join the Community in Twitter, Facebook or Telegram.

[ Download ReactOS ]

Categories: Open Source

Docker + Dataflow = happier workflows

Google Open Source Blog - Wed, 11/30/2016 - 18:00
When I first saw the Google Cloud Dataflow monitoring UI -- with its visual flow execution graph that updates as your job runs, and convenient links to the log messages -- the idea came to me. What if I could take that UI, and use it for something it was never built for? Could it be connected with open source projects aimed at promoting reproducible scientific analysis, like Common Workflow Language (CWL) or Workflow Definition Language (WDL)?
Screenshot of a Dockerflow workflow for DNA sequence analysis.
In scientific computing, it’s really common to submit jobs to a local high-performance computing (HPC) cluster. There are tools to do that in the cloud, like Elasticluster and Starcluster. They replicate the local way of doing things, which means they require a bunch of infrastructure setup and management that the university IT department would otherwise do. Even after you’re set up, you still have to ssh into the cluster to do anything. And then there are a million different choices for workflow managers, each unsatisfactory in its own special way.

By day, I’m a product manager. I hadn’t done any serious coding in a few years. But I figured it shouldn’t be that hard to create a proof-of-concept, just to show that the Apache Beam API that Dataflow implements can be used for running scientific workflows. Now, Dataflow was created for a different purpose, namely, to support scalable data-parallel processing, like transforming giant data sets, or computing summary statistics, or indexing web pages. To use Dataflow for scientific workflows would require wrapping up shell steps that launch VMs, run some code, and shuttle data back and forth from an object store. It should be easy, right?

It wasn’t so bad. Over the weekend, I downloaded the Dataflow SDK, ran the wordcount examples, and started modifying. I had a “Hello, world” proof-of-concept in a day.

To really run scientific workflows would require more, of course. Varying VM shapes, a way to pass parameters from one step to the next, graph definition, scattering and gathering, retries. So I shifted into prototyping mode.

I created a new GitHub project called Dockerflow. With Dockerflow, workflows can be defined in YAML files. They can also be written in pretty compact Java code. You can run a batch of workflows at once by providing a CSV file with one row per workflow to define the parameters.

Dataflow and Docker complement each other nicely:

  • Dataflow provides a fully managed service with a nice monitoring interface, retries,  graph optimization and other niceties.
  • Docker provides portability of the tools themselves, and there's a large library of packaged tools already available as Docker images.

While Dockerflow supports a simple YAML workflow definition, a similar approach could be taken to implement a runner for one of the open standards like CWL or WDL.

To get a sense of working with Dockerflow, here’s “Hello, World” written in YAML:

defn:
  name: HelloWorkflow
steps:
- defn:
    name: Hello
    inputParameters:
      name: message
      defaultValue: Hello, World!
    docker:
      imageName: ubuntu
      cmd: echo $message

And here’s the same example written in Java:

public class HelloWorkflow implements WorkflowDefn {
  @Override
  public Workflow createWorkflow(String[] args) throws IOException {
    Task hello =
        TaskBuilder.named("Hello").input("message", “Hello, World!”).docker(“ubuntu”).script("echo $message").build();
    return TaskBuilder.named("HelloWorkflow").steps(hello).args(args).build();
  }
}

Dockerflow is just a prototype at this stage, though it can run real workflows and includes many nice features, like dry runs, resuming failed runs from mid-workflow, and, of course, the nice UI. It uses Cloud Dataflow in a way that was never intended -- to run scientific batch workflows rather than large-scale data-parallel workloads. I wish I’d written it in Python rather than Java. The Dataflow Python SDK wasn’t quite as mature when I started.

Which is all to say, it’s been a great 20% project, and the future really depends on whether it solves a problem people have, and if others are interested in improving on it. We welcome your contributions and comments! How do you run and monitor scientific workflows today?

By Jonathan Bingham, Google Genomics and Verily Life Sciences
Categories: Open Source