From 28e015f16fa4a37fbab51eb380488e12a17091bf Mon Sep 17 00:00:00 2001 From: Akilan Date: Fri, 14 May 2021 13:01:22 +0400 Subject: [PATCH] added techincal posts --- .gitignore | 27 ++++++++++ .../IT-infrastrucuture-Beginners.md | 39 ++++++++++++++ content/technicalposts/_index.md | 6 +++ .../distributed-computing-local-network.md | 25 +++++++++ go.mod | 3 -- theme.toml | 51 ------------------- 6 files changed, 97 insertions(+), 54 deletions(-) create mode 100644 .gitignore create mode 100644 content/technicalposts/IT-infrastrucuture-Beginners.md create mode 100644 content/technicalposts/_index.md create mode 100644 content/technicalposts/distributed-computing-local-network.md delete mode 100644 go.mod delete mode 100644 theme.toml diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..38675907 --- /dev/null +++ b/.gitignore @@ -0,0 +1,27 @@ + +# Compiled Object files, Static and Dynamic libs (Shared Objects) +*.o +*.a +*.so + +# Folders +_obj +_test + +# Architecture specific extensions/prefixes +*.[568vq] +[568vq].out + +*.cgo1.go +*.cgo2.c +_cgo_defun.c +_cgo_gotypes.go +_cgo_export.* + +_testmain.go + +*.exe +*.test + +/public +.DS_Store diff --git a/content/technicalposts/IT-infrastrucuture-Beginners.md b/content/technicalposts/IT-infrastrucuture-Beginners.md new file mode 100644 index 00000000..4dd6fc3e --- /dev/null +++ b/content/technicalposts/IT-infrastrucuture-Beginners.md @@ -0,0 +1,39 @@ +--- +title: "IT infrastructure (Beginners guide)" +summary: Basics of running power and cheap IT infrastructure +date: 2020-05-25 +aliases: ["/papermod-how-to-guide"] +tags: ["IT","Beginners"] +author: "Akilan Selvacoumar" +draft: false +aliases: [/technicalposts/beginners] +weight: 3 +--- + + +Although the current cost of IT infrastructure is relatively minimal cost these days. We can still dramatically reduce the cost further. A good IT infrastructure is the fact that we rely less on 3rd party companies and they are simple to run. When we mean simple it does mean a fancy UI where everything is drag and drop. Using a terminal can be your best friend and save you a lot of time. Like any skill you need to use it regularly to reap the benefits. It is very important to stay minimal to sustain your IT infrastructure for a longer period of time. + +## Always stick to Open Source OS: +If you run a windows server then stop it. Always use an Open source OS over Proprietary. Transition is an open source OS (i.e Ubuntu , Debian) is relatively easy. To start off use a VPS to host your servers (i.e Digital Ocean, Vultr) . The main reason to use a VPS is the fact that you get an static IPV4 address. You pay for the hour rather than the month. If you think something is wrong in your server you can back it up and delete the server. Saves a lot of time on your side. + +If you have an inhouse server, You can either get a static IPV4 address or use a DDNS if it is expensive (i.e so that someone can access it from outside your company network). There are many free training courses to learn how to use a linux server and configure it. This means you can be self-reliant and not rely on other companies to configure your server. + +### Benefits of Open Source servers: +The main benefit is that there is no licensing cost and you have access to the source code. For Example : The linux community is really big and OS keeps getting updated frequently that means if a new vulnerability is found its most likely fixed really quick. The concept of open source OS is simple if you break it then just back up data and reinstall the OS. + +## You should know Git no matter who you are: +Git is a version control system which can be used to store documents or codebase. Using it is the best way to store your company information in a secure way. It recommended you run it on your company server (Recommended to use Gitlab). If you want you can use github ( :) Owned by microsoft) . + +1. [Documentation](https://git-scm.com/doc) +2. [Video](https://www.youtube.com/watch?v=2sjqTHE0zok&list=LLhy18QB1hBzZ7MniIW_FJvQ&index=6&t=0s) + +## You can avoid office 365: +For your email you can set up your own mail server(i.e https://github.com/maildev/maildev) or use [Migadu](https://www.migadu.com/en/index.html) which is extremely cheap. There are so many alternatives for word , excel etc .. ( i.e LibreOffice , Apache Open Office , Google Suite etc...). If you want to have your own conference on your own server or on outside server use [Jitsi](https://jitsi.org/). + +For any tool which is paid there is an open source alternative. + +## Building websites: +If you are planning to have a website which is either an E-commerce website or a normal company webpage there is no point of a database like Sql unless your website is really huge. I would recommend using [static website generators](https://dzone.com/articles/6-reasons-why-you-should-go-for-a-static-website) like [Hugo](https://gohugo.io/) and either design your theme or use the ones available online. In most cases you only need to only use static generators for your company page and your basic e-commerce website. + +## Deploying websites: +If you use a static website generator you can either deploy it on places like [netlify](https://www.netlify.com/) for free of cost or deploy them on your server. diff --git a/content/technicalposts/_index.md b/content/technicalposts/_index.md new file mode 100644 index 00000000..0a696a2f --- /dev/null +++ b/content/technicalposts/_index.md @@ -0,0 +1,6 @@ +--- +title: Technical Posts +summary: Fun CS concepts to play around with +description: Contains posts regrading CS topics I love + to play around with +--- diff --git a/content/technicalposts/distributed-computing-local-network.md b/content/technicalposts/distributed-computing-local-network.md new file mode 100644 index 00000000..6b4dc872 --- /dev/null +++ b/content/technicalposts/distributed-computing-local-network.md @@ -0,0 +1,25 @@ +--- +title: "Distributed computing in a local network" +summary: Brainstroming ideas to run distributed tasks locally +date: 2020-01-01 +aliases: ["/distributed-local-network"] +tags: ["Distributed","Brainstorming"] +author: "Akilan Selvacoumar" +draft: false +aliases: [/technicalposts/distributed-local-network] +weight: 2 +--- + + +mDNS or called multicast DNS is just a DNS over a local network. mDNS is also considered as a Zero configuration technique. It can be used to discover nodes in a local network (ex: Apple’s bonjour). + +## Implementation +- [multicast-dns](https://github.com/mafintosh/multicast-dns) +- [dns-discovery](https://github.com/mafintosh/dns-discovery) +- [libp2p-mdns](https://github.com/libp2p/js-libp2p-mdns) + +Assuming all machines are running a linux kernel. All nodes in the network can have an SSH server and can broadcast each other's public key. All the nodes can add broadcasted public keys to their authorized_keys file. This is assuming it’s done in a local private network (i.e not a secure solution but an easier way). Now all nodes can SSH into each other. + +To render tasks [DrQueue](https://github.com/DrQueue/drqueue) seems to be a promising choice. DrQueue is an open source render farm system. Similar to Farmer-Joe-Render. DrQueue is used in the Visual effects ,science and finance industry. The objective of DrQueue is batch tasks and run as a task management tool for multiple nodes. DrQueue is compatible on Windows, macOS, Linux, Irix and FreeBSD. DrQueue can be used with any renderer that supports a CLI(Command Line Interface). DrQueue auto generated scripts for Blender, Maya, Lightwave, Cinema 4D, Maya, lightwave, Mental Ray, After Effects, Aqsis, 3Delight, Pixie, Snake , Terragen and Nuke. DrQueue makes it possible to talk to master and slave nodes with a custom API which any user can create based on the inbuilt functions. + +This is just a thought in my mind of a logical and simple way to run tasks distributed. This is really important as we underestimate the computing power we have if we use our home devices collectively. We could start pushing game developers to start building games for distributed systems. Imagine if [FS2020](https://blogs.hwtech.club/post/fs2020/) could be rendered distributed :). diff --git a/go.mod b/go.mod deleted file mode 100644 index af958556..00000000 --- a/go.mod +++ /dev/null @@ -1,3 +0,0 @@ -module github.com/adityatelange/hugo-PaperMod - -go 1.12 diff --git a/theme.toml b/theme.toml deleted file mode 100644 index d85ced93..00000000 --- a/theme.toml +++ /dev/null @@ -1,51 +0,0 @@ -# theme.toml template for a Hugo theme -# See https://github.com/gohugoio/hugoThemes#themetoml for an example - -name = "PaperMod" -license = "MIT" -licenselink = "https://github.com/adityatelange/hugo-PaperMod/blob/master/LICENSE" -description = "A fast, clean, responsive Hugo theme" -homepage = "https://adityatelange.github.io/hugo-PaperMod/" -tags = [ - "responsive", - "simple", - "clean", - "light", - "dark", - "blog", - "minimalist", - "highlight.js", - "search" -] -features = [ - "responsive", - "single-column", - "blog", - "cover-image", - "table-of-contents", - "opengraph", - "highlight.js", - "favicon", - "archive", - "share-icons", - "cover", - "multilingual", - "social-icons", - "minified-assets", - "theme-toggle", - "menu-location-indicator", - "scroll-to-top", - "search" -] -min_version = "0.82.0" - -[author] - name = "Aditya Telange" - homepage = "https://github.com/adityatelange/" - -# If porting an existing theme -[original] - name = "Paper" - author = "nanxiaobei" - homepage = "https://github.com/nanxiaobei" - repo = "https://github.com/nanxiaobei/hugo-paper/"