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

Google Code-in 2016: another record breaking year

Google Open Source Blog - 6 hours 17 min ago
Today we celebrate the closing of the 7th annual Google Code-in (GCI) which, like last year, was bigger and better than ever. Mentors from each of the 17 organizations are busy reviewing the last of the work submitted by student participants.

Each organization will pick two Grand Prize Winners who will receive a trip to Google’s Northern California headquarters this summer where they will meet Google engineers, see exciting demos and presentations and enjoy a day of adventure in San Francisco. You can learn about the experiences of the 2015 Grand Prize Winners in our short series of wrap-up blog posts. We’ll announce the new Grand Prize Winners and the Finalists here on January 30.

We would like to congratulate all of the new and returning students who participated this year. We’re thrilled with the turnout: over the last seven weeks, 1,374* students from 62 countries completed 6,397* tasks in the contest.

And a HUGE thanks to the people who are the heart of our program: the mentors and organization administrators. These volunteers spend countless hours creating and reviewing hundreds of tasks. They teach the young students who participate in GCI about the many facets of open source development, from community standards and communicating across time zones to version control and testing. We couldn’t run this program without you!

By Josh Simmons, Open Source Programs Office

* These numbers will increase over the coming days as mentors review the final work submitted by students.
Categories: Open Source

Dojo 2 updates – Week ending Jan, 13 2017

The Dojo Toolkit - Announcements - 9 hours 3 min ago

We’ve accomplished a lot on Dojo 2 over the past few months, which has meant a fair amount of churn and improvements. Rather than trying to recap everything, we’re going to start covering some of the highlights in more frequent, shorter blog posts than we did in 2016.

Dojo 2 roadmap update

We have a new Dojo 2 roadmap. It’s currently more accurate about the things we’ve finished than it is about the things that are upcoming. We’re in the process of splitting out the remaining items into things that block the first Dojo 2 beta, and those that will follow it.

Scoped packages

With npm, the first package to choose a name wins, and in the past this has led to things like dgrid, dstore, and even util and themes not being able to have the same name in npm as they do in our own repositories. npm does not make it easy to provide aliases between names, so there’s been a fair amount of workarounds needed to provide a consistent installation experience for npm and non-npm users.

A while back, npm added support for scoped packages, so that it would be easy enough to refer to something as @dojo/core rather than dojo-core. We had resisted going this route as we were still aiming to support bower, but with a significant decrease in adoption of bower, and a heavy reliance on npm for the Dojo 2 development approach, we’ve made the decision to drop bower support for Dojo 2 and we’ve started using scoped packages.

In your code, the main change will be with how you include and reference dependencies. A dojo/core commit shows how this works in practice, but the things to note are:

  • The source package remains in the same location, e.g. dojo/loader is still found at
  • When including that package as a dependency, you will now include it as @dojo/loader instead of dojo-loader in both your package.json as well as within any ES6 module import statements, as well as via any npm install commands, e.g. npm install @dojo/loader

Besides being able to keep short and consistent package names, all officially supported Dojo 2 packages will be included under this scope.

Categories: Open Source, RIA

Projects of the Week, January 16, 2017 Front page news - Mon, 01/16/2017 - 06:15

Here are the featured projects for the week, which appear on the front page of


The NAS4Free operating system can be installed on virtually any hardware platform to share computer data storage over a computer network. ‘NAS’ as in “Network-Attached Storage” and ‘4Free’ as in ‘Free and open source’, NAS4Free is the simplest and fastest way to create an centralized and easily-accessible server for all kinds of data! NAS4Free supports sharing across Windows, Apple, and UNIX-like systems. It includes ZFS, Software RAID (0,1,5), disk encryption, S.M.A.R.T / email reports etc. with following protocols/services: CIFS/SMB (samba), Samba AD, FTP, NFS v4, TFTP, AFP, RSYNC, Unison, iSCSI, UPnP, Bittorent, Syncthing, VirtualBox and noVNC, Bridge, CARP (Common Address Redundancy Protocol) and HAST (Highly Available Storage). This all can easy be managed by a configurale webinterface.
[ Download NAS4Free ]


An independent small, rolling distribution, fully focused on KDE/Qt. Using pacman as package-manager.
[ Download KaOSx ]

PDF Split and Merge

Split and merge PDF files with PDFsam, an easy-to-use desktop tool with graphical, command line and web interface.
[ Download PDF Split and Merge ]


Terasology is a free and open-source survival and discovery game set in a voxel world. Influenced by Minecraft, Dwarf Fortress and Dungeon Keeper, it offers a unique and enjoyable building and playing experience.

Terasology requires Java 8 and an updated graphics card driver.
[ Download Terasology ]


[ Download manjarolinux-community ]

Peace Equalizer, UI for Equalizer APO

Peace Equalizer is a user interface for Equalizer APO by Jonas Thedering (version 0.9.1 or higher). Your equalizer configuration (audio preset) can be saved and activated by 1 click, hotkey, tray or desktop shotcut. Note: Your virus scanner can detect a virus in Peace.exe. This is a false positive, more info on the forum. Install by running downloaded PeaceSetup.exe. Almost all suggested features in the reviews are implemented! Thanks shak3800, Giorgio, makzmakz, rcn29, ptou, stelam, creyc, abberration and other Peace fans. For issues on virus scanners and their false positives go to the Wiki.
[ Download Peace Equalizer, UI for Equalizer APO ]


Skim is a PDF reader and note-taker for OS X. It is designed to help you read and annotate scientific papers in PDF, but is also great for viewing any PDF file. Skim requires Mac OS X 10.6 or higher.
[ Download Skim ]


WinPython is a free open-source portable distribution of the Python programming language for Windows XP/7/8, designed for scientists, supporting both 32bit and 64bit versions of Python 2 and Python 3. Since September 2014, Developpement has moved to
[ Download WinPython ]


This is a project aimed at producing a file-sharing and chatting client using the ADC protocol. It also supports connecting to the Direct Connect network.
[ Download DC++ ]

Categories: Open Source

Introducing Draco: compression for 3D graphics

Google Open Source Blog - Fri, 01/13/2017 - 18:00
3D graphics are a fundamental part of many applications, including gaming, design and data visualization. As graphics processors and creation tools continue to improve, larger and more complex 3D models will become commonplace and help fuel new applications in immersive virtual reality (VR) and augmented reality (AR).  Because of this increased model complexity, storage and bandwidth requirements are forced to keep pace with the explosion of 3D data.

The Chrome Media team has created Draco, an open source compression library to improve the storage and transmission of 3D graphics. Draco can be used to compress meshes and point-cloud data. It also supports compressing points, connectivity information, texture coordinates, color information, normals and any other generic attributes associated with geometry.

With Draco, applications using 3D graphics can be significantly smaller without compromising visual fidelity. For users this means apps can now be downloaded faster, 3D graphics in the browser can load quicker, and VR and AR scenes can now be transmitted with a fraction of the bandwidth, rendered quickly and look fantastic.

Sample Draco compression ratios and encode/decode performance*
Transmitting 3D graphics for web-based applications is significantly faster using Draco’s JavaScript decoder, which can be tied to a 3D web viewer. The following video shows how efficient transmitting and decoding 3D objects in the browser can be - even over poor network connections.

Video and audio compression have shaped the internet over the past 10 years with streaming video and music on demand. With the emergence of VR and AR, on the web and on mobile (and the increasing proliferation of sensors like LIDAR) we will soon be swimming in a sea of geometric data. Compression technologies, like Draco, will play a critical role in ensuring these experiences are fast and accessible to anyone with an internet connection. More exciting developments are in store for Draco, including support for creating multiple levels of detail from a single model to further improve the speed of loading meshes.

We look forward to seeing what people do with Draco now that it's open source. Check out the code on GitHub and let us know what you think. Also available is a JavaScript decoder with examples on how to incorporate Draco into the three.js 3D viewer.

By Jamieson Brettle and Frank Galligan, Chrome Media Team

* Specifications: Tests ran with textures and positions quantized at 14-bit precision, normal vectors at 7-bit precision. Ran on a single-core of a 2013 MacBook Pro.  JavaScript decoded using Chrome 54 on Mac OS X.
Categories: Open Source

Stereotype Checker

Date Created: Fri, 2017-01-13 04:03Date Updated: Fri, 2017-01-13 09:32NovaTec Consulting GmbHSubmitted by: CA ITA Novatec

The Stereotype Checker is an extension to checkstyle checking if your code matches the defined architecture.

More information can be found on the GitHub pages

If you don't check your architecture it doesn't exist in reality.

The architecture is a contract between developers (including the architect if one exists) of a project on how to structure a software. In a classical architecture there are many layers (e.g. UI, business, persistence) and the architecture defines which layer is allowed to talk to another layer. If you don't check this automatically, often this contract is not followed due to the reason that the developer does not get a fast or even any feedback that some changes break the contract.

How does the stereotype check help following the contract?

In a layered architecture often there are some classes that implement a special behavior like transformer, controllers or business functions. They are called stereotypes. Stereotypes belong to a specific layer. Stereotypes are defined by a combination of:

  • Postfix of the classname
  • Package of the class
  • Interface implemented by the class
  • Class extended by the class
  • Annotations the class has

The stereotype check tests if a class conforms to a configured stereotype and checks if the class has a dependency to an other stereotype class that is not allowed.

Categories: Open Source

Dont’s When Dealing with New Contributors Front page news - Fri, 01/13/2017 - 06:24

Open source projects are amazing in that practically anyone can come in and make a difference. But it can also be a burden for the exact same reason. Just ask project developers and maintainers.

If you have been or currently are a project developer or maintainer, this scenario may be familiar to you: you’re juggling a million things with your project and out of nowhere an external contribution comes in. You’re grateful of course, but you’re also sighing inside and thinking, great. More work for you. And you wouldn’t be wrong.

New contributions can come with a lot of work: reviewing patches and reworking code among others. But thinking of them in this negative way can lead to some bad decisions– decisions that can make open source projects a little less open and a lot more unwelcoming, sometimes even hostile. This is the one big mistake you do not want to be making.

New contributions help keep open source projects going. Developers should really avoid thinking negatively of them as this can lead to actions that keep new contributors away.

Purposefully Discouraging New Contributions

Unfortunately for some, this negativity and the bad practices that result from it can come instinctively or unknowingly simply to avoid “added” work. They’ll say they don’t want contributions; make it difficult for newcomers to make contributions; or purposefully make new contributors feel unwelcome.

The first thing that developers have to realize here is that doing these discouraging things will only hurt instead of help their project. They’re missing out on additional support that can only be beneficial to their project. They could be preventing the entry of a future maintainer. The second thing they need to realize is that these contributions are not really “added” work but work that is essentially part of every open source project. It may not always be the most important part, but it is still part of the project and of the open source process in general, so it should not be discouraged.

Blind to Bad Habits

Even if you don’t do things to purposefully discourage new contributors, there may be other things you’ve gotten used to doing that you didn’t know or notice are actually discouraging. For example: handing new contributors grunt work. It’s often instinctual for maintainers to hand these jobs off to newbies, and in many cases, it’s fine. However, this is not true for all. Some contributors have different motivations and expectations; others are more skilled than they let on. By simply handing them grunt work without consulting them, slowly but surely they will be discouraged to continue with the project.

Conversely, some maintainers expect newcomers to already know the ins and outs of the project, and ask too much of them too soon. This results in the newcomer feeling incompetent.

In these cases, it’s important for project developers and maintainers to properly assess the ability and expectations of newcomers and assign tasks appropriately. You can start by asking them to send in some patches, and review these patches. Simply communicating with them could even be enough to gauge where a new contributor would prove to be most useful within a project. By doing these things, newcomers will feel more fulfilled and be more likely to stick around and help, and the project will be able to benefit from maximizing the newcomer’s skills.

Categories: Open Source

JanusGraph connects the past and future of Titan

Google Open Source Blog - Thu, 01/12/2017 - 19:04
We are thrilled to collaborate with a group of individuals and companies, including Expero, GRAKN.AI, Hortonworks and IBM, in launching a new project — JanusGraph — under The Linux Foundation to advance the state-of-the-art in distributed graph computation.

JanusGraph is a fork of the popular open source project Titan, originally released in 2012 by Aurelius, and subsequently acquired by DataStax. Titan has been widely adopted for large-scale distributed graph computation and many users have contributed to its ongoing development, which has slowed down as of late: there have been no Titan releases since the 1.0 release in September 2015, and the repository has seen no updates since June 2016.

This new project will reinvigorate development of the distributed graph system to add new functionality, improve performance and scalability, and maintain a variety of storage backends.

The name "Janus" comes from the name of a Roman god who looks simultaneously into the past to the Titans (divine beings from Greek mythology) as well as into the future.

All are welcome to participate in the JanusGraph project, whether by contributing features or bug fixes, filing feature requests and bugs, improving the documentation or helping shape the product roadmap through feature requests and use cases.

Get involved by taking a look at our website and browse the code on GitHub.

We look forward to hearing from you!

By Misha Brukman, Google Cloud Platform
Categories: Open Source

NetBeans IDE 8.2 Patch 1 Now Available

NetBeans Highlights - Wed, 01/11/2017 - 09:54
The NetBeans Team has released a patch for NetBeans IDE 8.2 with fixes that enhance stability and performance. As you can learn more about the fixes in the NetBeans IDE 8.2 Patching Info Wiki page, the update fixes 110 bugs mainly in CND area. To obtain the fixes, NetBeans IDE 8.2 must be installed and running. Once you see an update notification in status bar, click the notification to install the updates. You can also download the fixes through the NetBeans IDE Plugins Manager (Tools > Plugins menu item) or the About dialog (Help > About menu item).
Categories: Java, Open Source

The Rise of NetBeans

NetBeans Highlights - Wed, 01/11/2017 - 09:54
The Rise of NetBeans — Why The Increasingly Popular IDE Has Streamlined Java Application Development for a Network of 1.5M+ Active Users.
Categories: Java, Open Source

The Rise of NetBeans - Why The Increasingly Popular IDE Has Streamlined Java Application Development

NetBeans Highlights - Wed, 01/11/2017 - 09:54
Originally a student project in 1996, NetBeans has since become one of the most popular IDEs among app developers. Right out of the box, it boasts a code generator, debugging tools, a GUI builder, and support for your choice of programming language (Java, JavaScript, PHP, C++, HTML, and others welcome!), allowing you to easily create desktop, web, mobile, or HTML5 applications. The extensible platform is free, open-source, and backed by a dedicated community that knows best-practice software development. With their adoption by the Apatche Foundation and goals to continue to evolve alongside JDK releases, NetBeans is sure to remain a valuable resource for the open-source community well into the foreseeable future.
Categories: Java, Open Source

Released: NetBeans IDE 8.2

NetBeans Highlights - Wed, 01/11/2017 - 09:54
With a range of new features, enhancements, and bug fixes, NetBeans IDE 8.2 is released.
Categories: Java, Open Source

NetBeans Community Approves NetBeans IDE 8.2 for Release

NetBeans Highlights - Wed, 01/11/2017 - 09:54
We are pleased to announce the results of the NetBeans IDE 8.2 Community Acceptance Survey that ended October 2nd: 89% of 64 respondents agree that NetBeans IDE 8.2 Release Candidate is stable enough to be shipped! A few respondents pointed out several serious issues. We evaluated them all not to overlook some important problem. We are very delighted that all Node.js users consider the support rock solid but also high satisfaction with newly introduced Docker support and SQL Profiling is very positive. Check it out yourselves! Overall, this is good news for the NetBeans IDE 8.2 from the community, and we thank all who provided this valuable feedback!
Categories: Java, Open Source

Oracle Proposes NetBeans As Apache Incubator Project

NetBeans Highlights - Wed, 01/11/2017 - 09:54
Leading up to the premier Java conference, JavaOne 2016, Oracle has proposed contributing the NetBeans IDE as a new open-source project within the Apache Incubator.
Categories: Java, Open Source

Build with NetBeans IDE, Deploy to Oracle Java Cloud Service

NetBeans Highlights - Wed, 01/11/2017 - 09:54
Save time and effort deploying applications. Learn to set up Oracle Java Cloud Service, then install and use the Oracle Cloud plugin in the NetBeans IDE.
Categories: Java, Open Source

Build a Rich Client Platform To-Do Application in NetBeans IDE

NetBeans Highlights - Wed, 01/11/2017 - 09:54
Practice using NetBeans IDE features that improve code quality and increase developer productivity.
Categories: Java, Open Source

Video: Installing and Using Java ME SDK 8.0 Plugins in NetBeans IDE

NetBeans Highlights - Wed, 01/11/2017 - 09:54
This screencast demonstrates installation and usage of Oracle Java ME SDK 8.0 Plugins in NetBeans IDE on the Windows operating system.
Categories: Java, Open Source

iSphere for RDi 9.5+

Date Created: Tue, 2017-01-10 16:11Date Updated: Sat, 2017-01-14 09:27iSphere Project TeamSubmitted by: Thomas Raddatz

iSphere is an open source plug-in for WDSCi 7.0 and RDi 8.0+. It delivers high quality extensions for WDSC, RDP and RDi to further improve developer productivity.

IBM's current Eclipse based Integrated Development Environment (IDE) is a huge step beyond SEU, but it still lacks features available only on the green screen. That is where the iSphere Project comes into play, filling in those gaps.

Feature list:

  • Binding Directory Editor
  • Data Area Editor
  • User Space Editor
  • Data Queue Viewer
  • Message File Editor
  • Message File Compare Editor
  • Message File Search
  • Source File Search
  • Source Compare/Merge Editor
  • Spooled Files Subsystem
  • Lpex Task Tags
  • Host Object Decorator
  • RSE Filter Manager
  • Message Subsystem and Monitor
  • Job Log Explorer

iSphere is an Open Source project that is hosted on Source Forge.

Categories: Open Source