Posts

Labellr

Crowdsourced Data Labelling Platform for AI/ML Training Data

Build with Node.js, Express, MongoDB

GitHub Repo  |  Live Demo

Login credentials for Demo
User Type Email Password
Admin admin@admin.com admin
Client client1@client.com client1
Labeller john@john.com john

Introduction

Having just learnt the basics of building full-stack web applications, we were given one week to develop and deploy an app using the technologies we were taught. Namely, Node.js, Express, MongoDB in the backend, with EJS as the templating language for client views.

We were also given free rein on the type of application to build, as long as there were login capabilities and usage of a database.

Initially, I brainstormed several ideas which revolved around the common web app use cases like E-Commerce, Forums/Boards, Calendar/To-Do lists, etc. However, these use cases were pretty overused and would be trivial to replicate since there were many examples floating around.

Instead of thinking about the common types of web applications, I then decided to consider real business problems that I have encountered, and attempt an MVP that addresses a simplified version of the problem.

More …

Snake

Classic Snake game with an added AI Snake player

Build with JavaScript, HTML and CSS.

GitHub Repo  |  Try it out

The first project of SEI-23 involves us putting what we’ve learnt in the first 3 weeks of the course to use in a simple game.

Personally, I definitely lean towards programming work that requires more algorithmic thinking, breaking down bigger problems into logical chunks and building the solutions back up to create “magic”.

Shortlisted a few games: Snake, Tetris, Solitaire, Minesweeper, GuitarHero(ish), Flappybird

I would imagine Snake, Tetris and Minesweeper would require some kind of intense math behind the scenes so they were pretty attractive as project 1. Ultimately for nostalgia, I decided on Snake since I used to play that a lot on my first Nokia 3310, and I would actually want to play it now.

More …

Software Engineering Resources

Decided to list down some of the resources that I found useful for not just preparing for a bootcamp but also general learning materials to get myself in the right frame of mind for software engineering.

CS50x

Highly recommended. CS50x is online course from Harvard breaks down key concepts in computer science and takes you from basic programming to building a full fledged app (mobile/web/game) in 8 weeks/sections. Learning curve is steep if you do not have any background. But if you do have some basic programming background, it is a great refresher on fundamentals of programming, sorting algorithms and data structures. Special mention to CS50 IDE, their cloud-based IDE with built in automated checks for the accuracy of your coding assignments.

Code: The Hidden Language of Computer Hardware and Software

Slightly old but still highly relevant. Great read for both casuals, aspiring developers and advanced level programmers. Certain parts might get a bit dry (like a textbook) when the author starts explaining key concepts, but if you stick through it he literally describes how a computer works from simple switches and relays to “modern” day computers. Things like processor speed, memory, storage and code becomes immediately clear and intuitive.

freeCodeCamp

1,800 hours worth of coding practices with guides. Excellent for practicing the concepts and syntax for specific languages and helps condition your mind to think algorithmically. Good as accesory work after picking up the main concepts from class or other resources. Pick and choose the topics that you would need more help in.

Git

Recommended by one of my TAs. I have used git/github in my previous work but never really understood how it all works. Great resource for understanding the inner workings of Git.

How to ask Questions the Smart Way

Saw this floating around when I started at Grab. Ever since then, I realised that asking questions the right way is as important as asking the right questions. Works with non-technical questions too. Seems trivial, but definitely worth a skim to pick up the key ideas.

Coffee

To some weird groups of people, Coffee is a very serious topic. It definitely is to me. Coffee is that magical black water that gives me the strength, confidence and sanity to face my “friends” and co-workers.

I wouldn’t say that I am an serious coffee drinker - I certainly cannot tell between coffee beans from different regions. But I’ve had just enough coffee to know what I like.

In Singapore the typical coffee at your neighbourhood coffee shop (the one with aunties/uncles wearing a fanny pack for fuction, not the one where the staff wears it as a statement) made using robusta which is cheaper, taste more burnt, needs just a little bit of sugar (siu dai) to swallow. I do enjoy those for the kick, the familiar taste which makes you feel like you’re home.

Once I started arabica coffee from various hipster coffee shops I realised a whole new world of coffee, but slowly realised I was paying too much for it.

After researching various methods of homebrew coffee, I concluded that Areopress strikes the optimum balance between freshness, efficiency and cost.

Why Aeropress

There are many factors why people make coffee the way they do

  • Single Serving
  • less than 5mins
  • FRESH compared to 3/2 in 1 coffee
  • great beans do not need sugar
  • Easy set up, easy clean up
  • where i get my beans

Type of beans

Medium: Does Southeast Asia Run On Coffee?