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

Thomas Kruse: My Five Favorite NetBeans IDE Features

NetBeans Highlights - Tue, 07/29/2014 - 18:28
An article series about NetBeans users and their favorite features in the IDE. Thomas Kruse, co-leader of the Munster JUG.
Categories: Java, Open Source

How is 8.0 Working for You? Take the NetBeans Satisfaction Survey!

NetBeans Highlights - Tue, 07/29/2014 - 18:28
The NetBeans team wants your feedback about your experience using NetBeans IDE 8.0. Are you getting the best coding experience with 8.0? Are there features or enhancements the NetBeans team should consider in future releases? Give your feedback in this short survey. It should only take about 3-5 minutes to complete.
Categories: Java, Open Source

NetBeans IDE 8.0 Patch 1 Now Available

NetBeans Highlights - Tue, 07/29/2014 - 18:28
The NetBeans Team has released a patch for NetBeans IDE 8.0 with fixes that enhance stability and performance. Learn more about the fixes in NetBeans IDE 8.0 Patch 1 To obtain the fixes, NetBeans IDE 8.0 must be installed and running. An update notification will appear in the IDE. Click the notification to install the updates. (You can also download the fixes through the NetBeans IDE Plugin Manager.)
Categories: Java, Open Source

Using Oracle Java SE Embedded Support in NetBeans IDE

NetBeans Highlights - Tue, 07/29/2014 - 18:28
Get started with Java SE Embedded in NetBeans IDE and learn to use the IDE's support for Java SE Embedded.
Categories: Java, Open Source

New NetBeans IDE 8.0 with Support for Java 8 Officially Released!

NetBeans Highlights - Tue, 07/29/2014 - 18:28
NetBeans IDE 8.0 delivers full support for the latest Java 8 technologies--Java SE 8, Java SE Embedded 8, and Java ME Embedded 8. The IDE also provides a range of new enhancements for Maven and Java EE with PrimeFaces; new tools for HTML5, in particular for AngularJS; and improvements to PHP and C/C++ support. Download NetBeans IDE 8.0 Release Highlights: Java 8 technology support Java EE code generators for PrimeFaces New tools and performance enhancements for Maven New tools for coding AngularJS Tomcat 8.0 and TomEE support Support for PHP 5.5 Enhancements for Subversion, Git and Mercurial NetBeans IDE 8.0 is available in English, Brazilian Portuguese, Japanese, Russian, and Simplified Chinese. More Information Complete list of features in NetBeans IDE 8.0 Video: What's New in NetBeans IDE 8.0 New Screencasts and Tutorials Oracle Press Release
Categories: Java, Open Source

Projects of the Week, July 28, 2014

SourceForge.net: Front page news - Mon, 07/28/2014 - 14:25

Here are the projects that we’re featuring this week on the front page of SourceForge.net:

SCons – a Software Construction tool

SCons is a software construction tool (build tool, substitute for Make) implemented in Python, based on the winning design in the Software Carpentry build tool competition (in turn based on the Cons build tool).

[ Download SCons - a Software Construction tool ]

Nightingale

Nightingale is a community created fork of the Songbird media player. It is developed by a proud community and we are equally proud to bring you the most extensible, feature-rich media experience on Windows, Mac, and Linux. See the official website at http://getnightingale.com for the source, builds, and information. On Sourceforge, we provide our releases, the binary deps for building, as well as builds for testing purposes.

[ Download Nightingale ]

CaesarIA (openCaesar3)

openCaesar3 is a remake of the classic Caesar3 PC game, a city building game developed by Impression Games and published by Sierra Entertainment, in 1998. It is implemented using C++ and SDL. The original Caesar3 game is needed to play openCaesar3. /!\ Project is now developed on: https://bitbucket.org/dalerank/caesaria/

[ Download CaesarIA (openCaesar3) ]

Shareaza

Shareaza is a very powerful multi-network peer-to-peer file-sharing client supporting Gnutella\u00b2 G2, Gnutella, eDonkey2000 / eMule, DC++, HTTP, FTP and BitTorrent / DHT protocols for Windows or Wine.

[ Download Shareaza ]

MPC-BE

Media Player Classic – BE is a free and open source audio and video player for Windows. Media Player Classic – BE is based on the original “Media Player Classic” project (Gabest) and “Media Player Classic Home Cinema” project (Casimir666), contains additional features and bug fixes.

[ Download MPC-BE ]

Money Manager Ex

Money Manager Ex is an easy to use, money management application. It is a personal finance manager. It can be used to track your net worth, income vs expenses etc. It runs on Windows, Linux and Mac OSX.

[ Download Money Manager Ex ]

PocketMine-MP

PocketMine-MP is the server software for Minecraft: Pocket Edition. It has support for Plugins to extend it and add new features, or change default ones. The entire server is done in PHP, and has been tested, profiled and optimized to run smoothly. It is available on Windows, Linux, MacOS, Android and iOS. GitHub Repository: https://github.com/PocketMine/PocketMine-MP Forums: http://forums.pocketmine.net/

[ Download PocketMine-MP ]

ponsfoot AUR packages

Here contains all internal resources for AUR packages and unofficial user repository of ponsfoot. https://aur.archlinux.org/packages.php?SeB=m&K=ponsfoot

[ Download ponsfoot AUR packages ]

PeaZip

PeaZip is a free Zip files utility, providing an unified, natively portable, cross-platform file and archive manager GUI for many Open Source technologies like 7-Zip, FreeArc, PAQ, UPX. Create: 7Z, ARC, BZ2, GZ, *PAQ, PEA, QUAD/BALZ, TAR, UPX, WIM, XZ, ZIP files Extract 150+ archive types: ACE, ARJ, CAB, DMG, ISO, LHA, RAR, UDF, ZIPX and more Features of PeaZip includes extract, create and convert multiple archives at once, create self-extracting archives, split/join files, strong encryption with two factor authentication, encrypted password manager, secure deletion, find duplicate files, calculate hashes, export job definition as script.

[ Download PeaZip ]

Categories: Open Source

Archi: ArchiMate Modelling Tool

The Archi® modelling tool is targeted toward all levels of Enterprise Architects and Modellers. It provides a low cost to entry solution to users who may be making their first steps in the ArchiMate® modelling language, or who are looking for a free, cross-platform ArchiMate modelling tool for their company or institution and wish to engage with the language before committing to an enterprise-level solution.

Archi® fulfils the needs of most Enterprise Architects and associated stakeholders, and has been designed to elegantly provide the main features required for ArchiMate 2.1 modelling and is used globally by banks, insurance companies, industry, EA consultants, training organisations, universities, and students. It is the world's most popular ArchiMate modelling tool and is downloaded around three thousand times every month.

Categories: Open Source

Google Summer of Code new organizations - Part Four

Google Open Source Blog - Fri, 07/25/2014 - 20:00
For the 4th post in our Google Summer of Code series highlighting the new open source organizations participating in this year’s program, we welcome administrators from jMonkeyEngine and BuildmLearn to describe their students’ projects.
jMonkeyEngine (JME3) is a modern 3D engine written entirely in Java. The full SDK comes bundled with industry-standard editing tools and an ever-growing library of plugins contributed by the community. The engine can publish to all PC platforms including Android and iOS.

This is our first year participating in Google Summer of Code (GSoC) and we are very excited about it. All our mentors are jME3 veterans, two of whom are from the core team and one is a long time trusted contributor. As for our students, they never cease to impress. Below are descriptions of the projects they are working on this summer.

Smooth Voxel Terrains, by John
jMonkeyEngine has become very popular among voxel game creators. John is exploring techniques such as dual marching cubes which might very well be the precursor to a next-gen Minecraft. We hope his work can serve as a starting point for similarly ambitious developers.

Cinematic Editor, by Mayank
We have an SDK with a lot of potential, but still need some flagship plugins to show developers what it's really capable of. Mayank has taken on the task of creating a comprehensive cinematic editor which will enable game developers to create cutscenes in a snap, all within a comfortable GUI.

Recast Navigation Integration, by Tihomir
Game AI is an incredibly difficult thing to get right for the masses, but luckily we have access to the Recast Navigation AI. Tihomir is creating Recast Navigation bindings and adjusting them to jME3 — a task which is easier said than done (jME3 is Java and Recast is C++). We're confident he is up to the challenge!

This year we also made our first attempt at a community-sponsored summer of code, for which we secured another four incredibly promising students. Albeit at a more relaxed schedule, they will follow along the GSoC schedule and take advantage of our support network just the same. If all goes well, we will have seven shiny new projects once the summer cools off.

By Erlend Sogge Heggen, Organization Administrator for jMonkeyEngine
----------------------

BuildmLearn is a group of volunteers who collaborate to promote mobile learning (m-Learning) with the specific aim of creating open source tools and enablers for teachers and students. The group is involved in developing m-Learning solutions, tool-kits and utilities for teachers, parents and students.

Our current projects include the BuildmLearn Toolkit which is an easy-to-use program that helps users make mobile apps without any knowledge of application development. The toolkit empowers users to create mobile applications with various functionality and custom content. Targeted at teachers, this program helps them make learning fun and engaging through mobile apps. Besides the toolkit, we have mobile application projects focussing on education.

What our students are working on?

This is BuildmLearn's first year in Google Summer of Code and we received a large number of proposals (over 250!) from students all over the world. Three of the best proposals were chosen based on a careful selection process.

- Martin from Czech Republic is working on porting the BuildmLearn Toolkit to Linux, OS/2 and Mac OS X. He has also proposed to work on several enhancements to the toolkit and stabilize the code base.

- Kelvin from Malaysia is working on an educational mobile game called “Tell the time” which teaches children about the concepts of time and date in an interesting manner. Targeted at children 4 to 8 years of age, this mobile game will use an interactive clock and calendar elements to engage the kids.

- Abhishekh from India is working on an interesting mobile application called “Learn from Map” which is focused on teaching geography. Targeted at kids studying in primary schools, this application would use interactive map elements to teach geography and related topics in an informal environment.

BuildmLearn is very excited about being a part of this amazing program and will be happy to showcase the work done by the students as the program progresses.

By Pankaj Nathani, BuildmLearn Organization Administrator


Categories: Open Source

How to Speed Up Your Website

DevX: Open Source Articles - Thu, 07/24/2014 - 04:50
Get the top tips for fully optimizing the speed of your website.
Categories: Open Source

PostgreSQL updates 9.3.5, 9.2.9, 9.1.14, 9.0.18, and 8.4.22 released

PostgreSQL News - Thu, 07/24/2014 - 01:00

The PostgreSQL Global Development Group has released an update to all supported version of the database system, including versions 9.3.5, 9.2.9, 9.1.14, 9.0.18, and 8.4.22. This minor release fixes a number of issues discovered and reported by users over the last four months, including some data corruption issues, and is the last update of version 8.4. Users of version 9.3 will want to update at the earliest opportunity; users of version 8.4 will want to schedule an upgrade to a supported PostgreSQL version.

Among the notable issues fixed in this release are:

PostgreSQL 9.3 and pg_upgrade: Users who upgraded to version 9.3 using pg_upgrade may have an issue with transaction information which causes VACUUM to eventually fail. These users should run the script provided in the release notes to determine if their installation is affected, and then take the remedy steps outlined there.

PostgreSQL 9.3 crash recovery: Three issues which could compromise data integrity during crash recovery on master or standby servers in PostgreSQL 9.3 have been fixed.

GIN and GiST indexes: Three issues with GIN and GiST indexes, used for PostGIS and full text indexing, can cause corruption or incorrect query responses. Any indexes on bit or bit varying columns should be rebuilt following the instructions in the release notes.

Security during make check: The insecure socket permissions during "make check", reported in a previous security announcement, have now been fixed.

With this release, version 8.4 is now End-of-Life (EOL), per our Versioning Policy. This means that no additional updates will be released for version 8.4, and users should plan to upgrade to a later version very soon.

In addition the above, this update release includes the following fixes which affect multiple PostgreSQL versions:

  • Fix race condition with concurrent tuple updating
  • Prevent "could not find pathkey item to sort" planner error
  • Properly optimize subqueries with set-returning functions
  • Repair planner regression in optimizing AND/OR NULL
  • Fix planner handling of VARIADIC functions
  • Make json_populate_recordset handle nested JSON properly
  • Prevent corruption of TOAST values when creating complex types
  • Prevent "record type has not been registered" query error
  • Fix a possible crash condition with functions and rewinding cursors
  • Patch three memory leaks
  • Fix row checks for rows deleted by subtransactions
  • Change how pg_stat_activity displays sessions during PREPARE TRANSACTION
  • Prevent multixact ID corruption during VACUUM FULL
  • Fix indentation when displaying complex view definitions
  • Fix client hostname lookup in pg_hba.conf
  • Fix libpython linking on OSX
  • Avoid buffer bloat in libpq
  • Fix an issue with dumping materialized views
  • Fix pg_upgrade's handling of multixact IDs
  • Make sure that pgcrypto clears sensitive information from memory
  • Time zone updates for Crimea, Egypt, and Morocco

Four Windows-specific fixes are included in this release:

  • Prevent tablespace creation recovery errors
  • Fix detection of socket failures
  • Allow users to change parameters after startup
  • Properly quote executable names so they don't fail

A few of the issues above require post-update steps to be carried out by affected users. Please see the release notes for details.

As with other minor releases, users are not required to dump and reload their database or use pg_upgrade in order to apply this update release; you may simply shut down PostgreSQL and update its binaries. Users who have skipped multiple update releases may need to perform additional post-update steps; see the Release Notes for details.

Links:

Categories: Database, Open Source

PostgreSQL 9.4 Beta 2 Released

PostgreSQL News - Thu, 07/24/2014 - 01:00

The PostgreSQL Global Development Group has made available the second beta release of PostgreSQL 9.4. This beta contains previews of all of the features which will be available in version 9.4, plus corrections for many of the issues discovered by users who tested 9.4 Beta 1. Please download, test, and report what you find.

Among the changes made since 9.4 Beta 1 are:

  • Fix handling of two-phase commit and prepared statements for logical decoding
  • Multiple fixes for bugs in pg_recvlogical
  • Change slot handling logic for replication slots
  • Add support for BSD and e2fsprogs UUID libraries.
  • Multiple jsonb bug fixes
  • Remove use_json_as_text options from json functions
  • Make json_build_* functions STABLE instead of IMMUTABLE
  • Prevent ALTER SYSTEM from changing the data directory
  • Prevent autovacuum-related crash
  • Many documentation improvements and changes

Beta 2 includes changes to pg_control and to the system catalogs. As such, users who have been testing Beta 1 will need to upgrade in order to test Beta 2. We suggest using pg_upgrade for this upgrade in order to test that as well.

For a full listing of the features in version 9.4 Beta, please see the release notes. Additional descriptions and notes on the new features are available on the 9.4 Features Wiki Page.

We depend on our community to help test the next version in order to guarantee that it is high-performance and bug-free. Please download PostgreSQL 9.4 Beta 2 and try it with your workloads and applications as soon as you can, and give feedback to the PostgreSQL developers. Features and APIs in Beta 2 will not change substantially before final release, so it is now safe to start building applications against the new features. More information on how to test and report issues

Get the PostgreSQL 9.4 Beta 2, including binaries and installers for Windows, Linux and Mac from our download page.

Full documentation of the new version is available online, and also installs with PostgreSQL.

Categories: Database, Open Source

GSoC students create a Google Compute Engine interface to CloudStack

Google Open Source Blog - Wed, 07/23/2014 - 19:46
Today on the Open Source blog we have guest writer Sebastien Goasguen, an avid open source contributor and member of the Apache Software Foundation. Below, Sebastien highlights the significant contributions that two Google Summer of Code students have made to Apache CloudStack.

In December 2013, Google announced the General Availability (GA) of the public cloud, Google Compute Engine (GCE).  Apache CloudStack now has a brand new GCE compatible interface (Gstack) which allows users to take advantage of the GCE clients (i.e gcloud and gcutil) to access their CloudStack cloud. This interface was made possible through the Google Summer of Code (GSoC) program.

In the summer of 2013, Ian Duffy, a student from Dublin City University, participated in GSoC through the Apache Software Foundation and worked on a LDAP plugin to CloudStack. He did such a great job that he finished early and was made an Apache CloudStack committer. Since he finished his primary GSoC project so early, I encouraged him to take on another! He brought in a friend for the ride — Darren Brogan, another student at Dublin City University. Together they worked on the GCE interface to CloudStack and even learned Python in doing so.

Both Ian and Darren remained engaged with the CloudStack community and as their third year project in University, they successfully developed an Amazon EC2 interface to CloudStack. Since he enjoyed his experience so much, Darren also applied to the GSoC 2014 program and proposed to revisit Gstack, improve it, extend the unit tests, and make it compatible with the GCE v1 API. He is making excellent progress so far and we are all excited to see the results.

Technically, Gstack is a Python Flask application that provides a REST API compatible with the GCE API and forwards the requests to the corresponding CloudStack API. The source is available on GitHub and the binary is downloadable via PyPi.

Installation and Configuration of Gstack

Are you interested in using Gstack? Check out the full documentation. To get a taste for things, you can grab the binary package from Pypi using pip in one single command.

        pip install gstack

Or if you plan to explore the source and work on it, you can clone the repository and install it by hand. Pull requests are of course welcome.

       git clone https://github.com/NOPping/gstack.git
   â€¨sudo python./setup.py install

Both of these installation methods will install a gstack and a gstack-configure binary in your path. Before running Gstack you must configure it. To do so run:

   gstack-configure

And enter your configuration information when prompted. You will need to specify the host and port where you want gstack to run on, as well as the CloudStack endpoint that you want gstack to forward the requests to. In the example below we use the exoscale cloud:

   $ gstack-configure

   gstack bind address [0.0.0.0]: localhost

   gstack bind port [5000]:
   â€¨Cloudstack host [localhost]: api.exoscale.ch
   â€¨Cloudstack port [8080]: 443
   â€¨Cloudstack protocol [http]: https

   Cloudstack path [/client/api]: /compute

The information will be stored in a configuration file available at ~/.gstack/gstack.conf:

   $ cat ~/.gstack/gstack.conf 

   PATH = 'compute/v1/projects/'

   GSTACK_BIND_ADDRESS = 'localhost'
   â€¨GSTACK_PORT = '5000'
   â€¨CLOUDSTACK_HOST = 'api.exoscale.ch'
   â€¨CLOUDSTACK_PORT = '443'
   â€¨CLOUDSTACK_PROTOCOL = 'https'
 
   CLOUDSTACK_PATH = '/compute'

You are now ready to start Gstack in the foreground with:

   gstack

That's all there is to running Gstack. You can then use gcutil to send requests to gstack which will forward them to a CloudStack endpoint.  Although it is still a work in progress, it is now compatible with GCE GA v1.0 API. It provides a solid base to start working on hybrid solutions between GCE public cloud and a CloudStack based private cloud.

GSoC has been a terrific opportunity for all of us at Apache. Darren and Ian both learned how to work with an open source community and ultimately became an integral part of it. They learned tools like JIRA, git, and Review Board and gained confidence working publicly on mailing lists. Their work on Gstack and EC2stack is certainly of high value to CloudStack and could eventually become the base for interesting products that will use hybrid clouds.

By Sebastien Goasguen, Senior Open Source Architect, Citrix and Apache Software Foundation member

Categories: Open Source

Early Security Vulnerability Detector - ESVD

Supported vulnerabilities:

01 - Command Injection
02 - Cookie Poisoning
03 - Cross-Site Scripting (XSS)
04 - HTTP Response Splitting
05 - LDAP Injection
06 - Log Forging
07 - Path Traversal
08 - Reflection Injection
09 - Security Misconfiguration
10 - SQL Injection
11 - XPath Injection

Categories: Open Source

Projects of the Week, July 21, 2014

SourceForge.net: Front page news - Mon, 07/21/2014 - 16:35

Here are the projects that we’re featuring this week on the front page of SourceForge.net:

thymeleaf

Thymeleaf is a java web template engine designed for XML/XHTML/HTML5.

[ Download thymeleaf ]

Uniform Server

The Uniform Server is a lightweight server solution for running a web server under the WindowsOS. Less than 24MB! Modular design, includes the latest versions of Apache2, Perl5, PHP (switch between PHP53, PHP54, PHP55 or PHP56), MySQL5 or MariaDB5, phpMyAdmin or Adminer4. Run from either hard drive or USB memory stick… NO INSTALLATION REQUIRED! NO REGISTRY DUST! Just UNPACK and FIRE UP!

[ Download Uniform Server ]

JStock – Free Stock Market Software

JStock is a free stock market software for 26 countries. It provides Stock watchlist, Intraday stock price snapshot, Stock indicator editor, Stock indicator scanner and Portfolio management. Free SMS/email alert supported. It integrates seamless with Android. JStock Android can be downloaded separately from http://goo.gl/t24hN The official code repository is https://github.com/yccheok/jstock

[ Download JStock - Free Stock Market Software ]

Octave Forge

GNU Octave is a programming language for numerical computations. Octave Forge is a place for development of its packages; from bioinformatics and fuzzy logic to mechanics and instrument control.

[ Download Octave Forge ]

SQLite Database Browser

*** PROJECT MOVING TO GITHUB *** https://github.com/sqlitebrowser/sqlitebrowser *** PROJECT MOVING TO GITHUB *** SQLite Database browser is a light GUI editor for SQLite databases, built on top of Qt. The main goal of the project is to allow non-technical users to create, modify and edit SQLite databases using a set of wizards and a spreadsheet-like interface.

[ Download SQLite Database Browser ]

KDiff3

KDiff3 is a graphical text difference analyzer for up to 3 input files, provides character-by-character analysis and a text merge tool with integrated editor. It can also compare and merge directories. Platform-independant.

[ Download KDiff3 ]

PyQt

PyQt is the Python bindings for Digia’s Qt cross-platform application development framework. It supports Python v2 and v3 and Qt v4 and Qt v5. PyQt is available under the GPL and commercial licenses. The Sourceforge project is the repository for the GPL source and binary packages.

[ Download PyQt ]

Docutils: Documentation Utilities

Utilities for general- and special-purpose documentation, including autodocumentation of Python modules. Includes reStructuredText, the easy to read, easy to use, what-you-see-is-what-you-get plaintext markup language.

[ Download Docutils: Documentation Utilities ]

OWASP Zed Attack Proxy

The Zed Attack Proxy (ZAP) is an easy to use integrated penetration testing tool for finding vulnerabilities in web applications. Note that this project is just used for hosting the ZAP downloads. Please see the homepage for more information about OWASP ZAP

[ Download OWASP Zed Attack Proxy ]

Categories: Open Source

Sling IDE Tooling

The Sling IDE tooling for Eclipse allows developers to quickly connect their Eclipse workspace to a Sling server runtime and instantly deploy code and content changes.

Categories: Open Source

Intro to Apache MapReduce 2 (YARN)

DevX: Open Source Articles - Thu, 07/17/2014 - 22:40
Get the details on MapReduce/YARN 2.0 and the functionalities it presents.
Categories: Open Source

Anahata: Our Five Favorite NetBeans IDE Features

NetBeans Highlights - Thu, 07/17/2014 - 20:37
An article series focusing on NetBeans users and their five favorite NetBeans IDE features. Five members of the development team at Anahata IT, and Australian software development company.
Categories: Java, Open Source

Flowing into your games: LiquidFun 1.1

Google Open Source Blog - Thu, 07/17/2014 - 18:00
We are thrilled to announce the 1.1 release of LiquidFun, an open-source 2D physics engine. It adds particle simulation to Erin Catto’s popular Box2D engine, and can be used as a drop-in replacement for Box2D. If your program is written in C++, Java, or JavaScript, you can easily use LiquidFun.

Today’s release adds some exciting new features to LiquidFun. Some highlights:

  • LiquidFun now runs in your browser! Using Emscripten, we’ve translated LiquidFun into JavaScript. You can see LiquidFun’s Testbed application, rewritten in JavaScript, running on our landing page.
  • We’ve added iOS support for LiquidFun’s internal Testbed and EyeCandy applications. Earlier versions of LiquidFun could be made to run on iOS, but iOS is now officially supported.
  • We’ve optimized LiquidFun's particle simulation. In particular, we’ve written NEON (a.k.a., Advanced SIMD) code to improve performance on ARM processors.
  • We’ve stabilized the simulation, fixed bugs, and added some cool new functions, including one that automatically splits a particle group into multiple, disjoint particle groups. 
  • We’ve clarified and improved the documentation, thanks to questions from the LiquidFun community.

LiquidFun Games

The 1.1 release also includes two physics-based, open-source games from Google, currently available in the US Play Store.

VoltAir, written in C++, is a fast platformer based on a compelling physics system, plenty of speed and motion, and interesting puzzles. If you’re a native developer, VoltAir’s source code is a great example of how to use LiquidFun.














The second game, LiquidFun Paint, lets you create art that moves, shakes, and delights. It is written in Java, and uses LiquidFun via SWIG bindings. If you’re a Java programmer, you may want to peruse the source code of LiquidFun Paint.



Several other games also have incorporated LiquidFun since its initial 0.9 release last December. One such game is the beautiful Battle of the SeaSons, written by three students from the technology university ETH Zurich.


AdoptionOur March 2014 release of LiquidFun 1.0 has already been integrated into several game development toolkits.
  • LiquidFun is also now a built-in component of the Lobster game programming language. 
Inside LiquidFunIf you’d like to learn even more about how the LiquidFun particle simulation works, you may enjoy our new presentation describing the tech and algorithms, Inside LiquidFun.

By Jason Sanmiya, Fun Propulsion Labs at Google*

*Fun Propulsion Labs is a team within Google that's dedicated to advancing gaming on Android and other platforms.

Categories: Open Source

Hot weather, cool code: July Unix User's Group meeting

Google Open Source Blog - Tue, 07/15/2014 - 20:30
Unigroup is the oldest and largest Unix User's Group (Unix/Linux/BSD) serving the Greater New York City Regional Area. It has been serving the NYC Unix/BSD Community for over 30 years, and the NYC Linux Community for over 20 years.

Unigroup organizes monthly meetings, each of which contains a main presentation on a wide variety of topics. In this month's event, happening on Thursday, July 17th, 2014, I will present the FreeBSD Test Suite and its backing testing framework, Kyua, both of which are supported by the Google Open Source Programs Office.

Today's blog post features the key concepts behind the FreeBSD Test Suite and what you can expect from Thursday’s meeting. If you are attending, please do not forget to RSVP by July 17th!

The FreeBSD Test Suite
FreeBSD is a Unix-like, free, general purpose operating system with a large codebase — over 5 million lines according to Ohloh. In order to easily ascertain the quality of the system and to ensure that such quality does not regress over time, the foundations of a test suite and a collection of tests were needed.

With funding from a Google Summer of Code project in 2007, I got involved in writing a test suite framework for NetBSD known as ATF, parts of which were rewritten under the Kyua project name starting in 2010. Both ATF and Kyua have always been standalone components able to work on any Unix-like operating system. Until recently, NetBSD was the major consumer of these testing tools, but in 2013 they spilled into FreeBSD to equip the system with its own test suite.

The goals of the FreeBSD Test Suite are to assist developers in modifying the system, to assist end users in validating that the system works according to documented expectations, and to assist the release engineering team in vetting new releases and to put the shiny-new Kyua framework to use in a production-quality project.

Currently, the FreeBSD Test Suite is part of both FreeBSD 11.0-CURRENT (the development branch) and of stable/10 (the stable branch that will yield 10.1-RELEASE). The test suite currently holds about 570 test cases — a pretty small number considering its scope, but decent enough given that the test suite foundations are still under active development.

Kyua: the test suite glue
Kyua is a runtime engine for test suites, mostly engineered towards testing operating systems. In general terms, a test suite defines the layout of its test programs and its test cases using a declarative language that Kyua is in charge of. Based on this definition, Kyua allows to execute the tests in a controlled environment and to generate user-friendly and machine-parseable reports of the results. Continuous integration facilities are left to better-suited third-party systems such as Jenkins.

Kyua is able to run test programs implemented in a variety of languages with support for various different testing libraries. In particular, Kyua can run ATF-based test programs (written in either C, C++ or POSIX shell), legacy test programs (those that just exit with 0 or 1 depending on the test's success), and TAP-compliant test programs. It should be possible, and is in fact planned, to support other backends like GoogleTest.

The upcoming talk
In Thursday’s meeting, I will be presenting all of the above and much, much more.

The session will start with a bit of history about my involvement with the BSDs. I’ll talk about the goals of the FreeBSD Test Suite while comparing those with its NetBSD counterpart, presenting the Kyua project, outlining the current state of the test suite, showcasing Jenkins and possibly performing some live demonstrations. Expect code samples.

If you happen to be in the New York City area on the 17th, RSVP and join us for the session!

By Julio Merino, Google Site Reliability Engineering

Categories: Open Source

Gradle Integration for Eclipse (4.4)

The Eclipse-Integration-Gradle project brings you developer tooling for Gradle into Eclipse.

It comes with Spring UAA (User Agent Analysis), an optional component that help us to collect some usage data. This is completely anonymous and helps us to understand better how the tooling is used and how to improve it in the future.

It also comes with the Spring Dashboard as an optional component, which brings you up-to-date information about Spring-related projects as well as an easy-to-use extension install to get additional tooling add-ons, like the tc Server Integration for Eclipse, the Cloud Foundry Integration for Eclipse, Grails IDE and Groovy Eclipse.

Categories: Open Source