2023/01/28
https://terminaldweller.com
devi@terminaldweller.com
thabogre@gmail.com
Tehran, Iran
Zharfpouyan Tous (Tehran, Iran)
March 2021–June 2022
14 months
Developing/Maintaining code for a network device running on a unix-like
operating system(openssh,linux-pam,busybox).Mostly C and shell
scripts.
Erfan Salamat (Tehran, Iran)
Nov. 2020–Feb. 2021
4 months
Backened Developer. Developed a GIS and Notification microservice
using Golang. Containerized the entire required stack for the said
microservices with Docker.
Maharan International (Tehran, Iran)
Feb. 2019–Oct. 2020
19 months
Requirement manager, designer and developer for ERTMS/ETCS DMI for a
safety-ciritcal system written in C.
Truebit (Remote, 3 time-zones)
July 2017–Nov. 2017
5 months
developed Truebit’s WASM interpreter and smart contracts. Also
managed the CI for the repositories.
NEAT (Rome, Italy)
May 2016–July 2016
3 months
Wrote an automatic refactoring tool using Clang(Libtooling) in
C++. The tool would be the last piece of an automated
model-driven development process for safety-critical systems.
Crouse (Tehran, Iran)
July 2014–March 2016
21 months
Embedded software developer, Safety-critical applications:
Design, implementation and automation. The Software team’s ISO
26262 representative.
Safir Language Academy (Tehran, Iran)
August 2010–March 2012
20 months
English Teacher - Later on specifically IELTS teacher.
Programming Languages: C, Python, C++, Go
Other: Linux, docker
I maintain my own local kubernetes cluster with k3s on my raspberry pis
along with a bunch of VPSs that I run my services on(Docker, not
swarm)).
Persian: Native
English: Native-like
German: Beginner
2021–Now Master’s in Computer Science, Azad University, Science and
Research Branch, Tehran, Iran. Currently working on my thesis
2007–2013 Bachelor’s in Electrical Engineering, Iran University of Science
and Technology, Tehran, Iran.
Thesis: Determining the frequency of an audio signal using phase
derivation in real time, design and implementation using an
FPGA.
Backend Developer
Developed a GIS microservice based on the OSM stack. Containerized an
entire geoserver stack (geoserver, tile server, static image server, DB)
so that we could rely on our own stack. Developed a notification
microservice using golang and Mongodb(with Percona memory engine).
ERTMS / ETCS DMI Development
Split the DMI into two subsystems. Designed and implemented the
software for the component on the "kernel" side. Wrote a tool that
made the requirements’ traceability files by gathering special
comments from the C source files. Wrote a tool that determines all the
sub-fields of aggregate types used in the function and the functions
it calls(required for testing).
Embedded Safety-Critical Development
Wrote the SRS and the SDD for the DSP algorithm, then implemented
the DSP algorithm for a safety-critical hard real-time embedded
system.
Code Generation
Wrote A tool that generates binary file (WASM, ...) parsers in C.
Wrote another tool that generates the C code necessary to add a C structure to Lua as a Lua table.
Automation and Tooling
Developed a Misra-C:2004 rule checker(open-source project) using Clang’s Libtooling.
Developed a source code obfuscation tool(open-source project) using Clang’s Libtooling.
Developed an interactive CLI tool aimed at object code manipulation(open-source project) in C++/C with Lua as it’s scripting language. The tool also has Python embedded in it for rapid prototyping.
Automated the traceability matrix generation using libclang’s Python bindings.
Automated the regression testing for a project I was involved in.
Automated the calculation of the WCET for all implemented functions through the use of of a Python script and an XML description file.
Automatic Refactoring
Wrote an automatic refactoring tool using Clang’s Libtooling for C.
Defensive Programming / Safety-Aware Software Design
Studied/Implemented defensive programming practices, coding style and
guidelines. Explored the use of FMEA and FTA for the software
domain.
AUTOSAR
Studied AUTOSAR SWC and RTE.
ISO 26262
Studied the software section of the standard. I was also the
software group’s representative for the study/review meetings held
with the hardware and system teams on ISO 26262.
terminaldweller.com
My personal web page.
Github
My Github page.
hived
A tiny and fast crypto API server.
magni
Upscales the images in a webpage and serves them back locally.
cgrep
Grep for C-family source files.
devourer
A little helper API server. Extracts, summarizes and vocalizes articles on
the web.
mdrtl
A minimal RTL markdown editor.
blog
Source code for my blog.
Linkedin
My Linkedin page.