Skip to content

smallblue2/Hako

Repository files navigation

Note: This is a read-only mirror of the main repository hosted on Gitlab. All development, CI/CD, and issue tracking happens on Gitlab.

⚠️ No Longer in Development - This project was a final year College paired project.

Hako - A friendly box to learn development principles

Hako is a browser-based, Unix-inspired educational operating system designed to teach students fundamental systems programming concepts through a simplified execution environment.

Try it out: hakoapp.com
NOTE: This is a self hosted website, and although effort is put in to keep the website up, it is subject local network outages and alike.

About the Project

Hako is a fully client-side web application that blends the familiarity of traditional desktop interfaces with the structure and philosophy of Unix-like systems. It aims to reduce the abstraction commonly found in modern programming environments, helping learners understand how code interacts with the underlying system.

Features

  • Code Execution Environment: Embedded Lua interpreter for writing and running code.
  • Graphical Desktop Interface: A windowed desktop with a taskbar.
  • Core Applications:
    • Terminal & Shell: Lightweight shell with support for redirection and piping.
    • Core-Utils: Core-utils inspired by GNU, for a useful and educational CLI experience.
    • Text-Editor: Minimalist editor with syntax highlighting.
    • File Manager: GUI for browsing and managing the filesystem.
  • System APIs:
    • Filesystem operations
    • Process management
    • Window management
    • Terminal management
    • Error handling
  • Processes: UNIX-Inspired processes powered via webworkers.
  • Persistent File Storage: Built on the browser's IndexedDB.

Technologies

  • C
  • WebAssembly
  • Meson
  • Javascript + Typescript
  • Lua
  • Web Workers
  • IndexedDB
  • Emscripten
  • Go

Purpose

Hako is a teaching tool built around the principles of systems literacy. It offers a hands-on, minimalist environment that bridges the gap between beginner-friendly tools and full-fledged operating systems.

Contributors

  • Niall Ryan
  • Cathal O'Grady

About

A friendly box to learn development principles

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors