One of the new courses at the TU Delft MSc Computer Science in 2012 was on reactive programming. The students loved this course, and I had a great time too. What was so good about it?
The course was taught by Erik Meijer, creator of the .NET reactive extensions framework Rx. Erik works at Microsoft, Redmond, and has a part time appointment at TU Delft. The lectures thus were packed in two weeks, followed by several student presentations over Skype after Erik had returned to Redmond.
The course content included big data, asynchronous operations on observable collections, push versus pull, Pip Coburn’s change function, the role of abstraction, monads, LINQ, coSQL, event processing, schedulers, and the reactive extensions architecture. Course material included Programming Reactive Extensions and LINQ by Jesse Liberty and Paul Betts.
Students subsequently used this understanding of reactive programming to…
View original post 257 more words
The Google Cloud Solutions team has made it easier than ever to create a cloud backend for your Android application. Brad Abrams and I presented it last week at Google I/O, and Brad has published a gigantic step-by-step blog post with copious screenshots on how we built our sample app, Geek Serendipity. Here’s all the related content in one handy list:
- Building Geek Serendipity (BradAbrams.com)
- From Nothing to Nirvana in Minutes: Cloud Backend for Your Android Application (I/O talk)
- Geek Serendipity source (github)
- Geek Serendipity app in Google Play Store
- Android demo tips: behind the scenes at Google I/O (lessons learned)
I am going to spend August and September highlighting Java EE and JBoss EAP in the cloud. I will focus on deploying Java EE applications JBoss EAP running on OpenShift Online (Public PaaS), OpenShift Enterprise (Private PaaS), and OpenStack (Private IaaS). In fact, I am planning to run OpenShift Enterprise on Red Hat Cloud Infrastructure in a dedicated lab at Red Hat. More on that later.
View original post 965 more words
If you are running an application and there are lot of chances for a huge traffic to come in future, a single server would not be capable to handle this.
In that case you would have two choices:
A) Replace existing server with an advance server with better configuration
B) Building a global node in the cluster to be used by other nodes.
We know that first option is not a permanent solution. So lets move to second option.
I have created a Login Application with Things To Do functionality using Lift in Scala.
In this application, I have added a chat module using LiftComet Actor and AkkaActor.
In the Chat Module, I have implemented cluster functionality, so that application could be accessed remotely.
So the concept is: there would be one Akka Actor on central server and this central akka actor would be used by other comet actors…
View original post 315 more words
The implementation of the concurrency primitive LockSupport.parkNanos(), the function that controls *every* concurrency primitive on the JVM, is flawed, and any NTP sync, or system time change backwards, can potentially break it with unexpected results across the board when running a 64bit JVM on Linux 64bit
What we need to do?
This is an old issue, and the bug was declared private. I somehow managed to have the bug reopened to the public, but it’s still a P4, that means that probably won’t be fixed. I think we need to push for a resolution ASAP, be sure that’s in for JDK9, make all the possible effort to make this fix for JDK8 or, at least, to include it in a later patch release. In an ideal world it would be nice to have a patch for JDK7
Why all this urgency?
If a system time change happens then…
View original post 457 more words