"Talent wins games, but teamwork and intelligence wins championships!"
- Michael Jordan
(An american professional basketball player and entrepreneur. He played for Chicago Bulls and Washington Wizards, and regarded as the greatest basketball player of all time. 1963-)

  Monitoring of Conditional MaxRS in Spatial Data Streams (code+data)
  Incorporating Weather Updates for Public Transit Users of Recommendation Systems (code+data)
  Distributed MaxRS in Wireless Sensor Networks (code)
  Co-MaxRS: Continuous Maximizing Range Sum Query (code+data)
  Predicting Sales in Stormy Weather
  Road Lane & Boundary Extractor from Lidar Data
  Speed Limit Sign Detection from Street-view Images
  Mobile TCP Evaluation


Predicting Sales in Stormy Weather (Walmart data) https://sites.google.com/site/masudhussn/project-works/#

Course & Project Type: Social Media Mining, Individual Course-long Project.
Programming Languages & Tools: Python (SciPy, OpenCV).

Brief Abstract:
Weather has impacts on people in various ways - their mood, activity, health, etc. Consequently, people may decide whether to buy (or, not buy) certain products based on the current weather, or future weather forecast. In this project, our goal is to predict sales of potentially weather-sensitive products around the time of a stormy weather using a real-world sales data provided by Walmart. Furthermore, we aim to investigate the impact of weather-related features on the sales of these weather-sensitive products. We identify a major weather event (storm) when the amount of rainfall or snow exceeds a prefixed threshold value. The advantages of a relatively accurate prediction in this context is twofold. First, customers will be able to buy products that they require to survive the hostile weather conditions. Second, it will help product sellers to stock the products appropriately and maximize their profit. We leverage on clever data pre-processing and relevant feature engineering, along with using Support Vector Regression (SVR) to build an efficient prediction model for sales in stormy weather. Experimental results indicate that the final model would certainly outperform the naive
modeling algorithms (random-processing and setting all to zeros) by a large margin (4.25 times more accurate). Although according to our findings, the weather-related features have minimal to no influence on the sales of given weather-sensitive products.

Detailed Report: View PDF| Download

Road Lane & Boundary Extractor from Lidar Data https://sites.google.com/site/masudhussn/project-works/#

Course & Project Type: Geo-spatial Vision and Visualization, Group (2 members).
Programming Languages & Tools: Python, Fugro-viewer, CloudCompare.

https://sites.google.com/site/masudhussn/project-works/input1.jpg https://sites.google.com/site/masudhussn/project-works/output1.jpg
Input Output

Brief Abstract:
Given a huge amount of LIDAR point cloud data of a stretch of road, we have to detect and output road boundaries, lane markings, and lane geometry.

The intuition(s) behind our solution is:
  • In a 3D world (X, Y, Z axis), road segments lie near the bottom of the plane.
- Road segments have lower Z-axis values
- Elements can have lower Z-axis values than Road Segments (e.g. river besides road)
- The Z-axis values for road segments should be in between a particular range.
  • Lane markings are white/brighter.
- Lane markings should have higher intensity values

Detailed Report: View PDF| Download

Automatic Speed Limit Sign Detection from Street-view Images https://sites.google.com/site/masudhussn/project-works/#

Course & Project Type: Geo-spatial Vision and Visualization, Group (2 members).
Programming Languages & Tools: Python, Open-CV-Python, SURF, FLANN.

Final Output

Brief Abstract:
Given a sequence of street view images and some sped limit or road sign images, detect the road signs within the street view images and output their location in the image (border). We first find/store images of speed limit signs and other related signs. Then, as first for solution, we detect keypoints using SURF in both kinds of images (sign images and input street level images) and compute the descriptor for the keypoints as well. Then, we match the keypoints from both types of images using FLANN Keypoints matching algorithm. We take advantage of the idea of homography, perspective transformation, and polyline drawing to identify and draw matched speed limit and other sign images within the given input street level images. Finally, we output the final comparing image and matching images in a text file.

Detailed Report: View PDF| Download

Mobile TCP Evaluation https://sites.google.com/site/masudhussn/project-works/#

Course & Project Type: Networking Problems in Cloud Computing, Group (3 members).
Programming Languages & Tools: Ruby, tcptrace, tcpdump, wireshark.

Brief Abstract:
Although The Transmission Control Protocol (TCP) is one of the core protocols of the Internet protocol suite (IP), it is not particularly designed for the mobile environment. The principle goal for this project is to evaluate performance of TCP in mobile environments (WiFi and Cellular-Data). We aim to thoroughly analyze the obtained results and come up with the factors behind TCP’s slow mobile performance. We focused on one principal problem, namely TCP connections with Cellular-Data in a moving environment.

The following questions are addressed in our analysis:
1) What is the comparative performance of TCP in wired, wifi and mobile networks?
2) What are the main reasons for slow TCP performance in mobile networks?
3) How TCP performance is affected by the mobility of cellular devices?
4) Can we suggest a plausible fix to the problem with moving Cellular-Data connections?

Our initial conclusions were that there is a significant decrease in performance in both WiFi and Cellular-Data for mobile phones. We found out that TCP was appearing to think that there was congestion in the connection, so RTT was increasing and connections were being reset often. In addition, when on Cellular-Data connections while moving, the connection is unbearably slow and barely transferred any data during the TCP connection. We propose that a possible solution or alleviation to this problem would be to include state transferring protocols inside of the cell towers just as if they were WiFi routers.

Detailed Report: View PDF| Download

Kademlia DHT https://sites.google.com/site/masudhussn/project-works/#

Course & Project Type: Distributed Systems, Group (2 members).
Programming Languages & Tools: Google Go, Linux.

Brief Description:
Kademlia is a communications protocol for peer-to-peer networks. It is one of many versions of a Distributed Hash Table (DHT). The original Kademlia paper, says that the Kademlia protocol consists of four remote procedure calls ("RPCs") - PING, STORE, FIND_NODE, FIND_VALUE. We implemented all of these four RPC procedure calls, with an iterative node look-up algorithm (although the paper describes it as recursive). 'iterativeFindNode' and 'iterativeFindValue' procedures functioned as basic Kademlia node look-up operation and search operation respectively. In addition, we implemented caching to an extent during in this project according to the given specs, which helped us to achieve improved look-up performance. We also developed 'Refresh; and 'Join' functions.

Detailed Specification: View PDF | Download (We implemented all specifications correctly, and scored 100/100)

Beehive Over Kademlia DHT https://sites.google.com/site/masudhussn/project-works/#

Course & Project Type: Distributed Systems, Group (3 members).
Programming Languages & Tools: Google Go, Linux.

Brief Abstract:
Kademlia is a distributed hash table (DHT) for decentralized peer-to peer (P2P) computer networks. Like many other DHTs, Kademlia contacts about O(log (n)) nodes during the lookup for a stored object, out of a total of n no. of nodes in the system. We also implemented caching to an extent during our first project implementation according to the given specs. Although they helped us to achieve improved look-up performance, this caching strategy is not optimal in certain cases. On the other hand, Beehive is a technique which uses proactive replication to provide a constant look-up performance for DHTs, especially for power-law query distributions (e.g. Zipf query distribution). In certain papers, authors used Beehive technique intelligently over another DHT Pastry. In this project, we designed and implemented Kademlia-B, which uses Beehive-like proactive caching to improve overall look-up performance of Kademlia in special cases.

Detailed Report: View PDF | Download

Robothello (Intelligent Othello Game) https://sites.google.com/site/masudhussn/project-works/#

Course & Project Type: Intro to Artificial Intelligence, Group (2 members).
Programming Languages & Tools: C++.

Brief Description (Tournament):
We implemented an intelligent version of Othello game. We named our version of the game "Robothello". Every group of the course (around ~90 students) had to develop their version of Othello, with own A.I. techniques and heuristics. A tournament was arranged finally, where two versions of the Othello game played against each other in a particular match. Opponents were chosen randomly in the first round and winner from each match progressed to the next round. Our Robothello went into the semi-final stage (last four) in the tournament, losing to the eventual champions. For Robothello, we implemented various heuristics (for a particular state of the game) to decide the next move: coin-parity, corners, stability, player mobility and closeness to corners (as corner positions are very strong in Othello).

Detailed Report: View PDF | Download

Projects in OS https://sites.google.com/site/masudhussn/project-works/#

Course & Project Type: Operating Systems, Group (3 members).
Programming Languages & Tools: C++, Linux.

1. Tiny Shell Implementation.
2. Kernel Memory Allocator.
3. Multi-threaded Server.
4. File system

Undergraduate Thesis https://sites.google.com/site/masudhussn/project-works/#

Thesis Topic: "Network Voronoi Diagrams (NVD) for Uncertain and Extended Objects in Road Networks".

Supervisor: Dr. Mohammed Eunus Ali, Assistant Professor, Dept. of CSE, BUET.

Group partner: Abu Saleh MD. Noman, Ex-Undergraduate student BUET.

DOWNLOAD: An older version of the first few pages (abstract & introduction) of extended objects part work: View Abstract & Intro | Download a PDF Version.

Ray Tracing https://sites.google.com/site/masudhussn/project-works/#

Course & Project Type: Graphics, Group (3 members).
Programming Languages & Tools: C++, OpenGL.
Description: Ray tracing is a technique for generating an image by tracing the path of light through pixels in an image plane and simulating the effects of its encounters with virtual objects. It is a tool for developing realistic visual images. We built a project which implemented "Ray Tracing" technique successfully. The output of our project with different parameters is shown above.

3D FPS https://sites.google.com/site/masudhussn/project-works/#

Game Intro Video Screen Capture

Level 1,2 Short Demo

Course & Project Type: Information System and Software Design,
Group (2 members).
Programming Languages & Tools: Unity JavaScript,Unity Game Engine, 3ds Max, Autodesk Maya, Adobe Photoshop, Inno Setup tool
Description: We developed a 3D first person game. Storyline relates to a sailor, who is lost in an island and he must survive there by completing tricky tasks. We developed 2 fully functional levels of the game. Main features were:
  1. Profile system to keep track of how many levels are completed by different users.
  2. Realistic sound effects and graphics.
  3. Map, objectives and inventory management interfaces for players.
  4. Saving and loading option.
  5. Music management in main menu.
  6. A fully functional and complete main menu.
  7. Setup file generated for windows users.

Cricket Info Website https://sites.google.com/site/masudhussn/project-works/#

Course & Project Type: Database, Group (2 members).
Programming Languages & Tools: Oracle 11g, ASP .NET, Silverlight 3.0.
Description: We developed a complete cricket information and news website. The database design was very complicated and critical. We used triggers, stored procedures etc. as well. .NET platform was used for front end works. Main features were:
  • Match details & scorecard
  • Player details and statistics
  • Umpire, officials and article/news author details
  • Collection of news and articles
  • User account management (users were able vote on poll and comment on news)
  • Polling and commenting on news
  • Player comparison tool
  • Nice website design using Silverlight 3.0
  • Team history and details
  • Searching options for the whole website
  • Search for personnel, teams, news, articles, polls

Burj-Al-Arab & Living Room Graphics Design https://sites.google.com/site/masudhussn/project-works/#

Course & Project Type:
Graphics, Group(3 members) & Individual (Living room project).
Programming Languages & Tools: OpenGL, C++.
Description: I completed two more projects other than "Ray Tracing" in my Graphics course. I, along with two group partners, had to design exterior parts (including lobby) of Burj Al Arab building. We implemented 3 kinds of lighting and also swift camera movement. Skybox was also implemented. Another project was to design a living room, with moving curtains. The room contained a light, which turned light on/off for the room.

Operations On Nachos https://sites.google.com/site/masudhussn/project-works/#

Course & Project Type: Operating Systems, Group (3 members).
Programming Languages & Tools: Nachos Project, C.
Description: This project was done in Linux operating system. This system was able execute system calls (e.g. read, write, join, exec, exit, etc.) in Nachos. The features that were added on Nachos:
  • A file system for UNIX was implemented in Nachos. It was implemented using 'Inode' structure, super block and boot block in C.
  • Multiprogramming.
  • Console.
  • Thread Synchronization and Scheduling.

Media Player (Windows) https://sites.google.com/site/masudhussn/project-works/#

Course & Project Type: Object Oriented Programming (C++, Java), Group (2 members).
Programming Languages & Tools: Java, Netbeans.
Description: This project was developed using Java Media Framework (JMF). Implemented features were:
  • MP3, MPEG file play back support.
  • Full screen option while watching MPEG file.
  • Playlist management.
  • Shuffling, repeating playlist items.
  • Sliding timer.
  • Eject cd-rom, or play directly from cd-rom option.

Cricket Scorecard System https://sites.google.com/site/masudhussn/project-works/#

Course & Project Type: Structured Programming Language, Individual.
Programming Languages & Tools: C, Microsoft Visual Studio 6.0, Adobe Photoshop (Designing).
Description: The software was developed using iGraphics developed by BUET ex-faculty Shahriar Nirjon. The main features were:
  • Good visual representation of cricket scorecard.
  • Automatic update of all relative data. You have to only specify what happened in a ball with one input, all other statistics then will be updated automatically.
  • Graphs & charts to show run rate, run scored per over and fall of wickets.
  • Saving option at any time.

Graphics Desigining https://sites.google.com/site/masudhussn/project-works/#

I have designed t-shirts, logos, banners, posters, ads for various purposes. I have also worked on 3d softwares like 3ds Max or Maya. Some of the samples of my amateurish design related works are shown here.