Why is JavaScript designed the way it is?


JavaScript is the programing language that makes the Web alive by integrating the HTML pages with client-side JavaScript code. Considering all the Web, I would expect that it contains billions of lines of JavaScript code. In addition, billions of people browse the Web every day. Therefore, designing and maintaining this language is an extremely critical undertaking. It pretty much determines the amount of effort and money required to develop dynamic Web pages. Continue reading

Scientific and Academic Misconduct in Computer Science

I intend in this article to provide a list of web pages, documents, and papers that discuss the scientific misconduct and the academic misconduct in computer science. Scientific misconduct (also called research misconduct) is a violation of research integrity. Academic misconduct is a violation of the integrity of an educational setting. I hope this list constitutes a comprehensive reference to the topic and I’ll try to keep it up-to-date. Continue reading

The Art of Profiling Using Intel VTune Amplifier, Part 4

In previous parts of this series, I discussed how to set up a VTune Basic Hotspots analysis to profile the target program. By quickly going through the program, you would notice that there is a significant loop at line 88 in the gen_pswd function. Therefore, one might think that gen_pswd is the hotspot. However, the results reported by VTune says otherwise. Make sure that you are on the Hotspots by CPU Usage viewpoint to follow this article. Continue reading

The Art of Profiling Using Intel VTune Amplifier, Part 3

In Part 1 and Part 2 of this series, I discussed the fundamentals of profiling and provided an introduction to VTune. Now it’s time to create, configure, and run an analysis. Since we are interested in finding performance hotspots, we have two analysis types to choose from: Basic Hotspots and Advanced Hotspots. The former uses time-based sampling and the latter uses event-based sampling. Throughout this series, I’ll use both of them starting with Basic Hotspots. In a real world scenario, if you can use Advanced Hotspots, then you can just use that instead and enjoy the smaller sampling interval and lighter overhead. Continue reading