Category: Featured

Scala Futures by example

What is a Future? A Future is essentially a placeholder object that is created for a result that does not yet exist. Scala Futures are asynchronous and non-blocking (by default) and are thus often handled with callbacks. Hmm. What about ‘callback hell’? Scala Futures are monadic in nature and can be combined, composed, sequenced, and executed concurrently. All of this can be accomplished with Scala in a very simple, yet...

RawCap and Wireshark: How to capture and analyze local traffic from host machine to itself

Wireshark is an incredible resource when it comes to capturing and analyzing network packets or traffic. Unfortunately, on Windows, Wireshark is unable to capture packets or traffic sent from a host machine to that same host machine. This is due to the fact that such local traffic is not sent over a real network interface, but instead (in many cases) is sent over a “loopback interface”. Loopback traffic can be...

Named Pipes with Java

In this post, we will discuss using Named Pipes with Java. Let’s start with a brief overview of Pipes and Named Pipes. Overview: On Unix, a pipe is a channel of communication between two processes, also known as ‘interprocess communication’ (IPC). Pipes are unidirectional, meaning that data travels in one direction at one time. Pipes have a read end and a write end. Data written to the write end of...

RESTful Design Principles

Here, we will outline the set of RESTful design principles that should be adhered to when creating a ‘proper’ RESTful service. Let’s start with the basics. What is REST? REST = REpresentational State Transfer. REST is an architectural style for network based software that requires stateless, cacheable, client-server communication via a uniform interface between components. The primary focus of this blog post is to introduce REST along with REST terminology, REST concepts, and some simple...

Java Stored Procedures with Derby

Stored procedures provide a very powerful capability. They enable the execution of many SQL statements within the context of conditional programming logic, via a single database call. Stored procedures execute in the database, thus making them an excellent place for computationally intense db operations. Stored procedures do come at cost. Some database vendors offer extensions to SQL e.g. PL/SQL, T-SQL, PL/pgSQL . These extensions may be proprietary or may comform...