News from the World of Software Development – May 2018

git desktopp

Welcome to the May edition of the software development news digest here at the Betica Blog. We regularly take a look at some interesting stories influencing the application engineering world. Hopefully, they provide a measure of insight to help your own coding projects.

If you are interested in checking out last month’s digest, simply click on the following link. We cover an AI routine that knows how to code. As always, thanks for reading!

GitHub imagining the Future of Collaborative Software Development

The ubiquitous source code repository giant, GitHub, naturally lies at the center of most software development shops’ workflow. This gives the organization a unique ability to influence the overall engineering process across the industry. Collaborative development is one such natural area given the organization’s distributed source control system. An article about GitHub’s importance appeared this week at The Next Web.

A collaborative spirit existed at GitHub from the beginning. The company released a public API for its source control application soon after going live. The software teams behind Ruby on Rails and Bitcoin leveraged it for source control as well as an example of the power of team development.

Ultimately, these two facts highlight the reason the open source movement is so influential throughout the tech industry. Since GitHub is essentially the standard for source code control, it played a large role in transitioning coding from a solitary task to something more social and interactive.  Aaron Upright noted as much in his article for The Next Web.

“Contrasted with alternatives like GitLab and BitBucket, GitHub has taken a best-of-breed approach. It’s essentially created a platform from which it’s possible integrate the products and tools that are better than what it feels it can create. It’s not building chat tools or CI functionality or project management on its own; instead, it makes it easy to integrate Slack, or Circle CI, or whatever else you might want,” commented Upright.

In short, GitHub makes it easy to collaborate when coding; setting an example for – as well as influencing – the rest of the industry.

Oracle finally to remove Java Serialization Security Hole

Serialization is one of the most important functions in software development, allowing data objects to be easily distributed as byte streams. Unfortunately, Java’s serialization routines, in place for decades, create a security hole easily exploited by nefarious agents. Oracle recently announced they plan to remove serialization from future versions of Java. News about the change appeared this week in InfoWorld.

The company plans on an approach allowing developers to use their own serialization engine. It interacts with a small framework included in a future version of the “platform once records” – Java’s nomenclature for data classes. It is expected to support JSON and XML as well as other formats.

Oracle feels they made a massive mistake with the current version of serialization implemented in 1997. They noted that nearly one-half of all Java security vulnerabilities are because of this engine. The company recently added a way to filter the classes being serialized as one way to mitigate the risk before the new serialization framework gets introduced.

Oracle provided no information on which upcoming version of Java is slated to include the reengineered serialization framework. Stay tuned!

That’s it for this month’s news digest. Keep coming back for additional software development insights from the Betica Blog.   

PostgreSQL is a Hot Database Choice yet Again

It seems the venerable PostgreSQL database is garnering a new wave of buzz across the IT industry. Maybe our series of articles on Postgres earlier this year helped contribute to this newfound hipness? Probably not, but modern tech organizations hoping for a cheaper alternative to Oracle while still getting support for NoSQL consider it to be a worthy option.

Let’s look more closely at some of the reasons why PostgreSQL remains one of the hottest databases – relational or not – on the market. Perhaps it makes sense for your team’s next data-centric web or desktop application?

Postgres is actually growing in Popularity!?

PostgreSQL’s increase in popularity caught the attention of InfoWorld magazine, who recently talked about the database’s hot factor earlier this month. In fact, Postgres now ranks as the 4th most popular database in the industry, according to a study by DB-Engines. Not surprisingly, the only three DBs ranked higher are Oracle, MySQL, and SQL Server.

The reasons for the growing popularity of Postgres – especially with younger developers – are numerous. InfoWorld’s writer, Matt Asay notes the improved performance brought by the support for JSON included in PostgreSQL 9.2 and boosted in version 9.4. Another important reason involves programmers growing tired of trying to fit even hipper NoSQL options like MongoDB into solution where a relational database makes the most sense.

Ultimately, in a situation when an old-school DB works best, PostgreSQL’s open source nature is simply more cost effective than Oracle or SQL Server. In fact, Postgres first earned its mojo as a cheaper alternative to Oracle. Still, could this old school database scale fast enough for use in modern web applications?

PostgreSQL and its newfound Scalability

The ubiquitous nature of social networks like Facebook and Twitter puts the onus on modern web applications to be extremely scalable. Most RDBMS options generally provide poor scalability, as did Postgres for most of its existence. Asay notes the introduction of Citus, an extension for PostgreSQL, provides a level of scalability rivaling many of the popular NoSQL databases.

Citus supports Postgres instances across multiple nodes, while providing a distributed model for transactions and SQL queries. These features give this veteran relational database the parallelism required for a massively scalable application able to compete in today’s market place. Take that, Cassandra.

While Citus is available as an open source extension, the company that developed it also offers a commercial version with full support. This is a similar model that EnterpriseDB followed with PostgreSQL itself. Citus provides a great option for shops working with Postgres for development and them implementing Citus for extra scalability before going live.

It also lets companies take advantage of their in-house talent’s database skills without spending on training in the latest NoSQL database options. These bonuses are arguably behind the still growing popularity of PostgreSQL.  Elijah Zupancic‏, the Director of Solutions Engineering for Joyent comments on some of the other core reasons.

“From a developer perspective, it is a pleasure to use. The documentation is wonderful, the data types reflect the types developers work with, and there is little surprising.”

Keep coming back to the Betica Blog for additional insights on software development, testing, and occasionally, databases.