HELLO WORLD


Welcome to MyDatahack!

My passion is Programming, Data Engineering, Data Science, Mathematics, Database, Data Warehousing, Business Intelligence, IT Infrastructure and Architecture. I consider myself as a full-stack data specialist with skills and experience in infrastructure design and setup, data integration, DWH and BI development, DBA, big data engineering and data science application development and deployment. My favourite tools are Java, Python, R, Spark, Node.js, JavaScript, DataStage, Informatica, Talend, AWS, Linux, and all the relational and non-relational databases.

I love writing about things that I think are cool. MyDatahack is a collection of what are cool to me. I also love sharing my knowledge and helping others. There are many practical examples of code/solutions that work. If any of my posts helps you to solve your problem, I am super happy.

Please leave comments if you have any feedback or questions. I would love to bounce ideas off everyone! You can see the latest posts in each category below. You can search the keywords if you are looking for something specific.

Enjoy!

Deep Learning
Building AlexNet with TensorFlow and Running it with AWS SageMaker

In the last post, we built AlexNet with Keras. This is the second part of AlexNet building. Let’s rewrite the Keras code from the previous post (see Building AlexNet with Keras) with TensorFlow and run it in AWS SageMaker instead of the local machine. AlexNet is in fact too heavy …

Deep Learning
Building AlexNet with Keras

As the legend goes, the deep learning networks created by Alex Krizhevsky, Geoffrey Hinton and Ilya Sutskever (now largely know as AlexNet) blew everyone out of the water and won Image Classification Challenge (ILSVRC) in 2012. This heralded the new era of deep learning. AlexNet is the most influential modern …

Deep Learning
Introduction to Dense Layers for Deep Learning with TensorFlow

TensorFlow offers both high- and low-level APIs for Deep Learning. Coding in TensorFlow is slightly different from other machine learning frameworks. You first need to define the variables and architectures. This is because the entire code is executed outside of Python with C++ and the python code itself is just …

Tools and Utilities
Using EditorConfig and ESLint in Node.js Project

There are a few tools available to help you to write quality code. In this post, we will show you how to set up Node.js project with EditorConfig and ESLint. EditorConfig is currently one of the most popular tools to maintain consistent coding styles between different editors or IDEs (for …

Data Ingestion
Event-Driven S3 Data Ingestion With Node.js Lambda Function and Deploy it with Serverless

Ingesting data upon the file creating on S3 bucket enables near real-time data ingestion. For example, you may need to ingest log files from applications or API monitoring tools as soon as they land on the bucket. Just to get it started, let’s move the file from the source bucket …

Data Ingestion
Uploading and Downloading Files in S3 with Ruby

To date, the latest Ruby AWS SDK is version 3. In this version, each resources has its own module while the version 2 had the one with everything, aws-sdk. To interact with S3 with the v3 SDK, let’s use the aws-sdk-s3 module. Ruby has its own way to upload to …

Uploading File from Browser to S3 with JavaScript

Uploading a file from a browser to S3 for only authorised users is a pretty cool trick. It is even cooler if we can build it in a serverless way. Here is the entire solution for a simple serverless app to authenticate with AWS Cognito and upload a file to …

Serverless Authentication with AWS Cognito and JavaScript

In a traditional web application, authentication is handled by server-side code and users are managed in the database layer. In the world of serverless apps, we can offload the heavy-lifting to a managed authentication service like AWS Cognito to simplify it. This post focuses on JavaScript code to authenticate users …

Using setInterval() and setTimeout() with JavaScript

setInterval() and setTimeout() functions are the quickest solutions to loop functions with JavaScript, often used for a simple animation effects. For example, setInterval(function(){functionA()}, 1000) executes functionA() every second. On the other hand, setTimeout(function(){functionA()}, 1000) executes functionA() once after waiting for 1 seconds. Both can be stopped by clearInterval() and clearTimeout() …

How to Restore AdventureWorks to SQL Server Express

Once you have SQL Server Express installed on your local machine, you may want to load some example data so that you can play around with it. After all, what’s good with the database without data! MySQL comes with the Sakila database upon installation. SQL Server’s equivalent would be AdventureWorks …

How to Connect to Locally Installed SQL Server Express with JDBC

Once you install SQL Server Express locally, you need to go through a few configuration steps to connect to the server with JDBC. Tools In this demo, I am using SQL Workbench to connect to the server. SQL Server Express is 2017 version. JDBC is 7.1.x from Maven Repo. Steps …

How to Enable User Login with SQL Server Express

This post explains steps for enabling the server authentication mode (logging in with username and password) after installing SQL Server Express in your local machine. This is based on 2017 version, but it also works for older ones. SQL Server Express comes with the default Windows Authentication mode when you …