A simple but important topic especially in the era of microservices where getting wrong cohesion and coupling can cost you dearly. Me and my editor tried to keep things simple and also added few diagrams to ease the understanding.
What do you think?
]]>Since all my configurations, customizations and extensions are set in Sublime Text, it would be a non-trivial job to switch the editor. But I missed the syntax highlights of Visual Studio Code and wished if I could apply the same in the Sublime Text.
I could not find any easy extension to do this. Finally, I ended up modifying the Solarized file. Here are the steps I followed. Hope this helps somebody.
Solarized Color Scheme.sublime-package
to some temporary location say ~/temp/.Solarized (light).sublime-color-scheme
:
[
{
"scope": "entity.name.section",
"foreground": "var(blue)"
},
{
"scope": "markup.heading, punctuation.definition.heading.markdown",
"foreground": "var(blue)",
"font_style": "bold"
},
{
"scope": "markup.heading.1.markdown",
"foreground": "var(red)",
"font_style": "bold"
},
{
"scope": "markup.list.unnumbered.markdown, markup.list.unnumbered.bullet.markdown, markup.list.numbered.markdown, markup.list.numbered.bullet.markdown",
"foreground": "var(yellow)",
},
{
"name": "Markdown em",
"scope": "markup.italic",
"font_style": "italic",
"foreground": "var(magenta)"
},
{
"scope": "markup.bold",
"font_style": "bold",
"foreground": "var(magenta)"
}
]
This may not cover advance Markdown parsing and syntax highlighting. But this was sufficient for me to continue using Sublime Text.
This has delayed my switch to Visual Studio Code. For now.
]]>The idea is to create a one-time, well-defined formula to create a password from the name for the service/website domain you’re trying to log in. You would apply this formula each time you create an account on any website and later use the same formula to get the password at the time of the login.
For example, let’s say this is your Passformula you would apply to a website’s domain name:
If we apply this formula say while signing up on grammarly.com, our password would be: Ry1(T@l3b
This is a strong password with high probability of being unique across all your accounts and you don’t have to remember it. Just remember the formula and next time when you have to log in to this website you will be able to ‘recall’ the password easily.
Let’s take one more example. Say you use service like zenkit.com. Based on the above formula the password will be: Et2^T@l3b
As you can see, there are many ways you could create your formula. In the above example, I have shown how to create a password with the first 4 characters unique. But you can go to any extent, as long as you could remember the formula.
Before I wrap up, here are some special cases I encountered while using the Passformula:
The website that does not support all special characters: You might want to avoid an uncommon special character or keep a fall back formula for such a scenario.
The website expires the password after a certain period: Usually the period is 1 to 3 months. In such cases, instead of using your favorite word at the end of the password (Taleb, in the above example), you could use a time factor like month in which you are setting the password. Ex: April could become @pri1. Hopefully, your frequency to visit such websites is higher than the rotation period and you could guess the correct password in a few attempts worst case. This is not a clean approach and should be avoided if cost of getting the account locked is high.
If you are using the special character formula mentioned in the above example, you would have to know the QWERTY keyboard layout for special characters. This may not be the case when say you are using mobile. Keeping the QWERTY keyboard image handy on mobile could be a solution to solve this problem.
Hope you find this useful. Let me know what you think.
Disclaimer: Needless to say, this is just a strategy to create a password and does not automatically make your account full proof. It could also have reverse effect, if you manage to leak your Passformula.
]]>What do you think?
]]>Hope you find it useful.
]]>Here is the link to the presentation slides which I prepared in Reveal.js:
Hope you find it useful.
]]>Hope you find it useful.
]]>I concluded after seeing tones of lines of code implementing simple ORM in a product which had no business doing it from scratch. The code was technical debt from day one and was treated so — redundant, unmaintainable, full of static functions satisfying individual developers urgent itch.
Whenever faced with a challenge, why do we have a tendency to start from scratch? What makes it so hardwired that it takes many years of experience to avoid this trap?
I think the problem is with the way we learn to write code. Too often our exercises and assignments expects us to starts from scratch. Each of us start with our own Hello, World. We practice tones of programs, each starting from scratch. We become good at it — at starting from scratch. So good that it becomes our default starting mode for any programming task. It also becomes our default starting point while thinking of a solution.
I am sure we could come up with ways to learn code which are also in sync with ways to software engineering.
]]>This one was tricky to explain as there was no visible change. I used disassembly of Java class files to better explain what changed under the hood. Hope you find it useful.
And this one got published on 1st Jan 2019. Happy New Year!!
]]>Which one do you think will be most useful?
]]>