text
Informatik Handwerk
Peter Fargas
Automation | Fullstack | UX
Informatik Handwerk
Peter Fargas | Automation,Fullstack,UX
Prototyping . Development
Crosscutting concerns –
aber auch Domain-spezifisch.
Crosscutting concerns – but also domain specific.
I prototype reusable components, which completely fill out the algebraic space and exhibit high consistency.
I prototype reusable components,
which completely fill out the algebraic space
and exhibit high consistency.
I do fundamental scientific research.
web
Apps, Interactive, CMS
 •
Backend: PHP, node.js
 •
Frontend: vanilla, JQuery, React
 •
Data Visualisation: D3.js, Maps using Leaflet
 •
Linux server: Ansible managed, Docker
Sourcecode
ParamGuard
Parameter-Validation of a higher order
Type-free Lanugages (PHP, JS) allow very user-friendly APIs. When unskillfully used, type inconsistencies in data-pipes appear. It is a most common bug source and discoverability is problematic.
Definition of composite Datatypes:
class ProcessTrace {
  
  const P_traceOrigin = [
    IsType::Null,
    IsType::Array,
    [IsType::Object, \Throwable::class],
    [IsType::Object, ProcessTrace::class]
  ];
  
  //...
Standard demultiplexer mechanism:
  /**
   * ProcessTrace constructor
   * @param null|array|\Throwable|ProcessTrace $origin
   */
  public function __construct($origin = null) {
    $originType = 
      ParamGuard::whichOf($origin, self::P_traceOrigin);
    
    switch ($originType) {
      case IsType::Null: //...
      case IsType::Array: //...
      case \Throwable::class: //...
      case ProcessTrace::class: //...
      default: ParamGuard::fallthrough($originType);
    }
    
    //...
  • standardized element with load capacity, universally applicable
  • several levels more thorough than classical validators
  • stronger than PHP 8 union types
  • best starting point for coverage testing
  • Production-ready: strict/performant, environment dependent
  • Set of tools of different expressiveness, pluginable
  • intuitiv to use and default sensible
Prototype
Chance Geo-Cash
Country-specific prices for digital goods
People from different countries have very different opportunities and purchasing power. I adjust the prices of my products and services accordingly.
People from different countries have very different opportunities and purchasing power.
I adjust the prices of my products and services accordingly.
For what I would charge a customer e.g. from Germany 82€, a customer from France would get for 70€, one from England for 76€ and one from Brazil only for 40€. Russian customer would be served with 43€, Czech for 69€.
The mathematical model is based on:
In this way, people around the world could get a similar chance to use the tools and information they want or need.
Accomplishments
Smaller Projects
developed for EnterHistory!
Remembering Leipzig
screenshot: Remembering Leipzig
  • interactive Audiowalk (leaflet + react)
  • responsive / Mobile & Desktop
  • Drupal database
  • ConcreteCMS webpage
Coproduktion
Refugee Law Clinic
screenshot: Refugee Law Clinic
  • Info about voluntary legal advice
  • Squarespace-Template, Customization
Eigenproduktion
Postcard: Posessions
screenshot:
  • private Collection
  • handmade, 3D-Accelerated Shader
Accomplishments
Larger Projects
Communication-Platform for an Association of Scienticst
Discourse Analysis
screenshot: Discourse Analysis
Few Words to the Project
  • Platform for communication and selfpresentation of scientists
  • in 6 languages, i18n/l10n emailing
  • over 7000 users, from those cca 5% paying members
  • minimal budget
Responsibilities
  • New iteration of an older project
  • Bootstrapped in team of two, continued alone
  • Programming and adjusting of the Codebase
  • Administration and development of the IT infrastructure
Techincal Details
  • Virtuell Server, Ansible provisioned
  • mature Tooling in Bash skripts and Ansible Playbooks
  • Drupal, 37k SLOC in modules/custom/**
  • Core-components are rigorously unit tested
Operation and optimization of IT
Räubersachen GmbH
screenshot: Räubersachen
Few Words to the Company and their IT
  • Rental of woolen clothing, billed to the day
  • Complex goods-Workflows
  • Extremeextension of an Oxid Shop
  • in-house developed accounting software
  • very tight Budget
Responsibilities
  • Takeover of the existing IT landscape
  • Lead in a self-assembled team
  • Maintenance and further development of the solution
  • Planning and developing a new iteration
  • Techical debt management including database cleanup
  • Data evaluation, monthly accounting
  • Consulting and business optimization
  • Administration of the IT infrastructure

Contact, de, en, sk

handwritten eMail-Address to avoid spam
0049 / 176 / 458 67 358
Leipzig, Germany
logo: LinkedIn

Privacy

This website does not use trackers or cookies.
Hosting provider keeps standard apache logs available for two weeks.

Sustainability Declaration

Source code distribution / clientele
I open-source only source code that e.g. cannot contribute to "dual-use-technology" or more precisely, cannot be used "universally".
My customers and partners share my views in such matters.
Bank
Triodos Bank (99 % CSR/ESG-Ranking)

Impressum according to german law

Informatik Handwerk
Postfach 31 02 44
04161 Leipzig
Germany
Peter Fargas
0176 / 458 67 358
Steuernr. 323/218/07170
Ust-IdNr. DE314942858