Skip to main content

Posts

Showing posts from 2020

Speed test of various dart outputs

Recently, I was playing around with dart and got to know that it supports output of various types. So curiosity arises that which one would be fastest. So to find out that I used basic hello-world sample After that, I wrote the bash script Test Result On execution of this shell script, I got this % sh build.sh Raw Hello, World! real 0m0.285s user 0m0.283s sys 0m0.077s Snapshot Hello, World! real 0m0.119s user 0m0.138s sys 0m0.027s Executable Generated: /.../test.exe Hello, World! real 0m0.118s user 0m0.007s sys 0m0.014s Aot Generated: /.../test.aot Hello, World! real 0m0.019s user 0m0.007s sys 0m0.009s Observation Then accumulated these data to process it as a chart that shows the speed test result Here,  Raw refers to the raw source-code Snapshot refers to the platform independent intermediary code Executable refers to the platform dependent native executable file Aot refers to the AOT file for VM Conclusion   The speed in descending order would be like t

Instead of using very + another word, find single word

Instead of using, very + another word, you can always find a single word that's more precise, descriptive and elegant. For example,  excellent = very good List of A to Z words with 'very' and equivalents very able = proficient very boring = tedious very confused = baffled very dirty = filthy very easy = effortless very funny = hilarious very glad = overjoyed very happy = ecstatic very interesting = fascinating very joyful = exuberant very kind = compassionate very large = huge very mad = demented very nasty = obnoxious very old = ancient very painful = excruciating very quite = hushed very rude = boorish very shy = timid very tired = exhausted very ugly = hideous very vicious = malicious very wicked = evil very xenophobic = jingoistic very young = juvenile very zen = meditative

Solved mission critical problem using reverse engineering

Here I'm sharing an incident that happened in 2017, when I had managed to solve a mission critical problem using reverse engineering and what I have learnt from it. The incident was when I have been allocated a migration task. My whole project was migrated to webpack from system.js due to which integration build generator broke. So I got this task to migrate that integration build generator too and make it compatible to webpack within a week. I knew that I got this after another colleague failed to complete it in previous sprint. So there was a higher chance of missing the deadline because half of the time was already got consumed by previous colleague. I got this issue when it was about to be escalated in case I fail. I thought if I'll go by the same path as my colleague then I may get the same result that he got. So I changed my strategy and look into the problem by reverse engineering it. Well, doing that gave me enough hints to solve the problem and fix the generator by

How to secure Cordova based hybrid Android mobile app?

The incident I'm sharing here was happened in 2015, when we faced a complicated technical problem while working on an IoT project.  We were having a mobile app to control smart electronic appliances that consumes our web-service. A third party group somehow managed to use our mobile app with their service. We assume that they had reverse engineered to crack the services. So we had to protect our mobile app which was Cordova based hybrid cross-platform app.  I have been allocated to analyse this issue and propose a solution. So during my initial analysis I found that first we should secure the mobile application installer because Android's .apk installation file usually packaged together all the resource files used in the hybrid project. Crackers could reverse engineer it to get those files. I know that we can ensure protection only by increasing the level of security. So I minified all the files, bundled together and applied obfuscation over it; which made hybrid portion

Why did Vedic Mathematics originated?

What do you think, why did the vedic mathematics originated? According to the popular beliefs related to Ancient people in Indian sub-continent that since they did not had access to paper or similar material where they can carry out long calculations. So they would require to carry out whole calculations mentally because any kind of calculating machines was out of question in those times. Well the real reason is way beyond that, which is related to our saints and maharishis of those times. By studying the scriptures of ancient maharishis, we came to know that almost all the maharishis were like scientist and were great yogis. In ancient India, maharishis used to separate their soul out of their body but still linked to their respective bodies using advanced yoga techniques that might be related to kundalini yoga or something similar. Similar, soul-out-of-body concept was shown in the "Dr. Strange (2016)" movie that they called astral form . Soul neither have mass

Speed test of wasm at node vs deno vs wapm

Recently, I have created an app in Rust language for  macOS then to make it cross-platform, ported it for other platforms using WebAssembly. I have ported the app for these platforms: WAPM ⟶ Using WASI file as binary, i.e., generated via Rust Deno ⟶ Using WASM file as library, i.e., generated via Rust Node.js ⟶ Using WASM file as library, i.e., generated via Rust Initially, I had made it on macOS where it runs very fast but on Windows it gets slowed down so much that is clearly visible. So I tried to measure it somehow for which I took a command for the app which decodes the input parameter. Here is that command, > ds -d 31kk ⟶ 3-1-2020 Now I need to measure the timelapse after each execution for which I'd used > w32tm /query /status /verbose | find "Time since" && node ds -d 31kk && w32tm /query /status /verbose | find "Time since" && deno ds -d 31kk && w32tm /query /status /verbose | find "Time sin