0%

With interface oriented concept, we should put our focus on the service it provided. Say HttpServletRequest from jakarta.servlet-api, we have different implementation like tomcat, jetty and undertow etc. Both of them has HttpServletRequestImpl which implements HttpServletRequest interface. Most of time, we should invoke the service provided by the interface and does NOT care about its underlying.

Another example is the JDBC. We use java.sql.DriverManager to find and load implementations of java.sql.Driver. In our program, we did NOT know which underlying database will be connected. But only when they are in the classpath, we can dynamic load them in our Java program with the java.sql.Driver interface. This is called Service Provider Interface, aka SPI, in Java.

SPI enables developers to extend applications functionalities by adding services implementation, e.g. Jar files, to classpath without modifying the application code base.

Read more »

There is a cert-manager HELM package provided on k8s platform. It provides support for Let's Encrypt, and we can control to refresh it before its expiration (3 month).

Read more »

One can write efficient python code, but it is very hard to beat build-in functions which are written by C.
To speed up the python program, rewrite them in C as python module will increase the performance w/o any doubt.
But that’s not the only way as we have JIT tech nowadays. pypy and numba(llvm) are the shinning stars in this area.

Read more »

Besides Oracle Java distibution, there are some other vendors provide Java distributions. If you use them to replace Oracle JDK or OpenJDK, make sure they passed JCK. Which can help to check the compatibility for this change.

However, there are some vendors provide enhancement features in the JVM, here are some highlights.

Read more »

We can use pluse audio to play sound from remote machine over network.

For example, we have a remote server. And we want to play the sound on local machine while playing media file on the server. Here is the solution.

Read more »

Here are some keynotes from wine usage.

Read more »

Trystack has STOPPED its service already.

In last post, we used Horizon, canonical implementation of OpenStack’s Dashboard, to request VM resource from Trystack. And finally we can connect to the VM using SSH with allocated public floating IP.

Using GUI is always the first step to start, to improve the productivity and flexibility, Openstack provides API interface as well, for writing software that manages a cloud. With that RESTful API, many software packages are developed to support Openstack operation like python-openstackclient, shade(python), pkgcloud(nodejs), Fog(ruby), ansible etc…

Read more »

Trystack has STOPPED its service already.

OpenStack is one of the most popular Cloud Operating System. However, it has become complex mass of multiple sub-projects. It contains 5-6 primary sub-projects and at least 5-7 more additional services along with new services and projects in the pipeline. As such, getting started with custom development can be fairly challenging.

To get a workable Openstack cloud, powerful hardware infrastructure and configuration for above sub-projects are the big stones in the road. You may get happiness to make it work from scratch, but Trystack removes above complexity and makes it easy and free for everyone to experiment with the cloud.

Read more »