The Intellisense Every Programmer Needs

In the previous post about How to read csv files from S3 using OpenCSV, we have seen how to open and files on S3 and read the comma separated data into list of hashmaps. In this article, we will see how to perform the reverse, writing data to the files.

Most of the fundamental concepts do not change. You need to create S3 client if you want to do anything with S3. The AWS profile configured should be of the user or role that has permissions to write to S3. The bucket policy should allow writing files. I’m not going to cover how to setup aws credentials and IAM policies in this post. The method getS3() in the complete code snippet below is going to return an S3 client just like in the previous post.

Read more »

In this world where large amounts of data is becoming a norm, it is very frequently stored in S3 in csv format for consumption through serverless database layers such as Athena. However, you often have to read the csv files without using Athena. In such cases, you can use ever useful libraries such as OpenCSV to read csv files.

This example shows how to use opencsv to quickly read the S3 files without the need to download them first. This helps when you do not have a way to save files locally of if you don’t have enough hard disk space. The solution is quite simple. You just have to create an InputStream from an S3 object using getObject method on S3 client. Once the input stream is created, we can use this to create a CSVReader from it.

Read more »

All the modern browsers have multiple types of storage mechanisms for using in your web applications. You may have already heard of cookies which are small bits of information you can store and they will be automatically expired.

However, cookies can only store small amounts of information. The other kind of storage is sessionStorage, where you can store big chunks of information. However all the data stored in this will be lost as soon as you close the browser tab.

Local storage provides an intermediary option, it can store large amount of information and it will not be lost after the user closes the tab or browser. The data is persisted across sessions. However, we may want a better solution. We want to store large chunks of data across sessions, but we still want to have an option of invalidating after a certain period of time. Let us see how to go on about solving the problem.

Read more »

Last year has been a roller coaster ride for me. Adjusting to the new team, new technologies, new country, moving across continents and many more stressful scenarios. However something good came of 2019 by end of it. We have published our book, The Definitive Guide to AWS Application Integration. You can buy it from amazon any many more stores.


The Goal

Gone are the days where we build applications and just think about graphical user interfaces, look and feel etc., There is a new interface that is gaining popularity. As Amazon, Google and Apple are bringing in voice assistants, it has become extremely important for us to learn how to build voice-activated applications. Voice based commands are much more complex than a GUI, user actions on our application are limited to button clicks, combo box selections, typing in text fields comprise of the majority of instructions. With touchscreen, we can see some more actions users can perform like swipe, pinch, zoom, rotate etc., However, with voice a single user may ask our application to do specific tasks in wide variety of ways, to increase the complexity even further different people may use and each have their own way of speaking. Alexa provides a simple framework to build these skills. In this article I will show you how you can build your own Alexa Skills.

Read more »