Home » Archives for Ashkrit Sharma

Author Archives: Ashkrit Sharma

Pragmatic software developer who loves practice that makes software development fun and likes to develop high performance & low latency system.

Data encoding and storage

Data encoding and storage formats are evolving fields. It has seen so many changes starting from naive text-based encoding to advance compact nested binary format. Selecting correct encoding/storage format has big impact on application performance and how easily it can evolve. Data encoding has big impact on whether application is backward/forward compatible. Selecting right encoding format can be one of ...

Read More »

Ship your function

java-interview-questions-answers

Now a days function as service(FaaS) is trending in serverless area and it is enabling new opportunity that allows to send function on the fly to server and it will start executing immediately.    This is helps in building application that adapts to changing users needs very quickly.Function_as_a_service is popular offering from cloud provider like Amazon , Microsoft, Google etc. FaaS has ...

Read More »

Bit fiddling every programmer should know

Bit fiddling looks like magic, it allows to do so many things in very efficient way.In this post i will share some of the real world example where bit operation can be used to gain good performance. Bit wise operation bootcampBit operator include. – AND ( &) – OR ( | ) – Not ( ~) – XOR( ^) – Shifts ( <<, >>) Wikipedia has ...

Read More »

Data modeling is everything

Everyone is aware of relation data modeling and it has served industry for long time but as data pressure increased relation data modeling that is based on  Edgar_F._Codd rules are not scaling well.  Those rules were based on hardware limit in 1970s and RDMS database took all that stuff and build database that was good fit based on hardware limit ...

Read More »

Long Live ETL

Extract transform load is process for pulling data from one datasystem and loading into another datasystem. Datasystem involved are called source system and target system. Shape of data from source system does not match to the target system, so some conversion is required to make it compatible and that process is called transformation. Transformation is made of map/filter/reduce operations. To ...

Read More »

Testing using mocks

java-interview-questions-answers

Mock objects are very useful if used right way. I shared some of the experience of using Mock Objects in need-driven-software-development-using post. In this post i share 2 things– Contract based testing using mocks.– Patterns to organized mock code. Contract based testing Lets take scenario where you are building Money remittance service. Key component in such type of service is Currency Converter , ...

Read More »

Incremental build with maven

This is 2020 and if you are starting any new java based project then gradle should be first option but for some reason if you are still stuck with Maven then you might find this post useful. Maven java/scala compiler plugin has decent support for incremental compilation but it is not able to handle few edge case like Trigger compilation ...

Read More »

Hands on Optional value

Optional is in air due to coronavirus, everything is becoming optional like optional public gathering , optional work from home, optional travel etc. I though it is good time to talk about real “Optional” in software engineering that deals with NULL reference. Tony Hoare confessed that he made billion dollar mistake by inventing Null. If you have not seen his ...

Read More »

Better product by documenting trust boundary

Have you ever faced issue when you trusted system, team or product and that resulted in failure of feature or system? In fast changing progressive delivery, definition of trust keeps on changing. Some of the trust issues that happens are. Other system sends junk data.Other system does not maintain constraint of data like unique , null , referential integrity.Third party ...

Read More »