Java EE Fundamentals – What is a JSR Reference Implementation?

This post is the third installment in the Java EE Fundamentals series

Java EE Fundamentals – What is Java EE?
Java EE Fundamentals – What is a Java Specification Request (JSR)?

In the previous post, we looked at what a JSR is. We did say that a JSR is an abstract request to the JCP that contains proposed additions to the Java technology platform.

Because it is abstract, it cannot on its own be used in any way. A JSR needs to have some form of implementation, or concrete realization to be useful to us end developers. And that is where the concept of Reference Implementation comes in. Continue reading “Java EE Fundamentals – What is a JSR Reference Implementation?” »

Java EE Fundamentals – What is a Java Specification Request (JSR)?

Java EE Fundamentals Course Banner

This is the second post in the Java EE Fundamentals series

1. Java EE Fundamentals – What is Java EE
2. Java EE Fundamentals – What is a JSR Reference Implementation?

In the previous post, we looked at Java EE and what it means. We did mention that Java EE is made up of various components grouped into APIs under a program called the Java Specification Request (JSR).

In this post, we are going to take a deeper look at what a JSR is. At its core, a Java Specification Request is a formal, open standard document proposal that is made by an individual or organization to the Java Community Process, that contains proposed changes, additions and improvements to the Java technology platform.

A number of very important points could be gleaned from the above definition. Continue reading “Java EE Fundamentals – What is a Java Specification Request (JSR)?” »

Java EE Fundamentals – What is Java EE?

Java EE Fundamentals Course Banner

What is Java EE? Like really what is?

Java EE, formerly known as J2EE, at its core, is just a collection of abstract, standardized specifications that prescribes solutions to commonly faced challenges in software development.

It’s important to note the words abstract in the above definition. This means that Java EE is just a set interfaces and contracts that provides a public facing API for developers. Continue reading “Java EE Fundamentals – What is Java EE?” »

Java EE – Pick and Choose (Tank or Pistol)

Java EE is a powerful, modern, and nimble platform. However, to some people, there is absolutely no reason to check out Java EE in a world where JavaScript is omnipresent. But as an enterprise developer, you might want to think about how ‘modular’ Java EE is.

With Java EE, you can choose to build a tank, or mold just a pistol; it’s your choice. Essentially, you are always in charge. Continue reading “Java EE – Pick and Choose (Tank or Pistol)” »

New Java EE Course – The Theory of Java EE

I am pleased to announce the availability of our first course on Java EE, The Theory of Java EE. The Theory of Java EE is a course that is designed to give its audience a firm understanding of the theoretical underpinnings of Java EE.

A lot of Java EE courses are code focused and dive right in to the meat of Java EE. But having taken a number of CS students through Java EE, I came to realize a firm understanding in the theory was equally important in their understanding of Java EE. The course is a collection of lesson notes for my CS students that has been expanded to suit a much wider audience. Continue reading “New Java EE Course – The Theory of Java EE” »

Taking BootFaces for a spin

I love Java EE. It’s my platform of choice for enterprise applications development.  However, I have had a love hate relationship with its standard UI framework JSF, preferring to use Vaadin instead.

However, I have decided to take BootsFaces for a ride in my next project because I am beginning to feel Vaadin is bit too stiff for me when it comes to building responsive, mobile first applications. The BootsFaces project describes itself as “a powerful and lightweight JSF framework based on Bootstrap 3 and jQuery UI that lets you develop Front-end Enterprise Applications fast and easy.”

I must admit that sounds intriguing right? Continue reading “Taking BootFaces for a spin” »

Java UI framework Vaadin releases version 8

After a long period of development, Vaadin Ltd has released version 8 of the Vaadin Java UI framework with a slew of new features.  The most notable changes can be found in the data binding API of the framework.

Based on Java 8, the latest Vaadin 8 release takes advantage of lambda expressions introduced in Java 8 to make data binding much much expressive and easy.

For instance, in the past, one needed a Container interface implementation to pass objects to the Grid component thus

List persons = Backend.getPersons();
BeanItemContainer container =
new BeanItemContainer(Person.class, persons);
Grid grid = new Grid();
grid.setContainerDataSource(container);

now becomes

List persons = Backend.getPersons();
Grid grid = new Grid<>(Person.class);
grid.setItems(persons);

I am personally very excited about this release because hitherto one had to rely on Matti Tahvonen’s Viritin addon to overcome the very verbose databinding Vaadin APIs.

Another awesome feature is that Vaadin 8 will now support the browser history API, meaning much more cleaner and search engine friendly URLs. Continue reading “Java UI framework Vaadin releases version 8” »

UEFI, or the Age of Useless Computers…

Your next Intel x86 computer with UEFI secure boot…

Much has been said of the UEFI and one of its features, the Secure Boot. The launch of  windows 8 is near , and the UEFI is just around the corner.

UEFI is the talk of the town, but what is it?
It is a specification of a software layer between the old computer’s BIOS and the operating system.
Intel created the specification to solve various problems in its 64-bit Itanium platform, those problems caused by incompatibilities with the old BIOS, which was designed for a 16-bit architecture.
It will replace almost entirely the calls to the BIOS, for all operating system services.
Yes, it would be very interesting to do this, since our old BIOS is more than 30 years old.
It turns out that, currently, no  operating system makes calls to the BIOS anymore. They all have routines for interfacing with the hardware already built-in, the BIOS only works at boot (memory test, and that’s about it).

Specifications inspired by Windows …
Exactly when the UEFI was thought, its design was very similar to that of Microsoft Windows, with calls for protocols and practices inspired by the Microsoft product.
Interesting, no? Does it look like something made for everyone? No, no, but one thing made for  just a few to benefit  just a few.

How UEFI works
The UEFI would work more or less like this:

That is, would be present in all the user’s system, like a shadow controlling everything.
But if this is something that comes from Intel and Microsoft, what is there to fear? Much as it is a black box running inside your computer, and with the ability of a complete operating system.
Hence, very interesting questions are raised, since no one knows what is inside UEFI, unlike the good old BIOS, which is already very well known (and documented).


But, The Security UEFI Brings is what matters…
Ha, how nice it would be if it were true. But, as it has already happened ( The FLAME malware has been spreading with valid keys from MS) ​​is all a big crock. And, as mentioned here, the possibility of an attack at boot time is almost nonexistent.


But So What’s the grand plan to use the Secure Boot and UEFI?
Intel is suffering from a heavy attack of the ARM platform. ARM chips are ubiquitous, they are in mobile phones to video games, and now are entering the server room.
Microsoft is not doing well also, its windows XP system is still the most widely used worldwide, after almost three years of the release of Seven, and five years of the release of Vista.
Microsoft already knows that windows 8 will flop, so with the help of Secure Boot, it will lock the machines so that only its operating systems will be allowed to run, do not allowing users to know that there are other options, and much better, an attempt to freeze the market waiting for their next OS, 9.

What to do to fight this fierce competition?
Simple, use a standard and exclude the competitors from the standard. And the restricted UEFI boot fits perfectly there.
Consumers are choosing smartphones and tablets (with ARM chips) over x86 desktop computers. How could Intel  leverage its sales?
Easy, to sell more  x86 processors, just make computers that have a shorter lifespan. Hence, it will force consumers to buy more and more x86 computers.

Now, Apple already does this, with machines that are not repairable nor upgradeable (the latest MacBook Air comes with welded memories, so, not even memory is possible to add to it).
The next step for rapid obsolescence: An operating system slow, bloated and that drags the machine, coupled with applications with useless options – Anyone for Office 15 ? (for, obviously, make the whole system more cumbersome and slow).

Let’s face it, a computer with windows lasts no more than three years. After that, or it must be added more memory, or more HD or a more powerful processor (if possible).
Add to that the fact one can not install any other operating system to the machine, and you have a beautiful pile of useless junk.

Now, I wonder if this little UEFI secure boot detail Intel will also push in its server market.
I doubt it, since Intel is doing very well in the server market, mostly thanks to the Linux distros. It’s something they want to push down the throats of the domestic consumer and SOHO.
And, with Intel, Apple and Microsoft doing the same thing, this practice will become a standard.

What Can Happen?
Many things can happen. One that will certainly occur, is to increase the ignorance of the average user regarding  Information Technology, which is not good, thanks to Microsoft and Apple, and will only tend to worsen. Imagine a Fahrenheit 451 world where books are banned, and most of the population lives in complete ignorance, where few can read and remember the culture and the old books (I have not read the book, just watched the wonderful film by François Truffaut, but the overwhelming impact of the message makes you think, a lot).
And worse, students of Information Technology related matters(software, hardware, computer science), will have their hands tied, they will not be able to experiment with their hardware / software and learn from it.
Imagine, there won’t be a next Linus Torvalds, because he can not run an operating system made by the user in his/her computer. And no  next Steve Jobs also, since he began building computers in the Homebrew Computer Club. This will be a thing of the past.
Increase the junk in the world, the e-waste, since the machines will have a lifespan much shorter, it surely will happen. So long greencomputing.

But As For the time being, UEFI Secure Boot is not Mandatory…
Exactly, but with so many laws being passed by fear of terrorism or as protection of intellectual property (ACTA, SOPA, PIPA, etc …) how long to be illegal to run programs (and operating systems) not authorized by the vendors / manufacturers?
Just remember, there are countries where making a legitimate copy of a DVD, for security purposes, is illegal.

And is there an Option?
Sure. And, a much better than UEFI. The CoreBoot, the free, open, auditable specification, made in partnership with the Open Source community and the company AMD.
And, its block diagram is as follows:

Extremely simple, unobtrusive and lightweight, CoreBoot covers several platforms: x86, ARM, and various operating systems: GNU / Linux, BSD, and even windows (with SeaBios).

Even Linus has spoken out against the UEFI (“It has few real advantages, and add a greater layer of complexity” – http://kerneltrap.org/node/6884).
Not to mention that the user has no control over it.

How  to Fight UEFI Secure Boot?
There are several ways.
1º Legally – Act to push investigation on the UEFI secure boot, to make the DOJ investigate anti-trust unheticall moves, by Microsoft and Intel.
2º Politically – Pressure on your congressmen, senators, legislators,  to do not allow to become a common practice restricting  the boot of the computers.
3º Boycott Intel and Microsoft (and all companies that sell machines with the UEFI secure boot). I do not like to advertise products or companies, but support  AMD, the  CoreBoot standard is supported by it, and do not buy from companies that offer machines that do not allow you to run your favorite distro.

Finally, a famous text (adapted to our Free, Libre and Open Source reality):


“First they came for Gentoo.


And I did not speak up because I don’t use Gentoo.


Then they came for Arch Linux


and I said nothing because I don’t use Arch Linux.


Later, they came for Slackware.


And I kept silence, because I don’t use Slackware.


Then they came for Pardus Linux.


And I remained silent because I don’t use Pardus Linux.


Finally, they came for  Puppy Linux


And then there was no one left to speak out for me.”

Adapted from Martin Niemoller – First they came …

Further reading:

“Uefi homepage.”: http://www.uefi.org/
“Gnufi homepage.”: http://www.gnu.org/software/gnufi/
Intel, “Beyond bios,” Intel Software Network, November 2008.
Jeremy, “Linus on the extensible firmware interface,” Julho de
2006. http://kerneltrap.org/node/6884
Unified Extensible Firmware Interface Specification, Version 2.3,
errata b ed., UEFI Forum
Fevereiro 2010.
  1. P. L., “New technology beefs up bios,” Computer, vol. 37, 2004.
Intel, “Intel platform innovation framework for uefi.”:
http://www.intel.com/technology/framework/index.htm

1 thing you should know before buying the new Apple MacBook Pro

Apple‘s newly announced MacBook Pro, available for $2199, has already got Apple aficionados drooling.  But before you part with your money in exchange for the latest and greatest from the trail blazer in everything tech known to man, you might want to be aware of this: you cannot upgrade parts of the box and it’s also the “least-repairable!”

According to Computerworld, citing an email from iFixit, “The new MacBook Pro is virtually non-upgradeable — making it the first MacBook Pro that will be unable to adapt to future advances in memory and storage technology. The teardown revealed that Apple used many of the same assembly techniques as it does with the self-contained and virtually un-upgradeable MacBook Air, including proprietary screws, copious amounts of glue, expensive parts — the screen in particular — that must be completely replaced even after the smallest failure, and fused components that will likely break when a neighboring part must be removed.”
Basically, you order the MBP with the amount of memory and storage you require. Trying to do that after purchase will be analogous to the camel going through the eye of the needle. The reason for such restricted hardware is simply in line with Apple’s whole strategy of breaking whole products into individual components, a move that quickly adds up for you the buyer, financially. It’s little wonder actually, seeing that the MBP does not come with an ethernet port and optical drive, both available as extra add ons from…guess where.
So before committing funds to the shiny all trail blazing, retina-display MBP, you might want to know that:  You cannot upgrade the memory or storage(at least for now) after purchase, limiting your chances of having a future proof box, at least for the foreseeable one. 

Skype 4.0 for Linux available for download

After like forever, Skype version 4.0 code named Four Rooms for Improvement for Linux is available for now for download. This version comes with four main changes:

  • Conversations View for tracking chats in a unified window
  • Improved audio quality
  • New Call View
  • Improved video quality and support for more cameras

There are a host of other improvements and bug fixes in this new version of the ubiquitous voip app.