đ±đ Filip Jacobson
Engineer
Developer
Consultant
I'm a recent CS graduate from KTH Royal Institute of Technology, with experience in a variety of programming languages like Java, Elixir, and Python, while I'm currently diving deep into Golang.
Engineering skills
Proficient | Intermediate | Beginner | |
---|---|---|---|
Languages | Java |
C Python Elixir HTML CSS ASM Go |
SQL Rust |
Frameworks | JUnit PyTeal Gin Fiber |
||
Web Services | REST |
OAuth GraphQL Webhooks |
|
Cloud | AWS |
GCP Azure IBM |
|
Databases | PostgreSQL MongoDB |
||
Tools | VSCode Git PowerBI |
Mathematica Snow Asset Mgmt Wireshark Jira Postman |
Docker Kubernetes Kafka |
Methodologies & Practices | Scrum |
SDLC TDD Pair Programming |
Important
Scroll down to dive deeper into all subjects/topics I've explored during my time at KTH â
Certificates
Course | Issuer | Progress | Certificate |
---|---|---|---|
Introduction to Cloud | Â IBM | Â | Course Certificate |
AWS Cloud Practitioner | Â AWS | Â | Course Certificate |
PPS Practical Project Steering â Project Leadership | Tieto | Course Certificate | |
PPS Practical Project Steering â Step 1Â | Â Tieto | Â | Â Course Certificate |
ITILŸ Foundation Certificate in IT Service Management |  EXIN / AXELOS |  |  Course Certificate |
 CCNA Routing and Switching | Cisco |  |  |
 CCNA Networking Fundamentals | Cisco |  |  |
GCP Cloud Digital Leader | Â GCP | Â | |
AWS Certified Solutions Architect - Associate | Â AWS | Â | |
AWS Certified Developer - Associate | Â AWS | Â | |
Azure Fundamentals | Microsoft | Â |
University studies
Degree
Information and Communication Technology
Degree of Bachelor of Science (Teknologie kandidatexamen)
KTH Royal Insititute of Technology
Degree project
Tracing of Second-Life Computer Components using Smart Contracts on the Algorand Blockchain: A study on how blockchain technology can benefit the life cycle of computer components
In a circular economy, tracking the flow of second-life components for quality control is critical. Track and trace of products or product parts are an essential enabler for a circular economy. With the use of tokenization and blockchain, products can be traced in a decentralized and secure fashion. In this thesis, we implement a system that could be used for the tracking and tracing of computer components. Using the Algorand blockchain, we have implemented a system based on the typical actors involved in the life cycle of a computer. Employing smart contracts, we have set up a system that regulates the ownership of the tokens representing the parts in a computer. We also performed scalability tests on the developed system to measure its time to perform certain critical operations. The result of these test indicate that the developed system is useful at scale. The open-source implementation of the system is publicly available on GitHub.
Python
PyTeal
Algorand
My contributions to the project led to my co-authorship of the research team's published scientific paper:
CircleChain: Tokenizing Products with a Role-based Scheme for a Circular Economy
In a circular economy, tracking the flow of second-life components for quality control is critical. Tokenization can enhance the transparency of the flow of second-life components. However, simple tokenization does not correspond to real economic models and lacks the ability to finely manage complex business processes. In particular, existing systems have to take into account the different roles of the parties in the supply chain. Based on the Algorand blockchain, we propose a role-based token management scheme, which can achieve authentication, synthesis, circulation, and reuse of these second-life components in a trustless environment. The proposed scheme not only achieves fine-grained and scalable second-life component management, but also enables on-chain trading, subsidies, and green-bond issuance. Furthermore, we implemented and performed scalability tests for the proposed architecture on Algorand blockchain using its smart contracts and Algorand Standard Assets (ASA). The open-source implementation, tests, along with results are available on our GitHub page.
Python
PyTeal
Algorand
Courses
Computer Engineering
IE1204 â Digital Design
Theory:
- Boolean Algebra and Gate Logic (AND, OR, NOT, Min/Max, SOP/POS, NAND, NOR, XOR, XNOR)
- MOS technology (CMOS/PMOS/NMOS, Tri-State, Fan-in/out, N-var Karnaugh Map, PLA, PAL)
- Digital Arithmetics (Add, Sub, Comparator, FA/RCA/CLA/CSA, Mul, Div, Barrel Shifter, Int/Fixed-Point/Floating-Point Number)
- Combinatorial Building Blocks (Multiplexer/Demultiplexer, Encoder/Decoder, Shannon Decomposition, VHDL)
- Memory Elements (D/SR Latches, D/T Flip-Flops)
- Sync FSMs (Moore/Mealy State Machines, State Minimization, ASM-Charts, Formal FSM Model)
- Async FSMs (Synthesis, State Minimization, State Encoding, Hazards, Metastability, Async Inputs)
- Programmable Logic (PLD/CPLD, FPGA, LUT, ASIC Gate Array/Standard Cell)
Practical experience:
- VHDL
IS1200 â Computer Hardware Engineering
Theory:
- Instruction Set Architecture (MIPS, ARMv7, CISC/RISC)
- Assembly (Arithmetics, Constants, Cond Branches, Arrays, Memory Access, Funct Calls, Argument/Return Vals, Stack, Pointers)
- I/O Systems (Memory Mapped I/O, GPIO, Sync/Async Buses, DMA, Timers, Parallel/Serial Coms, PCI/USB, Interrupts, SPI/I2C)
- Processor Design (ALU, Control Unit, Pseudo-Direct Addressing, Performance Analysis, Spacial/Temporal Locality, Parallelism and Pipelining, Data/Control Hazards, Forwarding, Stalling, Flushing, Branch Prediction)
- Memory (SRAM/DRAM/Flash/Magnetic, Cache, Main/Virtual Memory, Direct Mapped/N-way/Fully Associative Cache, MMU, TLB)
- Parallell Processors and Programs (Parallelism, Concurrency, DLP, TLP, SISD/SIMD/MISD/MIMD, ILP, Hardware/Simultaneous Multithreading, GPUs, SMP, Semaphores, Mutex)
Practical experience:
- C
- Assembly
- MIPS
- ChipKIT Uno32
ID1206 â Operating Systems
Theory:
- Fundamentals (Abstraction, Virtualization, Resource Management)
- Processes (POSIX API, User/Kernel Space, Memory Layout, System Calls, Sync/Async Interrupts, Process State/Creation, Context Switching)
- Scheduling (Process Scheduling, FCFS, SJF, STCF, MLFQ, Stride/Real-Time Scheduling, RMS, EDF, Fairness)
- Segmentation (Memory Virtualization, Batching, Time-Sharing, Static/Dynamic Relocation, Fragmentation, Segmentation)
- Memory Management (Malloc, Coalescing, Buddy Allocation, mmap, sbrk)
- Paging (Page Table, Multi-Level Page Table, Inverted)
- Swapping (Random/OR/LRU Policy)
- Concurrency (Threads, Cache Coherence, Sequential Consistency, TSO, TLS)
- Locks/Semaphores (Peterson's Algorithm, pthread mutex)
- Storage (HDD/SSD/NAND/SSHD/RAID Anatomy)
- File Systems (inodes, Symbolic/Soft Links, Super Block, Disaster Recovery)
- VMs (Hypervisor/VMM, Containerization, Emulators, Runtime Systems)
Practical experience:
- C
IK1203 â Networks and Communication
Theory:
- Fundamentals (Processing, Queueing, Transmission, Propagation, Delays, Losses, Throughput, Latency, Layering)
- Application Layer (HTTP, Cookies, Caching, SMTP, IMAP, POP3, FTP, DNS, Sockets)
- Transport Layer (UDP, TCP, Multiplexing/Demultiplexing, Congestion Control)
- Network Layer (IPv4, IPv6, NAT, DHCP, LS/DV/OSPF Routing, BGP, ICMP)
- Link Layer (Time/Frequency-Division Multiplexing, CSMA/CD, Polling/Token Passing, Ethernet, ARP, LL Switching, VLAN)
Practical experience:
- Java
- Socket Programming
- telnet
- OpenSSL
- SMTP
- POP3
- IMAP
- HTTP
- Wireshark
- Webmin
- dig
- Cisco Packet Tracer
- Cisco Router Configuration
- Linux Host Configuration
- DHCP
- DNS
IV1013 â Introduction to Computer Security
Theory:
- Symmetric Key Cryptography (Polybius, Polygraphic, S-Boxes, Trithemius, VigenĂšre, One-Time Pads, PRNG, Stream, RC4, Block, Hill, Transposition, AES)
- Asymmetric Key Cryptography (RSA, Elgamal, Diffie-Hellman)
- Hashing (MD5, SHA, Signatures, Collision Resistance)
- Firewalls (Policies, Stateless/ful, PFF, ALG)
- Tunneling (SSH, IPsec, VPN)
- Web Security (HTTPS, Certificates, Cookies, XSS)
- File System Security (ACM/ACL, File/Disk Encryption, EFS, BitLocker, TrueCrypt, Plausible Deniability)
- Attacks (M-i-t-M, Brute Force, Overflow, Spoofing, Sniffing, Sequence Prediction, Sesh Hijacking, Flooding, DDoS, Cache Poisoning, Malware, Replay)
Practical experience:
- Java
- Wireshark
- Linux Firewalls
Software Development
ID1018 â Programming I
Theory:
- Data Storage (Variables, Primitive Data Types, Conversions)
- Methods (Creation, Handling, Recursion)
- Algorithms (Selection, Search, Complexity, Correctness)
- Objects (Services, Resources, Inheritance/Class Resources, Handling)
- Exceptions (Handling, Hierarchies, Patterns)
- I/O (Streams, STDIN/STDOUT, Binary/Text/Object Files)
- Inheritance (Sub/Super Class, Polymorphism, Dynamic Binding)
- Interfaces (Hierarchies, Type Independence, Inner Classes)
Practical experience:
- Java
ID1019 â Programming II
Theory:
- Basic Types (Arithmetics, Functions, Bools, Atoms, Strings, Lists, Tuples)
- Recursion (Tail Recursion, Accumulators, n-reverse, n-flatten)
- Tree Structures (Insert, Delete, Key-Value Lookup, Modify)
- λ Calculus (Bottoms, Scope, Order-of-Evaluation, Functions, Expressions, Recursion)
- Evaluation ([Case]Â Expression/Sequence Evaluation, Pattern Matching, Free Variables, Scope)
- Complexity (Big-O, Run-Time Complexity)
- Dynamic Programming
- Concurrency (CSP, Actor Model, Selective Receive, Implicit Deferral, Flow-Based Programming)
- Parallelism (Loop/Map-Reduce/Task/Stream Parallelism, Null Test, Image Processing)
Practical experience:
- Elixir
ID1020 â Algorithms and Data Structures
Theory:
- Data Structures ([Priority] Queues, Linked Lists, Stacks, Bags/Multisets, Trees, Generics/Iterators, Hash Tables, Union-Find Forests, [Weighted] Quick-Find/Union)
- Sorting Algorithms (Selection/Insertion/Shell/Merge/Quick Sort, Shuffle/Topological Sort)
- Searching Algorithms (Sequential/Binary Search, Binary Search Tree, 2-3 Tree, Red-Black BST, LLRB BST, B-Tree, Separate-Chaining Symbol Table, Linear-Probing Hash Table)
- Graph Algorithms (Directed/Undirected Graphs, Depth-/Breadth-First Search, Bipartiteness, Euler/Hamilton Cycle, Isomorphism, Digraph Search, Kosaraju-Sharir, Minimum Spanning Tree, Shortest Path, CFG, Halting Problem, Master Theorem)
- Algorithm Analysis ('~'-notation, Big-Oh/Ω/Î, P/NP/NP-Complete, Memory Complexity)
Practical experience:
- Java
IV1303 â Modern Software Development
Theory:
- Software (Architecture, Processes, Methods, Practices, Software Life-Cycle)
- Projects (Functional/Non-Functional/Domain Requirements, Scope Creep, State, Opportunity, Waterfall vs Agile, Pair Programming)
- Testing (Static vs Dynamic, Unit Tests, Integration Tests, Acceptance Tests, Structural/Path/Integration/Interface Tests)
- Quality Assurance (McCall Model, Ageing, Pollution, Coupling, Traceability, Maintainability, Refactoring)
- Risk Management (Project/Product/Business Risk, Prioritization)
Practical experience:
- Java
IV1350 â Object Oriented Design
Theory:
- Analysis (UML, Domain Model, System Sequence Diagram)
- Software Architecture (Architectural Structures/Classes/Styles/Patterns, Design Patterns)
- Version Control (Git)
- Testing and Reliability (Unit Tests, JUnit, Exception Handling)
- Programming Techniques and Best Practices (Packages, Conventions, Comments, Code Smell, Refactoring, Encapsulation, Cohesion, Coupling, Polymorphism, Inheritance)
Practical experience:
- Java
- Git
Mathematics
IX1303 â Algebra and Geometry
Theory:
- Basics and Definitions (Points, Lines, Surfaces)
- Vector Algebra (Vectors, Scalars, Scalar/Dot Product, Cross Product)
- Matrices and Systems of Equations (Matrices, Determinant, Linear Systems, Gaussian Elimination)
- Transformations and Mappings (Inverse Linear Transformations, Mappings, Subspaces, Kernel, Bases, Dimensions)
- Vector Spaces and Coordinate Systems
- Orthogonality and Least Squares
- Eigenvalues and Eigenvectors (Diagonalization, Eigenvalues, Eigenvectors, Complex Eigenvalues, Dynamical Systems, Stability)
IX1307 â Problem-Solving in Mathematics
Theory:
- Logic (Universal/Existential Propositions, Predicates, Universal/Logic Equivalence/Implication, Contradictions, Tautologies, Negations, Equivalent Transformation)
- Functions (Domain, Range, Real/Surjective/Injective/Bijective/Inverse/Composite Functions)
- Algebraic Identities (Equation [Systems], Inequalities)
- Sets (Sets of Real/Natural/Integers/Points/Ordered n-tuples)
- Real Functions (Linear/2nd Degree/Odd/Even/Rational/Trigonometric Functions, Mirror/Move, Floor/Roof Functions, Polynomial)
- Complex Numbers (Operations, Complex Regions, Complex Trigonometric Formulas, Principal Roots, Binomial Equations)
IX1500 - Discrete Mathematics
Theory:
- Combinatorics and Set Theory (Addition/Multiplication Principles, Permutations, Combinations, Arrangements, Selections, Inclusion-Exclusion Principle, Binomial Theorem, Sets, Binary Operations)
- Integers and Relations (Divisibility, Euclidean Algorithm, Induction, Recursion, Prime Numbers, Diophantine Equations, Fundamental Theorem of Arithmetic, Functions, Equivalence Relations, Order Relations)
- Rings (Group, Ring, Euler's Theorem, Chinese Remainder Theorem)
- Graph Theory (Nodes, Vertices, Edges, [Simple] Paths, Cycles, Isomorphism, Vertex/Adjacency Matrix, Directional/Multi/Weighted Graphs, [Minimum] Spanning Tree, Kruskals/Dijkstras Algorithm, Euler/Hamilton/Planar/Bipartite/Homeomorphic Graphs, Chromatic Numbers/Polynoms, Contraction)
IX1501 â Mathematical Statistics
Theory:
- Probability Theory (Discrete/Continuous, Dependent/Independent Events, Kolmogorovs Axiom, Sampling Methods, Conditional/Law of Total Probability Probability, Bayes' Theorem)
- Stochastic Variables (Geometric/Binomial/Hypergeometric/Poisson/Uniform/Exponential/Normal Distribution, Quantile, Interquartile Range, Variance, Standard Deviation, Dispersion, Law of Large Numbers, Central Limit Theorem, Approximation by Normal Distribution, Convolution)
- Statistical Inference (Point/Interval/Unbiased/Consistent/Maximum-Likelihood Estimation, Least-Squares Method, Confidence Interval/Level, Null/Alternative Hypothesis, Significance Level, Statistical Power)
- Statistical Modelling (Linear Regression, Dependent/Independent Variables, Model Fitting)
SF1685 â Calculus in One Variable
Theory:
- Limits and Continuity (Functions, Polynomials, Trigonometry, Limits, Continuity)
- Derivative (Mean Value Theorem, Implicit Differentiation)
- Transcendental Functions (Inverse Functions, Natural Logarithm, Inverse Trigonometric Functions, Ordinary Differential Equation)
- Taylor Polynomials (Extreme Values, Curves, Linear Approximation, Taylor Expansion)
- Integrals (Theorem, Integration by Parts/Substitution)
- Arc Length and Series (Improper Integrals, Solids of Revolution, Arc Length, Taylor/Maclaurin Series)
SF1686 â Calculus in Several Variable
Theory:
- 3D Geometry and Functions of Several Variables (Analytic Geometry in 3D, Cylindrical/Spherical Coordinates, Vector Values Functions, Curves, Parametrizations, Functions, Limits, Continuity)
- Partial Derivatives and Linear Approximation (Partial/Higher-Order/Directional Derivatives, Chain Rule, Linear Approximation, Differentiability, Differentials, Gradient)
- Applications of Derivatives (Implicit Functions, Taylor's Formula/Series/Approximation, Extreme Values, Lagrange's Multiplicators)
- Multiple Integrals (Double/Triple Integration in Cartesian/Polar, Mean Value Theorem, Applications)
- Curve and Surface Integrals (Vector/Scalar/Conservative Fields, Line/Surface Integrals, Flux)
- Vector Calculus (Gradient, Divergence, Curl, Green's Theorem, Divergence Theorem, Stoke's Theorem)
Electronics & Physics
IF1330 â Electrical Principles
Theory:
- Resistive Circuits (Dependent/Independent Voltage/Current Sources, Ohms Law, KCL, KVL, Node-Voltage/Mesh-Current Method, Thevenin/Norton Equivalents, Superposition)
- Active Components ([Ideal] Operational Amplifier, Operational Amplifier Circuits w/ Resistors, Diode, Transistor)
- DC Transient Response of RC and RL Circuits (Inductance, Capacitance, 1st Order RC/RL Circuits)
- Passive Circuit Elements in Frequency Domain (Sinusoidal Sources, AC, Frequency, Period, Angular Frequency, Amplitude, Phase Angle, rms Value, Phasor Representation, Impedance, Reactance, Filter)
SK1118 â Electromagnetism and Waves
Theory:
- Electrostatics (Field Strength, Potential, Gaussâ Law, Metals, Dielectrics, Capacitor, Electrostatic Energy)
- Magnetic Fields (Forces, Magnetic Materials, Coils, Magnetic Energy, Technical Applications, Magnetic Induction
- Maxwellâs Equations (Wave Concept)
- Electromagnetic Waves (Polarization, Interference, Diffraction, Technical Applications)
Industrial Management & Innovation
ME1003 â Industrial Management
Theory:
- Industrial Value Creation (Technical Business Models, Technical Development for Competitiveness, Product, Innovation, Marketing, Strategy, Talent/HR Management, Business Organization)
- Cost Estimation (KPI Analysis, Product Cost Analysis, Investment Appraisal, Capital Budgeting)
- Accounting (Bookkeeping, Accounting, Annual Financial Reporting, Financial Statement Analysis)
- Financing (Business Capital Requirements, Equity, Debt)
AI2151 â Industrial Development and Entrepreneurship
Theory:
- Theoretical Foundations (International Project Management Theories, Sustainable/Ethical Considerations)
- Research (Information Sourcing, Critical Review)
- Practical Project Management (Real-World Project Application, Planning, Problem Identification, Critical Analysis, Stakeholder/Time Management, Post-Project/Retrospective Review/Analysis)
- Communication (Stakeholder Communication, Oral Presentation/Reporting, Written Documentation/Reporting)
AG1815 â Sustainable Development, ICT and Innovation
Theory:
- Theoretical Models and Frameworks (Environmental/Socio-Economic Boundaries, The Doughnut Economics Model, Life Cycle Thinking, Circular Economy, Rethinking Industry/Society)
- Climate Change (Science, Short-/Long-term Effects, Mitigation/Adaptation Strategies)
- Energy Systems (Renewable vs Non-Renewable Energy, Transition to Renewable Energy Systems/Sources)
- Technology x Sustainability (Sustainability-Driven Innovation, ICT, Transport, Building, Food, Electronics)
- Environmental Economics (Externalities, Market Failure, Environmental Taxes, Subsidies/Grants)
- Social Aspects (Environmental Justice, Policy, Sustainable Communities)
Engineering
II1300 â Engineering Skills
Theory:
- Technical Foundations for Engineering (Abstraction, Modelling, Simulations, Programming)
- Project and Information Management (Gantt, Sustainable Development)
- Work Environment and Human Factors (Work Environment, Ergonomics, Daily Operations)
- Ethical and Sustainable Engineering (Ethics/Morals, Environmental Sustainability)
II1305 â Project in Information and Communication Technology
Theory:
- Scrum (User Stories, Story Estimation/Planning Poker, Story Breakdown, Backlog Refinement, Sprint Planning/Retrospective, Product Design, Implementation, Team Velocity, How-to-Demo)
- Version Control (Git)
Practical experience:
- Scrum
- Git
- Swift