"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 Personal
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. Course & Project Type: Geo-spatial Vision and Visualization, Group (2 members). Programming Languages & Tools: Python, Fugro-viewer, CloudCompare. 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:
- 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.
Course & Project Type: Geo-spatial Vision and Visualization, Group (2 members). Programming Languages & Tools: Python, Open-CV-Python, SURF, FLANN. 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. 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. 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. 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. 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). Course & Project Type: Operating Systems, Group (3 members). Programming Languages & Tools: C++, Linux. Projects: 1. Tiny Shell Implementation. 2. Kernel Memory Allocator. 3. Multi-threaded Server. 4. File system
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. 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. 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:
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:
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. 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:
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:
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:
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. |