Skip to content

Commit 01b559e

Browse files
committed
feat: added more projects
1 parent 7cf4d6e commit 01b559e

File tree

11 files changed

+325
-1
lines changed

11 files changed

+325
-1
lines changed

src/assets/normn.png

205 KB
Loading

src/content/docs/index.mdx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ hero:
88
file: ../../assets/houston.webp
99
actions:
1010
- text: Stuff I've Made
11-
link: /projects/lid
11+
link: /projects/01-lid
1212
icon: right-arrow
1313
- text: Resume
1414
link: https://drive.google.com/file/d/1L8lr5-B45VnHHbTIvZRya9fNBJOjI8h3/

src/content/docs/misc/grades-site.md

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
---
2+
title: Grade Cutoff Squeezer
3+
description: Web application for approximating course grade cutoffs using crowdsourced data
4+
---
5+
6+
Website for approximating the grade cutoffs for courses by using user-submitted data.
7+
8+
## Features
9+
10+
- User authentication with JWT
11+
- Course grade submission system
12+
- Dynamic grade cutoff calculation
13+
- Search-enabled course selection
14+
- Rate limiting for submissions
15+
- Mobile-responsive design
16+
- Year-wise course tracking
17+
18+
## Tech Stack
19+
20+
### Frontend
21+
- React.js
22+
- Chakra UI
23+
- Vite
24+
25+
### Backend
26+
- Python Flask
27+
- SQLAlchemy
28+
- JWT Authentication
29+
30+
## Setup
31+
32+
### Prerequisites
33+
34+
- [Node.js](https://nodejs.org/en/)
35+
- [NPM](https://www.npmjs.com/)
36+
- [Python 3](https://www.python.org/downloads/)
37+
38+
### Running
39+
40+
1. Backend
41+
```bash
42+
cd backend
43+
python3 -m venv venv
44+
source venv/bin/activate
45+
pip install -r requirements.txt
46+
python3 run.py
47+
```
48+
2. Frontend
49+
```bash
50+
cd frontend
51+
npm install
52+
npx @chakra-ui/cli snippet add toaster
53+
npx @chakra-ui/cli snippet add field
54+
npx @chakra-ui/cli snippet add provider
55+
npx @chakra-ui/cli snippet add select
56+
npm run dev # for development, otherwise: npm run build
57+
```
58+
59+
## TODO
60+
- [ ] Allow users to add courses
61+
- [x] Fix width when no course is selected
62+
- [x] Interface for viewing grade cutoffs
63+
- [x] [!] Add info for users, like "only one submission per course"
64+
- [x] Styling
65+
- [x] [!!] Refactor backend code
66+
- [x] [!] Use dropdown with search input for course selection
67+
- [x] Mobile responsiveness
68+
- [x] [!!] Replace temp and secret stuff with env variables
69+
- [x] [!!] use jwt for cookies
70+
- [x] Allow same course in different years
71+
- [x] Rate limiting

src/content/docs/projects/02-morph.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
---
2+
title: Morphological Inflections
3+
description: RNN-based morphological inflection predictor with baseline comparison
4+
---
5+
6+
## About the Project
7+
8+
Implemented a morphological inflection prediction system using Recurrent Neural Networks (RNN). The system learns patterns in word inflections and compares performance against traditional baseline metrics.
9+
10+
[`GitHub`](https://github.com/bitmap4/morphological-inflections)
11+
12+
## Features
13+
14+
- RNN-based sequence learning
15+
- Character-level prediction
16+
- Multiple languages support
17+
- Comparative analysis with baseline methods
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
---
2+
title: Network File System
3+
description: Custom NFS implementation in C for Operating Systems course
4+
---
5+
6+
## About the Project
7+
8+
A distributed network file system implementation featuring a naming server architecture for coordinated file operations across multiple storage servers. Built for Operating Systems course.
9+
10+
[`GitHub`](https://github.com/bitmap4/nfs)
11+
12+
## Architecture
13+
14+
### Components
15+
- **Naming Server (NM)**: Central coordinator managing file locations and client requests
16+
- **Storage Servers (SS)**: File storage and operations handlers
17+
- **Clients**: End-user interface for file operations
18+
19+
## Features
20+
21+
### Core Functionality
22+
- File operations (read/write/create/delete)
23+
- Directory operations (create/list/delete)
24+
- Audio file streaming
25+
- Path-based file access
26+
- File metadata access
27+
28+
### Advanced Features
29+
- Asynchronous/synchronous writes
30+
- Multiple client support
31+
- Error handling with status codes
32+
- LRU caching for searches
33+
- Data replication across storage servers
34+
- Storage server failure detection
35+
- Request logging and monitoring
36+
37+
### Optimizations
38+
- Efficient path searching with tries/hashmaps
39+
- Non-blocking client request handling
40+
- Asynchronous data replication
41+
- Concurrent file access management
42+
43+
## Technical Details
44+
45+
### Communication
46+
- TCP sockets for reliable data transfer
47+
- Custom protocol for client-server interaction
48+
- ACK-based request confirmation
49+
- STOP packet for operation completion
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
---
2+
title: C-Shell
3+
description: Custom shell written in C with advanced features for Operating Systems course
4+
---
5+
6+
## About the Project
7+
8+
A feature-rich shell implementation written in C for the Operating Systems and Networks course. This shell provides core functionality similar to bash while implementing custom commands and features.
9+
10+
[`GitHub`](https://github.com/bitmap4/shell-osn)
11+
12+
## Features
13+
14+
### Core Shell Features
15+
- Custom prompt showing username, hostname and current directory
16+
- Support for ';' separated multiple commands
17+
- Background process execution with '&' operator
18+
- Error handling for invalid commands
19+
- Session command history with 'log' command
20+
21+
### Custom Commands
22+
- `hop`: Directory navigation with support for relative/absolute paths
23+
- `reveal`: List files/directories with color coding and detailed info
24+
- `proclore`: Process information display
25+
- `seek`: File/directory search with multiple options
26+
- `activities`: List running processes spawned by shell
27+
28+
### Process Management
29+
- Background process execution and monitoring
30+
- Process status tracking
31+
- Signal handling (SIGINT, SIGTSTP)
32+
- Foreground/Background process switching
33+
34+
### I/O Features
35+
- Input/Output redirection (>, >>, <)
36+
- Support for command piping
37+
- Multiple pipe commands
38+
- Combined redirection and piping
39+
40+
### Additional Features
41+
- Custom shell configuration via .myshrc
42+
- Process signal management with 'ping' command
43+
- Foreground/Background process control (fg, bg)
44+
- Session command history persistence
45+
- Color-coded output for files and directories
46+
47+
## Technologies
48+
- C Programming
49+
- System Calls
50+
- Process Management
51+
- Signal Handling
52+
- File I/O
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
---
2+
title: Kafka.
3+
description: Image to Video Generator using Python
4+
---
5+
6+
## About the Project
7+
8+
A Python application that generates video content from image sequences. Developed for the Introduction to Software Systems course.
9+
10+
[`GitHub`](https://github.com/bitmap4/issproject)
11+
12+
## Features
13+
14+
- Image sequence and time span configuration
15+
- Video generation
16+
- Transition effects
17+
- Resolution and bitrate control
18+
- Audio track addition
19+
- Persistent user accounts with saved images
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
---
2+
title: TCP over UDP
3+
description: Implementation of TCP features using UDP protocol
4+
---
5+
6+
## About the Project
7+
8+
A partial implementation of TCP functionality built on top of UDP, demonstrating core networking concepts like reliable data transfer and packet sequencing.
9+
10+
[`GitHub`](https://github.com/bitmap4/tcp-udp)
11+
12+
## Features
13+
14+
### Data Sequencing
15+
- Message chunking with sequence numbers
16+
- Fixed chunk size implementation
17+
- Total chunks tracking
18+
- Ordered data reconstruction
19+
20+
### Reliability
21+
- ACK packet implementation
22+
- 100ms retransmission timeout
23+
- Out-of-order packet handling
24+
- Lost packet recovery
25+
- Non-blocking socket design
26+
27+
## Usage
28+
29+
Compile server and client executables:
30+
```bash
31+
make
32+
```
33+
34+
Start server:
35+
```bash
36+
./server
37+
```
38+
39+
Run client:
40+
```bash
41+
./client
42+
```

src/content/docs/projects/07-xoxo.md

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
---
2+
title: Network Tic-Tac-Toe
3+
description: Multiplayer Tic-Tac-Toe implementation using TCP and UDP protocols
4+
---
5+
6+
## About the Project
7+
8+
A client-server implementation of Tic-Tac-Toe that allows two players to play over a network. Implemented separately using both TCP and UDP protocols.
9+
10+
[`GitHub`](https://github.com/bitmap4/xv6-network)
11+
12+
## Features
13+
14+
### Game Implementation
15+
- 3x3 game board representation
16+
- Turn-based gameplay
17+
- Win/Draw detection
18+
- Play again functionality
19+
20+
### Networking Features
21+
- Client-server architecture
22+
- Real-time game state updates
23+
- Player synchronization
24+
- Connection management
25+
- Both TCP and UDP implementations
26+
27+
## Usage
28+
29+
1. Compile the server and client executables:
30+
```bash
31+
make
32+
```
33+
34+
2. Start the server:
35+
```bash
36+
./server
37+
```
38+
39+
3. Connect two clients:
40+
```bash
41+
./client
42+
```

src/content/docs/projects/08-xv6.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
---
2+
title: xv6 Kernel Modifications
3+
description: System call implementations and custom schedulers for XV6
4+
---
5+
6+
## About the Project
7+
8+
Enhanced the XV6 operating system with new system calls and scheduling policies. Implemented:
9+
- System call tracking functionality
10+
- Process timer alerts
11+
- Lottery-based scheduling
12+
- Multi-level feedback queue scheduling
13+
14+
[`GitHub`](https://github.com/bitmap4/xv6-mods)
15+
16+
## Features
17+
18+
### System Calls
19+
- `getSysCount`: Tracks system call usage statistics
20+
- `sigalarm`/`sigreturn`: Process CPU time alerts
21+
- `settickets`: Sets process lottery tickets
22+
23+
### Schedulers
24+
- **Lottery Based Scheduling (LBS)**
25+
- Random ticket-based process selection
26+
- Process arrival time prioritization
27+
- Inherited ticket counts for child processes
28+
29+
- **Multi-Level Feedback Queue (MLFQ)**
30+
- 4 priority queues with different time slices
31+
- Priority boosting to prevent starvation
32+
- I/O-bound process prioritization

0 commit comments

Comments
 (0)