Author Archives: cyberaka

About cyberaka

I am an experienced Senior Solution Architect with proven history of designing robust and highly available Java based solutions. I am skilled in architecting designing and developing scalable, highly available, fault tolerant and concurrent systems which can serve high volume traffic. I have hands on experience in designing RESTful MicroServices architecture using Spring Boot, Spring Cloud, MongoDB, Java 8, Redis and Kafka. I like TDD (JUnit), BDD (Cucumber) and DDD based development as required for my projects. I have used AWS primarily for cloud based deployment and I like developing cloud enabled POC as a hobby in my spare time. I have deigned and developed CI/CD pipeline using Jenkins and leveraged Docker, Kubernetes for containerizing and deploying some of my applications. I am highly experienced in creating high performing technical teams from scratch. As an ex-entrepreneur I am very much involved in the business side of the IT industry. I love interacting with clients to understand their requirements and get the job done.

Windows 7 File Sharing Client Quirk

If you are like me you might have multiple user accounts on the target windows box and you might want to switch the network credentials used to login by the Windows. One thing which I have found extremely annoying is the tendency of Windows Explorer to remember your last credential even when you have kept the “remember credentials” checkbox unchecked. I am not talking about credentials which you ask Windows to “remember” but about credentials which you don’t want Windows to remember so that if I closed explorer and re-opened the explorer and tried to access a remote computer’s file share I should be asked for the credentials again. I don’t know if this is a Windows 7 specific behavior or not but I am facing this issue on Windows 7. This logon is basically cached for your convenience. But what if you don’t want your credentials to be cached, what if you want to switch your credentials rapidly. This might sound stupid to some but it is helpful once in a while.

Well I found a workaround which is clunky but works great. Open a command prompt in administrator mode and execute the following command.

net use \\your_remote_computer\share /delete

This command basically terminates the connection to your remote computer if it’s not already terminated. If you want to terminate all your connections then execute the following command instead of the above command.

net use * /delete

The above command ensures that all connections to any remote computers are terminated. This command might ask you for confirmation in the command prompt. Answer “yes” for all connections. Now follow up with the following command:

klist purge

This command basically terminates the Kerberos Ticket for the credential you had for your remote computer if it has not already been done.  Please note you need to ensure that the connection to the remote computer has been terminated and then purge the outdated kerberos tickets for closed connections so you need to execute the 2 commands in sequence. This will ideally solve this little problem.

 

Locale issue in Linux VPS Box

In case of a new Linux VPS box it is possible that you might encounter an error like this:

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LC_CTYPE = “UTF-8”,
LANG = “en_US.UTF-8”
are supported and installed on your system.
perl: warning: Falling back to the standard locale (“C”).

To solve this error the following approach worked for me on my Debian box. Execute the following command

sudo vi /etc/ssh/sshd_config

In this file comment the following line. This line basically allows the client OS to pass it’s environment parameters to the remote server which can cause issues.

AcceptEnv LANG LC_*

Save the file and reboot the VPS box. After rebooting this error should not ideally come. If you are still getting this error then it is possible that you don’t have the locale installed. The following command might help you in resolving this problem.

sudo locale-gen
sudo dpkg-reconfigure locales

 

Self Motivation!

Need no stars to light the way,
Hold no hands to cross those hurdles,
Borrow no words to floor the world,
Look for no shared glory to shine,
Make no friend pay your price,
When you find your feet,
Others fall in step.

A truly inspiring quote which often come in handy.

Entrepreneur as Manager – Some nuggets of advise

Being an Entrepreneur is hard and being a good manager is harder still. An entrepreneur cannot succeed in isolation so some employees have to be hired. If the employee turns out to be a performer then it is good for business but if the volume of work done doesn’t improve then stop and have a look. Your cash is important and you cannot afford to spend it on paying salary if you are not getting returns.

Agreed most employees are looking for doing a good job but there are some exceptions who rather not do their job and idle their time at your expense. These exceptions have to be either weeded out or they should be given a clear sign that you cannot be manipulated and that their lazy business should stop immediately. Look for the following warning signs and some advice on how to handle it.

1) Don’t you remember! I already told you about this ..
An employee can attempt to cover mistakes and bad news by using this statement. The easiest way to avoid conveying a bad news is to write it somewhere in the middle of a large email or at the end of a lengthy email. Remember these mistakes or bad news might jeopardise your business in long run. Hence you cannot afford to ignore it from a manager’s and owner’s perspective so you need to be very careful about this conduct.

Solution: Make it officially mandatory that an employee should send one page summary email for every lengthy email sent. Make it clear that the employee sending the email will be responsible if the one page summary email excludes something of importance. The rule of thumb is a 1000 to 2000 worded email usually has a summary of 100-200 words only.

2) This is a bad option, as it won’t work
Some employees make a career out of looking at the impossibility and difficulty of the assigned task. They might come up with explanations as to why a given idea is impractical and won’t be viable. Positive and negative criticism is usually part of the team work but just negative criticism at every instance just doesn’t cut.

Solution: Whenever this happens tell the employee “Fine, this won’t work; now tell me what will work”. If this doesn’t work tell the employee “Please come back to me with a way to make it work”. If somebody thinks an idea or approach is wrong ask this person what would be right approach or a better idea. Remember people gather together in a team to get work done together. In my experience if somebody criticizes some aspect of the job done but has answer as to how to improve it is a valuable asset to your team; however if criticism comes without any positive options or alternative; then it is usually a warning sign.

3) I cannot do this job unless you do a part of it ..
Many times employees would try to delegate their task to you by telling you that you need to do some work before they can do their job. It’s basically a subtle way of passively adding tasks to your todo list. This usually has the repercussion that you end up doing their job while ignoring your own.

Solution: Whenever this happens and somebody asks you to do something which ideally is supposed to be done by them just hand the task back to the employee. Tell him “I assigned you this task keeping in mind your role and experience in this team, so you figure out how to do it”. If the employee is really not able to perform and complete the task offer to coach and teach rather than assist.

4) There are only 2 or 3 alternative in this situation which I can think about ..
By giving you a certain list of alternatives your employee can attempt to coax you into an approach which might be convenient to them but not beneficial for the company on the whole. It is possible that 1 or 2 of these alternatives are impractical and only 1 approach among them is practical. The employee might be hoping that you will definitely choose the only practical option which has been provided to you.

Solution: Just tell the employee “You should come to me with viable alternatives only and not with alternatives which are clearly impractical”. The employee will get the cue.

5) Can someone else complete my task? I have to leave now. I may not come tomorrow.

As a manager you have to be cognizant of the fact employees are after all human beings and they might have personal trying reasons to leave the task at hand and attend to some family/personal need. However if this becomes a regular or a frequent trend then you have a serious problem. If you do the task of the absent employee then you are setting a bad precedent which should not be encouraged and if your allocate the task of the absent employee to another employee then you might be encouraging discontent.

Solution: Tell the employee “Your involvement is important. So you see you can always complete your pending work when you come back”. If you do it frequently enough this problem will never happen with the concerned employee unless the employee is willing to go on a long leave.

Articles Digest for Week #5

Some Articles which I found quite interesting

iOS conferences around the globe
http://www.raywenderlich.com/29341/top-10-ios-conferences-in-2013

Popular shortcuts of Eclipse.
http://pcquest.ciol.com/content/Developer/2013/113013001.asp

Control your Android phone via a Windows PC.
http://pcquest.ciol.com/content/handson/2013/113012903.asp

Cool and Innovative apps using Raspberry PI
http://pcquest.ciol.com/content/techtrends/2013/113012903.asp
http://www.businessinsider.com/10-mind-blowing-raspberry-pi-projects-2013-1

Service Tax Payment in India for digital income
http://www.labnol.org/india/service-tax-bloggers/27749/

As a policy I disable Adobe Flash and Java on any web browser I use on my computers. This article supplements this idea by showing how to disable plugins in Chrome.
http://www.labnol.org/software/google-chrome-flash-crashes/27753/

Interesting article about generating leads online
http://www.incomediary.com/how-to-attract-leads-and-land-clients-online

Finding Duplicates of Images even if the duplicates are retouched
http://www.megaleecher.net/Duplicate_Image_Finder_Pro

An interesting tool to clear up space on your phone
http://www.megaleecher.net/node/2072

Some tech secrets from Business Insider
http://www.businessinsider.com/business-insider-tech-secrets-2013-2

Installing and running Android on a Windows PC
http://geeknizer.com/install-run-android-on-windows-pc-natively/

Prioritizing Network Connection in Windows

Windows somehow gives LAN cable connection priority for connecting to internet. This was a mystery which has boggled me for quite some time. Recently I landed in a scenario where on my laptop I had a LAN cable connection as well as a WiFi connection. Now in this situation both Ethernet and WiFi adapter have got internet access via different ISP and the gateway for both are different. Now I wanted my FTP client to download stuffs via my LAN cable and I wanted my Dropbox client to upload files via my WiFi connection. After spending some time on internet I found out that the only solution that guarantees result is to take control over the metrics of the network adapters. If the metrics of WiFi is made lower than the metrics of Ethernet then Windows OS routes all internet traffic via WiFi. After changing the metrics I checked and confirmed that my Browser and Dropbox applications were using WiFi instead of Ethernet. This seems to be working reliably for now. I performed the following steps:

  1. Open command prompt (type cmd.exe in Start Menu in Win 7 or in Run dialog in Win XP).
  2. Type ncpa.cpl (This will open the network connections windows)
  3. Right click on your Wireless Network Connection adapter (WiFi).
  4. Click on “Properties” in the popup. This will open the properties dialog.
  5. In the properties dialog choose “Internet Protocol Version 4 (TCP/IPv4)”.
  6. Click on “Properties” button. This will open the “Internet Protocol Version 4 (TCP/IPv4) Properties”.
  7. Click on the “Advanced” button. This will open the “Advanced TCP/IP Settings”.
  8. In this dialog uncheck the “Automatic Metric” checkbox.
  9. Type ‘1’ without quotes in the “Interface metric” text field.
  10. Click on OK in this dialog and the underlying dialog to save your changes. Click on “Close” in the properties dialog to conclude this task.
  11. Now in the Network Connections window select your “Local Area Connection” (Ethernet Adapter).
  12. Repeat steps 4 through 10 with the only difference that in step 9 type ‘2’ instead of ‘1’.
  13. That’s it you are done.

The idea is that if you provide a lower metrics to your WiFi and a higher metrics to your LAN/Ethernet adapter then Windows OS will always use your WiFi connection for all Internet traffic. This worked well for me.

Using wget to do high speed HTTP transfer within LAN

Today I needed to transfer contents between my Linux servers using a CAT5 LAN connection. The source server served files via HTTP and also had a FTP server running. I ruled out using FTP for transfer as I wanted to do the transfer via command line recursively so the natural candidate was wget. On the target Linux box I executed the following command to get a good transfer speed:
wget -r -nH –cut-dirs=2 –no-parent –reject=”index.html*” http://192.168.111.116/files/dump/
The speed received was something like this:
Downloaded: 2476 files, 27G in 45m 49s (10.0 MB/s)

This completed the job in a a short while with no residual HTML file being generated in target.