want to keep track on the Java world? use this pipe to read *all* the hot news...
Last feed update: Thursday October 1st, 2015 01:39:02 PM
Software applications are judged by many facets, for example, easy maintainability, easily altering of software behavior via configuration, speedy incorporation of new feature without affecting existing features, how performant the application is, etc. If there is a question on building such software, you would get adifferent answer based on whom you approach. Spring evangelists would say "Spring is the framework for all you need, Dump the Java EE Standards since Java EE Lost the Competition and Spring Won" while Java EE adherents would respond by saying "It's not Spring anymore, it is the summer of Java EE 7 since the age of frameworks is over hence move from spring to Java EE.
Extracting Valuable Data from log4j logs with Virtual FieldsIn our recent upgrade to XpoLog V6 we enhanced the features of log4j analysis. In this series of posts I am covering some of the ways you can benefit from XpoLog V6’s new features and enhancements. I will concentrate mainly on how to get the most valuable information from your log4j event logs. We have also prepared a hands-on-guide-in-one if you prefer to read all the posts in one go.Once your log4j logs have been transferred to and properly defined in XpoLog Center, you can troubleshoot your java application by running Analytic Search on your log4j data, measure your application performance, create your own AppTags for better monitoring, and create dashboards, charts, slide-shows, and make use of other visualization gadgets for maximum log analysis.
For those of you who don't know, BoofCV is a free open source computer vision library. Written from scratch for ease of use and high performance. Its functionality covers a wide range of subjects including, optimized low-level image processing routines, camera calibration, feature detection/tracking, structure-from-motion, and recognitionThe last release was a year ago and in that time a ton of new features and bug fixes have been added. Below are an example of several of the new features, ones with code examples for them. Fiducials and camera calibration have also recieved a bit of work and are much better now.
When serving static resources, it is common practice to append some kind of version information to the resource URL. This allows the browser to cache resources for an unlimited time. Whenever the content of the resource is changed, the version information in the URL is changed too. The updated URL forces the client browser to discard the cached resource and reload the latest resource version from the server.With Spring it only takes two simple steps to configure versioned resource URLs. In this post we will see how it works.
Recently I stumbled across DCHQ, a deployment automation & life-cycle management platform for container-based applications. As I'm currently working on a project (DURAARK) that is heavily using containerized services I wanted to give it a try. This post describes my first experiences with the system and shows how to setup the multi-container DURAARK application with it. Before describing the DCHQ setup I'll introduce the DURAARK application to give the reader a bit more context. If you are only interested in the DCHQ part simply skip the first two paragraphs of the post.DURAARK (Durable Architectural Knowledge)DURAARK is an open source system to do semantic archival and retrieval of architectural data. The tool helps stakeholders from the architecture, engineering and construction (AEC) community to manage data like 3D models, point cloud scans or context information over the lifecycle of a building. Our goal is to transform building data into a *living archive* that serves as a knowledge base for stakeholders from the design phase over planning, construction, facility management and renovations or retrofittings. The interested reader can look up the project on the official page here. If you happen to work in the AEC world you should definitely check it out or drop us a note, if you are interested in the topics described there!
A singleton is a class that is instantiated exactly one time and can be used to represent "global" or system wide components. Common usages of singletons include loggers, factories, window managers or platform components. My general tip is to avoid using singletons when possible, because it is difficult to break out or override functionality and also to write test mocks and they also tend to create a bad over all code structure. As it turns out in this post, they are also insecure. Many efforts has been made to devise good singleton patterns but there is one surprisingly easy and efficient way of doing it. However, there is really no rock solid way of guaranteeing that the singleton integrity is not breached. Read this post and see if you agree.
Microservices, whatever one may do, one of the most important concept that was invented in last years. It is possible to resist SOAP 2.0 as much as long, but sooner or later they will come for you and will turn you into their faith, or you will come to them and please to baptise yourself by fire and a sword. As well as any architectural concept microservices has cons. You need to include some authorization logic in requests from external systems or other microservices in each microservice. This logic can be directly "hardcoded" in microservice (and it isn't important that is a separate library), or can be delegated to other microservice, or can be declared. What "can be declared" means? For example, it is possible to agree that the special HTTP header, or some data structure with user information, comes in each request to each microservice. And data in this structure is needed to be absolutly trusted. All three options have cons, but within article we will talk about the last. For implementation usually API Gateway pattern is used: Typically API Gateway restricts amount of requests to internal services, authorizes client's requests, does logging and audit, distributes requests across clients and transforms data if it is necessary. Even nginx can be used for API gateway. Consider an authorization function for user requests. If HTTP protocol is used, the standard practice considers adding of a certain token (not important as we received it) in Authorization header:
Google is putting some of the most Google-y Android apps in the spotlight, and is sharing their source code to spur development of other apps. The site Android Experiments is showcasing Android apps that perform novel and unusual functions. A compass app, called Landmarker, for instance, puts a spin on navigational tools by letting users explore nearby landmarks by rotating their Android device around them. Another, called IOIO Plotter, is an Android tablet app that converts photos from the tablet's camera into abstract drawings using physical markers suspended from strings. There are also apps for smartwatches running Google's Android Wear software. An app called Coubertin Rings displays animated graphics on the watch face to motivate daily physical activity. It uses built-in sensors on the watch to display rings that represent the wearer's daily step count.To read this article in full or to leave a comment, please click here
Small, responsive and dedicated performance teams tend to be the ones that produce the highest-performing Java code, according to a study released today by RebelLabs. The study, which polled more than 1,500 Java developers around the world, revealed a number of trends around development and performance -- including the fact that proactive testing and small team sizes tend to correlate with reports of happier end users. According to the survey, teams that have happy users are more than 40 percent more likely than others to profile their code on a daily or weekly basis. By contrast, many developers typically don’t take a deeper look into their code unless there’s something wrong, the study found – more than 42 percent of respondents said they only performed profiling when there were issues already apparent, and almost 10 percent said they never profiled at all.To read this article in full or to leave a comment, please click here
Java developers are slated to get REPL (Read-Eval-Print-Loop) capability via the JShell API with next year's planned Java 9 release. In a recent blog post, Oracle's Jim Connors cited the ease of use enabled by REPL and Java's setback with the lack of this capability. "Instead of having to construct and compile complete syntactically correct programs before feedback can be achieved, REPLs allow much more interactivity, enabling the student/programmer to enter small snippets of code and receive immediate feedback."To read this article in full or to leave a comment, please click here
Key Java proponents are up in arms over the planned elimination of the private API sun.misc.Unsafe in the upcoming Java Standard Edition 9 release. Although an officially unsupported API, sun.misc.Unsafe provides benefits like access to native memory, surpassing the limitations of the Java heap, said Hazelcast CEO Greg Luck in an interview last Friday. Hazelcast leverages the API in its in-memory data platform, enabling development and management of large caches of data, and has participated in the Java Community Process for amending Java. "Basically, what's happened is that hundreds of companies now rely on this private API to get their job done with Java," said Luck.To read this article in full or to leave a comment, please click here
JRuby, a veteran among languages other than Java riding atop the JVM, will be upgraded Wednesday with the release of JRuby 9000. Available for download at the JRuby website, JRuby 9000, "is going to [have] a lot of potential to increase the performance of Ruby," said project co-lead Charles Oliver Nutter. "JRuby in general brings true threading, true parallelism to Ruby and everything the JVM has to offer for the Ruby world." Better performance in the new version is achieved by a rewritten compiler that serves as more of a classic, optimizing compiler. "Before, it was more of a direct translation from Ruby byte code into JVM byte code without a lot of optimization," said Nutter. Subsystems like IO and process management now use the same native functionality as the C-based version of Ruby, improving compatibility with standard Posix and Unix behavior, according to a GitHub page detailing the upgrade.To read this article in full or to leave a comment, please click here
Go ahead and update Java -- or disable it if you don't remember the last time you actually used it on the Web: Oracle's latest patch, released Tuesday, fixes 25 vulnerabilities in the aging platform, including one that's already being exploited in attacks. In addition to Java, Oracle also updated a wide range of other products, fixing a total of 193 vulnerabilities, 44 stemming from third-party components. The patched products include Oracle Database, Oracle Fusion Middleware, Oracle Hyperion, Oracle Enterprise Manager, Oracle E-Business Suite, Oracle Supply Chain Suite, Oracle PeopleSoft Enterprise, Oracle Siebel CRM, Oracle Communications Applications, Oracle Java SE, Oracle Sun Systems Products Suite, Oracle Linux and Virtualization, and Oracle MySQL.To read this article in full or to leave a comment, please click here
Next time you're prompted to update the Java software on your computer, pay attention or you might become a Yahoo user without realizing it. The search company has cut a deal with Oracle to promote Yahoo search alongside future updates to Oracle's Java technology, which runs on most PCs. Starting this month, when people are prompted to update to the next version of Java, they'll be asked if they want to make Yahoo their default search engine on Chrome and Internet Explorer. The box to reply in the affirmative will be checked by default, the Wall Street Journal reported, so those not paying attention might find themselves using Yahoo search even if they didn't mean to.To read this article in full or to leave a comment, please click here
Red Hat is taking over stewardship of the OpenJDK 7 project, at the moment a generation behind the current release of Java. OpenJDK has served as the open source version of Java, providing a testing ground for Java features to be included in Oracle's commercially supported Java Development Kit. Red Hat will provide support, including bug fixes for OpenJDK 7, said Craig Muzilla, senior vice president of Red Hat's application platforms business. Red Hat leverages OpenJDK 7 in its Red Hat Enterprise Linux release. "Most application developers, if they build an application based on a particular version [of Java] and they're going to put an application in production for a long period of time, it could be five, six, seven years, and they're running on a certain JDK, they want to make sure that there's somebody behind that," Muzilla said in an interview on Friday. "That's the role that we're playing in the community, and that's the role that we're playing at Red Hat."To read this article in full or to leave a comment, please click here
Apache Spark, the big data processing framework that is a fixture of many Hadoop installs, has reached its 1.4 incarnation. With it comes support for R and Python 3 -- two languages in wide use by data crunchers -- as well as better leveraging of containers and cluster management tools used to manage distributed work.The R programming language, mainly used for statistical analysis and data science, is a perfect fit for driving a data-processing framework like Spark. SparkR, the Spark 1.4 package that adds R support, allows R programmers to write code that scales out across multiple cores or Spark nodes, and to read and write all the data formats supported in Spark. (Also supported in R is Spark SQL for allowing SQL queries of Spark data.)To read this article in full or to leave a comment, please click here
With the 1.0 release of its Polymer library, Google is pushing for a method of building Web applications that leverages the development of interoperable custom elements. Polymer 1.0 was unveiled during the Google I/O conference in San Francisco late last week. "Since the Developer Preview release, we've re-written the library from the ground up, focusing on cross-browser performance while keeping the developer-friendly ergonomics," Taylor Savage, Polymer product manager, said in a blog post. "The new library is about three times faster on Chrome, four times faster on Safari, and a third less code than in developer preview. And it's ready to be used in production applications."To read this article in full or to leave a comment, please click here
Java's success in remaining relevant on the ever-changing landscape of software development has been its relative simplicity.On Wednesday, Oracle celebrated the 20-year anniversary of the birth of the Java programming language with a blitz of marketing. Certainly the largely pre-Internet IT landscape was far different when the language was introduced by Sun Microsystems (which was purchased by Oracle in 2010). Yet Java has remained on the development workbench when many other widely used languages of the 1990s, such as Delphi or Perl, have been pushed to the side or used only for a select set of duties.To read this article in full or to leave a comment, please click here
Java's chief architect, Mark Reinhold, emphasized the future in his EclipseCon keynote on Tuesday, unpacking both the near-term changes anticipated in Java 9 and updates that future releases could bring. Much of Reinhold's presentation focused on the concrete benefits of Java modularization. As reported by Alex Blewitt for InfoQ, Java 9 will modularize both the JVM's underlying architecture (and source code) and the individual Java components and runtime images. The Java platform will be reconfigured into a variety of modules, with java.base as the core dependency layer:To read this article in full or to leave a comment, please click here
Google has released Dart 1.9, with a focus on asynchronous programming. With the upgrade, familiar control flow features now can be used to manage complex asynchronous interactions. Version 1.9 features async methods and await expressions built from Dart's Future API. A Future represents a potential value or error that will available at some time in the future, according to Dart API reference documentation. "Asynchronous programming is everywhere -- user interaction, network access, file I/O. Dart simplifies and enhances these scenarios with the 1.9 release," a Dart News & Updates blog post said late last week. Asynchronous programming can offer performance benefits over traditional multithreading, although it can introduce its own complexities, university research concludes.To read this article in full or to leave a comment, please click here
With Pivotal about to pull funding for Groovy, the dynamic language project is moving over to the Apache Software Foundation. Groovy has been formally submitted to Apache and is on a path to becoming a top-level project, Apache said on Wednesday. Pivotal has prioritized around its Cloud Foundry PaaS platform, project lead Guillaume Laforge said in an email on Wednesday. This has left Groovy and the accompanying Grails Web development framework on the outside looking in at the company. "In a nutshell, Pivotal is refocusing essentially around its Cloud Foundry PaaS platform," Laforge said, "and feels that Groovy -- and Grails -- are less strategic to it regarding that new focus."To read this article in full or to leave a comment, please click here
Feed aggregation powered by Syndicate Press.
Processed request in 0.09802 seconds.