Coder Social home page Coder Social logo

About Me

My name is Pedro Silva. I've started programming from a very young age, since I was 13 years old, on my own free time. I am 24 now, and I have a Bachelor's Degree in Computer Science and (am currently finishing) a Master's in Computer Engineering. I have lot's of experience with PHP, C#, JavaScript/TypeScript and Python. I've worked with AngularJS/Angular2, Vue, Laravel, ASP.NET Core and more. But more than what I already am familiar with, I'm always eager to know what I can learn more.

Work Showcase

I've worked on countless projects: at Blip during my internship there, at school and in college, and in my own free time. You can see some of them below.

Unicast

For the last five years, I've been developing, as a hobby alongside my brother, a web-based media center, inspired by the Kodi project, that is responsive (mobile friendly), can be remotely controlled on the smartphone, and player agnostic (extensible, with out-of-the-box support for streaming to Chromecast devices, to a MPV player and to a Kodi media center). As a result of this, I've also learned a lot about working with FFmpeg.

  • Tech Stack NodeJS backend written in TypeScript, backed by a RethinkDB database with an Angular 2+ frontend

Screenshot

See more screenshots here 📷, repositories available here (backend) and here (frontend) 📝

Assiduidade

When I was 18 years old, for my individual high school Professional Aptitude Project, I developed a web application to manage the logistics of tracking absentee teachers and finding replacements for their classes, which required managing teachers, students, courses, classrooms and class schedules.

  • Tech Stack PHP backend (custom made framework w/ Routing, DB, REST, DI, ACL and more), backed by a MySQL database with an Angular JS frontend

Screenshot

See a quick demo video here 🎬

MusiKLa - Music and Keyboard Language

For my Master's dissertation, I've designed and developed a Domain Specific Language for creating music algorithmically. It features variables, loops and other control structures, functions, modular files, declaring reactive virtual musical keyboards and much more. It can play the sounds live, save the music sheets or export as MIDI events, among others.

  • Tech Stack Python command line application, with a LALR grammar

Musikla Code Sample

See the repository here 📝

Async Iterators

I program in TypeScript a lot, and have extensive experience with it's async nature. One of the projects I've developed contains a fair bit of utility functions designed to work with the recent async iterators added to the ECMAScript specification. Many of the operators are fairly simple (such as map and filter) while others are fairly more complex (such as the flattenConcurrent operator, whose source code is available here 👈).

import { from, delay, map, flatMapConcurrent } from 'data-async-iterators';

// Create an asynchonous iterable stream
const source = delay( from( [ 1, 2, 3, 4 ] ), 1000 );

// A closure that takes a number and slowly returns the number and it's square
const mapper = number => delay( from( [ number, number * number ] ), 4000 );

// Run mapper concurrently only twice
const flatMapConcurrent( source, mapper, 2 );

// And finally consume the values (returns a promise notifying when the iterator ends)
forEach( source, res => console.log( res ) );

See the full repository here 📝

Pinned Repositories

For reading this far, here is a cute GIF of a cat and a dog as a thank you! ❤️

Kitten and Dog

Below 👇 you can also find a list of my pinned repositories, or you can also look at the complete repository list.

Pedro M. Silva's Projects

mymusic icon mymusic

A simple & free open source MP3 ID3 Tags editor. Really simple! Give it a try!

mzg_pack icon mzg_pack

Message Pack (de)serialization library for Zig

node-novel icon node-novel

A bunch of node tools to automate the workflow for writing and publishing books using markdown.

pytalk.js icon pytalk.js

Bidirectional communication between Node.js and Python

safe-file-write icon safe-file-write

Write to a file, making sure it's parent folders exist, and that if the write operation is cancelled mid-writing, it does not corrupt any possible file there previously.

smartbackup icon smartbackup

An easy-to-use backup application for Windows that allows you to backup your files without having to worry about it or having to spend time doing it.

stack-vm icon stack-vm

A simple stack virtual machine simulator

subbox icon subbox

Composable subtitle parsing and transformations (including encoding/decoding) written in TypeScript

trainmeter icon trainmeter

A simple application made in VB.NET that allows you to regist and compare your trainings.

turing-machine icon turing-machine

A simplistic simulation of turing machines written in TypeScript

unicast icon unicast

A node server that serves as a middleware for casting videos and other media to chromecast, and controlling the playthrough

unicast-cache icon unicast-cache

Cache node for a Unicast Media Server, enables temporary or permanent replication of media resources on a remote device.

unicast-mpv icon unicast-mpv

A simple module that exposes MPV to be controlled through a RPC WebSockets API, that can be used with the unicast server

yark icon yark

YouTube archiving made simple.

zig-header-gen icon zig-header-gen

Automatically generate headers/bindings for other languages from Zig code

zig-kdl icon zig-kdl

Library to parse [kdl](kdl.dev) configuration files in [Zig](ziglang.org/).

zig-lfu icon zig-lfu

LFU data structure experiment with constant time operations written in zig

zig-stack-vm icon zig-stack-vm

Very simple stack virtual machine implementation in Zig

zitt icon zitt

Experimental Zig chainable iterators library

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.