From 9d6c16edf1dbd479a986370d850e8b1bc5751736 Mon Sep 17 00:00:00 2001 From: malte Date: Mon, 6 Jun 2022 13:40:56 +0200 Subject: [PATCH] feat(blog): add fully refactored blog add blog BREAKING CHANGE: add fully refactored blog --- Gemfile | 12 +- Gemfile.lock | 258 ++------- LICENSE | 890 ++++++++---------------------- README.md | 64 ++- _config.yml | 185 +++++-- _data/Unbenanntes Dokument | 48 -- _data/acc_details.yml | 7 - _data/education.yml | 17 - _data/experience.yml | 51 -- _data/projects.yml | 39 -- _data/skills.yml | 60 -- _includes/a.html | 2 - _includes/about.html | 13 - _includes/education.html | 6 - _includes/experience.html | 6 - _includes/footer.html | 339 +++++++++++- _includes/google-analytics.html | 10 - _includes/head.html | 77 ++- _includes/header.html | 105 ---- _includes/left.html | 29 - _includes/more.html | 8 - _includes/projects.html | 6 - _includes/right.html | 29 - _includes/skills.html | 6 - _includes/top-middle.html | 29 - _includes/top-right.html | 29 - _includes/top.html | 29 - _layouts/default.html | 44 +- _site/LICENSE | 890 ++++++++---------------------- _site/README.md | 1 - _site/assets/main.css | 1 - _site/images/profile.jpg | Bin 36343 -> 0 bytes _site/images/test_profile.jpg | Bin 29572 -> 0 bytes _site/index-1.html | 9 - _site/index.html | 938 +++++++++++++++++++++----------- images/profile.jpg | Bin 36343 -> 0 bytes images/test_profile.jpg | Bin 29572 -> 0 bytes index-1.html | 9 - index.md | 9 - 39 files changed, 1707 insertions(+), 2548 deletions(-) delete mode 100644 _data/Unbenanntes Dokument delete mode 100644 _data/acc_details.yml delete mode 100644 _data/education.yml delete mode 100644 _data/experience.yml delete mode 100644 _data/projects.yml delete mode 100644 _data/skills.yml delete mode 100644 _includes/a.html delete mode 100644 _includes/about.html delete mode 100644 _includes/education.html delete mode 100644 _includes/experience.html delete mode 100644 _includes/google-analytics.html delete mode 100644 _includes/header.html delete mode 100644 _includes/left.html delete mode 100644 _includes/more.html delete mode 100644 _includes/projects.html delete mode 100644 _includes/right.html delete mode 100644 _includes/skills.html delete mode 100644 _includes/top-middle.html delete mode 100644 _includes/top-right.html delete mode 100644 _includes/top.html delete mode 100644 _site/README.md delete mode 100644 _site/assets/main.css delete mode 100644 _site/images/profile.jpg delete mode 100644 _site/images/test_profile.jpg delete mode 100644 _site/index-1.html delete mode 100644 images/profile.jpg delete mode 100644 images/test_profile.jpg delete mode 100644 index-1.html delete mode 100644 index.md diff --git a/Gemfile b/Gemfile index bd2ef18..65a2ea1 100644 --- a/Gemfile +++ b/Gemfile @@ -1,9 +1,5 @@ -source "https://rubygems.org" +source 'https://rubygems.org' +gem 'jekyll-paginate' -gem "github-pages", group: :jekyll_plugins - -# Windows does not include zoneinfo files, so bundle the tzinfo-data gem -gem "tzinfo-data", platforms: [:mingw, :mswin, :x64_mingw, :jruby] - -# Performance-booster for watching directories on Windows -gem "wdm", "~> 0.1.0" if Gem.win_platform? +gem "jekyll", "~> 4.0" +gem "rake" diff --git a/Gemfile.lock b/Gemfile.lock index 3cf2b5c..ea5343c 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,249 +1,71 @@ GEM remote: https://rubygems.org/ specs: - activesupport (4.2.11.1) - i18n (~> 0.7) - minitest (~> 5.1) - thread_safe (~> 0.3, >= 0.3.4) - tzinfo (~> 1.1) - addressable (2.7.0) + addressable (2.8.0) public_suffix (>= 2.0.2, < 5.0) - coffee-script (2.4.1) - coffee-script-source - execjs - coffee-script-source (1.11.1) colorator (1.1.0) - commonmarker (0.17.13) - ruby-enum (~> 0.5) - concurrent-ruby (1.1.6) - dnsruby (1.61.2) - addressable (~> 2.5) - em-websocket (0.5.1) + concurrent-ruby (1.1.10) + em-websocket (0.5.3) eventmachine (>= 0.12.9) - http_parser.rb (~> 0.6.0) - ethon (0.12.0) - ffi (>= 1.3.0) + http_parser.rb (~> 0) eventmachine (1.2.7) - execjs (2.7.0) - faraday (0.15.4) - multipart-post (>= 1.2, < 3) - ffi (1.13.1) + ffi (1.15.5) forwardable-extended (2.6.0) - gemoji (3.0.1) - github-pages (198) - activesupport (= 4.2.11.1) - github-pages-health-check (= 1.16.1) - jekyll (= 3.8.5) - jekyll-avatar (= 0.6.0) - jekyll-coffeescript (= 1.1.1) - jekyll-commonmark-ghpages (= 0.1.5) - jekyll-default-layout (= 0.1.4) - jekyll-feed (= 0.11.0) - jekyll-gist (= 1.5.0) - jekyll-github-metadata (= 2.12.1) - jekyll-mentions (= 1.4.1) - jekyll-optional-front-matter (= 0.3.0) - jekyll-paginate (= 1.1.0) - jekyll-readme-index (= 0.2.0) - jekyll-redirect-from (= 0.14.0) - jekyll-relative-links (= 0.6.0) - jekyll-remote-theme (= 0.3.1) - jekyll-sass-converter (= 1.5.2) - jekyll-seo-tag (= 2.5.0) - jekyll-sitemap (= 1.2.0) - jekyll-swiss (= 0.4.0) - jekyll-theme-architect (= 0.1.1) - jekyll-theme-cayman (= 0.1.1) - jekyll-theme-dinky (= 0.1.1) - jekyll-theme-hacker (= 0.1.1) - jekyll-theme-leap-day (= 0.1.1) - jekyll-theme-merlot (= 0.1.1) - jekyll-theme-midnight (= 0.1.1) - jekyll-theme-minimal (= 0.1.1) - jekyll-theme-modernist (= 0.1.1) - jekyll-theme-primer (= 0.5.3) - jekyll-theme-slate (= 0.1.1) - jekyll-theme-tactile (= 0.1.1) - jekyll-theme-time-machine (= 0.1.1) - jekyll-titles-from-headings (= 0.5.1) - jemoji (= 0.10.2) - kramdown (= 2.3.1) - liquid (= 4.0.0) - listen (= 3.1.5) - mercenary (~> 0.3) - minima (= 2.5.0) - nokogiri (>= 1.11.0, < 2.0) - rouge (= 2.2.1) - terminal-table (~> 1.4) - github-pages-health-check (1.16.1) - addressable (~> 2.3) - dnsruby (~> 1.60) - octokit (~> 4.0) - public_suffix (~> 3.0) - typhoeus (~> 1.3) - html-pipeline (2.13.0) - activesupport (>= 2) - nokogiri (>= 1.11.0) - http_parser.rb (0.6.0) - i18n (0.9.5) + http_parser.rb (0.8.0) + i18n (1.10.0) concurrent-ruby (~> 1.0) - jekyll (3.8.5) + jekyll (4.2.2) addressable (~> 2.4) colorator (~> 1.0) em-websocket (~> 0.5) - i18n (~> 0.7) - jekyll-sass-converter (~> 1.0) + i18n (~> 1.0) + jekyll-sass-converter (~> 2.0) jekyll-watch (~> 2.0) - kramdown (~> 2.3.1) + kramdown (~> 2.3) + kramdown-parser-gfm (~> 1.0) liquid (~> 4.0) - mercenary (~> 0.3.3) + mercenary (~> 0.4.0) pathutil (~> 0.9) - rouge (>= 1.7, < 4) + rouge (~> 3.0) safe_yaml (~> 1.0) - jekyll-avatar (0.6.0) - jekyll (~> 3.0) - jekyll-coffeescript (1.1.1) - coffee-script (~> 2.2) - coffee-script-source (~> 1.11.1) - jekyll-commonmark (1.3.1) - commonmarker (~> 0.14) - jekyll (>= 3.7, < 5.0) - jekyll-commonmark-ghpages (0.1.5) - commonmarker (~> 0.17.6) - jekyll-commonmark (~> 1) - rouge (~> 2) - jekyll-default-layout (0.1.4) - jekyll (~> 3.0) - jekyll-feed (0.11.0) - jekyll (~> 3.3) - jekyll-gist (1.5.0) - octokit (~> 4.2) - jekyll-github-metadata (2.12.1) - jekyll (~> 3.4) - octokit (~> 4.0, != 4.4.0) - jekyll-mentions (1.4.1) - html-pipeline (~> 2.3) - jekyll (~> 3.0) - jekyll-optional-front-matter (0.3.0) - jekyll (~> 3.0) + terminal-table (~> 2.0) jekyll-paginate (1.1.0) - jekyll-readme-index (0.2.0) - jekyll (~> 3.0) - jekyll-redirect-from (0.14.0) - jekyll (~> 3.3) - jekyll-relative-links (0.6.0) - jekyll (~> 3.3) - jekyll-remote-theme (0.3.1) - jekyll (~> 3.5) - rubyzip (>= 1.2.1, < 3.0) - jekyll-sass-converter (1.5.2) - sass (~> 3.4) - jekyll-seo-tag (2.5.0) - jekyll (~> 3.3) - jekyll-sitemap (1.2.0) - jekyll (~> 3.3) - jekyll-swiss (0.4.0) - jekyll-theme-architect (0.1.1) - jekyll (~> 3.5) - jekyll-seo-tag (~> 2.0) - jekyll-theme-cayman (0.1.1) - jekyll (~> 3.5) - jekyll-seo-tag (~> 2.0) - jekyll-theme-dinky (0.1.1) - jekyll (~> 3.5) - jekyll-seo-tag (~> 2.0) - jekyll-theme-hacker (0.1.1) - jekyll (~> 3.5) - jekyll-seo-tag (~> 2.0) - jekyll-theme-leap-day (0.1.1) - jekyll (~> 3.5) - jekyll-seo-tag (~> 2.0) - jekyll-theme-merlot (0.1.1) - jekyll (~> 3.5) - jekyll-seo-tag (~> 2.0) - jekyll-theme-midnight (0.1.1) - jekyll (~> 3.5) - jekyll-seo-tag (~> 2.0) - jekyll-theme-minimal (0.1.1) - jekyll (~> 3.5) - jekyll-seo-tag (~> 2.0) - jekyll-theme-modernist (0.1.1) - jekyll (~> 3.5) - jekyll-seo-tag (~> 2.0) - jekyll-theme-primer (0.5.3) - jekyll (~> 3.5) - jekyll-github-metadata (~> 2.9) - jekyll-seo-tag (~> 2.0) - jekyll-theme-slate (0.1.1) - jekyll (~> 3.5) - jekyll-seo-tag (~> 2.0) - jekyll-theme-tactile (0.1.1) - jekyll (~> 3.5) - jekyll-seo-tag (~> 2.0) - jekyll-theme-time-machine (0.1.1) - jekyll (~> 3.5) - jekyll-seo-tag (~> 2.0) - jekyll-titles-from-headings (0.5.1) - jekyll (~> 3.3) + jekyll-sass-converter (2.2.0) + sassc (> 2.0.1, < 3.0) jekyll-watch (2.2.1) listen (~> 3.0) - jemoji (0.10.2) - gemoji (~> 3.0) - html-pipeline (~> 2.2) - jekyll (~> 3.0) - kramdown (2.3.1) - liquid (4.0.0) - listen (3.1.5) - rb-fsevent (~> 0.9, >= 0.9.4) - rb-inotify (~> 0.9, >= 0.9.7) - ruby_dep (~> 1.2) - mercenary (0.3.6) - mini_portile2 (2.4.0) - minima (2.5.0) - jekyll (~> 3.5) - jekyll-feed (~> 0.9) - jekyll-seo-tag (~> 2.1) - minitest (5.14.1) - multipart-post (2.1.1) - nokogiri (>= 1.11.0) - mini_portile2 (~> 2.4.0) - octokit (4.14.0) - sawyer (~> 0.8.0, >= 0.5.3) + kramdown (2.4.0) + rexml + kramdown-parser-gfm (1.1.0) + kramdown (~> 2.0) + liquid (4.0.3) + listen (3.7.1) + rb-fsevent (~> 0.10, >= 0.10.3) + rb-inotify (~> 0.9, >= 0.9.10) + mercenary (0.4.0) pathutil (0.16.2) forwardable-extended (~> 2.6) - public_suffix (3.1.1) - rb-fsevent (0.10.4) + public_suffix (4.0.7) + rake (13.0.6) + rb-fsevent (0.11.1) rb-inotify (0.10.1) ffi (~> 1.0) - rouge (2.2.1) - ruby-enum (0.7.2) - i18n - ruby_dep (1.5.0) - rubyzip (2.3.0) + rexml (3.2.5) + rouge (3.29.0) safe_yaml (1.0.5) - sass (3.7.4) - sass-listen (~> 4.0.0) - sass-listen (4.0.0) - rb-fsevent (~> 0.9, >= 0.9.4) - rb-inotify (~> 0.9, >= 0.9.7) - sawyer (0.8.2) - addressable (>= 2.3.5) - faraday (> 0.8, < 2.0) - terminal-table (1.8.0) + sassc (2.4.0) + ffi (~> 1.9) + terminal-table (2.0.0) unicode-display_width (~> 1.1, >= 1.1.1) - thread_safe (0.3.6) - typhoeus (1.3.1) - ethon (>= 0.9.0) - tzinfo (1.2.7) - thread_safe (~> 0.1) - unicode-display_width (1.6.0) + unicode-display_width (1.8.0) PLATFORMS - ruby + x86_64-linux DEPENDENCIES - github-pages - tzinfo-data + jekyll (~> 4.0) + jekyll-paginate + rake BUNDLED WITH - 2.0.1 + 2.3.14 diff --git a/LICENSE b/LICENSE index 94a9ed0..ff6ecfa 100644 --- a/LICENSE +++ b/LICENSE @@ -1,674 +1,216 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - Copyright (C) - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2015-2016 Huxpro + + https://github.com/Huxpro/ + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + +======================================================================= +Hux Blog Subcomponents: + +The Hux Blog project contains subcomponents with separate copyright +notices and license terms. Your use of the source code for the these +subcomponents is subject to the terms and conditions of the following +licenses. + +(MIT License) Clean Blog Jekyll Theme: https://github.com/BlackrockDigital/startbootstrap-clean-blog-jekyll/ +https://github.com/BlackrockDigital/startbootstrap-clean-blog-jekyll/blob/master/LICENSE +Copyright (c) 2013-2016 Blackrock Digital LLC. diff --git a/README.md b/README.md index 31673ef..9de9166 100644 --- a/README.md +++ b/README.md @@ -1 +1,63 @@ -# maltequast.github.io +[Hux Blog](https://huangxuan.me) +================================ + +> I never expect this becomes popular. + +![](http://huangxuan.me/img/blog-desktop.jpg) + + +[User Manual 👉](_doc/Manual.md) +-------------------------------------------------- + +### Getting Started + +1. You will need [Ruby](https://www.ruby-lang.org/en/) and [Bundler](https://bundler.io/) to use [Jekyll](https://jekyllrb.com/). Following [Using Jekyll with Bundler](https://jekyllrb.com/tutorials/using-jekyll-with-bundler/) to fullfill the enviromental requirement. + +2. Installed dependencies in the `Gemfile`: + +```sh +$ bundle install +``` + +3. Serve the website (`localhost:4000` by default): + +```sh +$ bundle exec jekyll serve # alternatively, npm start +``` + +### Development (Build From Source) + +To modify the theme, you will need [Grunt](https://gruntjs.com/). There are numbers of tasks you can find in the `Gruntfile.js`, includes minifing JavaScript, compiling `.less` to `.css`, adding banners to keep the Apache 2.0 license intact, watching for changes, etc. + +Yes, they were inherited and are extremely old-fashioned. There is no modularization and transpilation, etc. + +Critical Jekyll-related code are located in `_include/` and `_layouts/`. Most of them are [Liquid](https://github.com/Shopify/liquid/wiki) templates. + +This theme uses the default code syntax highlighter of jekyll, [Rouge](http://rouge.jneen.net/), which is compatible with Pygments theme so just pick any pygments theme css (e.g. from [here](http://jwarby.github.io/jekyll-pygments-themes/languages/javascript.html) and replace the content of `highlight.less`. + + +### Interesting to know more? Checkout the [full user manual](_doc/Manual.md)! + + +Other Resources +--------------- + +Ports +- [**Hexo**](https://github.com/Kaijun/hexo-theme-huxblog) by @kaijun +- [**React-SSR**](https://github.com/LucasIcarus/huxpro.github.io/tree/ssr) by @LucasIcarus + +[Starter/Boilerplate](https://github.com/huxpro/huxblog-boilerplate) +- Out of date. Helps wanted for updating it on par with the main repo + +Translation +- [🇨🇳 中文文档(有点过时)](https://github.com/Huxpro/huxpro.github.io/blob/master/_doc/README.zh.md) + + +License +------- + +Apache License 2.0. +Copyright (c) 2015-present Huxpro + +Hux Blog is derived from [Clean Blog Jekyll Theme (MIT License)](https://github.com/BlackrockDigital/startbootstrap-clean-blog-jekyll/) +Copyright (c) 2013-2016 Blackrock Digital LLC. diff --git a/_config.yml b/_config.yml index 87d9973..cb1f7b3 100644 --- a/_config.yml +++ b/_config.yml @@ -1,64 +1,131 @@ -# Site -repository: sproogen/resume-theme -# favicon: images/favicon.ico - -# Personal info -name: Malte Quast -title: Data Analytics Consultant -email: malte.quast@gmail.de - -# Social links -twitter_username: QuastMalte -github_username: maltequast -# dribbble_username: jekyll -# facebook_username: jekyll -# flickr_username: jekyll -#instagram_username: chillwildlife -linkedin_username: malte-quast-0452a7121 -# pinterest_username: jekyll -#youtube_username: globalmtb -# googleplus_username: +jekyll - -# About Section -about_title: Über mich -about_profile_image: images/profile.jpg -about_content: | # this will include new lines to allow paragraphs - Hi, mein Name ist Malte. Ich arbeite aktuell bei der Datadrivers GmbH als Data Analytics Consultant und berate Deutschlandweit Unternehmen im Bereich Predictive Analytics und Datenverarbeitung in Datawarehouses. Durch viele unterschiedliche Kunden kenne ich mich in vielen Bereichen wie Cloud oder On-Premises Lösungen aus und berate ebenfalls im Bereich BI Lösungen wie beispielsweise Tableau. Automatisierung und Transparenz liegen mir bei den Projekten besonders am Herzen um die Kundenwünsche möglichst genau zu erfüllen und nachhaltigen Wachstum zu garantieren. Bei Fragen zu Projekten meldet euch gerne bei mir. - - Mein Fachgebiet ist: Machine- und Deep-Learning - -#Skills Section -skills_title: Skills - -# Projects Section -projects_title: Projektauswahl - -# Experience Section -experience_title: Erfahrung - -# Education Section -educaton_title: Bildung - -# More Section -more_title: Mehr über mich -more_content: | # this will include new lines to allow paragraphs - Neben meinem großen Interesse an Statistik und Machine Learning interessiere ich mich ebenso für: - - Reisen - - Golf - - Fußball - - Squashen - -# Footer -footer_show_references: true +# Site settings +title: Maltes ML Blog +SEOTitle: Maltes ML Blog | Maltes Blog +header-img: img/about-bg.jpg +email: malte.quast@gmail.com +description: "Maltes Blog | Machine Learning, Automation, MLOps, Python | Datadrivers" +keyword: "Machine Learning, Deep Learning, Pytest, Python, Automation, Cloud" +url: "https://malte.quast.de" # your host, for absolute URL +baseurl: "" # for example, '/blog' if your blog hosted on 'host/blog' + +# Publish posts or collection documents with a future date. +future: true + +# SNS settings +RSS: false +github_username: maltequast +twitter_username: quastmalte +#facebook_username: huxpro +#linkedin_username: firstname-lastname-idxxxx + + # Build settings -remote_theme: sproogen/resume-theme +# from 2016, 'pygments' is unsupported on GitHub Pages. Use 'rouge' for highlighting instead. +highlighter: rouge +permalink: pretty +paginate: 10 +exclude: ["less","node_modules","Gruntfile.js","package.json","README.md","README.zh.md"] +anchorjs: true # if you want to customize anchor. check out line:181 of `post.html` +# If you have timezone issue (e.g. #68) in China, uncomment to use this: +#timezone: CN + + + +# Gems +# from PR#40, to support local preview for Jekyll 3.0 +# make sure you have this gem installed +# `$ gem install jekyll-paginate` +plugins: [jekyll-paginate] + + + +# Markdown settings +# replace redcarpet to kramdown, +# although redcarpet can auto highlight code, the lack of header-id make the catalog impossible, so I switch to kramdown +# document: http://jekyllrb.com/docs/configuration/#kramdown +markdown: kramdown +kramdown: + input: GFM # use Github Flavored Markdown !important + syntax_highlighter_opts: + span: + line_numbers: false + block: + line_numbers: true + start_line: 1 + + + +# Disqus settings +#disqus_username: hux + +# Netease settings +#netease_comment: false + + + +# Analytics settings +# Baidu Analytics +# ba_track_id: [your track id] + +# Google Analytics +#ga_track_id: 'UA-49627206-1' # Format: UA-xxxxxx-xx +#ga_domain: huangxuan.me + + + +# Sidebar settings +sidebar: true # whether or not using Sidebar. +sidebar-about-description: "Always asking myself - What's the key to success as a Data Scientist?" +sidebar-avatar: https://avatars.githubusercontent.com/u/40795540?s=400&u=61b6b9370a6d0c1b9bd11eaa47ce8a1ec4c51d8c&v=4 # use absolute URL, seeing it's used in both `/` and `/about/` + + + +# Featured Tags +featured-tags: fakse # whether or not using Feature-Tags +featured-condition-size: 1 # A tag will be featured if the size of it is more than this condition value + + + +# Progressive Web Apps +chrome-tab-theme-color: "#000000" +service-worker: true + + + +# MathJax rendering for layout:page (e.g. post preview) +page-mathjax: false -sass: - sass_dir: _sass - style: compressed -plugins: - - jekyll-seo-tag -theme: jekyll-theme-cayman \ No newline at end of file +# Friends +#friends: [ +# { + # title: "Su", + # href: "http://su.gallery/" + # },{ +# title: "乱序(Midare)", +# href: "http://mida.re/" +# },{ +# title: "Sherry Woo", +# href: "https://sherrywoo.me/" +# },{ +# title: "Kun Qian", +# href: "http://kunq.me" +# },{ +# title: "Ebn Zhang", +# href: "http://ebnbin.com/" +# },{ +# title: "SmdCn", +# href: "http://blog.smdcn.net" +# },{ +# title: "JiyinYiyong", +# href: "http://tiye.me/" +# },{ +# title: "DHong Say", +# href: "http://dhong.co" +# },{ +# title: "尹峰以为", +# href: "http://ingf.github.io/" +# } +#] diff --git a/_data/Unbenanntes Dokument b/_data/Unbenanntes Dokument deleted file mode 100644 index 6ddd6ad..0000000 --- a/_data/Unbenanntes Dokument +++ /dev/null @@ -1,48 +0,0 @@ -- company: Datadrivers GmbH - link: datadrivers.de - job_title: Data Analytics Consultant - dates: seit März 2018 - quote: > - Solving 21st century problems by diging holes and making game changing products - description: | # this will include new lines to allow paragraphs - Jeder von uns besitzt wertvolle Daten. Diese in eine Struktur zu bringen und zu wertschaffende und zukunftsweisende Analysen zu betreiben treibt mich an. - -- company: Schnitzeljäger GbR - link: schnitzeljaeger.de - job_title: Gründer - dates: seit Juni 2017 - quote: > - Connect the digital and real world - description: | # this will include new lines to allow paragraphs - Ich habe dieses Unternehmen gegründet und das Ziel war es eine Gruppe von Menschen durch einen spielerischen Ansatz durch die Stadt zu führen um neue Spots und seinen gegenüber kennenzulernen. Mithilfe einer iOS App können sich die Spieler durch die Stadt rätseln und so neue Locations kennenlernen und knifflige Rätsel lösen. Zu lösende Aufgaben sind - - Entwicklung einer App mittels Cordova & Framework7 für iOS - Geolokalisierung & Geofences in OpenStreetMaps - Lizenzrechtmanagement - Webseitenerstellung & SEO Mangagement (www.schnitzeljaeger.de) - Datenauswertung von Google Analytics, iTunes Connect & Google Adwords - Erstellung von Datenbanken (MySQL) & der zugehörigen REST API in PHP - -- company: Accenture Deutschland Gmbh - link: accenture.com - job_title: Senior Analyst - dates: November 2017 - Februar 2018 - description: | # this will include new lines to allow paragraphs - - * Entwicklung von nativen iOS Applikationen mittels Swift - * Arbeiten mit Xcode 9 - * Einarbeitung in MongoDB - * Training in Hadoop - -- company: Airbus Deutschland Gmbh - link: airbus.com - job_title: Werkstudent - dates: 2012 - 2017 - description: | # this will include new lines to allow paragraphs - Zur Finanzierung und Weiterbildung habe ich während meines Studiums bei Airbus in Hamburg gearbeitet. Diese Zeit hat nicht nur berufliche Erfahrung, sondern ebenfalls wertvolle Lebenserfahrung geschenkt. Neben den eigenständigen Projekten die mir anvertraut worden sind, durfte ich ebenfalls die Herausforderungen und Lösungen eines Großkonzerns kennenlernen. - - * Entwicklung und Analyse von unterschiedlichsten Daten zur Mehrwertgenerierung und Entscheidungsfindung - * Analyse & Optimierung von Arbeitsprozessen mittels unterschiedlichster Methoden - * Unterstützung von Aufgaben des Projektmanagements - * Integration und Implementierung eines Sharepoint Servers - * Optimierung, Strukturierung und Organisation eines Enterprise Wissensmanagementsystems diff --git a/_data/acc_details.yml b/_data/acc_details.yml deleted file mode 100644 index 93c34bf..0000000 --- a/_data/acc_details.yml +++ /dev/null @@ -1,7 +0,0 @@ - Neben meinem großen Interesse an Statistik und Machine Learning interessiere ich mich ebenso für: - - Geolokalisierung & Geofences in OpenStreetMaps - - Lizenzrechtmanagement - - Webseitenerstellung & SEO Mangagement (www.schnitzeljaeger.de) - - Datenauswertung von Google Analytics, iTunes Connect & Google Adwords - - Erstellung von Datenbanken (MySQL) & der zugehörigen REST API in PHP - diff --git a/_data/education.yml b/_data/education.yml deleted file mode 100644 index 8e96e50..0000000 --- a/_data/education.yml +++ /dev/null @@ -1,17 +0,0 @@ -- name: Udacity - dates: 2018 - 2019 - qualification: Nanodegree Deep Learning - quote: > - Unterschiedliche Projekte zur Bild und Texterkennung - description: | # this will include new lines to allow paragraphs - In dieser Zeit vertiefte ich mein Wissen im Bereich neuronale Netzwerke. Hierbei wurden unterschiedlichste Technologien und Bibliotheken zur Zielerreichung genutzt. Unter Ausnutzung von GPUs konnten mittels Pytorch, Tensorflow und Keras verschiedenste Problemstellungen gelöst und optimiert werden. Eine größere Projektauswahl kann im Github Repository gefunden werden. - -- name: UHH - HBS Hamburg Business School - dates: 2011 - 2017 - qualification: B.Sc. & M.Sc. Betriebswirtschaftslehre mit Schwerpunkt Statistik - quote: > - Masterarbeit: Variablenselektion im Adaptive Elastic-Net - Note: 1,3 - - Bachelorarbeit: Die Bewertung von Optionen im Rahmen des Modells von Black & Scholes - Note 1,7 - description: | # this will include new lines to allow paragraphs - Während meiner Zeit an der Universität Hamburg habe ich mich auf den Bereich Statistik spezialisiert und wertvolle Kenntnisse im Bereich Machine Learning, Optimierung und Simulation erlangt. Durch die Vielzahl an unterschiedlichen Modellen konnte ich dort ein breites Spektrum und fundiertes Verständnis in den unterschiedlichsten Disziplinen erlangen. diff --git a/_data/experience.yml b/_data/experience.yml deleted file mode 100644 index e6dbbd0..0000000 --- a/_data/experience.yml +++ /dev/null @@ -1,51 +0,0 @@ -- company: Datadrivers GmbH - link: datadrivers.de - job_title: Data Analytics Consultant - dates: seit März 2018 - description: | # this will include new lines to allow paragraphs - Die Datadrivers GmbH ist eine junge Unternehmensberatung aus Hamburg. Durch die Erstellung von datengetriebener IT-Infrastruktur und digitale Transformation sorgt die Datadrivers GmbH für ein nachhaltiges Wachstum. Meine Aufgabe im Unternehmen ist die Konsolidierung, Aggregation und Analyse von Daten. Dies kann über klassische ETL Pipelines, Datawarehouses und BI Tools erfolgen oder aber im Stile hochkomplexen Analysemodellen zur Erhöhung von Prognosegenauigkeiten oder zur Lösung von Klassifikationsproblemen. Bei den Datadrivers beschäftige ich mich vorrangig mit der Beschaffungs und Bereinigung von Daten, sowie der Modellerstellung durch Machine Learning oder Deep Learning Modellen. Meine Antreiber sind die immer neuen Herausforderungen und Technologien zu bewältigen und neue wertschaffende Lösungen generieren. In den unterschiedlichen Projekten arbeitete ich bereits mit - * AWS Redshift, S3, Glue, Sagemaker, EC2 - * Talend, Spark, Cloudera - * Python, PySpark, R - * Pandas, Numpy, Sklearn, spaCy, nltk, xgboost und weitere - * Keras, Tensorflow, Pytorch, pillow, openCV - * PostgreSQL, MySQL, Redshift - * Git - * Ubuntu, Redhat, Windows - -- company: Schnitzeljäger GbR - link: schnitzeljaeger.de - job_title: Gründer - dates: seit Juni 2017 - description: | # this will include new lines to allow paragraphs - Ich habe dieses Unternehmen gegründet und das Ziel war es eine Gruppe von Menschen durch einen spielerischen Ansatz durch die Stadt zu führen um neue Spots und seinen gegenüber kennenzulernen. Mithilfe einer iOS App können sich die Spieler durch die Stadt rätseln und so neue Locations kennenlernen und knifflige Rätsel lösen. Zu lösende Aufgaben sind - * Entwicklung einer App mittels Cordova & Framework7 für iOS - * Geolokalisierung & Geofences in OpenStreetMaps - * Lizenzrechtmanagement - * Webseitenerstellung & SEO Mangagement - * Datenauswertung von Google Analytics, iTunes Connect & Google Adwords - * Erstellung von Datenbanken (MySQL) & der zugehörigen REST API in PHP - -- company: Accenture Deutschland GmbH - link: accenture.com - job_title: Senior Analyst - dates: November 2017 - Februar 2018 - description: | # this will include new lines to allow paragraphs - Im Bereich der Technologieberatung und Digitalisierung habe ich dort unterschiedliche Systemlösungen analysiert, entwickelt und implementiert. In diesem Umfeld habe ich gelernt auf häufig wechselnde Anforderungen zu agieren. Weiterhin konnte ich hier meine Flexibilität und Belastbarkeit unter Beweis stellen und Lösungen für den Kunden in die Wege leiten. Der inhaltliche Schwerpunkt bezog sich vor allem auf - * Entwicklung von nativen iOS Applikationen - * Erstellung und Analyse von Data Lakes in NoSQL - * Data Preprocessing und Erstellen und Testen unterschiedlichster Machine Learning Modelle - * Erste Erfahrungen im Big Data Bereich - -- company: Airbus Deutschland GmbH - link: airbus.com - job_title: Werkstudent - dates: 2012 - 2017 - description: | # this will include new lines to allow paragraphs - Zur Finanzierung und Weiterbildung habe ich während meines Studiums bei Airbus in Hamburg gearbeitet. Diese Zeit hat nicht nur berufliche Erfahrung, sondern ebenfalls wertvolle Lebenserfahrung geschenkt. Neben den eigenständigen Projekten die mir anvertraut worden sind, durfte ich ebenfalls die Herausforderungen und Lösungen eines Großkonzerns kennenlernen. - - * Entwicklung und Analyse von unterschiedlichsten Daten zur Mehrwertgenerierung und Entscheidungsfindung - * Analyse & Optimierung von Arbeitsprozessen mittels unterschiedlichster Methoden - * Unterstützung von Aufgaben des Projektmanagements - * Integration und Implementierung eines Sharepoint Servers - * Optimierung, Strukturierung und Organisation eines Enterprise Wissensmanagementsystems diff --git a/_data/projects.yml b/_data/projects.yml deleted file mode 100644 index d5eb70d..0000000 --- a/_data/projects.yml +++ /dev/null @@ -1,39 +0,0 @@ -- name: Zeitreihenanalyse - quote: > - Forecast Erstellung durch eine Zeitreihenanalyse mit Xgboost durch Grid Search und Bayesian model-based optimization - description: | # this will include new lines to allow paragraphs - Ein sehr interessantes Projekt mit dem Ziel zur Automatisierung und Verbesserung von Prognosen. Ein herkömmlichs Modell mit Facebooks Prophet war nicht sonderlich vielversprechend und führte zu sehr hohen MSE Werten. Eine Lösung durch die Entwicklung eines XGboost Modells, dass sehr schnell und zuverlässig den MSE als Kennzahl senkte erwies sich als vielversprechend. Hierbei wurde stark auf die Automatisierung aus einem Datawarehouse geachtet. Daten mussten bereinigt und standardisiert werden, sowie die Identifikation von Outliern. Weitere Analysen haben ergeben, dass durch das Modell 90 % der Varianz erklärt werden konnte. - -- name: Live - Sentimentanalyse - quote: > - Live Rest Schnittstelle für Twitter Hashtag Sentimente durch ein LSTM Network - description: | - In diesem Projekt wurde ein neuronales Netzwerk mit mehreren LSTM trainiert. Dieses diente dazu zu erkennen ob ein Hashtags positiv oder negativ bewertet werden kann. Weitere Technologien die zum Einsatz kamen sind Docker, Flask als Schnittstelle und Pytorch als Deep Learning Framework. - - -- name: Face Generation - quote: > - Zufällige Erstellung von Gesichtern mittels Deep convolutional generative adversarial networks (DCGAN) - description: | - Ziel dieses Projektes war es neue Gesichter auf Grundlage eines bestehenden Datensatzes zu erstellen. Hierbei wurde Pytorch als Framework genutzt und je ein Discriminator und Generator trainiert die durch langes Training in der Lage waren Bilder zu erstellen und zu schlechte Bilder als Fake zu identifizieren. Das Training fand auf einer GPU Instanz statt und die Tiefe des Netzwerkes waren entscheidend für die Dauer und Laufzeit der Modelle. - -- name: Dogbreed Classifier - github: maltequast/cnn_dog_breed_classification - quote: > - Klassifikation von über 130 Hunderassen in Pytorch mit CNN und Transfer Learning - description: | # this will include new lines to allow paragraphs - Innerhalb dieses Projektes habe ich mehrere Modelle zur Analyse und Identfikation von Hunderassen erstellt. Dazu kamen Technologien wie CUDA & Pytorch zum Einsatz. Die dahinterstehenden Modelle Resnet oder VGG16 wurden als Transfer Learning Referenz genutzt. Weiterhin konnte durch einen minimalen Datensatz eine Genauigkeitsverbesserung durch Bildmanipulation und Noise Reduction herbeigeführt werden. Parameteroptimierung und Datennormalisierung waren eine der grundlegenden Aufgaben. - -- name: Crawler Creation - quote: > - Python Crawler Erstellung mit Requests und BeautifulSoup - description: | - Erstellung von diversen Crawlern und untersuchen unterschiedlichster Webseiten durch die obigen Python Bibliotheken. Weitere Technologien die zum Einsatz kamen waren Docker, Docker-Compose für die jeweilige Lagerung und Scheduling durch Airflow. Die Daten wurden typischerweise in Datenbanken gesichert. - - -- name: Datawarehousing Projekte - quote: > - Erstellung von ETL Jobs und Datawarehouses durch unterschiedlichste Architekturen - description: | - Weitere realisierte Projekte waren Datawarehouses mit Data-Vault und Star Schema Architektur bzw. Head- und Version Modellierung. Die Automatisierung der Datawarehouses wurde durch Talend (DI und TAC) sowie Apache Airflow gebaut,terminiert und deployed. Die Produktionsumgebung hat zum Teil in der AWS Cloud wie auf Redshift, Glue (Spark) und ec2 Instanzen stattgefunden. Die jeweiligen Analysen der unterschiedlichsten Daten fand durch Tableau oder Microsoft Power BI statt und wurde einer Vielzahl an Stakeholdern zur Verfügung gestellt. - diff --git a/_data/skills.yml b/_data/skills.yml deleted file mode 100644 index 9b22d8b..0000000 --- a/_data/skills.yml +++ /dev/null @@ -1,60 +0,0 @@ -- name: Statistik - description: | - Durch Mein Studium erlangte ich bereits erste Kenntnisse im Bereich Statistik die mir im späteren Berufsleben viel halfen. Seien es jegliche Arten von Regressionsanalysen, Unsuper- oder Supervised Learning Modellen. - * Lasso, Ridge, Lasso, Adaptive Elastic-Net - * PCA, Faktorenanalysen, KMeans, DBSCAN - * Boosting & Bagging wie Gradient Boosting, XGboost und ähnliche - * Zeitenreihenanalysen mit SARIMA Modellen - * Statistische Qualitätskontrolle durch EWMA und CUSUM Karten - * Lineare Optimierung - * Deep Learning mit unterschiedlichen Techniken wie CNN, RNN, LSTM und GANs - * Word2Vec, AutoEncoder, CycleGans, Sentiment Analyse, Object Classification und andere -- name: Programmiersprachen - description: | - Python und R habe ich besonders viel in Projekten bzw. zu Universitätszwecken genutzt. Desweiteren kam mit der Zeit Java ins Spiel. Wesentliche Gründe hierfür sind Talend und andere Big Data Technologien. - * Python - * R - * Grundkenntnisse in Java - * (Git) - -- name: Big Data - description: | - Die jeweiligen Technologien wurden zu Kundenzwecken erlernt und sind in Produktivumgebungen implementiert. Hierbei ist zu erwähnen, dass spezielll die Hadoop Cluster ausschließlich zum Analyseeinsatz genutzt worden sind. Hierbei sind speziell HDFS (Datenspeicherung), Hive und Impala zum Einsatz gekommen. Spark hingegen wurde ebenfalls auch ohne ein Hadoop Cluster genutzt wie beispielsweise in AWS Glue. - * Spark - * Cloudera - * Hadoop - * PySpark - * Apache Airflow - * Talend DI - * Talend Administration Center - -- name: Datenbanken - description: | - Die Speicherung der Daten ist immer notwendig und die Verarbeitung der jeweiligen Tabellen / Collections in ETL / ELT Prozessen wichtig. Diese können durch unterschiedlichste Arten vollzogen werden. Hierbei war es immer wichtig Datenverarbeitung in SQL / NoSql zu realisieren. Die Modellierung sowie die zugrundeliegende Archtiektur wie Data Vault oder Star Schema zu berücksichtigen. - * MySQL / MariaDB - * AWS Redshift - * PostgreSQL - * MongoDB - -- name: Reporting - description: | - Bei den jeweiligen Unternehmen war es immer Ziel Daten zielgerichtet zu analysieren und Fragen beantworten zu können. Mit den beiden Leadern auf dem Feld war es mir stets möglich Fragestellungen zu beantworten und Insights zu gewinnen. - * Tableau - * Microsoft Power BI - - -- name: Cloud - description: | - Cloud Solutions sind die Zukunft und für kosteneffizientes Arbeiten unerlässlich. Der Einsatz von spaltenbasierten hoch performanten Datenbanken wie Redshift oder schnell trainierbar Machine Learning Modelle und hoch skalierbare Server wie bei Sagemaker ermöglichen die zielgerichtete Liveschaltung für Online Services. - * AWS EC2 - * Sagemaker - * Redshift - * Glue (Spark) - * Lambda - * API Gateway - -- name: Microservices - description: | - Für schnelleres Deployment und Teamarbeit hat es sich in mehreren Fällen angeboten auf Docker bzw. den dauerhaften Service Docker-Compose zu setzen. Speziell zum schnelleren Prototyping können Datenbanken schnell und effizient hochgezogen werden. Ebenso konnten Crawler schnell produktiv gesetzt werden durch Docker. - * Docker - * Docker-Compose diff --git a/_includes/a.html b/_includes/a.html deleted file mode 100644 index f2ece53..0000000 --- a/_includes/a.html +++ /dev/null @@ -1,2 +0,0 @@ -{% assign protocol = include.href | strip | slice: 0, 4 %} - \ No newline at end of file diff --git a/_includes/about.html b/_includes/about.html deleted file mode 100644 index d8de04c..0000000 --- a/_includes/about.html +++ /dev/null @@ -1,13 +0,0 @@ -
-

{{ site.about_title | default: "About Me" }}

-
- {%- if site.about_profile_image -%} -
- -
- {%- endif -%} -
- {{ site.about_content | strip | markdownify }} -
-
-
diff --git a/_includes/education.html b/_includes/education.html deleted file mode 100644 index 35c4a6e..0000000 --- a/_includes/education.html +++ /dev/null @@ -1,6 +0,0 @@ -
-

{{ site.education_title | default: "Bildung" }}

- {% for education in site.data.education %} - {% include {{ education.layout | default: 'left' | append: ".html" }} item=education %} - {% endfor %} -
diff --git a/_includes/experience.html b/_includes/experience.html deleted file mode 100644 index 98d54b5..0000000 --- a/_includes/experience.html +++ /dev/null @@ -1,6 +0,0 @@ -
-

{{ site.experience_title | default: "Experience" }}

- {% for experience in site.data.experience %} - {% include {{ experience.layout | default: 'left' | append: ".html" }} item=experience %} - {% endfor %} -
diff --git a/_includes/footer.html b/_includes/footer.html index 0fef946..28b6d57 100644 --- a/_includes/footer.html +++ b/_includes/footer.html @@ -1,9 +1,330 @@ -
\ No newline at end of file + +
+
+
+
+ + {% include sns-links.html center=true %} + + +
+
+
+
+ + + + + + + + + + + + + + + +{% if site.service-worker %} + + +{% endif %} + + + + + + + + +{% if page.plchart %} + + +{% endif %} + + +{% if page.title == 'Archive' %} + + + +{% endif %} + + + + + + +{% if site.ga_track_id %} + +{% endif %} + + + +{% if site.ba_track_id %} + +{% endif %} + + + +{% unless page.no-catalog %} + +{% endunless %} + + + +{% if page.multilingual %} + + +{% endif %} + + + \ No newline at end of file diff --git a/_includes/google-analytics.html b/_includes/google-analytics.html deleted file mode 100644 index 2888a2a..0000000 --- a/_includes/google-analytics.html +++ /dev/null @@ -1,10 +0,0 @@ - diff --git a/_includes/head.html b/_includes/head.html index ca53ec3..028fc7a 100644 --- a/_includes/head.html +++ b/_includes/head.html @@ -1,15 +1,72 @@ - - - + + + + + + + - {{ site.name }} | {{ site.title }} - {%- seo title=false -%} + + + {% case page.layout %} + {% when 'post' %} + + + {% if page.date %} + + {% endif %} + {% if page.author %} + + {% endif %} + {% for tag in page.tags %} + + {% endfor %} + {% else %} + + + {% endcase %} + + + - - + {% if page.title %}{{ page.title }} - {{ site.SEOTitle }}{% else %}{{ site.SEOTitle }}{% endif %} - {%- if jekyll.environment == 'production' and site.google_analytics -%} - {%- include google-analytics.html -%} - {%- endif -%} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/_includes/header.html b/_includes/header.html deleted file mode 100644 index 38a35ad..0000000 --- a/_includes/header.html +++ /dev/null @@ -1,105 +0,0 @@ -
-
-
-

{{ site.name | escape }}

-

{{ site.title | escape }}

-
-
-
    - {%- if site.dribbble_username -%} -
  • - - - -
  • - {%- endif -%} - {%- if site.facebook_username -%} -
  • - - - -
  • - {%- endif -%} - {%- if site.flickr_username -%} -
  • - - - -
  • - {%- endif -%} - {%- if site.github_username -%} -
  • - - - -
  • - {%- endif -%} - {%- if site.instagram_username -%} -
  • - - - -
  • - {%- endif -%} - {%- if site.linkedin_username -%} -
  • - - - -
  • - {%- endif -%} - {%- if site.xing_username -%} -
  • - - - -
  • - {%- endif -%} - {%- if site.pinterest_username -%} -
  • - - - -
  • - {%- endif -%} - {%- if site.twitter_username -%} -
  • - - - -
  • - {%- endif -%} - {%- if site.youtube_username -%} -
  • - - - -
  • - {%- endif -%} - {%- if site.googleplus_username -%} -
  • - - - -
  • - {%- endif -%} -
- - {%- if site.email -%} -

- Email: {{ site.email | escape }} -

- {%- endif -%} - {%- if site.phone -%} -

- Phone: {{ site.phone | escape }} -

- {%- endif -%} - {%- if site.website -%} -

- Web: {% include a.html href=site.website %}{{ site.website | escape }} -

- {%- endif -%} -
-
-
diff --git a/_includes/left.html b/_includes/left.html deleted file mode 100644 index 1a6f46c..0000000 --- a/_includes/left.html +++ /dev/null @@ -1,29 +0,0 @@ -
-
- {%- if include.item.name -%}

{{ include.item.name }}

{%- endif -%} - {%- if include.item.company -%}

{{ include.item.company }}

{%- endif -%} - {%- if include.item.link -%} - {% include a.html href=include.item.link class="link" %}{{ include.item.link }} - {%- endif -%} - {%- if include.item.job_title -%}

{{ include.item.job_title }}

{%- endif -%} - {%- if include.item.qualification -%}

{{ include.item.qualification }}

{%- endif -%} - {%- if include.item.dates -%}

{{ include.item.dates }}

{%- endif -%} - {% for job in include.item.jobs %} -

{{ job.title }}

-

{{ job.dates }}

- {% endfor %} - {%- if include.item.github -%} -

- - - -

- {%- endif -%} -
-
- {%- if include.item.quote -%} -

{{ include.item.quote }}

- {%- endif -%} - {{ include.item.description | strip | markdownify }} -
-
diff --git a/_includes/more.html b/_includes/more.html deleted file mode 100644 index 6c2ab72..0000000 --- a/_includes/more.html +++ /dev/null @@ -1,8 +0,0 @@ -
-

{{ site.more_title | default: "A Little More About Me" }}

-
-
- {{ site.more_content | strip | markdownify }} -
-
-
diff --git a/_includes/projects.html b/_includes/projects.html deleted file mode 100644 index fd8d4aa..0000000 --- a/_includes/projects.html +++ /dev/null @@ -1,6 +0,0 @@ -
-

{{ site.projects_title | default: "Projects" }}

- {% for project in site.data.projects %} - {% include {{ project.layout | default: 'left' | append: ".html" }} item=project %} - {% endfor %} -
diff --git a/_includes/right.html b/_includes/right.html deleted file mode 100644 index 0625e73..0000000 --- a/_includes/right.html +++ /dev/null @@ -1,29 +0,0 @@ -
-
- {%- if include.item.quote -%} -

{{ include.item.quote }}

- {%- endif -%} - {{ include.item.description | strip | markdownify }} -
-
- {%- if include.item.name -%}

{{ include.item.name }}

{%- endif -%} - {%- if include.item.company -%}

{{ include.item.company }}

{%- endif -%} - {%- if include.item.link -%} - {% include a.html href=include.item.link class="link" %}{{ include.item.link }} - {%- endif -%} - {%- if include.item.job_title -%}

{{ include.item.job_title }}

{%- endif -%} - {%- if include.item.qualification -%}

{{ include.item.qualification }}

{%- endif -%} - {%- if include.item.dates -%}

{{ include.item.dates }}

{%- endif -%} - {% for job in include.item.jobs %} -

{{ job.title }}

-

{{ job.dates }}

- {% endfor %} - {%- if include.item.github -%} -

- - - -

- {%- endif -%} -
-
diff --git a/_includes/skills.html b/_includes/skills.html deleted file mode 100644 index 13a585d..0000000 --- a/_includes/skills.html +++ /dev/null @@ -1,6 +0,0 @@ -
-

{{ site.skills_title | default: "Skills" }}

- {% for skill in site.data.skills %} - {% include {{ skill.layout | default: 'left' | append: ".html" }} item=skill %} - {% endfor %} -
diff --git a/_includes/top-middle.html b/_includes/top-middle.html deleted file mode 100644 index c7c5b93..0000000 --- a/_includes/top-middle.html +++ /dev/null @@ -1,29 +0,0 @@ -
-
- {%- if include.item.name -%}

{{ include.item.name }}

{%- endif -%} - {%- if include.item.company -%}

{{ include.item.company }}

{%- endif -%} - {%- if include.item.link -%} - {% include a.html href=include.item.link class="link" %}{{ include.item.link }} - {%- endif -%} - {%- if include.item.job_title -%}

{{ include.item.job_title }}

{%- endif -%} - {%- if include.item.qualification -%}

{{ include.item.qualification }}

{%- endif -%} - {%- if include.item.dates -%}

{{ include.item.dates }}

{%- endif -%} - {% for job in include.item.jobs %} -

{{ job.title }}

-

{{ job.dates }}

- {% endfor %} - {%- if include.item.github -%} -

- - - -

- {%- endif -%} -
-
- {%- if include.item.quote -%} -

{{ include.item.quote }}

- {%- endif -%} - {{ include.item.description | strip | markdownify }} -
-
diff --git a/_includes/top-right.html b/_includes/top-right.html deleted file mode 100644 index f893ff0..0000000 --- a/_includes/top-right.html +++ /dev/null @@ -1,29 +0,0 @@ -
-
- {%- if include.item.name -%}

{{ include.item.name }}

{%- endif -%} - {%- if include.item.company -%}

{{ include.item.company }}

{%- endif -%} - {%- if include.item.link -%} - {% include a.html href=include.item.link class="link" %}{{ include.item.link }} - {%- endif -%} - {%- if include.item.job_title -%}

{{ include.item.job_title }}

{%- endif -%} - {%- if include.item.qualification -%}

{{ include.item.qualification }}

{%- endif -%} - {%- if include.item.dates -%}

{{ include.item.dates }}

{%- endif -%} - {% for job in include.item.jobs %} -

{{ job.title }}

-

{{ job.dates }}

- {% endfor %} - {%- if include.item.github -%} -

- - - -

- {%- endif -%} -
-
- {%- if include.item.quote -%} -

{{ include.item.quote }}

- {%- endif -%} - {{ include.item.description | strip | markdownify }} -
-
diff --git a/_includes/top.html b/_includes/top.html deleted file mode 100644 index f18d78e..0000000 --- a/_includes/top.html +++ /dev/null @@ -1,29 +0,0 @@ -
-
- {%- if include.item.name -%}

{{ include.item.name }}

{%- endif -%} - {%- if include.item.company -%}

{{ include.item.company }}

{%- endif -%} - {%- if include.item.link -%} - {% include a.html href=include.item.link class="link" %}{{ include.item.link }} - {%- endif -%} - {%- if include.item.job_title -%}

{{ include.item.job_title }}

{%- endif -%} - {%- if include.item.qualification -%}

{{ include.item.qualification }}

{%- endif -%} - {%- if include.item.dates -%}

{{ include.item.dates }}

{%- endif -%} - {% for job in include.item.jobs %} -

{{ job.title }}

-

{{ job.dates }}

- {% endfor %} - {%- if include.item.github -%} -

- - - -

- {%- endif -%} -
-
- {%- if include.item.quote -%} -

{{ include.item.quote }}

- {%- endif -%} - {{ include.item.description | strip | markdownify }} -
-
diff --git a/_layouts/default.html b/_layouts/default.html index c4e467f..3ad8bc6 100644 --- a/_layouts/default.html +++ b/_layouts/default.html @@ -1,45 +1,23 @@ - + -{%- include head.html -%} -{% seo %} - +{% include head.html %} - {%- include header.html -%} + + -
-
+ {% include nav.html %} + {% include search.html %} - {%- include about.html -%} + {{ content }} - {%- if site.data.projects.size > 0 -%} - {%- include projects.html -%} - {%- endif -%} + {% include footer.html %} - {%- if site.data.experience.size > 0 -%} - {%- include experience.html -%} - {%- endif -%} - {%- if site.data.education.size > 0 -%} - {%- include education.html -%} - {%- endif -%} + + + - {%- if site.data.skills.size > 0 -%} - {%- include skills.html -%} - {%- endif -%} - - {%- include more.html -%} - -
-
- - {%- include footer.html -%} - diff --git a/_site/LICENSE b/_site/LICENSE index 94a9ed0..ff6ecfa 100644 --- a/_site/LICENSE +++ b/_site/LICENSE @@ -1,674 +1,216 @@ - GNU GENERAL PUBLIC LICENSE - Version 3, 29 June 2007 - - Copyright (C) 2007 Free Software Foundation, Inc. - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The GNU General Public License is a free, copyleft license for -software and other kinds of works. - - The licenses for most software and other practical works are designed -to take away your freedom to share and change the works. By contrast, -the GNU General Public License is intended to guarantee your freedom to -share and change all versions of a program--to make sure it remains free -software for all its users. We, the Free Software Foundation, use the -GNU General Public License for most of our software; it applies also to -any other work released this way by its authors. You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -them if you wish), that you receive source code or can get it if you -want it, that you can change the software or use pieces of it in new -free programs, and that you know you can do these things. - - To protect your rights, we need to prevent others from denying you -these rights or asking you to surrender the rights. Therefore, you have -certain responsibilities if you distribute copies of the software, or if -you modify it: responsibilities to respect the freedom of others. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must pass on to the recipients the same -freedoms that you received. You must make sure that they, too, receive -or can get the source code. And you must show them these terms so they -know their rights. - - Developers that use the GNU GPL protect your rights with two steps: -(1) assert copyright on the software, and (2) offer you this License -giving you legal permission to copy, distribute and/or modify it. - - For the developers' and authors' protection, the GPL clearly explains -that there is no warranty for this free software. For both users' and -authors' sake, the GPL requires that modified versions be marked as -changed, so that their problems will not be attributed erroneously to -authors of previous versions. - - Some devices are designed to deny users access to install or run -modified versions of the software inside them, although the manufacturer -can do so. This is fundamentally incompatible with the aim of -protecting users' freedom to change the software. The systematic -pattern of such abuse occurs in the area of products for individuals to -use, which is precisely where it is most unacceptable. Therefore, we -have designed this version of the GPL to prohibit the practice for those -products. If such problems arise substantially in other domains, we -stand ready to extend this provision to those domains in future versions -of the GPL, as needed to protect the freedom of users. - - Finally, every program is threatened constantly by software patents. -States should not allow patents to restrict development and use of -software on general-purpose computers, but in those that do, we wish to -avoid the special danger that patents applied to a free program could -make it effectively proprietary. To prevent this, the GPL assures that -patents cannot be used to render the program non-free. - - The precise terms and conditions for copying, distribution and -modification follow. - - TERMS AND CONDITIONS - - 0. Definitions. - - "This License" refers to version 3 of the GNU General Public License. - - "Copyright" also means copyright-like laws that apply to other kinds of -works, such as semiconductor masks. - - "The Program" refers to any copyrightable work licensed under this -License. Each licensee is addressed as "you". "Licensees" and -"recipients" may be individuals or organizations. - - To "modify" a work means to copy from or adapt all or part of the work -in a fashion requiring copyright permission, other than the making of an -exact copy. The resulting work is called a "modified version" of the -earlier work or a work "based on" the earlier work. - - A "covered work" means either the unmodified Program or a work based -on the Program. - - To "propagate" a work means to do anything with it that, without -permission, would make you directly or secondarily liable for -infringement under applicable copyright law, except executing it on a -computer or modifying a private copy. Propagation includes copying, -distribution (with or without modification), making available to the -public, and in some countries other activities as well. - - To "convey" a work means any kind of propagation that enables other -parties to make or receive copies. Mere interaction with a user through -a computer network, with no transfer of a copy, is not conveying. - - An interactive user interface displays "Appropriate Legal Notices" -to the extent that it includes a convenient and prominently visible -feature that (1) displays an appropriate copyright notice, and (2) -tells the user that there is no warranty for the work (except to the -extent that warranties are provided), that licensees may convey the -work under this License, and how to view a copy of this License. If -the interface presents a list of user commands or options, such as a -menu, a prominent item in the list meets this criterion. - - 1. Source Code. - - The "source code" for a work means the preferred form of the work -for making modifications to it. "Object code" means any non-source -form of a work. - - A "Standard Interface" means an interface that either is an official -standard defined by a recognized standards body, or, in the case of -interfaces specified for a particular programming language, one that -is widely used among developers working in that language. - - The "System Libraries" of an executable work include anything, other -than the work as a whole, that (a) is included in the normal form of -packaging a Major Component, but which is not part of that Major -Component, and (b) serves only to enable use of the work with that -Major Component, or to implement a Standard Interface for which an -implementation is available to the public in source code form. A -"Major Component", in this context, means a major essential component -(kernel, window system, and so on) of the specific operating system -(if any) on which the executable work runs, or a compiler used to -produce the work, or an object code interpreter used to run it. - - The "Corresponding Source" for a work in object code form means all -the source code needed to generate, install, and (for an executable -work) run the object code and to modify the work, including scripts to -control those activities. However, it does not include the work's -System Libraries, or general-purpose tools or generally available free -programs which are used unmodified in performing those activities but -which are not part of the work. For example, Corresponding Source -includes interface definition files associated with source files for -the work, and the source code for shared libraries and dynamically -linked subprograms that the work is specifically designed to require, -such as by intimate data communication or control flow between those -subprograms and other parts of the work. - - The Corresponding Source need not include anything that users -can regenerate automatically from other parts of the Corresponding -Source. - - The Corresponding Source for a work in source code form is that -same work. - - 2. Basic Permissions. - - All rights granted under this License are granted for the term of -copyright on the Program, and are irrevocable provided the stated -conditions are met. This License explicitly affirms your unlimited -permission to run the unmodified Program. The output from running a -covered work is covered by this License only if the output, given its -content, constitutes a covered work. This License acknowledges your -rights of fair use or other equivalent, as provided by copyright law. - - You may make, run and propagate covered works that you do not -convey, without conditions so long as your license otherwise remains -in force. You may convey covered works to others for the sole purpose -of having them make modifications exclusively for you, or provide you -with facilities for running those works, provided that you comply with -the terms of this License in conveying all material for which you do -not control copyright. Those thus making or running the covered works -for you must do so exclusively on your behalf, under your direction -and control, on terms that prohibit them from making any copies of -your copyrighted material outside their relationship with you. - - Conveying under any other circumstances is permitted solely under -the conditions stated below. Sublicensing is not allowed; section 10 -makes it unnecessary. - - 3. Protecting Users' Legal Rights From Anti-Circumvention Law. - - No covered work shall be deemed part of an effective technological -measure under any applicable law fulfilling obligations under article -11 of the WIPO copyright treaty adopted on 20 December 1996, or -similar laws prohibiting or restricting circumvention of such -measures. - - When you convey a covered work, you waive any legal power to forbid -circumvention of technological measures to the extent such circumvention -is effected by exercising rights under this License with respect to -the covered work, and you disclaim any intention to limit operation or -modification of the work as a means of enforcing, against the work's -users, your or third parties' legal rights to forbid circumvention of -technological measures. - - 4. Conveying Verbatim Copies. - - You may convey verbatim copies of the Program's source code as you -receive it, in any medium, provided that you conspicuously and -appropriately publish on each copy an appropriate copyright notice; -keep intact all notices stating that this License and any -non-permissive terms added in accord with section 7 apply to the code; -keep intact all notices of the absence of any warranty; and give all -recipients a copy of this License along with the Program. - - You may charge any price or no price for each copy that you convey, -and you may offer support or warranty protection for a fee. - - 5. Conveying Modified Source Versions. - - You may convey a work based on the Program, or the modifications to -produce it from the Program, in the form of source code under the -terms of section 4, provided that you also meet all of these conditions: - - a) The work must carry prominent notices stating that you modified - it, and giving a relevant date. - - b) The work must carry prominent notices stating that it is - released under this License and any conditions added under section - 7. This requirement modifies the requirement in section 4 to - "keep intact all notices". - - c) You must license the entire work, as a whole, under this - License to anyone who comes into possession of a copy. This - License will therefore apply, along with any applicable section 7 - additional terms, to the whole of the work, and all its parts, - regardless of how they are packaged. This License gives no - permission to license the work in any other way, but it does not - invalidate such permission if you have separately received it. - - d) If the work has interactive user interfaces, each must display - Appropriate Legal Notices; however, if the Program has interactive - interfaces that do not display Appropriate Legal Notices, your - work need not make them do so. - - A compilation of a covered work with other separate and independent -works, which are not by their nature extensions of the covered work, -and which are not combined with it such as to form a larger program, -in or on a volume of a storage or distribution medium, is called an -"aggregate" if the compilation and its resulting copyright are not -used to limit the access or legal rights of the compilation's users -beyond what the individual works permit. Inclusion of a covered work -in an aggregate does not cause this License to apply to the other -parts of the aggregate. - - 6. Conveying Non-Source Forms. - - You may convey a covered work in object code form under the terms -of sections 4 and 5, provided that you also convey the -machine-readable Corresponding Source under the terms of this License, -in one of these ways: - - a) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by the - Corresponding Source fixed on a durable physical medium - customarily used for software interchange. - - b) Convey the object code in, or embodied in, a physical product - (including a physical distribution medium), accompanied by a - written offer, valid for at least three years and valid for as - long as you offer spare parts or customer support for that product - model, to give anyone who possesses the object code either (1) a - copy of the Corresponding Source for all the software in the - product that is covered by this License, on a durable physical - medium customarily used for software interchange, for a price no - more than your reasonable cost of physically performing this - conveying of source, or (2) access to copy the - Corresponding Source from a network server at no charge. - - c) Convey individual copies of the object code with a copy of the - written offer to provide the Corresponding Source. This - alternative is allowed only occasionally and noncommercially, and - only if you received the object code with such an offer, in accord - with subsection 6b. - - d) Convey the object code by offering access from a designated - place (gratis or for a charge), and offer equivalent access to the - Corresponding Source in the same way through the same place at no - further charge. You need not require recipients to copy the - Corresponding Source along with the object code. If the place to - copy the object code is a network server, the Corresponding Source - may be on a different server (operated by you or a third party) - that supports equivalent copying facilities, provided you maintain - clear directions next to the object code saying where to find the - Corresponding Source. Regardless of what server hosts the - Corresponding Source, you remain obligated to ensure that it is - available for as long as needed to satisfy these requirements. - - e) Convey the object code using peer-to-peer transmission, provided - you inform other peers where the object code and Corresponding - Source of the work are being offered to the general public at no - charge under subsection 6d. - - A separable portion of the object code, whose source code is excluded -from the Corresponding Source as a System Library, need not be -included in conveying the object code work. - - A "User Product" is either (1) a "consumer product", which means any -tangible personal property which is normally used for personal, family, -or household purposes, or (2) anything designed or sold for incorporation -into a dwelling. In determining whether a product is a consumer product, -doubtful cases shall be resolved in favor of coverage. For a particular -product received by a particular user, "normally used" refers to a -typical or common use of that class of product, regardless of the status -of the particular user or of the way in which the particular user -actually uses, or expects or is expected to use, the product. A product -is a consumer product regardless of whether the product has substantial -commercial, industrial or non-consumer uses, unless such uses represent -the only significant mode of use of the product. - - "Installation Information" for a User Product means any methods, -procedures, authorization keys, or other information required to install -and execute modified versions of a covered work in that User Product from -a modified version of its Corresponding Source. The information must -suffice to ensure that the continued functioning of the modified object -code is in no case prevented or interfered with solely because -modification has been made. - - If you convey an object code work under this section in, or with, or -specifically for use in, a User Product, and the conveying occurs as -part of a transaction in which the right of possession and use of the -User Product is transferred to the recipient in perpetuity or for a -fixed term (regardless of how the transaction is characterized), the -Corresponding Source conveyed under this section must be accompanied -by the Installation Information. But this requirement does not apply -if neither you nor any third party retains the ability to install -modified object code on the User Product (for example, the work has -been installed in ROM). - - The requirement to provide Installation Information does not include a -requirement to continue to provide support service, warranty, or updates -for a work that has been modified or installed by the recipient, or for -the User Product in which it has been modified or installed. Access to a -network may be denied when the modification itself materially and -adversely affects the operation of the network or violates the rules and -protocols for communication across the network. - - Corresponding Source conveyed, and Installation Information provided, -in accord with this section must be in a format that is publicly -documented (and with an implementation available to the public in -source code form), and must require no special password or key for -unpacking, reading or copying. - - 7. Additional Terms. - - "Additional permissions" are terms that supplement the terms of this -License by making exceptions from one or more of its conditions. -Additional permissions that are applicable to the entire Program shall -be treated as though they were included in this License, to the extent -that they are valid under applicable law. If additional permissions -apply only to part of the Program, that part may be used separately -under those permissions, but the entire Program remains governed by -this License without regard to the additional permissions. - - When you convey a copy of a covered work, you may at your option -remove any additional permissions from that copy, or from any part of -it. (Additional permissions may be written to require their own -removal in certain cases when you modify the work.) You may place -additional permissions on material, added by you to a covered work, -for which you have or can give appropriate copyright permission. - - Notwithstanding any other provision of this License, for material you -add to a covered work, you may (if authorized by the copyright holders of -that material) supplement the terms of this License with terms: - - a) Disclaiming warranty or limiting liability differently from the - terms of sections 15 and 16 of this License; or - - b) Requiring preservation of specified reasonable legal notices or - author attributions in that material or in the Appropriate Legal - Notices displayed by works containing it; or - - c) Prohibiting misrepresentation of the origin of that material, or - requiring that modified versions of such material be marked in - reasonable ways as different from the original version; or - - d) Limiting the use for publicity purposes of names of licensors or - authors of the material; or - - e) Declining to grant rights under trademark law for use of some - trade names, trademarks, or service marks; or - - f) Requiring indemnification of licensors and authors of that - material by anyone who conveys the material (or modified versions of - it) with contractual assumptions of liability to the recipient, for - any liability that these contractual assumptions directly impose on - those licensors and authors. - - All other non-permissive additional terms are considered "further -restrictions" within the meaning of section 10. If the Program as you -received it, or any part of it, contains a notice stating that it is -governed by this License along with a term that is a further -restriction, you may remove that term. If a license document contains -a further restriction but permits relicensing or conveying under this -License, you may add to a covered work material governed by the terms -of that license document, provided that the further restriction does -not survive such relicensing or conveying. - - If you add terms to a covered work in accord with this section, you -must place, in the relevant source files, a statement of the -additional terms that apply to those files, or a notice indicating -where to find the applicable terms. - - Additional terms, permissive or non-permissive, may be stated in the -form of a separately written license, or stated as exceptions; -the above requirements apply either way. - - 8. Termination. - - You may not propagate or modify a covered work except as expressly -provided under this License. Any attempt otherwise to propagate or -modify it is void, and will automatically terminate your rights under -this License (including any patent licenses granted under the third -paragraph of section 11). - - However, if you cease all violation of this License, then your -license from a particular copyright holder is reinstated (a) -provisionally, unless and until the copyright holder explicitly and -finally terminates your license, and (b) permanently, if the copyright -holder fails to notify you of the violation by some reasonable means -prior to 60 days after the cessation. - - Moreover, your license from a particular copyright holder is -reinstated permanently if the copyright holder notifies you of the -violation by some reasonable means, this is the first time you have -received notice of violation of this License (for any work) from that -copyright holder, and you cure the violation prior to 30 days after -your receipt of the notice. - - Termination of your rights under this section does not terminate the -licenses of parties who have received copies or rights from you under -this License. If your rights have been terminated and not permanently -reinstated, you do not qualify to receive new licenses for the same -material under section 10. - - 9. Acceptance Not Required for Having Copies. - - You are not required to accept this License in order to receive or -run a copy of the Program. Ancillary propagation of a covered work -occurring solely as a consequence of using peer-to-peer transmission -to receive a copy likewise does not require acceptance. However, -nothing other than this License grants you permission to propagate or -modify any covered work. These actions infringe copyright if you do -not accept this License. Therefore, by modifying or propagating a -covered work, you indicate your acceptance of this License to do so. - - 10. Automatic Licensing of Downstream Recipients. - - Each time you convey a covered work, the recipient automatically -receives a license from the original licensors, to run, modify and -propagate that work, subject to this License. You are not responsible -for enforcing compliance by third parties with this License. - - An "entity transaction" is a transaction transferring control of an -organization, or substantially all assets of one, or subdividing an -organization, or merging organizations. If propagation of a covered -work results from an entity transaction, each party to that -transaction who receives a copy of the work also receives whatever -licenses to the work the party's predecessor in interest had or could -give under the previous paragraph, plus a right to possession of the -Corresponding Source of the work from the predecessor in interest, if -the predecessor has it or can get it with reasonable efforts. - - You may not impose any further restrictions on the exercise of the -rights granted or affirmed under this License. For example, you may -not impose a license fee, royalty, or other charge for exercise of -rights granted under this License, and you may not initiate litigation -(including a cross-claim or counterclaim in a lawsuit) alleging that -any patent claim is infringed by making, using, selling, offering for -sale, or importing the Program or any portion of it. - - 11. Patents. - - A "contributor" is a copyright holder who authorizes use under this -License of the Program or a work on which the Program is based. The -work thus licensed is called the contributor's "contributor version". - - A contributor's "essential patent claims" are all patent claims -owned or controlled by the contributor, whether already acquired or -hereafter acquired, that would be infringed by some manner, permitted -by this License, of making, using, or selling its contributor version, -but do not include claims that would be infringed only as a -consequence of further modification of the contributor version. For -purposes of this definition, "control" includes the right to grant -patent sublicenses in a manner consistent with the requirements of -this License. - - Each contributor grants you a non-exclusive, worldwide, royalty-free -patent license under the contributor's essential patent claims, to -make, use, sell, offer for sale, import and otherwise run, modify and -propagate the contents of its contributor version. - - In the following three paragraphs, a "patent license" is any express -agreement or commitment, however denominated, not to enforce a patent -(such as an express permission to practice a patent or covenant not to -sue for patent infringement). To "grant" such a patent license to a -party means to make such an agreement or commitment not to enforce a -patent against the party. - - If you convey a covered work, knowingly relying on a patent license, -and the Corresponding Source of the work is not available for anyone -to copy, free of charge and under the terms of this License, through a -publicly available network server or other readily accessible means, -then you must either (1) cause the Corresponding Source to be so -available, or (2) arrange to deprive yourself of the benefit of the -patent license for this particular work, or (3) arrange, in a manner -consistent with the requirements of this License, to extend the patent -license to downstream recipients. "Knowingly relying" means you have -actual knowledge that, but for the patent license, your conveying the -covered work in a country, or your recipient's use of the covered work -in a country, would infringe one or more identifiable patents in that -country that you have reason to believe are valid. - - If, pursuant to or in connection with a single transaction or -arrangement, you convey, or propagate by procuring conveyance of, a -covered work, and grant a patent license to some of the parties -receiving the covered work authorizing them to use, propagate, modify -or convey a specific copy of the covered work, then the patent license -you grant is automatically extended to all recipients of the covered -work and works based on it. - - A patent license is "discriminatory" if it does not include within -the scope of its coverage, prohibits the exercise of, or is -conditioned on the non-exercise of one or more of the rights that are -specifically granted under this License. You may not convey a covered -work if you are a party to an arrangement with a third party that is -in the business of distributing software, under which you make payment -to the third party based on the extent of your activity of conveying -the work, and under which the third party grants, to any of the -parties who would receive the covered work from you, a discriminatory -patent license (a) in connection with copies of the covered work -conveyed by you (or copies made from those copies), or (b) primarily -for and in connection with specific products or compilations that -contain the covered work, unless you entered into that arrangement, -or that patent license was granted, prior to 28 March 2007. - - Nothing in this License shall be construed as excluding or limiting -any implied license or other defenses to infringement that may -otherwise be available to you under applicable patent law. - - 12. No Surrender of Others' Freedom. - - If conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot convey a -covered work so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you may -not convey it at all. For example, if you agree to terms that obligate you -to collect a royalty for further conveying from those to whom you convey -the Program, the only way you could satisfy both those terms and this -License would be to refrain entirely from conveying the Program. - - 13. Use with the GNU Affero General Public License. - - Notwithstanding any other provision of this License, you have -permission to link or combine any covered work with a work licensed -under version 3 of the GNU Affero General Public License into a single -combined work, and to convey the resulting work. The terms of this -License will continue to apply to the part which is the covered work, -but the special requirements of the GNU Affero General Public License, -section 13, concerning interaction through a network will apply to the -combination as such. - - 14. Revised Versions of this License. - - The Free Software Foundation may publish revised and/or new versions of -the GNU General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - - Each version is given a distinguishing version number. If the -Program specifies that a certain numbered version of the GNU General -Public License "or any later version" applies to it, you have the -option of following the terms and conditions either of that numbered -version or of any later version published by the Free Software -Foundation. If the Program does not specify a version number of the -GNU General Public License, you may choose any version ever published -by the Free Software Foundation. - - If the Program specifies that a proxy can decide which future -versions of the GNU General Public License can be used, that proxy's -public statement of acceptance of a version permanently authorizes you -to choose that version for the Program. - - Later license versions may give you additional or different -permissions. However, no additional obligations are imposed on any -author or copyright holder as a result of your choosing to follow a -later version. - - 15. Disclaimer of Warranty. - - THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY -APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT -HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY -OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, -THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR -PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM -IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF -ALL NECESSARY SERVICING, REPAIR OR CORRECTION. - - 16. Limitation of Liability. - - IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS -THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY -GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE -USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF -DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD -PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), -EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF -SUCH DAMAGES. - - 17. Interpretation of Sections 15 and 16. - - If the disclaimer of warranty and limitation of liability provided -above cannot be given local legal effect according to their terms, -reviewing courts shall apply local law that most closely approximates -an absolute waiver of all civil liability in connection with the -Program, unless a warranty or assumption of liability accompanies a -copy of the Program in return for a fee. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -state the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - - Copyright (C) - - This program is free software: you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation, either version 3 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program. If not, see . - -Also add information on how to contact you by electronic and paper mail. - - If the program does terminal interaction, make it output a short -notice like this when it starts in an interactive mode: - - Copyright (C) - This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, your program's commands -might be different; for a GUI interface, you would use an "about box". - - You should also get your employer (if you work as a programmer) or school, -if any, to sign a "copyright disclaimer" for the program, if necessary. -For more information on this, and how to apply and follow the GNU GPL, see -. - - The GNU General Public License does not permit incorporating your program -into proprietary programs. If your program is a subroutine library, you -may consider it more useful to permit linking proprietary applications with -the library. If this is what you want to do, use the GNU Lesser General -Public License instead of this License. But first, please read -. + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "{}" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright 2015-2016 Huxpro + + https://github.com/Huxpro/ + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + +======================================================================= +Hux Blog Subcomponents: + +The Hux Blog project contains subcomponents with separate copyright +notices and license terms. Your use of the source code for the these +subcomponents is subject to the terms and conditions of the following +licenses. + +(MIT License) Clean Blog Jekyll Theme: https://github.com/BlackrockDigital/startbootstrap-clean-blog-jekyll/ +https://github.com/BlackrockDigital/startbootstrap-clean-blog-jekyll/blob/master/LICENSE +Copyright (c) 2013-2016 Blackrock Digital LLC. diff --git a/_site/README.md b/_site/README.md deleted file mode 100644 index 31673ef..0000000 --- a/_site/README.md +++ /dev/null @@ -1 +0,0 @@ -# maltequast.github.io diff --git a/_site/assets/main.css b/_site/assets/main.css deleted file mode 100644 index 0152dd6..0000000 --- a/_site/assets/main.css +++ /dev/null @@ -1 +0,0 @@ -@import url(https://fonts.googleapis.com/css?family=Roboto:100,300,400,700,500,500italic,400italic,300italic,100italic,700italic);@import url(https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css);@import url(//netdna.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.css);button,input[type="button"],input[type="reset"],input[type="submit"]{appearance:none;background-color:#477dca;border:0;border-radius:3px;color:#fff;cursor:pointer;display:inline-block;font-family:"Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;font-size:1em;-webkit-font-smoothing:antialiased;font-weight:600;line-height:1;padding:0.75em 1.5em;text-decoration:none;transition:background-color 150ms ease;user-select:none;vertical-align:middle;white-space:nowrap}button:hover,button:focus,input[type="button"]:hover,input[type="button"]:focus,input[type="reset"]:hover,input[type="reset"]:focus,input[type="submit"]:hover,input[type="submit"]:focus{background-color:#3964a2;color:#fff}button:disabled,input[type="button"]:disabled,input[type="reset"]:disabled,input[type="submit"]:disabled{cursor:not-allowed;opacity:0.5}button:disabled:hover,input[type="button"]:disabled:hover,input[type="reset"]:disabled:hover,input[type="submit"]:disabled:hover{background-color:#477dca}fieldset{background-color:#f7f7f7;border:1px solid #ddd;margin:0 0 0.75em;padding:1.5em}input,label,select{display:block;font-family:"Helvetica Neue", "Helvetica", "Roboto", "Arial", sans-serif;font-size:1em}label{font-weight:600;margin-bottom:0.375em}label.required::after{content:"*"}label abbr{display:none}select{margin-bottom:1.5em;max-width:100%;width:auto}dl{margin-bottom:0.75em}dl dt{font-weight:bold;margin-top:0.75em}dl dd{margin:0}table{border-collapse:collapse;font-feature-settings:"kern", "liga", "tnum";margin:0.75em 0;table-layout:fixed;width:100%}th{border-bottom:1px solid #a6a6a6;font-weight:600;padding:0.75em 0;text-align:left}td{border-bottom:1px solid #ddd;padding:0.75em 0}tr,td,th{vertical-align:middle}hr{border-bottom:1px solid #ddd;border-left:0;border-right:0;border-top:0;margin:1.5em 0}img,picture{margin:0;max-width:100%}html{box-sizing:border-box}*,*::after,*::before{box-sizing:inherit}.btn{border:none;font-family:inherit;font-size:inherit;color:inherit;background:none;cursor:pointer;padding:18px 60px;display:inline-block;margin:15px 30px;text-transform:uppercase;letter-spacing:1px;font-weight:700;outline:none;position:relative;-webkit-transition:all 0.3s;-moz-transition:all 0.3s;transition:all 0.3s;border-radius:0;background:#DEDEDE;color:#4C4C4C}.btn:focus{background:#DEDEDE;color:#4C4C4C}.btn:hover{background:#CCCCCC;color:#4C4C4C}.btn:active{top:2px}.btn.disabled{background:#EAEAEA;color:#9E9E9E;cursor:default;top:0px}body{background:#ffffff;font-family:Roboto, sans-serif;-webkit-font-smoothing:antialiased}.center-text{text-align:center}.container{margin-top:30px}@media print{.container{margin-top:20px}}.header-contianer{margin-top:50px}.header-right{text-align:right}.header-left{margin-top:30px}@media print{.header-left{margin-top:0px}}.header-right p{font-size:1.6em;text-align:right}@media print{a[href]:after{content:none !important}img[src]:after{content:none !important}.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-print-12{width:100%}.no-print,.no-print *{display:none !important}}.button--sacnite::before{content:'';position:absolute;top:0;left:0;width:100%;height:100%;border-radius:inherit;z-index:-1;box-shadow:inset 0 0 0 35px #333;-webkit-transform:scale3d(0.9, 0.9, 1);transform:scale3d(0.9, 0.9, 1);-webkit-transition:box-shadow 0.3s, -webkit-transform 0.3;transition:box-shadow 0.3s, transform 0.3s}.button{float:left;min-width:150px;max-width:250px;display:block;margin:1em;padding:1em 2em;border:none;background:none;color:inherit;vertical-align:middle;position:relative;z-index:1;-webkit-backface-visibility:hidden;-moz-osx-font-smoothing:grayscale}.button--round-l{border-radius:40px}.button{border-radius:0;float:none;margin:0 auto;margin-top:0px;padding:5px 20px;display:inline-block;font-weight:400;max-width:400px}.button.button--sacnite{width:60px;height:60px;min-width:0;padding:0;color:#fff;-webkit-transition:color 0.3s;transition:color 0.3s}.button--sacnite:hover{color:#333}.button--sacnite:hover::before{box-shadow:inset 0 0 0 2px #333;-webkit-transform:scale3d(1, 1, 1);transform:scale3d(1, 1, 1)}body{color:#333;font-family:Roboto, sans-serif;font-feature-settings:"kern", "liga", "pnum";font-size:1em;line-height:1.5}@media print{body{font-size:0.9em}}h1,h2,h3,h4,h5,h6{font-family:Roboto, sans-serif;font-size:1em;line-height:1.2;margin:0 0 0.75em}p{margin:0 0 0.75em}a{color:#477dca;transition:color 150ms ease}a:active,a:focus,a:hover{color:#355e98}h1{font-size:4em;margin-bottom:0.1em;font-weight:500}h2{font-weight:300;font-size:2em}h3{font-weight:300;font-size:3em;text-align:center;border-bottom:dashed 2px #CCCCCC;padding-bottom:10px;margin-bottom:40px}@media print{h3{margin-bottom:20px}}h4{font-weight:300;font-size:2.5em;margin-bottom:3px}p,ul{font-size:1.6em;text-align:justify}a i{font-size:1.6em}mark{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25)}ul.icons a:hover{background:rgba(0,0,0,0.025)}ul.icons li{display:inline-block;padding-left:0.75em}ul.icons a{-moz-transition:background-color 0.25s ease-in-out;-webkit-transition:background-color 0.25s ease-in-out;-ms-transition:background-color 0.25s ease-in-out;transition:background-color 0.25s ease-in-out;display:inline-block;width:2.75em;height:2.75em;line-height:2.8em;text-align:center;border:0;box-shadow:none;padding:0;border-radius:100%;color:#aaa}.icons i{font-size:30px;line-height:60px}.icons{padding:0;font-size:1em;margin-bottom:20px;text-align:right}@media screen and (max-width: 768px){.icons{text-align:center}}.header-right p{margin-bottom:3px}.header-right a{color:inherit;font-weight:500}@media screen and (max-width: 768px){.header-contianer div{text-align:center}.header-right p{text-align:center}.header-left{margin-top:0px}}.profile-img{width:200px;height:200px;margin:0 auto;margin-bottom:20px;display:block;border-radius:100px;background-size:cover;background-position:center;background-repeat:repeat, no-repeat;-moz-box-shadow:inset 0 0 20px #636161;-webkit-box-shadow:inset 0 0 20px #636161;box-shadow:inset 0 0 20px #636161}.into-text-1{margin-top:30px}@media only screen and (max-width: 992px){.into-text-1{margin-top:20px}}.projects-container h3,.experience-container h3,.education-container h3{margin-bottom:0}.layout{margin-top:3em}.layout .details{text-align:left}.layout .details p{margin-bottom:3px;font-size:1.6em;text-align:inherit;font-weight:300}.layout .details p b{font-weight:500}@media screen and (max-width: 768px){.layout .details{text-align:center}.layout .details p{text-align:center}}.layout .details a{color:inherit;font-style:italic;font-weight:300}.layout .details .fa{font-size:2em}.layout .details .link{font-size:1.5em}.layout .details h4{margin-bottom:0.1em;font-weight:500}@media print{.layout .details h4{margin-bottom:0.2em}}.layout .details h4 a{font-weight:500}.layout-right .details,.layout-top-right .details{text-align:right}.layout-top-middle .details{text-align:center}.footer-container{margin-top:100px}.footer-container p{text-align:center;font-style:italic;font-weight:300}.footer-container a{color:inherit;font-style:italic;font-weight:300}.page-content{padding:0}.contact a{line-height:50px;margin-left:30px;color:#BBBBBB;-webkit-transition:color 0.4s ease;-moz-transition:color 0.4s ease;transition:color 0.4s ease}.contact a:hover{color:#4C4C4C}p.quote{font-size:1.4em;font-style:italic;padding:1em 2.5em;text-align:center}@media print{p.quote{text-align:left;padding:0em 1em;margin-top:1em}} diff --git a/_site/images/profile.jpg b/_site/images/profile.jpg deleted file mode 100644 index 377fe4135a3ac0a00fffa5aca8cf583dcb81904e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36343 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 fdH{*}{DJ_&diLUH*r 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 HgCG9^7rSlI diff --git a/_site/index-1.html b/_site/index-1.html deleted file mode 100644 index b5456b7..0000000 --- a/_site/index-1.html +++ /dev/null @@ -1,9 +0,0 @@ -Unbekannt -

-

By default, content added below the "---" mark will appear in the home page

-

between the top bar and the list of recent posts.

-

To change the home page layout, edit the _layouts/home.html file.

-

See: https://jekyllrb.com/docs/themes/#overriding-theme-defaults

-

-

layout: default

- \ No newline at end of file diff --git a/_site/index.html b/_site/index.html index c74c7a2..bc56a33 100644 --- a/_site/index.html +++ b/_site/index.html @@ -1,364 +1,694 @@ - - - - - - Malte Quast | Data Analytics Consultant - - - - - - - - - - - - - -Data Analytics Consultant | A modern static resume template and theme. Powered by Jekyll and GitHub pages. - - - - - - - - - - - -
-
-
-

Malte Quast

-

Data Analytics Consultant

+ + + + + + + + + + + + + + + + + + + + + + Maltes ML Blog | Maltes Blog + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + + +
+
+
+
+
+ + +
+
-
-

- Email: malte.quast@gmail.de -

-
-
-

Über mich

-
- -
-

Hi, mein Name ist Malte. Ich arbeite aktuell bei der Datadrivers GmbH als Data Analytics Consultant und berate Deutschlandweit Unternehmen im Bereich Predictive Analytics und Datenverarbeitung in Datawarehouses. Durch viele unterschiedliche Kunden kenne ich mich in vielen Bereichen wie Cloud oder On-Premises Lösungen aus und berate ebenfalls im Bereich BI Lösungen wie beispielsweise Tableau. Automatisierung und Transparenz liegen mir bei den Projekten besonders am Herzen um die Kundenwünsche möglichst genau zu erfüllen und nachhaltigen Wachstum zu garantieren. Bei Fragen zu Projekten meldet euch gerne bei mir.

-

Mein Fachgebiet ist: Machine- und Deep-Learning

+ + -
-
-
-
-

Projektauswahl

- -
-

Zeitreihenanalyse

-

Forecast Erstellung durch eine Zeitreihenanalyse mit Xgboost durch Grid Search und Bayesian model-based optimization -

Ein sehr interessantes Projekt mit dem Ziel zur Automatisierung und Verbesserung von Prognosen. Ein herkömmlichs Modell mit Facebooks Prophet war nicht sonderlich vielversprechend und führte zu sehr hohen MSE Werten. Eine Lösung durch die Entwicklung eines XGboost Modells, dass sehr schnell und zuverlässig den MSE als Kennzahl senkte erwies sich als vielversprechend. Hierbei wurde stark auf die Automatisierung aus einem Datawarehouse geachtet. Daten mussten bereinigt und standardisiert werden, sowie die Identifikation von Outliern. Weitere Analysen haben ergeben, dass durch das Modell 90 % der Varianz erklärt werden konnte.

-
-
- -
-

Live - Sentimentanalyse

-

Live Rest Schnittstelle für Twitter Hashtag Sentimente durch ein LSTM Network -

In diesem Projekt wurde ein neuronales Netzwerk mit mehreren LSTM trainiert. Dieses diente dazu zu erkennen ob ein Hashtags positiv oder negativ bewertet werden kann. Weitere Technologien die zum Einsatz kamen sind Docker, Flask als Schnittstelle und Pytorch als Deep Learning Framework.

-
-
- -
-

Face Generation

-

Zufällige Erstellung von Gesichtern mittels Deep convolutional generative adversarial networks (DCGAN) -

Ziel dieses Projektes war es neue Gesichter auf Grundlage eines bestehenden Datensatzes zu erstellen. Hierbei wurde Pytorch als Framework genutzt und je ein Discriminator und Generator trainiert die durch langes Training in der Lage waren Bilder zu erstellen und zu schlechte Bilder als Fake zu identifizieren. Das Training fand auf einer GPU Instanz statt und die Tiefe des Netzwerkes waren entscheidend für die Dauer und Laufzeit der Modelle.

+
+
+
+
+ +
+ +

Maltes ML Blog

+ Insights of ML automation - the future of data analysis! +
+
+
-
+ - -
-

Dogbreed Classifier

- - - -

-

Klassifikation von über 130 Hunderassen in Pytorch mit CNN und Transfer Learning -

Innerhalb dieses Projektes habe ich mehrere Modelle zur Analyse und Identfikation von Hunderassen erstellt. Dazu kamen Technologien wie CUDA & Pytorch zum Einsatz. Die dahinterstehenden Modelle Resnet oder VGG16 wurden als Transfer Learning Referenz genutzt. Weiterhin konnte durch einen minimalen Datensatz eine Genauigkeitsverbesserung durch Bildmanipulation und Noise Reduction herbeigeführt werden. Parameteroptimierung und Datennormalisierung waren eine der grundlegenden Aufgaben.

-
+ +
+
+ + + + +
+ +
+ +

+ Introducing the Inverted Residual Block +

+ +

+ A Component for MobileNetV2 +

+ +
+ + Introduction of the MobileNetV2 +Building upon the success of MobileNetV1, Google released their latest network architecture, MobileNetV2. The new network architecture is built off of the original M... + +
+
+
+
+ +
+ +

+ Data Representation - Floating Point Numbers +

+ +

+ 「数据表示」浮点数 +

+ +
+ + In the last episode we talked about the data representation of integer, a kind +of fixed-point numbers. Today we’re going to learn about floating-point numbers. + +Floating-point numbers are used to a... + +
+
+ +
+
+ +
+ +

+ Data Representation - Integer +

+ +

+ foo bar +

+ +
+ + Integers, or whole number from elemental mathematics, are the most common and +fundamental numbers used in the computers. It’s represented as +fixed-point numbers, contrast to floating-point number... + +
+
+ +
+
- -
-

Crawler Creation

-

Python Crawler Erstellung mit Requests und BeautifulSoup -

Erstellung von diversen Crawlern und untersuchen unterschiedlichster Webseiten durch die obigen Python Bibliotheken. Weitere Technologien die zum Einsatz kamen waren Docker, Docker-Compose für die jeweilige Lagerung und Scheduling durch Airflow. Die Daten wurden typischerweise in Datenbanken gesichert.

-
-
+ - -
-

Datawarehousing Projekte

-

Erstellung von ETL Jobs und Datawarehouses durch unterschiedlichste Architekturen -

Weitere realisierte Projekte waren Datawarehouses mit Data-Vault und Star Schema Architektur bzw. Head- und Version Modellierung. Die Automatisierung der Datawarehouses wurde durch Talend (DI und TAC) sowie Apache Airflow gebaut,terminiert und deployed. Die Produktionsumgebung hat zum Teil in der AWS Cloud wie auf Redshift, Glue (Spark) und ec2 Instanzen stattgefunden. Die jeweiligen Analysen der unterschiedlichsten Daten fand durch Tableau oder Microsoft Power BI statt und wurde einer Vielzahl an Stakeholdern zur Verfügung gestellt.

-
-
+
+ + - -
-

Airbus Deutschland GmbH

-airbus.com

Werkstudent

2012 - 2017

-

Zur Finanzierung und Weiterbildung habe ich während meines Studiums bei Airbus in Hamburg gearbeitet. Diese Zeit hat nicht nur berufliche Erfahrung, sondern ebenfalls wertvolle Lebenserfahrung geschenkt. Neben den eigenständigen Projekten die mir anvertraut worden sind, durfte ich ebenfalls die Herausforderungen und Lösungen eines Großkonzerns kennenlernen.

- -
    -
  • Entwicklung und Analyse von unterschiedlichsten Daten zur Mehrwertgenerierung und Entscheidungsfindung
  • -
  • Analyse & Optimierung von Arbeitsprozessen mittels unterschiedlichster Methoden
  • -
  • Unterstützung von Aufgaben des Projektmanagements
  • -
  • Integration und Implementierung eines Sharepoint Servers
  • -
  • Optimierung, Strukturierung und Organisation eines Enterprise Wissensmanagementsystems
  • -
-
-
- -
-
-

Bildung

- -
-

Udacity

Nanodegree Deep Learning

2018 - 2019

-

Unterschiedliche Projekte zur Bild und Texterkennung -

In dieser Zeit vertiefte ich mein Wissen im Bereich neuronale Netzwerke. Hierbei wurden unterschiedlichste Technologien und Bibliotheken zur Zielerreichung genutzt. Unter Ausnutzung von GPUs konnten mittels Pytorch, Tensorflow und Keras verschiedenste Problemstellungen gelöst und optimiert werden. Eine größere Projektauswahl kann im Github Repository gefunden werden.

-
-
+ +
+
+
+
+ + - -
-

UHH - HBS Hamburg Business School

B.Sc. & M.Sc. Betriebswirtschaftslehre mit Schwerpunkt Statistik

2011 - 2017

-

Masterarbeit: Variablenselektion im Adaptive Elastic-Net - Note: 1,3 -Bachelorarbeit: Die Bewertung von Optionen im Rahmen des Modells von Black & Scholes - Note 1,7 -

Während meiner Zeit an der Universität Hamburg habe ich mich auf den Bereich Statistik spezialisiert und wertvolle Kenntnisse im Bereich Machine Learning, Optimierung und Simulation erlangt. Durch die Vielzahl an unterschiedlichen Modellen konnte ich dort ein breites Spektrum und fundiertes Verständnis in den unterschiedlichsten Disziplinen erlangen.

-
-
+
    + -
-
-

Skills

-
-

Statistik

-

Durch Mein Studium erlangte ich bereits erste Kenntnisse im Bereich Statistik die mir im späteren Berufsleben viel halfen. Seien es jegliche Arten von Regressionsanalysen, Unsuper- oder Supervised Learning Modellen.

-
    -
  • Lasso, Ridge, Lasso, Adaptive Elastic-Net
  • -
  • PCA, Faktorenanalysen, KMeans, DBSCAN
  • -
  • Boosting & Bagging wie Gradient Boosting, XGboost und ähnliche
  • -
  • Zeitenreihenanalysen mit SARIMA Modellen
  • -
  • Statistische Qualitätskontrolle durch EWMA und CUSUM Karten
  • -
  • Lineare Optimierung
  • -
  • Deep Learning mit unterschiedlichen Techniken wie CNN, RNN, LSTM und GANs
  • -
  • Word2Vec, AutoEncoder, CycleGans, Sentiment Analyse, Object Classification und andere
  • +
  • + + + + + + +
  • + + + + + +
  • + + + + + + +
  • + +
-
-
+ +
+
+
+
- -
-

Programmiersprachen

-

Python und R habe ich besonders viel in Projekten bzw. zu Universitätszwecken genutzt. Desweiteren kam mit der Zeit Java ins Spiel. Wesentliche Gründe hierfür sind Talend und andere Big Data Technologien.

-
    -
  • Python
  • -
  • R
  • -
  • Grundkenntnisse in Java
  • -
  • (Git)
  • -
+ + -
-
+ + + - -
-

Big Data

-

Die jeweiligen Technologien wurden zu Kundenzwecken erlernt und sind in Produktivumgebungen implementiert. Hierbei ist zu erwähnen, dass spezielll die Hadoop Cluster ausschließlich zum Analyseeinsatz genutzt worden sind. Hierbei sind speziell HDFS (Datenspeicherung), Hive und Impala zum Einsatz gekommen. Spark hingegen wurde ebenfalls auch ohne ein Hadoop Cluster genutzt wie beispielsweise in AWS Glue.

-
    -
  • Spark
  • -
  • Cloudera
  • -
  • Hadoop
  • -
  • PySpark
  • -
  • Apache Airflow
  • -
  • Talend DI
  • -
  • Talend Administration Center
  • -
+ + -
-
+ + - -
-

Datenbanken

-

Die Speicherung der Daten ist immer notwendig und die Verarbeitung der jeweiligen Tabellen / Collections in ETL / ELT Prozessen wichtig. Diese können durch unterschiedlichste Arten vollzogen werden. Hierbei war es immer wichtig Datenverarbeitung in SQL / NoSql zu realisieren. Die Modellierung sowie die zugrundeliegende Archtiektur wie Data Vault oder Star Schema zu berücksichtigen.

-
    -
  • MySQL / MariaDB
  • -
  • AWS Redshift
  • -
  • PostgreSQL
  • -
  • MongoDB
  • -
+ -
-
+ + - -
-

Reporting

-

Bei den jeweiligen Unternehmen war es immer Ziel Daten zielgerichtet zu analysieren und Fragen beantworten zu können. Mit den beiden Leadern auf dem Feld war es mir stets möglich Fragestellungen zu beantworten und Insights zu gewinnen.

-
    -
  • Tableau
  • -
  • Microsoft Power BI
  • -
-
-
+ + - -
-

Cloud

-

Cloud Solutions sind die Zukunft und für kosteneffizientes Arbeiten unerlässlich. Der Einsatz von spaltenbasierten hoch performanten Datenbanken wie Redshift oder schnell trainierbar Machine Learning Modelle und hoch skalierbare Server wie bei Sagemaker ermöglichen die zielgerichtete Liveschaltung für Online Services.

-
    -
  • AWS EC2
  • -
  • Sagemaker
  • -
  • Redshift
  • -
  • Glue (Spark)
  • -
  • Lambda
  • -
  • API Gateway
  • -
+ + - -
-

Microservices

-

Für schnelleres Deployment und Teamarbeit hat es sich in mehreren Fällen angeboten auf Docker bzw. den dauerhaften Service Docker-Compose zu setzen. Speziell zum schnelleren Prototyping können Datenbanken schnell und effizient hochgezogen werden. Ebenso konnten Crawler schnell produktiv gesetzt werden durch Docker.

-
    -
  • Docker
  • -
  • Docker-Compose
  • -
-
-
- -
-
-

Mehr über mich

-
-
-

Neben meinem großen Interesse an Statistik und Machine Learning interessiere ich mich ebenso für:

-
    -
  • Reisen
  • -
  • Golf
  • -
  • Fußball
  • -
  • Squashen
  • -
-
-
-
-
-
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/images/profile.jpg b/images/profile.jpg deleted file mode 100644 index 377fe4135a3ac0a00fffa5aca8cf583dcb81904e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 36343 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 fdH{*}{DJ_&diLUH*r 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 HgCG9^7rSlI diff --git a/index-1.html b/index-1.html deleted file mode 100644 index b5456b7..0000000 --- a/index-1.html +++ /dev/null @@ -1,9 +0,0 @@ -Unbekannt -

-

By default, content added below the "---" mark will appear in the home page

-

between the top bar and the list of recent posts.

-

To change the home page layout, edit the _layouts/home.html file.

-

See: https://jekyllrb.com/docs/themes/#overriding-theme-defaults

-

-

layout: default

- \ No newline at end of file diff --git a/index.md b/index.md deleted file mode 100644 index 6bc73c2..0000000 --- a/index.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -# -# By default, content added below the "---" mark will appear in the home page -# between the top bar and the list of recent posts. -# To change the home page layout, edit the _layouts/home.html file. -# See: https://jekyllrb.com/docs/themes/#overriding-theme-defaults -# -layout: default ----