browse by category or date

Someone is using my email to register at tinder

Now I can only wished that whoever that person is, he or she will be forever swiped left 😛

About Hardono

Hi, I'm Hardono. I am working as a Software Developer. I am working mostly in Windows, dealing with .NET, conversing in C#. But I know a bit of Linux, mainly because I need to keep this blog operational. I've been working in Logistics/Transport industry for more than 9 years.

On Sunday (Dec 22nd), I was visiting MyIndihome website to check my household’s internet usage when suddenly Google Chrome prompted this:

Upon clicking the [Check Password] button, Chrome shown me how many websites which my password could be breached.

Since I stored my password in Chrome, it actually knows the passwords that I’m using on many sites. I speculates that Google is utilizing Troy Hunt’s Have I been pawned? API to check if a password has been breached.

So I spent the whole Sunday resetting my password on some websites that I deemed important. Websites that didn’t store my personal information or have no financial risks were excluded from this password reset exercise. Online shops and online hotel/flight booking websites were the first websites that have their password reset. I simply don’t want to have fraudulent purchases/orders billed to my bank account.

My habit of using the same password is partly why I wasted my Sunday. You see, I have 3 passwords. The least complicated one is for websites which have no financial risks like forums and free/trial online services. The slightly complicated password is for websites which stores my credit card/bank account information like online shops and travel/hotel booking sites. The most complicated one is for my google/facebook accounts which basically controls all my other accounts.

After resetting passwords in many websites, I found a few websites which have the worst User Interface to reset password. Let’s learn from their mistake and not to repeat it in our future projects.

Alphanumeric only password

We’re not in the 90’s anymore. We shouldn’t limit the password to alphanumeric only because it will be easier to brute-force.

Missing input fields

MyIndihome expect you to enter the Two Factor Authentication (2FA) token, but the input field is missing. Hence, resetting password becomes impossible. Excellent job! 😀

Hide the reset password function in a non-standard place

When I clicked my username in Qoo10 website, I expected to find the reset password there. But apparently reset password function is hidden inside My Qoo10 -> My Inquiry -> Personal Info.

About Hardono

Hi, I'm Hardono. I am working as a Software Developer. I am working mostly in Windows, dealing with .NET, conversing in C#. But I know a bit of Linux, mainly because I need to keep this blog operational. I've been working in Logistics/Transport industry for more than 9 years.

To develop Blazor Web Assembly project on Ubuntu, first we need to install Visual Studio Code. Next, we need to add .NET Core repository and dependencies.

wget -q https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb

Install .NET Core SDK

sudo add-apt-repository universe
sudo apt-get update
sudo apt-get install apt-transport-https
sudo apt-get update
sudo apt-get install dotnet-sdk-3.1

Install the ASP.NET Core runtime

sudo add-apt-repository universe
sudo apt-get update
sudo apt-get install apt-transport-https
sudo apt-get update
sudo apt-get install aspnetcore-runtime-3.1

Install the .NET Core runtime

sudo add-apt-repository universe
sudo apt-get update
sudo apt-get install apt-transport-https
sudo apt-get update
sudo apt-get install dotnet-runtime-3.1

By now you should have .NET Core properly installed in your system. To test it, run the following command:

dotnet

It should return something like below:

Usage: dotnet [options]
Usage: dotnet [path-to-application]

Options:
  -h|--help         Display help.
  --info            Display .NET Core information.
  --list-sdks       Display the installed SDKs.
  --list-runtimes   Display the installed runtimes.

path-to-application:
  The path to an application .dll file to execute.

Next, we are going to install the Blazor Web Assembly project template by executing this command:

dotnet new -i Microsoft.AspNetCore.Blazor.Templates::3.1.0-preview4.19579.2

Now, let’s create a new Blazor Web Assembly project called HelloBlazor by executing this command:

dotnet new blazorwasm -o HelloBlazor

Folder HelloBlazor is now created. To start modifying the project, run below commands:

cd HelloBlazor
code .

Visual Studio Code will be launched and automatically opened HelloBlazor project.

To build the project, you can utilize Visual Studio Code’s terminal by pressing Ctrl + ` (hold Control key and back-tick together). Inside the terminal, execute this command:

dotnet build

You should have output similar to below:

Microsoft (R) Build Engine version 16.4.0+e901037fe for .NET Core
Copyright (C) Microsoft Corporation. All rights reserved.

  Restore completed in 48.35 ms for /home/hardono/Projects/DotNetCore/Blazor/HelloBlazor/HelloBlazor.csproj.
  HelloBlazor -> /home/hardono/Projects/DotNetCore/Blazor/HelloBlazor/bin/Debug/netstandard2.1/HelloBlazor.dll
  HelloBlazor (Blazor output) -> /home/hardono/Projects/DotNetCore/Blazor/HelloBlazor/bin/Debug/netstandard2.1/dist

Build succeeded.
    0 Warning(s)
    0 Error(s)

Time Elapsed 00:00:14.92

To publish the project, run command below:

dotnet publish

You should have output similar to below:

Microsoft (R) Build Engine version 16.4.0+e901037fe for .NET Core
Copyright (C) Microsoft Corporation. All rights reserved.

  Restore completed in 46.59 ms for /home/hardono/Projects/DotNetCore/Blazor/HelloBlazor/HelloBlazor.csproj.
  HelloBlazor -> /home/hardono/Projects/DotNetCore/Blazor/HelloBlazor/bin/Debug/netstandard2.1/HelloBlazor.dll
  HelloBlazor -> /home/hardono/Projects/DotNetCore/Blazor/HelloBlazor/bin/Debug/netstandard2.1/publish/

For my case, the static files was generated at /home/hardono/Projects/DotNetCore/Blazor/HelloBlazor/bin/Debug/netstandard2.1/publish/HelloBlazor/dist/ as shown below:

Now you can upload these files and folders to your Linux/Windows server. No .NET runtime is required on the server, but the client’s browser requires Web Assembly support (all modern browsers have it, btw). I’ve uploaded mine here. Check it out HERE.

But goodness me, Blazor Web Assembly project has quite big download size.

A total of 6.6 MB of resources need to be downloaded!

That’s it for now, I hope it helps. Cheers!

About Hardono

Hi, I'm Hardono. I am working as a Software Developer. I am working mostly in Windows, dealing with .NET, conversing in C#. But I know a bit of Linux, mainly because I need to keep this blog operational. I've been working in Logistics/Transport industry for more than 9 years.