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

angularphp icon angularphp

A flexible and powerful PHP framework that is optimized for serving as a backend for AngularJS sites.

clui-live icon clui-live

Simply update text on the terminal, even after subsequent output is written

clui-logger icon clui-logger

Easy to use logger for both small and serious apps that writes both to the terminal and to files

composable icon composable

Easily compose complex and reusable ffmpeg filters using JavaScript functions and generate the command string on the fly

cronus-lang icon cronus-lang

Experimental byte-code based semi-pure functional scripting language

data-async-iterator icon data-async-iterator

Batteries-included utility functions to work with async iterables as available in ES2018/TypeScript

data-cache icon data-cache

Incredibly simple and extensible in-memory sync/async cache with optional persistence and eviction

data-collectors icon data-collectors

A collection of composable reduction operations for arbitrary streams of values

data-either icon data-either

Simple TypeScript/ES2017 class to represent either values

data-future icon data-future

Simple TypeScript/ES2015 class to allow to create a promise and to be resolved/rejected later

data-optional icon data-optional

Simple Java8-inspired monadic class to represent optional values.

data-pieces icon data-pieces

Three efficient data structures to save and traverse indexed chunks of information (like torrent blocks or HLS segments)

data-semaphore icon data-semaphore

Lightweight TypeScript/ES2017 class to simulate an asynchonous semaphore, with several utility functions

data-transactional-log icon data-transactional-log

Safely and reliable serialize and write data to a file in transactions, and read them back again

data-unit icon data-unit

Simple TypeScript/ES2017 classes to represent unit values (like time/data size)

enclosure icon enclosure

Javascript IOC Container and module loading system

fget icon fget

Simple cli tool that allows to share files between multiple computers over LAN or the Internet

gallant-config icon gallant-config

Simple TypeScript/ES2017 class to load configuration files from a folder

gallant-di icon gallant-di

Straighforward Dependency Injection for Typescript/JavaScript applications

gallant-schema icon gallant-schema

Library to handle schema validation by re-using existing Typescript interface and type declarations

imgui icon imgui

Dear ImGui: Bloat-free Graphical User interface for C++ with minimal dependencies

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.