gRPC – Binary RPC Framework

Google had open sourced gRPC a Binary Remote Procedure Call Framework in 2015 and recently there was a 1.0 release of the new RPC framework which uses latest HTTP/2 and also uses Protocol Buffers v3.0 which is the latest release of Binary Serialization Protocol.

In the FAQs on there is a mention that we still cant use it in browsers


But it is being currently used in mobile clients to communicate efficiently with servers/cloud servers.

Further Reading:


Posted in Thechy Stuff | Leave a comment

I/O 16



Posted in Thechy Stuff | Leave a comment

DROWN Attack


DROWN is a serious vulnerability that affects HTTPS and other services that rely on SSL and TLS, some of the essential cryptographic protocols for Internet security. DROWN allows attackers to break the encryption and read or steal sensitive communications, including passwords, credit card numbers, trade secrets, or financial data. Our measurements indicate 33% of all HTTPS servers are vulnerable to the attack.




Posted in Thechy Stuff | Leave a comment

Spark on Hadoop 2


Image | Posted on by | Leave a comment

PostgreSQL gets closer to BigData!


Image | Posted on by | Leave a comment

[PrimeFaces] DataTable paging – set page programmatically with/without callback execution

Primefaces is a open source UI component library for JSF based application. One such component to show data in tables is datatable. Datatable has a lot of features like paging, sorting, selection, lazy loading etc.  Paging is a feature by which huge amount of data is displayed in pages. Some times there are cases to work with the page change event and also to set a page programmatically. Following is an extract from the stackoverflow answer to get the page change event using listener with the backing bean method handling the event:

<p:dataTable var="myVar" paginator="true" widgetVar="mydatatable" rows="1" value="#{myBean.listOfObjects}">
  <p:ajax event="page" update="buttons" listener="#{myBean.update}" oncomplete="setTimeout(function(){ alert("Page Change Completed"); }, 0);" />
public void update(PageEvent event) {
  int var = event.getPage();

This works great, when the paging button is clicked the “update” method is called with the PageEvent object as argument, and using that object one can get a lot of info about the datatable like get the current page etc.

Now how about setting the page explicitly on the datatable in some other piece of backend code, Following are the 2 ways to set the page programmatically:

— set page by executing following client side code:


this can be done in any backend Java code using the RequestContext’s execute method


but be aware that when this method executes all the callbacks on the page event <p:ajax> element gets executed. Like in the above code “oncomplete” will be called and an alert with message will be shown.

— to avoid this callback to be called there is another way to set the page as shown below:

final DataTable d = (DataTable) FacesContext.getCurrentInstance().getViewRoot()
int first = 0;

remember that the “first” argument is the index of the of the row to be displayed and not the page number. The above code can be executed from any backend bean and the callbacks do not get executed.

Further Reading:

Posted in Thechy Stuff | Tagged , , , , , , , , | Leave a comment



Posted in Thechy Stuff | Leave a comment