Monthly Shaarli

All links of one month in a single page.

February, 2019

Ops School Curriculum — Ops School Curriculum 0.1 documentation
bash - Best way to define "conditional" aliases in shell - Stack Overflow
thumbnail

type nvim >/dev/null 2>&1 && alias vim=nvim

replacing vim with the thing you want to replace and nvim with the thing you want to replace it with (and the thing you are checking for)

Using Tmuxinator to automate your environment | Collective Idea

Tmux, tmuxinator setup and automation ideas. Tmuxinator projects explained. Fancy!

Ultimate Kubernetes Bootcamp - Free
Launch School - Open Book Shelf
Ruby for Beginners
P1xt/p1xt-guides: Programming curricula
thumbnail
Internet / Software Security Checklist
v0rn/ansible-arch: A collection of playbooks and roles for provisioning Arch Linux servers and personal computers.
thumbnail
Backing up with Borg - Linux filesystem backup and restoration
thumbnail
GitHub - nas5w/100-days-of-code-frontend: Curriculum for learning front-end development during #100DaysOfCode.
thumbnail
RESTful API Design - Best Practices | TutorialEdge.net
Teutonic CSS - small, simple, modern CSS Framework
thumbnail
Frontend Interfaces with Hugo | Hugo
thumbnail
ml5js · Friendly Machine Learning For The Web.
Critical Cactus – non-trivial, offbeat living
Cloudflare and nginx: Too many redirects - Stack Overflow
thumbnail

Cloudflare server redirects traefik

Learn JavaScript: The Hard Parts -- Dive Deep into JavaScript to Solve Complex Challenges
thumbnail

Take your JavaScript to the next level. Gain an understanding of callbacks, higher order functions, closure, asynchronous and object-oriented JavaScript!

Generating fantasy maps -- Procedural Terrain Generation

Rivers,
Terrain,
Heightmaps,
Cities,
Regions

Font Designer's Nitpick: Fonts for Timers : gamedev
thumbnail
Seamlessly Navigate Vim and tmux Splits
thumbnail
Kotlin 102 - Beyond the Basics with Hadi Hariri
thumbnail
How can I change where Vagrant looks for its virtual hard drive? - Stack Overflow
thumbnail

Make vagrant use another folder / mount / directory

AES encryption and Finite Fields explained
thumbnail
Combining programming with containerization to make your apps more easily deployable. 12fracturing apps
Launch School - Mastery Based Learning
thumbnail
Your Career in Web Development Starts Here | The Odin Project
thumbnail

Open Source, Free Web Learning Track

pigmonkey/spark: Arch Linux Provisioning with Ansible
thumbnail
Learn shortcuts for any app | ShortcutFoo

vim, qutebrowser, vscode, sublime, intellij

GitHub - adi1090x/polybar-themes: A collection of polybar themes/configs with different styles, colors and variants
thumbnail
Resize Partition and Filesystem with fdisk & resize2fs - GeekPeek.Net
Creating a RESTful API With Golang | TutorialEdge.net
thumbnail
10 Continuous Integration Systems your Team should know about in 2019 · codeburst - Medium
thumbnail
Learn TypeScript from the ground up with James Henry
thumbnail
Check list / To Do list -- entirely keyboard driven

similar to todoist in some ways

Setting up a dialogue system state trees decision trees
Flexbox Zombies | Flexbox E-Mail Course
thumbnail

free course -- done via e-mail

Engineering Blogs- A Collection of engineering blogs from top tech companies in the world
thumbnail

Learn how to build great engineering infrastructure to empower the products used by millions of people everyday.

Vue Material - Material Design for Vue.js
thumbnail
Laracasts: Learn Vue 2: Step By Step
thumbnail

Laracasts contains all sorts of Front-End and Full-Stack development tutorial series. Seems very good!

The Art of Vim | Learn Vim | Online Tutorial by thoughtbot
thumbnail

Learning path

Moving, editing, searching -> covers all the basic functionality of vim

Hidden on thoughtbot for some reason? Or hard to find. Other vim paths are available.

GitHub - Microsoft/TypeScript-Vue-Starter: A starter template for TypeScript and Vue with a detailed README describing how to use the two together.
thumbnail
Webapps for Beginners
131 RR How to Learn | Devchat.tv
thumbnail
Kaggle: Your Home for Data Science

datasets, competitions, big data, ...

How to automate your system administration tasks with Ansible | Opensource.com
thumbnail
netdata, the open-source real-time performance and health monitoring, released v1.12 !
thumbnail
[OC] BlurWal - A Python application for smoothly blurring your wallpaper : unixporn
thumbnail
How to Secure a Linux Server | Hacker News
List of HTTP status codes - Wikipedia
Build a “Serverless” Slack Bot in 9 Minutes with Node.js and StdLib
thumbnail
Hugo Web Development Workflow on Windows | Ashwin Narayan
Editorial to Hugo workflow
Creating a Hugo blog on Github pages workflow· creativcoder's blog
Visual Studio Code Portable ~ Gareth Flowers
Make Machine Learning powered art & music -- demos, code, examples
Libtcod, Esper (ECS), and designing a game where everything is an entity. : roguelikedev
thumbnail

One of the advantages of an ECS architecture is that you are running your systems over only entities that those systems apply to which helps support a large number of entities at once.


If you're putting everything into an ECS system you'd still expect most of your walls to have very few components. For example they may have a render component, materials component, and a position component. Meanwhile a lot of your systems would apply to components that walls don't possess, like an AI component, a velocity component, etc. So if your ECS system stores components in a way that either caches a list of entities with that component or stores the component information in way where iterating over all entities with that component won't iterate over entities without that component you shouldn't see significant slowdown in that respect.


That said where you would see slowdown in this example is in doing things like calculating collision or computing line of sight. If your look-up for whether a tile is blocking is get all entities at position -> check each entity for a 'blocks sight' component then you're doing a lot of legwork for something that's already computationally expensive. If you have to do that every time an entity is trying to answer a question like "can I see x tile" or "can I move to y tile" that's going to sink your performance.


I think what you'd need to do in that case is plan ahead for this type of work build structures on top to help. For example you may build a component for static collision blockers (for entities that don't move or disappear often) and whenever an entity gains/loses that component or is added/removed with that component you recalculate a base collision map as a 1d/2d/3d boolean (or enum) array. That way you'd have that data already computed and when you need to do something like pathfinding you can use the pre-computed data structure rather than having to query a lot of information from the ECS system every time. Then if you need dynamic collision on top of that (for entities that move often) you could use a second component for that but it would be a much smaller amount of entities that you'd be looking at to incorporate that data.