Curriculum Vitæ
Também disponível em português.
Jump to: Education • Professional experience • Free software projects • Publications
Education
- 2012-2017 - Doctorate in Computer Science
Pontifícia Universidade Católica do Rio de Janeiro (PUC-Rio), Rio de Janeiro, Brazil
Thesis: Dataflow Semantics for End-User Programmable Applications
Advisor: Roberto Ierusalimschy
Funded by the National Council for Scientific and Technological Development - 2004-2006 - Master’s Degree in Computer Science
Pontifícia Universidade Católica do Rio de Janeiro (PUC-Rio), Rio de Janeiro, Brazil
Dissertation: “Estudo sobre APIs de linguagens de script” (”A study on scripting language APIs“)
Advisor: Roberto Ierusalimschy
Partly funded by the National Council for Scientific and Technological Development - 1997-2002 - Bachelor’s Degree in Computer Science
Universidade do Vale do Rio dos Sinos (UNISINOS), São Leopoldo, Brazil
“Exploração de reflexão computacional através de um modelo de objetos sem classes”
Advisor: Ana Paula Lüdtke Ferreira
Professional experience
- 2017-current - Kong Inc.
Porto Alegre, RS, Brazil
◦ 2024 - Development of a dataflow engine in Rust; WasmX team
◦ 2023 - Product Manager for WebAssembly integration in Kong Gateway
◦ 2022-current - Development in C, Rust, Go; WasmX team
◦ 2020 - Product Manager for the open source Kong Gateway
◦ 2019 - Development in Lua and Go. Technical leader of the Core Team for the Kong open source project
◦ 2017-2018 - Development in Lua. Core Team for the Kong open source project
Kong - open-source API gateway. - 2017-present - HHM Consultoria em Software Livre
Campinas, SP, Brazil / Porto Alegre, RS, Brazil
Sole-proprietor business
◦ Consulting and development services for Kong Inc. - 2012-2017 - LabLua, PUC-Rio
Rio de Janeiro, RJ, Brazil
Scholarship; Researcher
Development in Lua and C, working on projects in cooperation with various PUC-Rio laboratories:
◦ LAC - Laboratory for Advanced Collaboration - ported a communications protocol implementing a reliable transport layer on top of UDP from Java to Lua, including a coroutine scheduler emulating Java threading construct semantics, and a pure-Lua implementation of Java’s native object serialization protocol.
◦ GIGA - Grupo de Inovação e Gestão Ambiental - a project of a scripting layer for an embedded system based on an RTOS to be used in the transportation industry, including both coroutine-based and promises-based non-blocking APIs.
◦ Instituto Tecgraf - reimplemented a C-based monitoring daemon into pure-Lua and replaced the CORBA communication layer between the daemon and a Java server with a RESTful API, embedding an HTTP server in the Java server and writing a compatibility bridge with its internal legacy APIs.
http://www.lua.inf.puc-rio.br - 2008-2012 - Iplenix Serviços de Internet Ltda.
Porto Alegre, RS, Brazil
Development in Lua, C and Java, Linux environments:
http://www.iplenix.com - 2007-2012 - Symlink Pesquisa e Desenvolvimento de Software Ltda.
Porto Alegre, RS, Brazil
Co-founder
Development in Lua, C and Java, Linux environments
http://www.symlink.com.br - 2007-2009 - Kepler Project
Rio de Janeiro, RJ, Brazil
Scholarship; Contractor
Development in Lua, Linux and Windows environments, LuaRocks project
http://www.keplerproject.org - 2005 - IBM Almaden Research Center
San Jose, California, USA
Internship at the User Group, full time
Development in C, Linux environment, BlueTux project
http://almaden.ibm.com - 2003 - Universidade do Vale do Rio do Sinos
São Leopoldo, RS, Brazil
Graduate scholarship, full time
Development in Java, Simmcast project
http://www.simmcast.org - 2000-2002 - Universidade do Vale do Rio do Sinos
São Leopoldo, RS, Brazil
Undergraduate scholarship
Development in Java, Simmcast project
http://www.simmcast.org - 1999 - Cordoaria São Leopoldo
São Leopoldo, RS, Brazil
Internship
Development in VDF, Windows environment
http://www.cslropes.com.br
Free software projects
- htop - An interactive process viewer for Linux
Main author, maintainer from 2004 to 2020
https://htop.dev - Teal - A statically-typed dialect of Lua
Main author, maintainer since 2019
https://www.teal-language.org - Userland - Proof-of-concept for an integrated dataflow environment (demo video)
Author, 2019
http://www.userland.org - LuaRocks - Package management tool for the Lua programming language
Main developer since 2006
https://www.luarocks.org - dit - A console-based text editor for Unix
Main author, developed since 2006
http://hisham.hm/dit - GoboLinux - The alternative Linux distribution
Linux distribution based in an alternative directory structure
Project co-founder, developed since 2003
http://www.gobolinux.org - Simmcast - an object-oriented framework for network simulation
Main developer from 2001 to 2003
http://www.simmcast.org - More projects and contributions at github.com/hishamhm
Published work
Conference papers
MUHAMMAD, H., VILLA REAL, L. C., HOMER, M. “Taxonomy of Package Management in Programming Languages and Operating Systems“. In: 10th Workshop on Programming Languages and Operating Systems, PLOS 2019, part of SOSP 2019, Huntsville, ON, Canada.
SANT’ANNA, F., MUHAMMAD, H., HINES, J. “Reactive Traversal of Recursive Data Types“. In: Workshop on Reactive and Event-based Languages & Systems, REBLS ‘15, part of SPLASH 2015, Pittsburgh, USA.
RIBEIRO, F., MUHAMMAD, H., MAIDL, A. M., IERUSALIMSCHY, R. “Preserving Lexical Scoping When Dynamically Embedding Languages“. In:19th Brazilian Symposium on Programming Languages, SBLP 2015, Belo Horizonte, Brazil.
MUHAMMAD, H. H., MASCARENHAS, F., IERUSALIMSCHY, R. “LuaRocks - A Declarative and Extensible Package Management System for Lua“. Lecture Notes in Computer Science In:17th Brazililan Symposium on Programming Languages, SBLP 2013. Lecture Notes in Computer Science. 1ed.: Springer Berlin Heidelberg, 2013, v. 8129, p. 16-30
HOMER, M., MUHAMMAD, H. H., KARLSSON, J. “An Updated Directory Structure For Unix” In: LCA 2010, 2010, Wellington, New Zealand.
BARCELLOS, A. M. P., FACCHINI, G., MUHAMMAD, H. H., BEDIN, G. B., LUFT, P. “Bridging the gap between simulation and experimental evaluation in computer networks” In: 39th Annual Simulation Symposium, 2005, Huntsville. Proceedings - Piscataway: IEEE, 2005. v.1. p.1–20
BARCELLOS, A. M. P., MUHAMMAD, H. H., OLIVEIRA, L. F. C., FACCHINI, G. “Projeto do Framework de Simulação Simmcast: uma arquitetura em camadas com ênfase na extensibilidade” In: XXII Simpósio Brasileiro de Redes de Computadores - SBRC2004 (Salão de Ferramentas), 2004, Gramado. Anais do XXII Simpósio Brasileiro de Redes de Computadores - SBRC2004. Porto Alegre: SBC, 2004. v.2. p.951 - 958
MUHAMMAD, H. H., BEDIN, G. B., FACCHINI, G., BARCELLOS, A. M. P. “Quebrando a Barreira entre Simulação e Experimentação Prática em Redes de Computadores” In: Simpósio Brasileiro de Redes de Computadores, 2004, Gramado. XXII Simpósio Brasileiro de Redes de Computadores. Porto Alegre: SBC, 2004. v.1. p.87 - 100
MUHAMMAD, H. H., FERREIRA, A. P. L. “Object Specialization through Behavioral Reflection and Crosscutting Annotation” In: Workshop on Reflectively Extensible Programming Languages and Systems, 2003, Erfurt, Germany.
MUHAMMAD, H. H., BARCELLOS, A. M. P. “Protocol Simulation With The Simmcast Framework” In: Salão de Ferramentas, XXI Simpósio Brasileiro de Redes de Computadores. SBRC 2003, Natal.
MUHAMMAD, H. H., BARCELLOS, A. M. P., CASAIS, R. “Simulação de Roteamento na Avaliação de Protocolos Multicast e Sistemas Distribuídos em Grupo” In: I Workshop em Desempenho de Sistemas Computacionais e de Comunicação (WPerformance 2002), 2002, Florianópolis.
MUHAMMAD, H. H., BARCELLOS, A. M. P. “Simulating Group Communication Protocols Through An Object-Oriented Framework” In: 35th Annual Simulation Symposium, 2002, San Diego, USA.
BARCELLOS, A. M. P., DETSCH, A. BEDIN, G. B., MUHAMMAD, H. H. “Efficient TCP-like Multicast Support for Group Communication Systems” In: IX Brazilian Symposium on Fault-Tolerant Computing (SCTF), 2001, Florianópolis.
BARCELLOS, A. M. P., MUHAMMAD, H. H., DETSCH, A. “Simmcast: a Simulation Tool for Multicast Protocol Evaluation” In: XIX Brazilian Symposium on Computer Networks (SBRC 2001), 2001, Florianópolis.
Conference abstracts, presentations and short papers
MUHAMMAD, H. “Userland: creating an integrated dataflow environment for end-users“, in Live Programming Workshop, LIVE 2019, part of SPLASH 2019, Athens, Greece.
MUHAMMAD, H. H., DETSCH, A. “AbsTK: uma biblioteca para desenvolvimento unificado de aplicações em modo texto e gráfico” In: V Workshop Software Livre, 2004, Porto Alegre.
PERANCONI, D. S., MUHAMMAD, H. H., BARCELLOS, A. M. P. “Modelo de arquitetura para simulação de redes móveis sem fio ad hoc no Simmcast” In: I Escola Regional de Redes de Computadores (ERRC 2003), 2003, Porto Alegre.
MUHAMMAD, H. H., JEFFMAN, R. G. “Portabilidade e flexibilidade em software livre: a experiência do GoboLinux” In: IV Workshop Software Livre, 2003, Porto Alegre.
MUHAMMAD, H. H., DETSCH, A. “Uma nova proposta para a árvore de diretórios UNIX” [In English: “An alternative for the UNIX directory structure“] In: III Workshop Software Livre, 2002, Porto Alegre.
BEDIN, G. B., MUHAMMAD, H. H., DETSCH, André, BARCELLOS, A. M. P. “Generalized Models of Network Architectures for Online Games” In: I Workshop em Jogos (WJogos 2002), 2002, Fortaleza.
MUHAMMAD, H. H. “Simmcast - uma ferramenta de simulação para avaliação de protocolos multicast” In: XIII Salão de Iniciação Científica UFRGS, 2001, Porto Alegre.
MUHAMMAD, H. H. “Análise e Comparação de Protocolos de Multicast Confiável Baseados em Mecanismo de Polling” In: XII Salão de Iniciação Científica UFRGS, 2000, Porto Alegre.
Journal papers
BARCELLOS, M. P. ; ANTUNES, R. S. ; MUHAMMAD, H. H. ; MUNARETTI, R. S. “Beyond Network Simulators: fostering novel distributed applications and protocols through extendible design“. Journal of Network and Computer Applications, v. 1, p. 1-27, 2011. doi
MUHAMMAD, H. H., IERUSALIMSCHY, R. “C APIs in Extension and Extensible Languages“. Journal of Universal Computer Science, v.13, issue 6, p.839, 2007. doi
MUHAMMAD, H. H., FERREIRA, A. P. L. “Exploração de reflexão computacional através de um modelo de objetos sem classes“. Revista Eletrônica de Iniciação Científica, v.3, p.1, 2003.
MUHAMMAD, H. H., BARCELLOS, A. M. P. “Simmcast: uma ferramenta de simulação para avaliação de protocolos multicast“. REIC. Revista Eletrônica de Iniciação Científica. , v.1, 2001.
Follow
🐘 Mastodon ▪ RSS (English), RSS (português), RSS (todos / all)
Last 10 entries
- Frustrating Software
- What every programmer should know about what every programmer should know
- A degradação da web em tempos de IA não é acidental
- There are two very different things called "package managers"
- Last day at Kong
- A Special Hand
- How to change the nmtui background color
- Receita de Best Pancakes
- That time I almost added Tetris to htop
- Receita de Orange Chicken