Cats and a Mouse

In the past few weeks I have been reading several articles about how great Visual Studio Code is and how software developers are starting to use as their main IDE. I have been using VS Code on and off but have made up my mind that from now on for Java development I will only use Visual Studio Code. I have installed Eclipse and IntelliJ in my machine, both of which I have used for Java development. I will leave both of them installed for compatibility purpose only. Will let you know my findings towards the end of the year. Continue reading “Cats and a Mouse”

Three in One

!!! NOTE !!! For some reason I was not able to post the photos I took of the white board.

!!! UPDATE !!! Was able to download and place a different photo of the entire whiteboard.

Once again it is Saturday. My wife and one of her girl friends went out shopping. I still do not understand the attraction of shopping. I guess it works the same way when I wish to stay home working with my computers. Of course if my wife is not out and about I would not be able to be in my home office. Seems like a good arrangement after all.

Yesterday morning the computer I ordered for starting to experiment with Kinect and Azure was delivered home. I have all the pieces so after my wife arrives will be making place in my home office to bring down and connect the components. Hopefully all will go well and I will be able to start experimenting tomorrow morning. I can’t wait. Continue reading “Three in One”

Porting MD5 Code

Last week my wife and I returned from a one week trip to Portugal. We had not been there in more than a decade. Some things have changed while other not. People continue to be very nice and helpful especially when you attempt to utter a few words in Portuguese.

We arrived in Lisbon and headed to the rental car office. In less than an hour from arrival we were heading south to the Algarve. We have watched a few YouTube videos by Rick Steves and had purchases one of his travel guides for Portugal. In more than one occasion Rick has mentioned that Salema is his favorite beach in the Algarve. By experience we now know why. It is a small town sitting on a relatively small bay with blue and green waters. The population is less than 300 people. My wife took a picture at a restaurant on the beach while the temperature was hitting 96 F and we were enjoying delicious fresh sea food and drinking Sagres beer. From our table we could hear people conversion and different languages. Our waiter was taking care of a few tables and was able to switch to the language spoken by the customers (English, French and German). We only spent two days and headed back to Lisbon. Continue reading “Porting MD5 Code”

C++ Boost Library Visual Studio 2017

Yesterday I spent time attempting to port a C DLL that I wrote some time ago to generate MD5 digests for a storage server. At the time I used as a base code provided by RSA Data Security, Inc. and designed and implemented a set of functions that could be directly called in applications / servers that would require generating MD5 digests for strings and files. When done I package the results into a DLL. The library has been in production for a long time. I used the C programming language for performance and the code was built for 32-bit processors. Continue reading “C++ Boost Library Visual Studio 2017”

Git merge vs. git rebase

Currently I am working on a 64-bit API for a storage server at work. The plan is to port a limited number of APIs in order to be able to call them directly from other applications / services without having to marshal such calls. I am trying to convert the data structures from 32 to 64 bits while keeping backwards compatibility. At some point in time we should be able to port with little additional effort the current storage server to 64-bits and still support client applications / servers running on 32-bits. Continue reading “Git merge vs. git rebase”

Docker Webinar #1

It has been a week from hell and it is only Thursday afternoon. Allow me to elaborate. On a previous post, I mentioned the events regarding a water leak in my office. That occurred last Monday and Tuesday. At this point I only have to call to return a fan and ask for reimbursement on four books that got damaged by water.

On Wednesday I stopped by the car dealer to get an oil service for my vehicle. It has a lithe over 4,000 miles. I do not drive too much since I work from home. On my way back on 494 E I exited on the ramp to get to 77S (Cedar Avenue). As I merged into Cedar I started accelerating and moving to the center lane (Cedar at that point has three lanes plus a fourth one to enter and exit). As I was reaching the bridge for Old Shakopee Road, my two right tires popped as I hit a set of potholes covered in water. It was raining and quite foggy. After stopping on the bridge over the Minnesota River, I decided drive to a nearby gas station to see if I could put some air in my tires. Lucky I have run flat tires, otherwise I would have had to call a tow. When I tried putting air, I noticed that both tires had openings of about 5 to 6 inches. The only solution was to get them replaced. After talking with my son, he suggested the closest shop which would offer a rental while they replaced the tires. Shortly before 05:00 PM I received a call that the vehicle was ready and headed out to pick it up. Continue reading “Docker Webinar #1”

RabbitMQ – Work Queues

In this post we will experiment with a work queue using the RabbitMQ middleware software on a Windows 10 machine. After we cover the basics, we will integrate RabbitMQ with Docker and a group of microservices. It is extremely important to read and experiment until all the concepts are clearly understood.

With that said, let’s talk about work queues. In this example we will create a Work Queue that will be used to distribute time-consuming tasks among multiple workers. I have been experimenting with one, two and three worker threads. Continue reading “RabbitMQ – Work Queues”

RabbitMQ – Hello World

Good morning. In this post we will explore RabbitMQ by Pivotal. RabbitMQ is a message broker. Message brokers are considered middleware. Applications subscribe to a queue to send and receive messages. Another queue broker I have used in products is MSMQ from Microsoft. In this post we will only experiment with RabbitMQ. You may decide to use message queues to communicate between microservices. Continue reading “RabbitMQ – Hello World”

Checking Docker Installation on Linux

I am starting some work using Docker containers and as usual I like to spend some time refreshing and checking all is well before starting the actual development. Such approach seems to allow me to catch up issues before they cause bugs during the software development cycle.

Last year I wrote a post with the instructions I followed while installing Docker on my CentOS 7 Linux machine. If you are about to install Docker, their website appears to have up to data instructions for different operating systems. Continue reading “Checking Docker Installation on Linux”

Partial Retrieve from Encrypted Store

In a previous post we covered the retrieval of data from a store. It was described that the data at rest and in transit were not encrypted. The reason was that the store was deployed in facilities behind the firewall. Access from the outside was not allowed.

As time changed, data was only encrypted in transit using secure sockets or HTTPS. Given that facilities had to allow remote access, it made sense to encrypt the data at rest. When a client application would request data, the storage server would decrypt the file and send it to the requesting client via a secure protocol. Continue reading “Partial Retrieve from Encrypted Store”