commit 38454eb500cad9614b6e81abe6d744baf48409ab Author: Ian Andwati Date: Fri Apr 21 13:12:43 2023 +0300 completed setup diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e69de29 diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..89af1b0 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "themes/PaperMod"] + path = themes/PaperMod + url = https://github.com/adityatelange/hugo-PaperMod.git diff --git a/.hugo_build.lock b/.hugo_build.lock new file mode 100644 index 0000000..e69de29 diff --git a/archetypes/post.md b/archetypes/post.md new file mode 100644 index 0000000..9e68b93 --- /dev/null +++ b/archetypes/post.md @@ -0,0 +1,37 @@ +--- +title: "My 1st post" +date: 2020-09-15T11:30:03+00:00 +# weight: 1 +# aliases: ["/first"] +tags: ["first"] +author: "Me" +# author: ["Me", "You"] # multiple authors +showToc: true +TocOpen: false +draft: false +hidemeta: false +comments: false +description: "Desc Text." +canonicalURL: "https://canonical.url/to/page" +disableHLJS: true # to disable highlightjs +disableShare: false +disableHLJS: false +hideSummary: false +searchHidden: true +ShowReadingTime: true +ShowBreadCrumbs: true +ShowPostNavLinks: true +ShowWordCount: true +ShowRssButtonInSectionTermList: true +UseHugoToc: true +cover: + image: "" # image path/url + alt: "" # alt text + caption: "" # display caption under cover + relative: false # when using page bundles set this to true + hidden: true # only hide on current single page +editPost: + URL: "https://github.com//content" + Text: "Suggest Changes" # edit text + appendFilePath: true # to append file path to Edit link +--- diff --git a/assets/.gitkeep b/assets/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/config.yml b/config.yml new file mode 100644 index 0000000..1672bfc --- /dev/null +++ b/config.yml @@ -0,0 +1,137 @@ +baseURL: "https://andwati.com/" +title: Ian Andwati +paginate: 5 +theme: PaperMod + +enableRobotsTXT: true +buildDrafts: false +buildFuture: false +buildExpired: false + +googleAnalytics: UA-123-45 + +minify: + disableXML: true + minifyOutput: true + +params: + env: production # to enable google analytics, opengraph, twitter-cards and schema. + title: Ian Andwati + description: "Software Engineer.Young, versatile and enthusiastic programmer and entrepreneur. " + keywords: [Blog, Portfolio, Ian Andwati, Andwati, Ian] + author: Ian Andwati + # author: ["Me", "You"] # multiple authors + images: [""] + DateFormat: "January 2, 2006" + defaultTheme: auto # dark, light + disableThemeToggle: false + + ShowReadingTime: true + ShowShareButtons: true + ShowPostNavLinks: true + ShowBreadCrumbs: true + ShowCodeCopyButtons: true + ShowWordCount: true + ShowRssButtonInSectionTermList: true + UseHugoToc: true + disableSpecial1stPost: false + disableScrollToTop: false + comments: false + hidemeta: false + hideSummary: false + showtoc: false + tocopen: false + + assets: + # disableHLJS: true # to disable highlight.js + # disableFingerprinting: true + favicon: "/favicon.ico" + favicon16x16: "/favicon-16x16.png" + favicon32x32: "/favicon-32x32.png" + apple_touch_icon: "/apple-touch-icon.png" + safari_pinned_tab: "" + + label: + text: "Home" + icon: /apple-touch-icon.png + iconHeight: 35 + + + # home-info mode + homeInfoParams: + Title: "Hi there \U0001F44B" + Content: Welcome to my blog + + socialIcons: + - name: twitter + url: "https://twitter.com/andwati_" + - name: stackoverflow + url: "https://stackoverflow.com/users/12246264/ian" + - name: github + url: "https://github.com/andwati" + - name : linkedin + url: "https://linkedin.com/in/andwati" + - name : email + url: "mailto:andwatiian@gmail.com" + + analytics: + google: + SiteVerificationTag: "XYZabc" + bing: + SiteVerificationTag: "XYZabc" + yandex: + SiteVerificationTag: "XYZabc" + + cover: + hidden: true # hide everywhere but not in structured data + hiddenInList: true # hide on list pages and home + hiddenInSingle: true # hide on single page + + editPost: + URL: "https://github.com/andwati/content" + Text: "Suggest Changes" # edit text + appendFilePath: true # to append file path to Edit link + + # for search + # https://fusejs.io/api/options.html + fuseOpts: + isCaseSensitive: false + shouldSort: true + location: 0 + distance: 1000 + threshold: 0.4 + minMatchCharLength: 0 + keys: ["title", "permalink", "summary", "content"] +menu: + main: + - identifier: archives + name: archives + url: /archives/ + weight: 10 + - identifier: tags + name: tags + url: /tags/ + weight: 20 + - identifier: newsletter + name: newsletter + url: https://example.org + weight: 30 + - identifier: about + name: about + url: /about/ +# Read: https://github.com/adityatelange/hugo-PaperMod/wiki/FAQs#using-hugos-syntax-highlighter-chroma +pygmentsUseClasses: true +markup: + highlight: + noClasses: false + # anchorLineNos: true + # codeFences: true + # guessSyntax: true + lineNos: true + # style: monokai + +outputs: + home: + - HTML + - RSS + - JSON diff --git a/content/about.md b/content/about.md new file mode 100644 index 0000000..148bee3 --- /dev/null +++ b/content/about.md @@ -0,0 +1,34 @@ +--- +title: "About" +layout: "about" +url: "/about/" +summary: about +--- + +Welcome to my personal website! I am glad to hear what brings you here. + +# Who am I? + +As a software engineer with 2 years of experience in Python programming language and intermediate knowledge of JavaScript, I am well-versed in developing web applications using popular frameworks such as Django and Flask. I am also interested in exploring newer technologies such as FastAPI framework, Go, and Rust programming languages. + +My passion lies in the fields of machine learning and AI, and I am eager to use my skills to develop software solutions that can analyze and process large amounts of data to make intelligent decisions. With my computer science background, I am interested in pursuing systems design with a focus on integrating machine learning into software systems. + +Throughout my learning experiences, I have gained experience in software development best practices, including version control, testing, and code quality. I am committed to producing high-quality, maintainable, and scalable code and constantly strive to learn and implement the latest trends in software engineering. + +My ultimate goal is to work on challenging projects that push the boundaries of what is possible with technology, and I am excited to bring my skills and knowledge to any team that values innovation and excellence. + +# Find me on: + +- Github : https://github.com/andwati + +![Github contribution graph](https://ghchart.rshah.org/andwati) + +- Stack Overflow : https://stackoverflow.com/users/12246264/ian + +![Stack Overflow info](https://stackoverflow-card.vercel.app/?userID=12246264&theme=solarized-light) + +- Twitter : https://twitter.com/andwati_ + +- Email : andwatiian@gmail.com + +- [Get my resume](https://drive.google.com/file/d/1VxtowA5ZMNP52bMSwEtQLNidgDQvKY3Z/view?usp=sharing) diff --git a/content/archives.md b/content/archives.md new file mode 100644 index 0000000..5628e34 --- /dev/null +++ b/content/archives.md @@ -0,0 +1,6 @@ +--- +title: "Archive" +layout: "archives" +url: "/archives/" +summary: archives +--- diff --git a/content/post/hello-world.md b/content/post/hello-world.md new file mode 100644 index 0000000..ba0b37c --- /dev/null +++ b/content/post/hello-world.md @@ -0,0 +1,70 @@ +--- +title: "My 1st post" +date: 2023-04-21 +# weight: 1 +# aliases: ["/first"] +tags: ["first"] +author: "Me" +# author: ["Me", "You"] # multiple authors +showToc: true +TocOpen: false +draft: false +hidemeta: false +comments: false +description: "Desc Text." +canonicalURL: "https://canonical.url/to/page" +disableHLJS: true # to disable highlightjs +disableShare: false +disableHLJS: false +hideSummary: false +searchHidden: true +ShowReadingTime: true +ShowBreadCrumbs: true +ShowPostNavLinks: true +ShowWordCount: true +ShowRssButtonInSectionTermList: true +UseHugoToc: true +cover: + image: "" # image path/url + alt: "" # alt text + caption: "" # display caption under cover + relative: false # when using page bundles set this to true + hidden: true # only hide on current single page +editPost: + URL: "https://github.com//content" + Text: "Suggest Changes" # edit text + appendFilePath: true # to append file path to Edit link +--- + +How it begins + + + +In this post-web2.0 age, people seem to blog less and less, and blogs seem to be dying slowly. People are separated in different Apps where the content is not searchable by search engines. + +However, I still prefer to write using a blog. + +# Why this? + +The best way to learn something is to teach others the knowledge that you have gained. Regurgitating that information will solidify it more firmly in your mind. + +# What I write? + +Mostly random stuff and a few tutorials. I'll see where this goes.Although some of the blog posts may only be helpful to myself, but who knows, I hope they will be helpful to someone else in some day. + +# Static blog generator + +I use hugo as a static site generator.After trying a couple of blogging platforms and trying to build a few from scratch I decided to +throw in the towel and opt in for a ready made solution, no need reinventing the wheel. + +Hugo is one of the most popular open-source static site generators. With its amazing speed and flexibility, Hugo makes building websites fun again.Hugo provides a robust theming system that is easy to implement but capable of producing even the most complicated websites.Hugo's Go-based templating provides just the right amount of logic to build anything from the simple to complex. For this site I decided to go with the [even theme](https://github.com/olOwOlo/hugo-theme-even). The commenting system is implemented using [Utterances](https://utteranc.es/) + +# Blog site hosting + +The site is hosted on github pages as evident by the \*.github.io domain name.I prefer this mainly because it is free and I don't have +to switch to a different hosting provider. + +```python +def hello_world: + retun "Hello World" +``` diff --git a/content/post/semantic-versioning.md b/content/post/semantic-versioning.md new file mode 100644 index 0000000..fc17857 --- /dev/null +++ b/content/post/semantic-versioning.md @@ -0,0 +1,120 @@ +--- +title: "My 1st post" +date: 2020-09-15T11:30:03+00:00 +# weight: 1 +# aliases: ["/first"] +tags: ["first"] +author: "Me" +# author: ["Me", "You"] # multiple authors +showToc: true +TocOpen: false +draft: false +hidemeta: false +comments: false +description: "Desc Text." +canonicalURL: "https://canonical.url/to/page" +disableHLJS: true # to disable highlightjs +disableShare: false +disableHLJS: false +hideSummary: false +searchHidden: true +ShowReadingTime: true +ShowBreadCrumbs: true +ShowPostNavLinks: true +ShowWordCount: true +ShowRssButtonInSectionTermList: true +UseHugoToc: true +cover: + image: "" # image path/url + alt: "" # alt text + caption: "" # display caption under cover + relative: false # when using page bundles set this to true + hidden: true # only hide on current single page +editPost: + URL: "https://github.com//content" + Text: "Suggest Changes" # edit text + appendFilePath: true # to append file path to Edit link +--- + +Adopting best practices in your git and build workflows. + + + +# What is Semver? + +Semantic versioning or just SemVer is a dependency naming guidline that aims to bring some sanity into naming libraries and packages in software development. It is a standard versioning system created by **Tom Preston Werner** (co-founder of Github) that’s used to communicate what changes are in a release. + +An efficient and smooth versioning becomes crucial for efficient software delivery expecially for projects that expose a public API. This saves the developers the chaos that is **dependency hell**.Dependency hell is a colloquial term for the frustration of some software users who have installed software packages which have dependencies on specific versions of other software packages. + +The dependency issue arises when several packages have dependencies on the same shared packages or libraries, but they depend on different and incompatible versions of the shared packages. If the shared package or library can only be installed in a single version, the user may need to address the problem by obtaining newer or older versions of the dependent packages. This, in turn, may break other dependencies and push the problem to another set of packages. + +## Semantic Versioning Specifications + +### Summary + +Semantic versioning is based on three numbers that indicate the versions of the software and the compatibilities.They are `X.Y.Z` correspondind to `Major.Minor.Patch` + +- **Major Version (X):**Introduces major changes to the code and breaking changes toward backward compatibility +- **Minor Version (Y):** These code changes don’t introduce breaking changes. This could be adding a new feature that doesn't break changes but are not exactly bug fixes. +- **Patches (Z):** Mainly correspond to bug fixes + +### Examples in common packages + +#### React(v18.2.0) + +![react](/images/uploads/react.png "React versioning") + +- **Major -> 18** +- **Minor -> 2** +- **Patch -> 0** + +--- + +#### Pipx(v1.1.0) + +![](/images/uploads/pipx.png) + +- **Major -> 1** +- **Minor -> 1** +- **Patch -> 0** + +--- + +## Start at v0.1.0 or v1.0.0? + +Convention recommends that in the initial development phase the starting version should be 0.1.0 which makes sense since it’s not in production yet. + +The version should only be bumped to 1.0.0 only if it is being used in production and stable. + +If your software is being used in production, it should probably already be 1.0.0. If you have a stable API on which users have come to depend, you should be 1.0.0. If you’re worrying a lot about backwards compatibility, you should probably already be 1.0.0. + +# Conventional Commits + +Conventional Commits is a convention on top of commit messages that are used to automate version changes. It provides an easy set of rules for creating commit messages and works well with SemVer by describing features, fixes and breaking changes that correspond to SemVer standards. + +## Summary + +The commit message should be structured as follows: + +``` +[optional scope]: + +[optional body] + +[optional footer(s)] +``` + +The commit contains the following structural elements, to communicate intent to the consumers of your library: + +1. fix: a commit of the type fix patches a bug in your codebase (this correlates with PATCH in Semantic Versioning). +2. feat: a commit of the type feat introduces a new feature to the codebase (this correlates with MINOR in Semantic Versioning). +3. BREAKING CHANGE: a commit that has a footer BREAKING CHANGE:, or appends a ! after the type/scope, introduces a breaking API change (correlating with MAJOR in Semantic Versioning). A BREAKING CHANGE can be part of commits of any type. +4. types other than fix: and feat: are allowed, for example @commitlint/config-conventional (based on the Angular convention) recommends build:, chore:, ci:, docs:, style:, refactor:, perf:, test:, and others. +5. footers other than BREAKING CHANGE: may be provided and follow a convention similar to git trailer format. + +## E + +# Resources + +https://semver.org/ +https://www.conventionalcommits.org/en/v1.0.0/ diff --git a/content/search.md b/content/search.md new file mode 100644 index 0000000..398762e --- /dev/null +++ b/content/search.md @@ -0,0 +1,8 @@ +--- +title: "Search" # in any language you want +layout: "search" # is necessary +# url: "/archive" +# description: "Description for Search" +summary: "search" +placeholder: "placeholder text in search input box" +--- diff --git a/data/.gitkeep b/data/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/layouts/.gitkeep b/layouts/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/resources/.gitkeep b/resources/.gitkeep new file mode 100644 index 0000000..e69de29 diff --git a/static/about.txt b/static/about.txt new file mode 100644 index 0000000..f9a0ebc --- /dev/null +++ b/static/about.txt @@ -0,0 +1,6 @@ +This favicon was generated using the following font: + +- Font Title: Poppins +- Font Author: Copyright 2020 The Poppins Project Authors (https://github.com/itfoundry/Poppins) +- Font Source: http://fonts.gstatic.com/s/poppins/v20/pxiByp8kv8JHgFVrLCz7V1tvFP-KUEg.ttf +- Font License: SIL Open Font License, 1.1 (http://scripts.sil.org/OFL)) diff --git a/static/android-chrome-192x192.png b/static/android-chrome-192x192.png new file mode 100644 index 0000000..1f97871 Binary files /dev/null and b/static/android-chrome-192x192.png differ diff --git a/static/android-chrome-512x512.png b/static/android-chrome-512x512.png new file mode 100644 index 0000000..d849799 Binary files /dev/null and b/static/android-chrome-512x512.png differ diff --git a/static/apple-touch-icon.png b/static/apple-touch-icon.png new file mode 100644 index 0000000..cbf1fac Binary files /dev/null and b/static/apple-touch-icon.png differ diff --git a/static/favicon-16x16.png b/static/favicon-16x16.png new file mode 100644 index 0000000..2322233 Binary files /dev/null and b/static/favicon-16x16.png differ diff --git a/static/favicon-32x32.png b/static/favicon-32x32.png new file mode 100644 index 0000000..e7c7bc1 Binary files /dev/null and b/static/favicon-32x32.png differ diff --git a/static/favicon.ico b/static/favicon.ico new file mode 100644 index 0000000..d06fa55 Binary files /dev/null and b/static/favicon.ico differ diff --git a/static/images/uploads/mux.png b/static/images/uploads/mux.png new file mode 100644 index 0000000..d0d930d Binary files /dev/null and b/static/images/uploads/mux.png differ diff --git a/static/images/uploads/pipx.png b/static/images/uploads/pipx.png new file mode 100644 index 0000000..f032d22 Binary files /dev/null and b/static/images/uploads/pipx.png differ diff --git a/static/images/uploads/react.png b/static/images/uploads/react.png new file mode 100644 index 0000000..7a31b89 Binary files /dev/null and b/static/images/uploads/react.png differ diff --git a/static/site.webmanifest b/static/site.webmanifest new file mode 100644 index 0000000..2f233ea --- /dev/null +++ b/static/site.webmanifest @@ -0,0 +1,19 @@ +{ + "name": "Ian Andwati", + "short_name": "andwati", + "icons": [ + { + "src": "/android-chrome-192x192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "/android-chrome-512x512.png", + "sizes": "512x512", + "type": "image/png" + } + ], + "theme_color": "#ffffff", + "background_color": "#ffffff", + "display": "standalone" +} diff --git a/themes/PaperMod b/themes/PaperMod new file mode 160000 index 0000000..031e2ba --- /dev/null +++ b/themes/PaperMod @@ -0,0 +1 @@ +Subproject commit 031e2ba57ea2b7b1de2e73c20bf2b5716f654fac