Skip to content
View Gabulhas's full-sized avatar

Block or report Gabulhas

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Please don't include any personal information such as legal names or email addresses. Maximum 100 characters, markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
Gabulhas/README.md

Cliché "About Me" thing

I'm a MSc Computer Science student from the University of Beira Interior, Portugal, with a keen interest in Blockchain, Distributed Systems, and Functional Programming.

Recently interned at Nethermind, diving deep into Blockchain Consensus Protocols and Layer 2s.

🎓 Education

  • BSc and MSc in Computer Science from the University of Beira Interior

💼 Work Experience

  • Intern, Nethermind (June 2023 - August 2023)
    • Teams: Starknet.go
  • Junior Researcher, Release Lab, University of Beira Interior (Sep 2022 - Present)
    • Master’s Thesis Research with a focus on Blockchain Consensus Algorithms
  • Freelancer Software Developer (Oct 2019 - Present)
    • Delivered various software solutions including management tools, bots, and database management

🛠️ Languages (not in any particular order)

Go, OCaml, Rust, Elixir, Solidity, Python, C, Java, JavaScript, Bash, SQL, HTML, CSS, X86_64 ASM, and much more (Why get do we care about specific languages when the real skill is in the art of programming itself?)

📦 Relevant Repos

  • Thesis: My written thesis on ways and tools to live test Blockchain Consensus Protocol.

  • Tezos PoW, PoA and Live Testing Tool: Implementation of the Proof of Work and Proof of Authority Blockchain Consensus protocols, alongside a Protocol Bootstrapper and Live Tester for Tezos Blockchain Node - a significant part of my Master Degree Research.

  • Arrow Distributed Directory Protocol: A robust implementation of the Arrow Distributed Directory Protocol enabling Queued Mutually Exclusive Access to shared objects in a Graph network. Also includes a live visualization of the network. Explore the original article for a deeper understanding.

  • Garbage Lisp: Discover the power of Lisp with Garbage Lisp, a Turing complete Lisp Implementation crafted in Go.

  • Pascal Compiler: Traverse the journey from Pascal to X86 with this compiler, coded in OCaml.

  • Advent of Code solutions: Solutions for the Advent of Code in programming languages selected at random.

  • Key Value Database: Your typical Key Value Database that writes to disk. Built in C with BTrees.

  • CFL: Golang Concurrent and Functional Library. Implementation of your typical Functional stuff with a touch of concurrency!

📚 Projects

  • Research on Blockchain Consensus Algorithms (Master's Thesis, 2023)
    • Implementation of a new protocol/consensus algorithm for the Tezos Blockchain.
    • Implementaiton of tools to develop and test consensus protocols in real scenarios.
  • Pascal Compiler (2022)
    • Developed a Pascal Compiler generating x86_64 assembly code
  • Research on Distributed Algorithms (Bachelor's Thesis, 2021)
    • Implementation and visualization of the Arrow Distributed Directory Protocol in Go

🌐 Find me on

🏆 Achievements

  • Solana Breakpoint Conference 2023: Received Student Fellowship Ticket Again!
  • SWERC 2023: South Eastern Europe Programming Competition
  • Solana Breakpoint Conference 2022: Received Student Fellowship Ticket
  • MIUP 2022: National Programming Competition

🎣 Hobbies

  • Fishing, Beekeeping, Farming, Cycling, solving the Rubik's cube, and Drinking. Basically touching grass.

Pinned Loading

  1. Arrow-Distributed-Directory-Protocol Arrow-Distributed-Directory-Protocol Public

    Distrbuted Queue and Graph Algorithm. Arrow Distributed Directory Protocol implementation in Go.

    Go 2

  2. Garbage-Lisp Garbage-Lisp Public

    A Lisp interpreter that is garbage.

    Go 3

  3. Protocol-Live-Testing-Tool Protocol-Live-Testing-Tool Public

    Live Protocol Tester built for Tezos. Also includes Proof of Work and Proof of Authority.

    OCaml

  4. KVDatabase KVDatabase Public

    My Implementation of a Key-Value Disk-Database using B-Trees

    C