Wednesday, November 13, 2013

Six ways to access the start address of a two-dimensional array in C


#include <stdio.h>
#include <stdlib.h>
int d[2][2]={1,2,3,4};
int main(){
  printf("%x\n",(unsigned int)d);
  printf("%x\n",(unsigned int)&d);
  printf("%x\n",(unsigned int)&d[0]);
  printf("%x\n",(unsigned int)&d[0][0]);
  printf("%x\n",(unsigned int)d[0]);
  printf("%x\n",(unsigned int)*d);
  return 0;
}

Saturday, November 2, 2013

National Conference on IT Education (NCITE) 2013 Best Papers

This year's NCITE was held at Camiguin Island last October 24-26. The following papers were awarded Best Paper for the conference.


Simulating the Effects of Various Road Infrastructure Improvements to Vehicular Traffic in a Busy Three-road Fork 
by Marian Arada, Merly Tataro and Jaderick Pabico

Abstract
Using Microsimulations of vehicular dynamics, we studied the effects of several proposed infrastructure developments to mean travel delay time~$\Delta$ and mean speed~$\Sigma$ of vehicles passing a busy three-road fork, particularly in the non-signalized roundabout junction of Lower Bicutan, Taguig City, Metro Manila. We designed and implemented multi-agent-based microsimulation models to mimic the autonomous driving behavior of heterogeneous individuals and measured the effect of various proposed infrastructure developments on~$\Delta$ and~$\Sigma$. Our aim is to find out the best infrastructure development from among three choices being considered by the local government for the purpose of solving the traffic problems in the area. We created simulation models of the current vehicular traffic situation in the area using the mean travel times~$\tau$ of statistically sampled vehicles to show that our model can simulate the real-world at a significance level of $\alpha=0.05$. Based on these models, we then simulated the effect of proposed infrastructure developments on~$\Delta$ and~$\Sigma$ and used these metrics as our basis of comparison. We found out that the proposed widening of one fork from two lanes to three lanes has the most improved metrics at the same $\alpha=0.05$ compared to the metrics we observed in the current situation. Under this infrastructure development, the~$\Delta$ increases linearly ($R^2=0.98$) at the rate of 1.03~$s$, while the~$\Sigma$ decreases linearly ($R^2>0.99$) at the rate of 0.14~$km/h$ per percent increase in the total vehicle volume~$\mathcal{V}$. 

LINK APP: Linked Independent Kiosks for Application Processing
by Juan Miguel Carlos Abriol-Santos

Abstract
LINK APP is a web application that uses HTML 5 and JavaScript to access and record loan application details in a centralized server through a local database. The local database uses localStorage and WebSQL to store data. To protect the data stored in the LINK APP database, RSA and AES encryption were used for transmitting and storing data. The end users use the website of the office to generate application forms which contain a QR code. LINK APP is used by the staff members of the office to process the loan application forms. A downcast webcam is used to read the data. LINK APP supports offline usage so the application works even if Internet connection is intermittent. The University saves about 5000 sheets of paper every semester because of LINK APP.


WebGauge: An Agent-based Stress Testing Tool with Performance Data Visualization Targeted at Web Applications
by Michael De La Cruz, Dante Dinawanao and Jeyran Labrador

Abstract
WebGauge is an agent-based tool designed for stress-testing web applications written in PHP and Erlang. It accepts a sequence of HTTP requests, obtained from a recorded session of a user accessing a particular web-based application, and then executes them in several instances using software agents, as if they were executed concurrently by real users. Also, the number of users to simulate, requests and intervals can be configured according to your target end-user (e.g., a company with 1000 employees). Once started, WebGauge monitors resource utilization (e.g., memory, network, CPU) of the target application server while at the same time, keeps track of each transaction performed inside the target application itself, like the execution of an SQL query or rendering a page. After which, WebGauge displays performance data via tabular summaries and visually plotted in charts for analysis.


Acceptance Rate: 32/74 = 43.24%


The complete list of the accepted papers and abstracts is here.


Monday, July 22, 2013

Essential and Influential Readings(Textbooks and Research Papers) in Operating Systems, Computer Architecture, and Computer Networks

If you are a new researcher in the Systems area of Computer Science , you might ask yourself how you should get started. First off is to define what Systems is. A good description from Stanford University is given below:
"Systems is the study of the design and implementation of computer systems such as compilers, databases, networks, and operating systems. Topics include the hardware/software interface, the networking stack, digital architecture, memory models, optimization, concurrency, privacy, security, distributed and large-scale systems, reliability and fault tolerance, and related algorithms and theoretical topics." -http://csmajor.stanford.edu/Tracks.shtml

In this post, I will list some of the books and research papers that will introduce you to the area. Some items were taken from http://thor.cs.ucsb.edu/~ravenben/papers/coreos/. Reading these books/papers is important because they will introduce you to the vocabulary used in the field. There are three subareas that I'd like to emphasize: Computer Architecture/Organization, Operating Systems, Computer Networks. Each of these subareas may also have subareas.


Texbooks
  • Computer Organization and Design: The Hardware/Software Interface by Patterson and Hennessy
  • Operating Systems Concepts by Silberschatz, Galvin, Gagne
  • Computer Architecture: A Quantitative Approach
  • Database System Concepts by Silberschatz, Forth, and Sudarshan
  • Advanced Programming in the Unix Environment by Stevens
  • The Design of the UNIX Operating System by Bach
  • Readings in Computer Architecture by Hill et al

Research Papers

 (more to follow)