a peek into my MIND

March 15, 2014

Chrome shortcuts

Filed under: General — Bharat Kondeti @ 3:55 am

Here is the complete list of chrome browser shortcuts


Shortcuts that I frequently use for mac.

Cmd  + N to open new window, Cmd  + T to open new tab

Cmd  + F to open find bar, Cmd  + G to find next

Cmd  + W to close current tab, Cmd  + Shift + W to close window

Cmd  + L  to highlight the URL. This works on all browsers

Cmd  + Option + Left Arrow / Right Arrow to switch between tabs

Cmd  + , to open settings page. This works every where to open preferences

Cmd  + Option + I to open developer tools, Cmd  + Option + U to Open source code

Cmd  + Shift + Delete to open clear browser data dialog. This shortcut works on all browsers except for safari

Cmd  plus  to enlarge a page, Cmd  minus to shrink a page  and Cmd  zero to reset the page

Cmd  + colon to open spelling and grammar dialog , This shortcut works in all applications where you can write text and is very useful if you are bad at spellings like me


March 11, 2014

Component framework – Shield UI

Filed under: Tools — Bharat Kondeti @ 9:20 pm

Stumbled up on a feature rich component framework: Shield UI. Loved their charting components that you can drill down to show more information and their demos. They also have components for displaying barcodes and QR codes. All of the components are built using HTML5 and javaScript. They also have wrappers for chart, barcodes and QR codes in ASP.NET, .NET MVC and Apache Wicket. Definitely a nice framework for a data visualization website.

March 3, 2014

1. Keywords

Filed under: Java7Spec — Bharat Kondeti @ 6:01 am

Every language has some reserved words that cannot be used as identifiers called Keywords. Java has 57 such keywords. To get complete list go here – Java Keywords.

Few interesting things:

const and goto are reserved keywords even though they are not used by the language.

– theory around volatile is bit complex. First we need to know that threads can cache data in processor cache memory for performance reasons rather than reading from / writing to main memory every time. In a single-core / multi-core processor, if multiple threads are working on the same variable with each thread using a different cache, they might not see the changes by other threads and will result in race conditions. To avoid this, if a variable is declared as volatile then threads will NOT cache that variable and is always read from / updated to the main memory.

There is one more concept called crossing the memory barrier. This means that when a memory barrier is crossed, JVM syncs all cached copies of variables to main memory and invalidates any cache that is marked as dirty in main memory. This is important because when a volatile variable is accessed, all the other variables that are cached are synced to main memory first. From Java 5 onwards, accessing a volatile variable will result in crossing a memory barrier.

Fixing the Java Memory Model – Part 1

Fixing the Java Memory Model – Part 2

– there is a keyword called strictfp as one of the reserved words. For performance reasons JVM can offload floating point calculations to the platform its running on. Since different platforms use different precisions for floating points, we would get different results when calculating floating points on these platforms. When this keyword is applied to a class, all the calculations inside the class will use strict floating point math by java runtime, resulting in same value on all the platforms. This keyword can be applied to a class, interface or a non abstract method.


0. Java 7 Specification And A Goal

Filed under: Java7Spec — Bharat Kondeti @ 6:01 am

Since it is never too late to have goals, I decided to have one, which is to read Java 7 Specification and blog about things that I did not know or thought were interesting. Also my hope is writing about these would help me to remember and get better understanding of some concepts.

Plan is to finish reading the specification in next 6 months… Hope I succeed….

Create a free website or blog at WordPress.com.