View on GitHub

Quorten Blog 1

First blog for all Quorten's blog-like writings

Solar panel energy output? How do you know if your panel is large enough to power your network equipment? Okay, here’s what to do. Find the wattage, and multiply by the time in sunlight to get the energy. Then assess the continuous power drain of your network equipment is within bounds. Finally, select an appropriate battery pack size based off of energy supply uncertainty beyond regular day-night cycling.

Multiply voltage and current to get Watts.

20180622/DuckDuckGo solar panel size energy output
20180622/https://news.energysage.com/what-is-the-power-output-of-a-solar-panel/ 20180622/https://en.wikipedia.org/wiki/Watt

Read on →

Important! Earlier I’ve said that interrupts for I/O don’t make sense in a multitasking operating system unless the processor is sleeping. Yes, that is true. The primary reason for this is because one process doesn’t know what I/O is being done by another process, and it doesn’t make sense for other processes to be interrupted on behalf of the I/O of one process. Hence the use of polling by the timer tick and operating system kernel when multitasking is active.

But what about single tasking? Here, it is perfectly fine to use interrupts to notify the single task that I/O is complete. However, we must be clear that this should only be done should the programmer desire it. If the program is entering a real-time loop, then it makes sense to disable interrupts until the real-time loop is exited.

That being said, about real-time and timing loops on multitasking operating systems. Generally, a multitasking operating system only guarantees timing accuracy (1) within a scheduled time slice and (2) between scheduled time slices. Macro-timing for between scheduled time slices, micro-timing for within scheduled time slices. The crux here is that the interval of time between these two limits cannot be assumed to be timed accurately on a multitasking operating system, unless the system is also multiprocessor and can arrange for tasks on processors in such a way that a variable scheduler is supported on one processor.

Specifically, only integer multiples of the macro time slice can be supported. The fractional part of the macro time slice may be variable.

Important! Discussion about early computer monitors and their various colors. Why did the early home computer monitors use white on blue? The main reason was cost: doing so made it possible to repurpose an old, low-resolution black and white television or a color television for use with a computer.

As for the alternatives that used green or amber screens. These were more expensive phosphors because the equipment was more expensive to support the high horizontal resolutions of 80 columns. Due to technical complications of the video bandwidth circuitry scanning limits, slower phosphors had to be used too which caused ghosting artifacts when displaying moving objects on those monitors. Yeah, we’re talking slow on the old equipment. Not only is the software writing to the display slow, but the refresh of the display itself is slow.

Read on →

Interesting, someone is asking a culture question here about an abrupt programmer attitude.

20180621/https://workplace.stackexchange.com/questions/114469/is-this-tone-unusual-in-a-tech-workplace

Other interesting culture or interpersonal questions on StackOverflow and related sites.

20180621/https://photo.stackexchange.com/questions/99462/is-it-normal-business-practice-for-a-contest-site-to-solicit-submissions-and-the
20180621/https://parenting.stackexchange.com/questions/34191/should-i-punish-my-teenage-sister-whom-i-have-full-custody-of-for-lying-to-me

Example of reinvention and popularity

2018-06-20

Categories: misc  
Tags: misc  

So, here’s an example, or well at least related to what I don’t like, the phenomenon of reinvention and popularity. Intel Storage Performance Development Kit. Why patch in on the side here when the solution is to improve the operating system implementation? It can be done, and if it is, that is much more future-proof than developing this API that is only of interest to a minority of specialized enterprise servers.

20180620/http://www.spdk.io/

Again, I reiterate, because this is important!

Other random technologies I’ve heard mentioned worth note.

Software: CoreOS Container Linux, CoreOS matchbox, CoreOS ignition, Ansible, Kubernetes, Drone, kube-router, Route53, CoreDNS, Gluster, GlusterFS, Gluster block storage, OpenEBS, Rook/Ceph, cStor plugin, Intel’s SPDK, Cog (by Operable), Kubernetes Helm

Protocols: PXE, BGP Peering, ECMP VIPs (Equal Cost Multi-Pathing Virtual IPs), DSR (Direct Server Return), Let’s Encrypt TLS (HTTPS) Certificates

CoreDNS is a DNS server written in Golang.

20180620/https://coredns.io/

When was OS/360 introduced? 1965 is when it shipped. Wow, that’s sure a long time ago for an operating system that was so influential on the world of modern computing: multitasking, compare and swap thread locking for concurrency, virtualization (OS/370), and so on.

20180620/https://en.wikipedia.org/wiki/OS/360_and_successors

So, related to what you were thinking about, for older technologies that got there first, but ultimately thrown by the wayside because they didn’t become as popular as the incompatible alternatives. This is it. This is the pinnacle of your example of the thing happening that you don’t like.

UPDATE: 2018-08-18

Raspberry Pi 3B+ supports PoE through the use of a HAT.

Raspberry Pi Zero with PoE? It looks like there aren’t any ready commercial solutions, you have to build one yourself. Ah, just like the early PCs, if you wanted to connect to an Apple computer or printer over serial.

20180620/DuckDuckGo poe raspberry pi zero
20180620/https://lifehacker.com/[object%20Object]
20180620/https://n-o-d-e.net/ethernet.html

Each “core” can come in multiple levels: level 1, level 2, level 3, etc. Level 1 is the “minimal, most basic required”, whereas the higher levels add nice-to-have features in that area.

Furthermore, there are two major areas of division.

  • System calls
  • Library code

Read on →

ARM in the datacenter?

2018-06-20

Categories: misc  
Tags: misc  

Wondering about ARM in the datacenter? Oh, it’s coming, but there are hurdles to be overcome and it is rolling out slowly. Microsoft announced support, but Red Hat is the main remaining gatekeeper that will open up adoption when they announce full support.

20180620/DuckDuckGo arm in the datacenter
20180620/https://gigaom.com/2016/11/09/more-arm-cpus-in-the-datacenter-for-2017/
20180620/https://www.sdxcentral.com/articles/news/arm-reaches-data-center-competes-intel/2018/04/
20180620/https://www.nextplatform.com/2017/05/05/red-hat-gatekeeper-arm-datacenter/

Linux adoption. For sure, this has been a steadily growing area, whereas Windows adoption has been steadily declining. For sure, much of the growth has come from Android smartphones and Chromebook netbooks, both namesakes of Google. Previously, Google had a very hard time encouraging more end users to run GNU/Linux, so they focused primarily on running it on their own servers.

20180619/https://en.wikipedia.org/wiki/Linux

Unfortunately, this article doesn’t have very much in the way of graphs, despite its name and purpose.

20180619/https://en.wikipedia.org/wiki/Linux_adoption