Pieter van Beek
Verified Expert in Engineering
Ruby on Rails Developer
Pieter has 39 years of programming experience, including time spent as a software product manager. He is a challenger, an independent worker, and a team player as circumstances demand, and he boasts expertise and skill in a range of topics, including big data, cryptography, and machine learning.
Asynchronous Programming, High-performance Computing, Linux, Software Architecture, Applied Cryptography, Python, TypeScript, Clojure
The most amazing...
...thing I've invented and implemented is a platform for verifiably secure data exchange between dynamic groups of people at Lucipher.net.
Principal | Staff Engineer
Swift Medical Inc.
- Drafted a new, distributed, functional microservice architecture.
- Described the architecture and analyzed the performance of existing, mostly monolithic, main software components.
- Created support among lead developers for a target architecture that can be worked towards step by step.
Senior Developer | Architect
City of Amsterdam
- Automated self-service provisioning of (cloud-) storage, Spark clusters, Kafka, and much more.
- Maintained Kubernetes clusters through Rancher, as AKS in Azure, and manually.
- Designed and deployed OIDC-based identity and access management (IAM) using 389ds (LDAP) and Keycloak. Integrated a large number of applications and services with this IAM.
Senior DevOps | Architect
City of Amsterdam
- Built advanced, asynchronous, and high-performance RESTful APIs for publication of open data.
- Designed and implemented federated identity and access management and single sign-on for an infrastructure of 20+ microservices, with seven identity providers crossing organizational boundaries using Keycloak.
- Selected and provisioned API management tools for access management, versioning, and load balancing.
- Built a web service plus Python command-line interface for pseudonymization of personal data to allow multiple organizations to exchange and combine datasets without compromising anonymity.
- Asserted business continuity by analyzing/debugging their systems and implementing basic service/asset management routines.
- Analyzed software and services, documented the architecture, and planned the most urgently needed upgrades and refactoring.
- Estimated staffing needs for the next two years and defended this estimation to the board. Then, selected and recruited seven new employees.
- Designed a high-performance compute cluster that meets the computational requirements of the LOFAR International Radio Telescope.
- Wrote the technical specifications document of a European public Request for Offer.
- Took part in the selection committee that evaluated incoming tenders.
- Implemented continuous delivery (zero touch deployment) of Hortonworks Hadoop on a set of DTAP big data clusters, as part of the bank’s data lake strategy.
- Modified and customized Hortonworks Hadoop to fit the bank's compliance requirements and deployment environment.
- Customized Hadoop to interoperate with the bank's custom Identity and Access Management systems.
Co-founder and CTO
- Co-founded the company and successfully applied for a Dutch high-tech stimulation grant.
- Invented and implemented a new method for public key exchange.
- Invented and implemented a provably and verifiably secure platform for data exchange within dynamic user groups. The method is to be used in group chat applications and electronic medical records, military, police, and intelligence agencies.
- Followed the course “Cryptography I” at Stanford University and obtained a certificate of achievement.
- Experimented with the latest homomorphic encryption schemes.
- Commissioned a 32-node RHEL cluster with PXE, kickstart, Xen, and Puppet.
- Deployed Hortonworks’ HDP on a virtualized, multi-tenant compute cluster.
- Helped design and implement virtualized network topology for multi-tenant compute cluster.
- Developed CoPub, a literature-based keyword enrichment tool for microarray data analysis.
- Invented, oversaw the development of, and managed BeeHub, a peta-scale data storage and exchange for academic research.
- Invented, oversaw the development of, and managed the GridAppsPortal, a web portal for efficiently running common large scale computations (e.g., BLAST) on the LHC Compute Grid with tens of thousands of compute nodes and petabytes of storage.
- Advised and co-developed EsiBayes, a web portal for performing large-scale inverse modeling, machine learning, and parameter optimization on the Dutch Life Science Grid (LSG) and National Compute Cluster (LISA).
- Ported a computationally intensive tomographic reconstruction algorithm from CPUs to GPUs (NVidia Tesla cards) with NVidia's CUDA and CuFFT toolkits.
- Built some of the first eCommerce websites for clients including a large Dutch bookstore chain.
- Built an online, Flash-based game for the University of Amsterdam and a television broadcasting company (VPRO) that allowed academic economists to observe and experiment with human behavior in tit-for-tat games.
- Built many high-performance computing applications for parallel compute clusters for clients including the University of Munich, Germany.
- Conducted big data analysis for the Netherlands’ largest video rental store chain (Videoland) for targeted marketing purposes.
- Built a system for administration and fiscal dispatching of car mileage logs for the city of Amsterdam in the Netherlands.
Peta-scale HPC Cluster for Radio Telescope
Multi-tenant Hadoop as a Service
SMALL. Some of these frameworks are really big. If understanding the framework takes more time than writing my own, then that framework had better be more powerful than what I can come up with by myself.
NO EXTENSIVE TOOLING OR CODE GENERATION. With Ruby, you shouldn't need code generation.
FULL SUPPORT FOR HTTP/1.1 CONDITIONAL REQUESTS. Most libraries’ support is limited to "if-none-match" and "if-modified-since" headers, and only for GET and HEAD requests. For RESTful web services, the "if-match" and "if-unmodified-since" headers are at least as important, particularly for unsafe methods like PUT, POST, PATCH, and DELETE.
RESOURCE-CENTERED. Some libraries claim RESTfulness, but at the same time have a servlet-like interface, which lets you implement method handles like doPOST(URL), in which you have to find out what the resource is posted to, depending on the URL. This library lets you focus on your server–side resources and their representations.
Vanilla JS, Sencha Touch, Apache Spark, Hadoop, Ext JS, Qt, Spark, Flask, OAuth 2, Django, Ruby on Rails (RoR)
REST APIs, Node.js, BouncyCastle, jQuery UI, MPI, FFTW, LAPACK, OpenMP, BLAS, Intel MKL, React
Web of Trust, Git, Torque, GIS, Ansible, Jenkins, Sun Grid Engine, Sencha UI, MATLAB, GitLab CI/CD, Azure Kubernetes Service (AKS), Apache Airflow, Keycloak
Distributed Computing, Parallel Computing, Object-oriented Programming (OOP), High-performance Computing, REST, Metaprogramming, Dynamic Programming, Design Patterns, Asynchronous Programming, Functional Programming, GPGPU, Eventual Consistency, HL7 FHIR Standard, Fast Healthcare Interoperability Resources (FHIR), Parallel Programming
Unix, Linux, MacOS, Amazon Web Services (AWS), Docker, Kubernetes, OpenStack, NVIDIA CUDA, iOS, Android, Xen, KVM, Azure, Rancher, Databricks, Apache Kafka
Security, Cybersecurity, IT Security, Project Management
OpenID Connect (OIDC), X.509, Public-key Cryptography, OpenPGP, WebDAV, Architecture, Software Architecture, Applied Cryptography, APIs, Identity & Access Management (IAM), Multithreading, Software, Software Development, SaaS, Back-end, PKI, LDAP, Sequence Alignment, Petri net, Physics, Startups, Early-stage Startups, Grid Computing, Storage, Encryption, eCommerce, PXE, Machine Learning, Bayesian Statistics, Big Data, Vectorization, VMware ESXi, Game Theory, Cryptography, Algorithms, Data-level Security, Aiohttp, MinIO, 389 Directory Server, CI/CD Pipelines, Large Scale Distributed Systems, Fivetran, Digital Transformation, CTO, Fundraising, Geospatial Data, Technical Leadership
PostgreSQL, Redis, MySQL, CXFS, GPFS, TSM, HDFS, PostGIS, MongoDB
Bachelor’s Degree in BioMedical Sciences
University of Amsterdam - Amsterdam
Algorithms: Design and Analysis, Part 1