teleren/devto huggingface dataset:
Graduation Story - Building my own compiler
Tags: octograd2020
Published: 2020-05-21 00:18:17

[Comment]: # (All of this is placeholder text. Use this format or any other format of your choosing to best describe your project and experience.)

[Note]: #githubsdp I used intellij from JetBrains. Best IDE for almost every language!!

## My Final Project
Development of a compiler for a high-level oriented object programming language. The language is strongly typed, support inheritance and many other things. Programmed in Java and generated in LLVM IR for the execution. I had no prior knowledge in compilers and I had 20 days to make a fully functional compiler. I worked day and night to make it work. Overall, it is the project I am most proud about. On the other hand, the coding is far from being optimal and generally not so good. It was a write code, think if it doesn't work kind of project haha.

## Demo Link
The only video I have from my working compiler. This was the first successful test of the compiler. A simple HelloWorld and my happiness from succeeding.
https://1drv.ms/v/s!AqwCYyNwGkpSqdMcgMSOtEax6HAR2A?e=IHGFze

## Link to Code
{https://github.com/MaxThom/VSOP}

## How I built it
The compiler is divided in four parts: lexical analysis, syntax analysis, semantic analysis and code generation in assembly. The language used was Java with the ANTRL to create my AST. For the assembly for the code generation, I used LLVM.


## Additional Thoughts / Feelings / Stories
I have sweated and yelled for this project, but in the end, I’ve learned so much. Compilers and IDE have gone from magic upon clicking the Run button to my full understanding of how they work behind the scenes.

[Final Note]: # (CONGRATULATIONS!!! You are amazing!)
Hey, what dev tech are you playing with today ?
Tags: technology, research, learn, development
Published: 2020-05-20 23:53:33

---
title: Hey, what dev tech are you playing with today ?
published: true
description: Hey, what dev tech are you playing with today ?
tags: technology, research, learn, development
---

I am trying to understand client side router and its limits.
Who's learning Next js ?

What are you working on ?
Dynamic Exit Signs
Tags: octograd2020
Published: 2020-05-20 23:46:54

## My Final Project
Exits signs are important in any emergency but lack the ability to inform evacuees of compromised routes and exits. We rectify the problem by introducing dynamic exit signs, an exit sign that can have its displayed direction controlled. Through simulation, we demonstrate that dynamic exit signs can be used to reduce evacuation time up to 57%.

## Demo Link
https://www.youtube.com/watch?v=J3iIdESYuII&t=4s

## Link to Code
{% github Justin-Ngo/CS-6370-Motion-Planning no-readme %}

## How I built it
This was made in Python using Tkinter for graphics. The main driving principle is a navigational field with particle physics for interactions. 


## Additional Thoughts / Feelings / Stories
Using python was super slow. Looking back, we could have tried using pygames but ultimately another language like C++ would have been better.
Live Green Focused
Tags: octograd2020
Published: 2020-05-20 23:37:45

The focus of this project is all about encouraging society to be more conscious of our impacts on the environment!

It is a web app that explains how our society is having negative impacts through the use of plastic, wasteful water, wasteful electric, and the use of fossil fuels. This app intends to create positive changes by showing the ways in which we harm the environment, but then offers solutions on how we can fix them.

A key aspect of this web app coming soon are bundles that will be sold full of reusable products. Customers will have the ability to buy a bundle and receive reusable bags, silverware, produce bags, and other useful reusable products. Bundles will be bought and any profit made off of them will be given to a charity of the customers choosing (similar to and inspired by Humble Bundle).

The project was thought of as a solution to a requirement for a Leadership Certificate. The requirement asked for a hypothetical project that could create a positive change. The project was started about a month ago and there is still lots of work left to be done!


## Link to Website
http://livegreenfocused.com/
 

## How I built it (what's the stack? did I run into issues or discover something new along the way?)

HTML, CSS (Bootstrap), JavaScript (Plain vanilla js..), Firebase, AWS
First time doing any major front-end development from scratch which may be obvious to see (haha). I really enjoy the front-end development but still have a lot to learn. LinkedIn Learning has been a great resource for getting a solid understanding of all these technologies.

## Additional Thoughts / Feelings / Stories
Deploying a website to the web really made me feel a lot of pride. The website may not be the easiest thing to look at right now, however being able to deploy my attempts at a positive change to anyone in the world feels incredibly awesome. Developers have so much power as individuals and it's important to try and do great things with that power!

Congrats grads of 2020!
Amazon Alexa Powered Automatic Fish Feeder
Tags: octograd2020
Published: 2020-05-20 23:32:33

## My Final Project
Now let Alexa feed your fish, from anywhere in the world. This project is designed so that you can feed your pet from anywhere.

## Demo Link
https://www.youtube.com/watch?v=vSwGDroXnKM

## Link to Code
https://github.com/madhurgupta10/Automatic-Fish-Feeder

## How I built it
https://www.hackster.io/madhurgupta10/amazon-alexa-powered-automatic-fish-feeder-6046f0
Introducing Gryphon, the Swift to Kotlin translator
Published: 2020-05-20 23:28:17

Hi community!

I’ve just published the first full version of a program I’ve been working on for over three years now.

It’s called Gryphon, and it translates Swift code into Kotlin code.

![Examples of code translated by Gryphon](https://vinivendra.github.io/Gryphon/assets/images/gifWindow.gif)

If you're interested, [watch the video](https://twitter.com/gryphonblog/status/1263233844519620610) and [check out the website](https://vinivendra.github.io/Gryphon/).

This is the first version where all features are working:

- The generated Kotlin code works the same as the Swift code it came from, no edits needed. There’s an automated test that makes Gryphon translate its own source code, with around 12k lines, and ensures the translation passes all the same tests as the original executable.
- There’s a templates system that’s used to automatically translate many standard library types and methods.
- Xcode integration, with Xcode showing any warnings or errors raised by the Kotlin compiler next to the Swift lines that originated them, so users can fix them at the source.
- The output code is readable, which is useful for minimizing the risks for new users. If Gryphon isn’t the right fit for them, they’re left with a Kotlin codebase they can keep maintaining.

This list of features isn’t to say [there aren’t any bugs](https://github.com/vinivendra/Gryphon/issues), of course - I’m doing my best to keep track of them and fix them on a daily basis. Any questions, comments, or feedback in general is welcome - either here or [on Twitter](https://twitter.com/gryphonblog).
2020 - Project Showcase: 3D Rubik's Cube 
Tags: octograd2020
Published: 2020-05-20 23:28:16


## My Final Project - 3D Rubik's Cube (C with OpenGL)

This was not my final project during my undergrad, but I think it is a good project to showcase :D. However, this project *was the final project* for my Computer Graphics class during my CS undergrad. Majority of the source code was written by me. The rest was provided by my professor (see GitHub repo). 

This project combined most of the topics we learned during the course:
+ Linear Algebra - vector and matrix functions for generating and manipulating shapes in OpenGL space. 
+ Generating and loading geometry
+ Animation (tied to FPS :/ because of time constraints)
+ User input 
+ Arcball rotation with the mouse
+ Perspective projection 
+ Surface normals
+ Phong's lighting model / some minor shader programming.


Honorable (project) mentions: 
 + C-minus compiler which targeted MIPs assembly code. The compiler was written completely from scratch in C. (Intro to Complier Design)
 + Tanks Game - I took a game development class the fall semester of my Senior year. We had one semester to develop a game from the ground up in C++ with SDL2. Our team developed a game called 'Tanks' that was heavily inspired by the Wii Tanks game. Our main features were procedural level generation, basic AI, and 1v1 multiplayer. Our game was feature complete by the end of the semester. I worked on the multiplayer code, server-client wrapper-library, and the game loop for deterministic updates and variable rendering. 

## [Demo Video](https://www.youtube.com/watch?v=98dx05yLDUw)
- It's written in C, so no live demo ;(
- Code available to compile on Mac or Linux :D (Requires necessary OpenGL library dependencies)

## Link to Code
{% github https://github.com/Jakob-Strobl/Rubiks-Cube %}

## How I built it 
The project is written in C and uses OpenGL. The OpenGL code is far from being advanced. Our course focused on computer graphics theory and we **used OpenGL as a tool** to display the code we wrote. Example: I had to write my own linear algebra vector and matrix functions for generating and manipulating vectors in OpenGL canonical space. 

## Additional Thoughts / Feelings / Stories
I love computer graphics, so I thought I should shared a project from that field. My favorite CS topics to date are computer graphics, high performance computing (parallel programming), computer networking, and compilers. 

[Final Note]: This project was started and completed during the end of the 2019 fall semester. Looking back, there is a good amount of code I question. *Why did I write it that way?*... *What was I thinking??* In the end, I am proud of completing the project within the allotted time. If I look back at code only a few months old and feel embarrassed, that means I'm only getting better. If you are ever embarrassed by your own code, remember this... **you completed the task at hand with the *knowledge you had at the time*.**  :)
Realtime Flight Tracking With Google Sheets
Published: 2020-05-20 23:16:03

Project here: https://github.com/Deep903/Airline-Tracking-Google-Sheet
Direct Link To Sheets: https://docs.google.com/spreadsheets/d/1uz52-H_fQ_GKz-9JCDH_gr089R18p7Vhdzx3JcWNooQ/edit#gid=0

So this is a basic thing that pretty much anyone with coding experience can do. 
Basically sheets has a "IMPORTXML()" formula that you can use to your advantage. importxml takes css data off webpages. The flightstatus has very predictable url's that actually contain a flights information.


In short, given a flights information, you can create the flightstatus.com url and pull correct data in realtime. This is great for tracking the flights of many people at once!




*NOTE: The month, date, year, and flight (all in blue) need to be updated for the sheet to work properly. Just make a copy of the excel sheet and have fun!
Easy Makefile self-documentation
Tags: makefile, tips
Published: 2020-05-20 23:14:35

---
title: Easy Makefile self-documentation
published: true
description: How to use Makefile comments as help text
tags: makefile, tips
---

Here's an easy way to generate makefile help command from its comments that I saw some time ago somewhere.

```
.DEFAULT_GOAL := help

help:
	@grep -E '^[a-zA-Z0-9_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-15s\033[0m %s\n", $$1, $$2}'

command1: command2 ## Alias of command2
	echo 'Done!'

command2: ## run command2
	echo 'Running command2'

command3: # Unlisted command
	@echo "I'm private"
```

## Explanation

1. `.DEFAULT_GOAL` will run provided make command if none is specified, so by doing `make` it will execute `make help`
2. `@grep -E '^[a-zA-Z0-9_-]+:.*?## .*$$' $(MAKEFILE_LIST)`:
  - `@` will suppress output because by default make will print out the command it's executing
  - `grep ...` will look for lines that have commands with comments separated by `##`
  - `'^[a-zA-Z0-9_-]+:.*?## .*$$'` means search from start of line, any alphanumeric, `_` and `-` command names followed by `:` and any character until `##` to end of line (since `$` has special meaning in make, we have to escape it so end of line becomes `$$`)
  - [`MAKEFILE_LIST`](https://ftp.gnu.org/old-gnu/Manuals/make-3.80/html_node/make_17.html) is make variable that refers to the makefile name in this case
3. `sort` to get alphabetically sorted output
4. `awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-15s\033[0m %s\n", $$1, $$2}'`:
  - pipe the lines through `awk` and set the [`FS`](https://www.gnu.org/software/gawk/manual/html_node/Field-Separators.html) field separator to be whatever between the command and help text (modify `##` if you want different separator)
  - for each match print with [color](https://en.wikipedia.org/wiki/ANSI_escape_code#Colors): `\033[36m%-15s\033[0m %s\n` so we will get command, [padded](https://www.gnu.org/software/gawk/manual/html_node/Format-Modifiers.html) with 15 spaces, followed by the help text
  - again since we're inside make escape `$1` & `$2` for column number with `$$1` & `$$2`
5. For commands you don't want to be listed as `help` output, simply don't comment or use single `#` like `command3` example


## Output

```sh
$ make
command1        Alias of command2
command2        run command2
```
Would JavaScript Test Scaffolding Be Useful?
Tags: testing, javascript
Published: 2020-05-20 23:08:38

I've been writing code for over a decade, but I was born yesterday when it comes to many of the concepts in modern software development - one of those being testing and test coverage in JS. 

A few months ago I forked a JS project on GitHub that I wanted to build on. It didn't have any tests in the repo, and after listening to a few podcast episodes, I started learning how to write tests.

I used [mocha](https://mochajs.org/) and [istanbul/nyc](https://istanbul.js.org/docs/tutorials/mocha/) to run the tests. After lots of search engine use and some hours of head-to-keyboard, I got things working to my satisfaction - It's not a big project at all, but my code coverage is in the 80% neighborhood, which I'm happy with! 

The experience made me wonder though, would it be useful to have a tool that scaffolds test files for your JS? I ask because 
1. I was born yesterday when it comes to this and 
2. because in my particular case it was useful because I was building off of a library that didn't have it.

My first takes on a tool for this is called [keurig](https://npmjs.com/package/@mtfoley/keurig) (inspired sort of by mocha), and it's meant to be installed globally in NPM and used as a CLI. Right now it's using [babel](https://babeljs.io/) to just scaffold a test JS for any class definition it finds, but the feedback I've gotten so far is that classes are a tiny subset of what people would actually build tests for. I'm trying to sample different JS authoring patterns and see what kinds of things I can scaffold for.

**Meanwhile, would you find something like this useful?**
_I should probably point out - something like this might already exist, but I actually haven't gone looking for it._
Analyzing Popularity on StackOverflow
Tags: octograd2020, githubsdp
Published: 2020-05-20 23:02:21

[Comment]: # (All of this is placeholder text. Use this format or any other format of your choosing to best describe your project and experience.)

[Note]: # (If you used the GitHub Student Developer Pack on your project, add the "#githubsdp" tag above. We’d also love to know which services you used and how you used it!)

## My Final Project

Part of the project studies the popularity of three of the most used programming languages for Machine Learning (ML) and Big Data (BD) projects, namely Python, R and Scala on Stack Overflow. The aims of this project can be formulated by the following research questions: What is the popularity of each programming language with respect to a certain topic and what is the distribution of popularity across countries?

## Demo Link

http://akul.me/mbd-stackoverflow/

## Link to Code

{% github https://github.com/akul08/mbd-stackoverflow %}

[Note]: # (Our markdown editor supports pretty embeds. If you're sharing a GitHub repo, try this syntax: `{% github link_to_your_repo %}`)

## How I built it

_Toolkit_: HTML, CSS, jQuery, D3.js, PySpark (Python) for Big Data
_Deployment_: Github

The interactive map which we created to show popularity distribution over countries is provided via the link above. 

In Machine Learning, Python has the highest popularity compared to R and Scala. The top three countries are India, United States of America and France with total number of questions equal to 196, 102 and 39 respectively. 

In Big Data, Sweden comes in the first position amongst countries using Scala, followed by United States of America. While, Python found to be more popular in India than R and Scala.

## Additional Thoughts / Feelings / Stories

This was the first project to work with Big Data and we learnt a lot on how to process and finally got the visualization done as part of our subject. Looking forward to using these skills in future projects and keep learning.

[Final Note]: # (CONGRATULATIONS!!! You are amazing!)
Beer Vision (Front end)
Tags: octograd2020
Published: 2020-05-20 22:54:49

# Senior Project Spring 2019 and Fall 2020
As part of my graduation requirements, I am required to work on a project with other graduating students on projects provided by various companies. For this project I worked with [Constellation Brands](https://www.cbrands.com/) to build an application to consolidate some of their internal tools as a proof of concept. Due to the NDA some of the following information will be intentionally vague.

A fellow teammate has also written a post [here](https://dev.to/wylaris/beer-vision-469j), which focuses on the back end of the tool. For this post I will be focusing on the front end.

## Requirements
- Works on iOS
- Integrate with internal APIs
- Utilize camera
- Utilize GPS location data

## Technologies
The original goal of this application was essentially a survey which Constellation Brands hoped to use on iOS devices. Unfortunately only one team member had any Apple products, thus we could not develop using Swift. After some research we found that React Native would allow us to accomplish all of the features we needed and would allow us to develop for iOS and Android at the same time. With my prior experience in front end development, we chose to purse this option. By doing this, we allowed ourselves to easily move between different API endpoints. This was a bonus for our team because we changed technologies during the project, and it allowed our customer, Constellation Brands, to easily move it to their existing infrastructure.

## Reflection and Learnings
This project felt like a success from a developer position, we documented our findings and the things Constellation Brands would need to do to use the application themselves. We also learned that the iOS default react styles are drastically different. Being that I use Android as did most of the team, most of the style decisions were based on how the app looked on Android. Our progress was not impeded by COVID-19 however we did find it to be slightly more difficult to keep each other up to date.
A website for my school
Tags: octograd2020, githubsdp, devgrad2020
Published: 2020-05-20 22:46:06

## My Final Project
My biggest project as a students that I completely made the website for the computer sciences section of my school. I used Working Copy from the GitHub Student Pack to work on my iPad and, after two months of work, he's ready to publish! I really enjoyed making it to let the others discover what they can do if they choose this option. 
I am proud of this website and I'm ready to make others to get my school a better online identity.

## Demo Link
 [school.mathieufrancois.dev](school.mathieufrancois.dev)

## Link to Code
{% github mathieufrncs/schoolWebsite %}


## How I built it
I build it during my study free time. 
From the beginning, it was important to have the lates features like a responsive design or the new iOS dark mode. The most difficult part was to make the website fast but pretty looking.

## Another project is coming...
I started a year ago an app called Citiescover, but took a break to finish school. I really want to finish this app and I'll do it! 
This app is designed to let people write stories about their cities or cities that they've visited and let other people discover the most beautiful places in the world.
gRPC-cache
Tags: go, opensource, grpc
Published: 2020-05-20 22:44:49

---
title: gRPC-cache
published: true
description: In memory Key/Value store in go using gRPC.
tags: Golang, open source, gRPC
---

Check out this [open source](https://github.com/knrt10/gRPC-cache) project for more information.
Pong - the arduino project
Tags: pong, arduino, microcontroller, project
Published: 2020-05-20 22:41:36

This post is about a simple project of mine - a two player Pong console built with Arduino Nano 3.0 microcontroller.

This was my first project involving microcontrollers and assembling circuit boards. Working with Arduino was very straightforward, programming it was a lot of fun, especially that the limitations of the display and the microcontroller had to be considered during writing the program.

Some photos of the finished project on the breadboard:
![Title screen](https://dev-to-uploads.s3.amazonaws.com/i/yi4zhm4twqbhwulupeut.png)
![Game](https://dev-to-uploads.s3.amazonaws.com/i/u1h98p9ygj4fia1bltpx.png)

The source code of the Arduino program is available on my [Github](https://github.com/Sceptero/arduino-pong).

The schematic of the board:
![Schematic](https://dev-to-uploads.s3.amazonaws.com/i/n13tnt0kuht1q3se9psn.png)
My Bachelor's Degree project
Tags: octograd2020
Published: 2020-05-20 22:06:47

## My Final Project
I built an Internet of Things based noise loudness analyser that visualised the perceived volume of sounds on a web page.

## Demo Link
https://individual-project-265621.firebaseapp.com/spectrogram 

## Link to Code
{% github https://github.com/blueish4/IndividualProject-device %}
{% github https://github.com/blueish4/ip-dashboard %}
{% github https://github.com/blueish4/IndividualProject-functions %}

## How I built it 
It uses an Arduino base built with Platform.io that runs on an ESP32. This device calculates and weights the frequency bands appropriately. It gets stored in Google Cloud using serverless functions (running node.js) and Firestore.
The final view is provided through a simple Vue.js webapp that graphs out the most recent records on a spectrograph. Data is retrieved using another serverless function, and is hosted as flat files on Firebase.

## Additional Thoughts / Feelings / Stories
Working with hardware is fun, but it did take a week of troubleshooting in the engineering lab to debug the weighting algorithm properly.