Phil Schumann, Germany
Software Developer
Hi
Blog
Work
Me
14 Mar 2019
My nearly-complete work history:
Clients & Projects
My nearly-complete work history:
2018 Go, TypeScript / Node.js
Go, TypeScript, NodeJS
LLVM playground
Emitting LLVM-IR intermediate-representation language: experimentations & explorations
Go
go-gent
inspired by the work on
gogen-dump
, a more carefully designed, generalized and principled Go code-gen framework
Go
gogen-dump
how to beat JSON / gRPC / ProtoBufs in all-Go homogenous envs: code-gen for low-level = high-performance,
reflect
-less,
unsafe
-powered (arbitrarily-deep + arbitrarily-indirected) binary (de)serialization
Go
go-machines
state-transition machines / byte-code VMs + graph-reducing evaluators: P-code machine, Brainf_ck evaluator, template instantiation machine, classical G-machine, spineless-tagless G-machine
Go
go-tinylang
self-contained REPL for a mini-language (nums & arithmetic operators) with pluggable interpreters, written from scratch on a Sunday
Go
go-leap
Full refactoring of my earlier, now years-old legacy
go-util
packages: general-purpose utility programming libraries I was missing in vanilla Go
Go, Microservices, Cloud, APIs
Metronom
(Dec 2017 - Oct 2018) on-site in Düsseldorf: full-time co-developing + co-architecting + dev-coaching (Go microservices in k8s with RPC as well as REST-ful APIs) for & with an agile product team building in-house cloud infrastructure at major global retail concern METRO's IT company
2017 Go, TypeScript / Node.js
Go
go-FromJsonSchema
JSON schema (JSD) files are great for exposing interchange formats of REST APIs, DB schemas, custom protocols etc. to external code. Given such a JSD definition, this package generates all the Go code necessary to load JSON documents of the therein-described format into the correct, fully commented/documented (likewise from the JSD) runtime data struct(ure)s.
Go
ezMQ
A commissioned Go package providing a higher-level API for simplified RabbitMQ message-queuing by wrapping-abstracting-streamlining streadway/amqp under the hood.
Go, TypeScript, NodeJS
Zentient
A generalized IDE back-end for plugin-powered text editors:
multi-editor
(only VS-Code for now, Sublime planned) and
multi-language
(Go + Haskell for now, easily-extensible)
2016-2017 Haskell
Haskell
HaXtatic: static site generator
"controls" (aka. "components" aka. sub-templates aka. parametric-snippets aka. what-have-you-lets) ⋅ iterating renderers ⋅ HTML short-hand helper ('haX')tags ⋅ navigation helpers ⋅ page context / page metadata haXtags ⋅ mix-and-match-and-combine-and-nest any haXtags ⋅ embed haXtags anywhere (source contents, templates/snippets(-aka.-controls), project/config file) ⋅ some almost-enough-for-a-coder's-minimalist-blog-or-three "section-of-related-pages" notion called "Bloks" ⋅ globally shared (even-simpler-than-controls) textual/markup snippets of course ⋅ custom per-page variables ⋅ commonly desirable XML outputs (
sitemap.xml
,
*.atom
) ⋅ mod-time-differential rebuilds ⋅ per-page caching across runs ⋅ of course per-file-type templating ⋅ composable "named setups" ⋅ extensive configurability ⋅ some notion of "postings"/"simpleton data records"/"static tweets" micro-content definitions (with fully custom rendering) ⋅ easily defined, easily applied custom date-time formats ...
Haskell
haxbase
shared library with utility modules for text & list processing, configurability, debuggability, syntax sugars, convenience operators etc.
2012-2015 Go (miscellaneous)
Go (misc)
go-fsDB
Virtual database driver (implementing database/sql interfaces) with a backing store of local JSON or TOML data text-files as 'DB tables'.
Go (misc)
go-LeanSite
Minimal web server for 'mostly static, mildly dynamic' sites in Go; stand-alone or on App Engine —
runs this
very
web site
; includes a Bootstrap+jQuery-based seed-site
Go (misc)
go-BuildRun
The 'swiss army knife' build tool of my dreams for Go projects: template-based code-gen pre-processor & documentation generator; run golint, go vet, or any other specified pre-build commands
Go (misc)
go-XSD
A DOM API library for handling XML Schema Definition (XSD) documents in Go code; includes a source-code generator to instantly create 'native Golang bindings' for any given XML Schema Definition
Go (misc)
go-Util
All the general-purpose programming libraries I was missing in vanilla Go; includes imaging, hashing, DB, file I/O, networking, maths / numeric and string-processing helpers that I found indispensible in real-world Go programming
2012-2015 Go (real-time 3D)
Go+OpenGL
go-OpenGL
Utility library for cross-platform, core-profile OpenGL graphics programming in Go — 'sane no-overhead wrappers' for real-time use-cases
Go+OpenGL
go-Collada
A DOM API library for handling Collada documents in Go code; supports Collada 1.4.1 and 1.5
Go+OpenGL
go:ngine
Real-time, cross-platform 3D graphics engine library for/in Go (the next-gen C); runs on OpenGL Core Profile (v3.3 or newer) and GLFW; parallelized multi-core render pipeline ⋅ textured primitive meshes ⋅ scene-graph ⋅ cubemapped sky-mesh (cube, dome, etc.) ⋅ GLSL 'über-shader' permutation ⋅ post-processing FX ⋅ per-face multi-texturing / materials / effects ⋅ disk cache for on-demand pre-processed textures ⋅ render batching ⋅ frustum culling ⋅ HDR lighting ⋅ deferred shading
2011-2015 C#, ASP.NET, SharePoint
C# .NET, SharePoint
SharePoint-Tools.NET: founding, ops, product development, docs, support, marketing, etc.
(Past URLs: roxority.com & sharepoint-tools.net)
Complete product development from idea to roll-out, 5 products in total
Approx. 1000 licensees, between 100k and 1M+ human end-users world-wide
Tech stack: SharePoint 2007/2010/2013, ASP.NET, C#, SQL/BDC/XML/AJAX, HTML/CSS/JS
plus documentation / integration / localization and related product lifecycle management across legacy and modern SharePoint versions
each with familiar cross-product admin-UI 'Studio' pages auto-integrated into SharePoint without consuming Site or DB resources:
ExportZen — solution package for easy-yet-flexible one-click SharePoint
List data exports
FilterZen — the most versatile SharePoint
Search&Filter components
'ever'
UploadZen — enterprise-strength, cross-browser plugin-less replacement
Bulk Upload component
PeopleZen — supremely customizable intra-corporate social /
User Profile widgets
PrintZen —
power Printing feature pack
for SharePoint Library / Calendar / List Views
2010 C#, ASP.NET, SharePoint
ASP.NET, SharePoint
Servier (Munich, Germany)
Developed a turn-key SharePoint Site Theme for their corporate design
C# .NET, SharePoint
Portal Systems Consulting (Potsdam, Germany)
Developed a 'superior' replacement SharePoint 'Lookup Column' custom-field-type component with numerous info-worker / power-user productivity features
ASP.NET, SharePoint
German Quality Association (Frankfurt, Germany)
Developed a turn-key SharePoint Site Theme for their corporate design
C# .NET, SharePoint
Visiting Angels (Bellingham, WA, USA)
Developed a bespoke server-side SharePoint batch-printing solution (with specific and complete duplex / stapling / etc. options)
2009 C#, ASP.NET, SharePoint
C# .NET, SharePoint
SentiTrade (Berlin, Germany)
Developed seamless SharePoint integration with
GreenBox
, their sentiment-analysis / computational-linguistics / machine-learning solution
C# .NET, SharePoint
Exerti (Itegem, Belgium)
Bespoke SharePoint 'Business Data Catalog' Web Part development
ASP.NET, SharePoint
VEMAG (Verden, Germany)
Developed a turn-key SharePoint Site Theme for their corporate design
ASP.NET, SharePoint
K.D. Feddersen (Hamburg, Germany)
SharePoint Site Theme design customizations, back-end development, genereal SharePoint development coaching and consulting
2008 C#, ASP.NET, SharePoint
C# .NET, SharePoint
DVZ Mecklenburg-Vorpommern (Schwerin, Germany)
SharePoint migration consulting: on-site workshop and custom migration tooling development
C# .NET, SharePoint
Swisscom IT Services (Zürich, Switzerland)
Developed various bespoke SharePoint server-side components (custom Web Parts, business data import / export etc.)
ASP.NET, SharePoint
Sysmex (Norderstedt, Germany)
Developed a turn-key SharePoint Site Theme for their corporate design
C# .NET, SharePoint
Portal Systems Consulting (Potsdam, Germany)
.NET development: integrated time & project tracking with SharePoint & Dynamics CRM
On-Site Developer Training: foundations of SharePoint & ASP.NET development
On-Site Developer Training: understanding and using XPath & XSLT in SharePoint & .NET
C# .NET, SharePoint
Salis IT Services (Cairo, Egypt)
A week of on-site, in-depth, hands-on coaching and training .NET developers on all aspects of SharePoint development, from server-side back-end programming to client-side front-end techniques
ASP.NET, SharePoint
Bauer Systems (Hamburg, Germany)
Developed a turn-key SharePoint Site Theme for their corporate design
SharePoint
DHL IT Services (Fulda, Germany)
"Collaboration Consolidation Programme and Business Change Management: architectural guidance, technology consulting, project management and team- leading for various parallel migration efforts of isolated corporate application 'silos' to a central SharePoint 2007-based platform"
C# .NET, SharePoint
Homag (Schopfloch, Germany)
Developed a super-configurable, very-high-speed data processing and transformation tool for DMS-to-SharePoint migration
ASP.NET, SharePoint
German Red Cross (Baden-Baden, Germany)
Prototyped, designed and developed a cross-organizational custom intranet and collaboration portal on top of SharePoint Enterprise
2007 C#, ASP.NET, SharePoint, "Web 2.0"
ASP.NET, SharePoint
BP (Lingen, Germany)
Developed a turn-key SharePoint Site Theme for their corporate design
ASP.NET, SharePoint
Philips (Aachen, Germany)
Developed a turn-key SharePoint Site Theme for their corporate design
ASP.NET, SharePoint
Coler (Münster, Germany)
Developed a turn-key SharePoint Site Theme for their corporate design
Web 2.0 / XHTML
Axel Springer (Berlin, Germany)
On-site web tech consulting, integration, implementation services to help deliver a "standards-compliant, XML-driven, Web 2.0-strength" (2007 lingo..) re-launch of the massively frequented, popular (& populist) German online newspaper
Bild.de
ASP.NET, SharePoint
Big Dutchman (Vechta, Germany)
Developed a turn-key SharePoint Site Theme for their corporate design
ASP.NET, SharePoint
Solarlux (Osnabrück, Germany)
On-site workshop on SharePoint design customization and development of a turn-key SharePoint Site Theme for their corporate design
C# .NET, SharePoint
d.velop (Gescher, Germany)
SharePoint Platform Services development:
prototyped and co-developed for their
SharePoint ECM Services
suite of products,
integrated their widely deployed Document Lifecycle and Archival technologies with core SharePoint tech such as Search, Document Libraries, Records Center and Web Parts
ASP.NET, SharePoint
Göde Science Trust (Aschaffenburg, Germany)
On-site workshops & consulting: legacy intranet migration to SharePoint 2007; WSS 3.0 development, pro-level customization, migration, deployment for production
ASP.NET, SharePoint
dSPACE (Paderborn, Germany)
Developed an HR "Applicants Management System" on SharePoint, .NET WebParts and MS Business Data Catalog
Developed a turn-key SharePoint Site Theme for their corporate design
SharePoint
Gildemeister-Seidensticker (Bielefeld, Germany)
On-site workshop: SharePoint installation, administration, customization and enterprise search
ASP.NET, SharePoint
Sony Europe (Berlin, Germany)
Developed a turn-key "MS Office Online"-style Site Theme for their corporate SharePoint intranet site.
2005-2006 C#, Win32 apps
C# .NET
Quotator — rotator of alternating email signatures
I wanted constantly changing quotes in email signatures, so I wrote an app for that. Before long, I had a neat quotebook utility to offer to an appreciative audience increasing steadily. Took care of the website, support, feature requests and documentation for a while, until before long most folks moved over to web mail.
C# .NET
SuDoku Pro — shareware game + solving assistant + puzzle-book-maker
A big Sudoku craze swept Europe in the mid-2000s. To study and experiment with solver algorithms, I developed a Windows game that quickly became quite popular 'shareware' (to the point of getting pirated). As user numbers piled up, so did interesting and challenging feature requests; from a solving assistant to full-fledged printing capabilities for making mags and books; plus the website, documentation and tech support kept me busy. As the fad faded and users flocked to browser and phone apps, everything was handed over to Pasadena-California-based "Diangy Systems" who had big plans for it...
2003-2006 ASP.NET web-apps
ASP.NET
ArcelorMittal (Brandenburg, Germany)
Developed a web-based data-driven custom "library, media and loans management system" for
ArcelorMittal
's in-house Technical Library (of patents, industrial norms etc)
ASP.NET
Masters Wines (New York City, USA)
Development of business intelligence dashboards with neat charts, KPIs, real-time reports and customizable data aggregation
ASP.NET
Collaborative Commerce Marketplace (Coventry, UK)
On-site consulting and co-development on an "intelligent supply chain visibility management portal solution" (yup..) for West Midlands CCM member companies.
ASP.NET
Insurance&more (Berlin, Germany)
Conceptual consulting, architecture and prototype development for a somewhat elaborate (eventually moribund) startup to serve the German and European life insurance markets.
ASP.NET
Seminar for Advanced English Studies (Oxford, UK)
Website design and development, custom content management and customer relationship management tailored to the needs of my client
SAES.info
.
2000-2002 ASP3, Win32, VB6
Win32 / VS 6.0
Adhaero Technologies (Hemel Hampstead, UK)
Back in the day a leader in the "peer-to-peer Enterprise Document Rights Management for Microsoft Office and Adobe Acrobat" segment (yes, this was a thing), Adhaero (now Avoco Secure) hired me for internationalization and localizability of the entire "Adhaero Doc" code-base.
ASP 3.0
ASSA-ABLOY / BAB-IKON (Potsdam, Germany)
This might have been one of the first online shops in town! Wrote server-side ASP 3.0 hooked up via SQL to an Access database and voila: B2B e-commerce for the locking / security appliances sector, complete with product pictures (exciting times) and a functioning shopping cart forwarding orders to HQ via email."
…Scroll to:
2018 Go, TypeScript / Node.js
2017 Go, TypeScript / Node.js
2016-2017 Haskell
2012-2015 Go (miscellaneous)
2012-2015 Go (real-time 3D)
2011-2015 C#, ASP.NET, SharePoint
2010 C#, ASP.NET, SharePoint
2009 C#, ASP.NET, SharePoint
2008 C#, ASP.NET, SharePoint
2007 C#, ASP.NET, SharePoint, "Web 2.0"
2005-2006 C#, Win32 apps
2003-2006 ASP.NET web-apps
2000-2002 ASP3, Win32, VB6
Cogent
Everything is vague to a degree you do not realize till you have tried to make it precise.
Bertrand Russell
Sourcery
Working with
since
•
1998 »
Basic
•
Pascal
•
1999 »
HTML
•
ASP
•
2000 »
SQL
•
CSS
•
JS
•
VB
•
2001 »
Java
•
PHP
•
2002 »
C#
•
ASP.NET
•
2003 »
XSLT
/
XPath
•
2004 »
Prolog
•
2006 »
SharePoint
•
2008 »
F#
• Python •
Lisp
•
2011 »
Go
• WebGL •
Node.js
• CoffeeScript •
2012 »
OpenGL
•
GLSL
•
2015 »
Haskell
•
2016 »
TypeScript
•
Elm
•
2017 »
PureScript
•
Vue.js
•
GraphQL
•
2018 »
Lua
Details..
Making-of
Site theme: none; hand-crafted.
Static site gen:
HaXtatic
.
Icons, logos, fonts: © respective owners.