Monday, July 16, 2018

7 MAC OS X eclipse short cuts

The eclipse has many keyboard shortcuts that can potentially save you tons of time, so that you can focus on the programing itself instead of navigating the IDE.

If you have to remember one shortcut, remember this one:
Command + Shift + L

It will list all the defined eclipse shortcuts.
From the list, you can pick whatever shortcuts you want to remember. Here is my top 7 list.

  1. Control + Shift + L : list all shortcuts
  2. Control + space bar: content assist. You can type part of a java syntax, then type control + spacebar, the IDE will give you the suggested templates.
  3. Control + shift + space bar: context information, whenever you want hint about a method parameter, put you cursor in the (), then type Control + shift + space.
  4. Control + Shift + H: type search. If you know a class name, you can type Control + shift + H to open a search bar to quickly land on the java file.
  5. Control + option + H: open call Hierarchy. This one do the same as right click and select open call hierarchy, but if you look up lots of code, it adds up.
  6. Command + L: move to line number. This shortcut is handy for trouble-shooting a large file.
  7. Control + E: open editors. This is handy if you have lots of files open.

Continue Reading »

Tuesday, July 10, 2018

7 Mac OS X tools for web application trouble-shooting

Web applications use server-client pair to communicate via open sockets. In order to trouble-shooting them, we sometimes need to trace requests through computer system. We need to post request to web service end-point and analyze the returned xml, json etc. We sometimes need to check the server logs, databases, splunk, etc. Here are some tools to make these job easy.


The software TextMate allows you to format text so that they are easy to read. Json, for example, is intended to be compact, so chances are the json string passed in web application request/response have no space or line break. In order to review the content, you need to format the compact string so that space and line break will be inserted for easy reading. You can copy the json string from a log and paste it into textmate then select json format to get an easy to read version. You can do the same for compact xml string, html string etc.


Whenever you need to test rest services, you can use curl commands. However, with PostMan, your life will be easier. This tool allows you to easily construct the request body, set headers, credentials, etc. You can group and save various rest service requests for later use. The request and response are formatted too, sweet.


Terminal is a basic scripting environment in mac os x, Iterm is a much better alternative. You can do many cool things such as sending commands to multiple tabs, script login session, split windows, highlight text to copy to clipboard, use many shot-cuts, etc.

Mysql Workbench

This tool manages your mysql database connections. You can browse schema, run query, check result, copy results, export results, analyze performance etc.

Oracle SQL Developer

a free tool to mange oracle database connections. UI provides many features such as browsing schema, view single record, syntax highlighting etc.


A computer system is developed by a team, so trouble-shooting often involves a team of engineers. Slack allows you to chat with partner, host online meetings across the internet. A meeting channel recorded the trouble-shooting history for later reference.


Last but not least, organize your thoughts before and after communication. Mac OS X notes is the handy tool for you. Continue Reading »

Monday, July 9, 2018

7187911489 and 7187912630 are phishing numbers

7187911489 (718)791-1489 718-791-1489 (718)-791-1489 and 7187912630 (718)7912630 718-791-2630 (718)-791-2630 are phishing numbers. The robots are trying to call your phone in order to collect feedback. Don't give them any response by pressing key or call them back. Continue Reading »

7 unix commands for trouble-shooting memory related issue

Your application has been running fine for months until a recent linux patch are applied and you want to figure out what's going wrong.

These commands will be handy during your adventure of figuring out the root cause.


top command will give a general idea of how busy your system is and what resources are depleting. It will also list the top consumers of your computer cpu and memory. 

free -ht

free will list all the RAM usage statistics. -h is human readable, -t will print out total. The Total line is where you should find out the amount of free memory for your program. 

df -h

df -h let you check if you have disk full. -h is human readable.

uname -a

this command allow you to check the OS related information. From the output, you will find the kernel version, which may have bug related to performance issue.

lsof -nP | grep '(deleted)'

sometimes, you deleted a large file but your running application still have a reference to the file descriptor. The disk space won't be freed until the application exits. You can find these invisible files with command lsof -nP | grep '(deleted)'.

sar -r

when you want to find the memory usage in the past, sar command will do the job. The command sar have many flags for different resources like cpu, memory or IO, -r flag list the memory usage for today. 

ps -ef | grep java

find out if your java application is still running. To your surprise, it might just exit without any runtime exception in the log. The reason might be memory related.

When java program is running in VM that is configured to overcommit memory, the JVM will suffer from performance issue. A garbage collection which normally completes in hundreds of milliseconds might take minutes to complete in such an environment and the applications within that JVM are frozen during this time. 

“Java provides a special challenge in virtual environments due to the JVM’s introduction of a third level of memory management. The balloon driver draws memory from the virtual machine without impacting throughput because the guest OS efficiently claims pages that its processes are not using. But in the case of Java, the guest OS is unaware of how the JVM is using memory and is forced to select memory pages as arbitrarily and inefficiently as ESX’s swap routine. Neither ESX nor the guest OS can efficiently take memory from the JVM without significantly degrading performance. Memory in Java is managed inside the JVM and efforts by the host or guest to remove pages will both degrade Java applications’ performance. In these environments it is wise to manually set the JVM’s heap size and specify memory reservations for the virtual machine in ESX to account for the JVM, OS, and heap.“

Continue Reading »

Thursday, July 5, 2018

7 mac os x short cuts for trouble-shooting

When your application run into trouble such as no response, you would like to figure out why or want to quickly move on. Here is some Mac OS X short-cuts that makes your life much easier.

  1. Do you want to quickly switch among different programs without clicking around? Command + Tab, Command + Shift + Tab will list all the open programs and allow you select the high-lighted one. 
  2. Have you ever try to open a program by opening the finder, then navigate to the application folder, then click open a program? There is a much faster way. Command + Space, then type the program name.
  3. windows user might wonder what is the Control + Alt + Delete equivalent in mac os x, the shot-cut is Command + Alt + ESC, use this force quit shortcut, if long clicking a program then select Quit don't work.
  4. Do you want to compare files side by side in shell window? Command + D split a terminal window into 2.
  5. Sometimes, you entered a long command line in terminal, then realized you want to modify the first a few characters. Instead of press left for 10 seconds, you can press fn + left to directly move to the front of the command. The fn + right move your cursor to the end of the command.
  6. Command + T will open a new tab in terminal.
  7. screen shot in mac os x: Command + Shift + 3 takes a full screen screenshot and Command + Shift + 4 takes a screenshot for a select area.
Continue Reading »

2125174674 is a phishing number

2125174674 or 212-517-4674 or (212)517-4674 is a phishing number. The robot call is trying to get user response so that they can do more damage in the future. Don't give this robot call any response. Continue Reading »

Wednesday, June 6, 2018

phishing phone calls from (202) 495 - *

The following phone numbers are phishing numbers claimed to be from Washington, DC. The robot voice is telling some none sense trying to get the receiver to press button or return the call so it can gain personal information. These phone numbers are faked by software, don't give them any feedback in case it is a blind scan.

(202) 495-1110

help people who are searching these numbers:

202-495-1964 Continue Reading »