Design a site like this with
Get started

Posting schedule change

I will do two posts a week because I have over 60 drafts when this is written.

I will do two posts a week one on Saturday and one on Sunday. The two will usually be disparate. I will reschedule the ones scheduled for upcoming Fridays.

About myself

I first used Linux in like 2016. I’ve made LAN sites with Apache and IIS since at least 2014, but I’ve made HTML documents for a few years before that. With LAN sites, I connected remotely both from my iPad and from other PC’s.

I use Chrome as little as possible on Windows and Mac and any OS other than Ubuntu, Chrome OS, Fuchsia, or Android.

I made my first Remote Desktop connection in my personal time in 2022.

I’ve also used Hyper-V and VMware. I first ran virtual machines in like 2017. I first used Hyper-V in my personal time in 2022. I’ve also used VMware workstation Player for a couple years before that. I’ve used VirtualBox for a few years but I’m not a big fan of it.

I’ve tried OpenIndiana but never installed it, at least it didn’t work well on the old devices I’ve installed it on. I’m thinking of installing FreeBSD on a USB stick. Never exactly used Dahlia OS, it hasn’t worked well on my newest top-tier laptop possibly due to dedicated graphics. Haven’t used Fuchsia OS yet.

Had experience doing tech work in a vocational school.

Edit note:

I decided to offload my interests, preferences and opinions onto new, separate posts.

Parley me at


Why does abandonware exist?

Why does a Company keep EOL software proprietary rather than either open-source it or alternatively sell it to another company? Maybe because it would give the other company a competitive advantage?

Does a company make any money at all from abandonware?

Why did Adobe abandon Flash? if Adobe open-sourced flash, I highly doubt it would lead Adobe to crumble.

Why did Adobe kill Macromedia Freehand rather than open-source it or alternatively, spin Macromedia back off? The latter should have been to comply with antitrust laws. Or kill Illustrator but before that, provide customers a seamless transition to Freehand?

What benefit is there of abandoning software? What benefit does abandoning software bring to the company?

Why doesn’t Microsoft make Windows Gold, a unified Windows combining every single feature that ever existed in any Windows version? from Active Desktop in Windows up to XP, to Edge, Cortana, and Windows Subsystem for Linux in Windows 10? Combining every feature of every Windows version that ever existed? You think it would be clutter?

Software should never be abandoned. It should either be continued, made open source, or sold to another company.

Can software be re-continued? Resume development?

Feel free to answer the above questions in the comments section below.

Unorthodox computer hardware and software concepts and practices

Video games for FreeBSD, NetBSD, UnixWare 7, Xinuos OpenServer, Solaris, or illumos distributions like OpenIndiana.

Would terminal games for Linux or FreeBSD be unorthodox? What about terminal chat? internet relay chat for C shell or Bash?

NVMe over Fabrics (NVMe-oF) – why is this unorthodox? Because NVMe flash should be more tightly linked to compute, whereas SATA and SCSI HDD’s would be desired to be disaggregated. On second thought, flash may be in SAN while HDD be NAS.

Hadoop – it would be more orthodox to have a clustered or distributed file system written in C or C++. That’s why I like Quantcast. Java would better for business logic, servlets, message queueing, and Enterprise Java Beans.

MinIO – why have a clustered or distributed file system be a microservice written in Go? Again, C and C++ are much more orthodox for file systems. That’s why I like OpenIO. Microservices may be better for web servers.

Go and Java should be for application tier and not for data tier.

However, I’d rather have a DMBS than a filesystem be written in Go or Java.

/whole-root for alias on Apache server or virtual directory on IIS, to serve the whole drive C. Should require authentication either with 401 Unauthorized or client certification.

/othercomp alias or virtual directory for serving network drive (e.g., files on the hard drive of another computer) on Apache or IIS. In the case of IIS, you will have to create a workgroup account, since LocalSystem, LocalService, and NetworkService are all local accounts, don’t be fooled by the name “NetworkService”. You’ll have to create a user account, let’s have IISUser as an just an example, that could be logged on to from login screen. Log into it and add a credential for a remote account that has sufficient privileges for read and write, and have have IIS logged in under the IISUser (or whatever you want to call it). Without the workgroup account, it will show a 500 internal Server Error with “cannot read configuration file due to insuffficient permissions” in the detailed error message. As for Apache, using WampServer, when I put /othercomp in Apache, Apache server just shut down without giving a clear error in the log.

Legacy: serve the floppy drive with the “/Floppy” alias or virtual directory.

Could do the same for CD or DVD with respective “/CD” or “/DVD” alias or virtual directory.

Not sure if this is unorthodox, but “/OneDrive” virtual directory. I would recommend to require authentication with 401 Unauthorized for error, although 302 login redirect could work.

Hyper-V host also a domain controller – that’s even worse than installing say, IIS, Exchange Server, or SharePoint on the Hyper-V host, and it’s certainly worse than installing IIS, Exchange Server, or SharePoint on a domain controller. Don’t install additional software or server roles on domain controllers, ESPECIALLY the Hyper-V role. Don’t install more than a limited set of software and server roles on the Hyper-V host. See

What if one enabled ALL server roles on Windows Server 2008 Enterprise or 2016 or later Standard or Datacenter edition? All server roles on the same server? In the “add Roles and Features Wizard”, what if one checked all of the roles? An all-purpose server? I wonder if any two roles are mutually exclusive. To enable that many features would sure be a bloat, and it wouldn’t be secure or reliable. Again, don’t enable any more than a handful of server roles on the Hyper-V host, ESPECIALLY domain services.

JavaScript get text from form data – note that this will only work with GET data, not POST data, for the latter you need a server-side scripting language like PHP (alternatively Java Servlets, Java Server Pages, or ASP.NET), whereas JavaScript is client-side. Anyway, it would be something like this:

var getQuery = function(qName) {
\\declare multiple variables in a single line, but only assign one.
var i,x,y,arrQuery = location.href.slice(location.href.indexOf(“?”),location.href.indexOf(“#”)).split(“&”);
for (i=0; i<arrQuery.length;i++) {
if(x == qName) {
return decodeURIComponent(y.replace(“+”,””));

If you try this code and find any bugs, please tell about the bugs in the comment and I will edit the presented code of the post.

If I forgot to mention any, they will be down below here

How and why to move from Windows to Linux and other Unix-like and X11-based systems

An update to

Linux and UNIX will make the world a better place!

Advantages of Linux over Windows are that it’s more scalable, more flexible, more customizable, more stable, and more secure. Other advantages too. There are many things it can do that Windows can’t.
Linux is free and open source, while Windows and MacOS are proprietary commercial.
Microsoft is the biggest software company, and I’m not sure it should be. Maybe Oracle should be the biggest software company.
Microsoft prefers that you not use Google. It doesn’t want you to use Firefox and Chrome.
If you get Linux, get Ubuntu, Linux Mint, MEPIS, SUSE Linux, Red Hat Enterprise Linux/CentOS, Oracle Linux Unbreakable Enterprise Kernel, or Linux distributions like those. Don’t get Debian, Gentoo, or Arch. Ubuntu is great for laptops, desktops, and workstations, Red Hat Enterprise Linux is great for desktops and servers. Other ideas ideas are QubesOS, VirtuOS, and Genode Sculpt.
Maybe use FreeBSD or Xinuos OpenServer or other variant on a tower desktop, whether vertical full tower or horizontal small form factor desktop. Maybe use Solaris/illumos (like OpenIndiana) with QEMU-KVM to host Linux distributions.
X11(X Window System) is standard, not Windows. Mac, Linux, and Solaris use X Window System, while Windows does not. On second thought, someone mentioned an objection I don’t know where: X11 is single-threaded. Not to mention I’m not sure I like the architecture of X Window System, for one thing X Display Manager uses no encryption, and since it uses UDP and not TCP it cannot be tunneled over SSH. X Display Manager uses snooping, and I wonder if there’s a directory-based alternative. Or does it work differently than cache coherence in NUMA? X Display Manager wasn’t even first developed with SSH (or other encryption for that matter) in mind. X Display Manager was developed years before SSH.
Don’t get iTunes. Get an alternative that’s available for Linux. Maybe get Google Play. Or maybe get Clementine. There are other alternatives like I think Amarok. Any alternatives with a BSD or MIT license?
Get OpenOffice, LibreOffice or Google Docs, Sheets, and Slides, maybe the first or second.
Don’t use iCloud, and maybe don’t use OneDrive. Use something else like Google Drive or Dropbox. Anything else? Amazon S3…
If only Microsoft would merge UNIX into Windows as Apple merged UNIX into MacOS. Maybe getting UNIX and Linux in the desktop would encourage Microsoft to do so.
You could dual boot Linux on a Windows laptop or desktop. Or you could use a virtual machine, for which I’d recommend VMware Workstation Player running Ubuntu on a laptop and Hyper-V running Oracle Linux UEK on an all-in-one or tower desktop or server. Or you could just get a Linux laptop like Acer Aspire or Dell XPS.
Fuchsia OS has arrived but not been bundled into any laptops yet. And forever reason, there’s no ISO on the site There’s only the source. Why isn’t there a simple “download” link on top where I can find an ISO to burn onto a CD or DVD or maybe a USB stick?
Apple is the biggest IT company, but it shouldn’t be. I think IBM, Hewlett-Packard, and Dell should be bigger.
What do you think? Anything I missed? Any issues? Say so in the comment.

Why Linux shouldn’t saturate the enterprise server and HPC market

I’m not, and never was, a big fan of Linux.

For years until a few years ago, I thought Linux was just a desktop/laptop/PC OS like Windows and Mac, and that supercomputers and data centers would use an OS made from scratch, oriented to supercomputers. I was wrong.

Linux is licensed under GPLv2. It cannot be updated to GPLv3. GPLv2 means there can be no proprietary derivative works. They all have to be distributed under the same license. And GPL extends to linked kernel modules. If only Linux was licensed under GPLv2+ and had the Linking Exception clause in its GPL license. LGPL won’t do, because LGPL is for libraries and GPL is for applications. Are there any operating systems licensed under Mozilla Public License Version 2.0 which would be compromise between GPLv2 and 3-clause BSD? Why is Redox OS licensed under MIT license and not Mozilla Public License.

As a side note, GPL and AGPL should be avoided for libraries. All copyleft libraries should be licensed under LGPL.

IBM should have continued with AIX, and Hewlett-Packard Enterprise should have continued with HP-UX and ported it to AMD64 since Itanium was discontinued. Both UNIXes are better than Linux for mission-critical servers. Sure, Linux is great for server farms and the de facto standard for data centers.

For the compute nodes of supercomputers, use a microkernel derived from Mach, ChorusOS, or Cosy (, not Linux. Use Linux only for the I/O nodes if anything. I don’t care if Windows or Linux is used for the service nodes. Either FreeBSD or Red Hat Enterprise Linux would do great for the storage nodes.

OpenVMS is vastly superior to UNIX. David Cutler said so, and also said the same about Windows NT and successor.

I’m not a big fan of the Unix directory structure. I like the directory structures of Windows NT and successors better. I’m going to assume OpenVMS directory structure is comparable to that of Windows, not to mention Unisys 2200 may be great.

For alternatives to Linux, see

Is there any self-booting alternative to OpenStack, OpenNebula, or Cloud Foundry? is the best reference I could find. Except the self-booting cloud platform would boot from the hard drive, not removable media. An operating system built specifically for the cloud. Any made from scratch and not based on Linux?

There are two main markets: one is the personal computer market, and the other is the workstation and server market. Fuchsia is replacing Linux for the former, but what could replace Linux for the latter? Have an OS family for the PC market and a separate OS family for workstations and server.

And why should Linux be “everything is a file” like Unix? Isn’t that kind of misleading? Why should /dev/sda1… or /proc/… file-mapped I/O? Doesn’t make sense.

To all those who find this site

I recommend adding each page you visit to bookmarks, because even if you found it on Google, it might not stay indexed, and if it’s not bookmarked, you might have to check in your history or try another search engine.

Sorry that this site was so difficult to navigate. That explained part of why I didn’t get many views or visitors and didn’t get any citations. Some weeks ago I added a search bar, a list of categories, and such. I also changed the theme. Now the site is much better.

Data centers are disaggregated, why aren’t desktop PC’s?

Think of Open Compute Project and Intel Rack Scale Design, not to mention GigaIO and Fungible Data Centers. They are disaggregated, why are PC’s not disaggregated?

Maybe because desktop PC’s aren’t on 24/7 like datacenters are?

How desktop PC’s could be disaggregated

It is common for a desktop PC to have a single multi-core i5 or i7 with vPro or an AMD Athlon or Ryzen, while a workstation may have one or two Intel Xeon or AMD Opteron, Threadripper, or EPYC. But superscalar RISC would be ideal, like MIPS or IBM/Freescale Power Architecture, but unfortunately the former is recently discontinued and Windows supports neither. Either way they may be soldered onto the motherboard. DRAM would be in DIMM’s.

But that doesn’t explain why or how the PC could or should be disaggregated.

Where would be a good place to start with disaggregation? Definitely secondary storage e.g. HDD. Have secondary storage in a separate box as either direct-attached or network-attached, not sure about storage area network. Maybe block-only, direct-attached or SAN, in the case of separate flash and disk expansion, and network-attached storage in the case of hybrid-flash arrays. For network-attached storage desire NFS and SMB/CIFS for file protocols. Preferred RAID levels are RAID5, RAID6, and RAID10. NVMe preferred for flash, SCSI preferred for HDD’s, and IDE/ATA for optical drives.

Either FreeBSD or Red Hat Enterprise Linux would be preferred over Ubuntu for network-attached storage.

Anything else to disaggregate? There would be a dedicated graphics card or two, i.e. NVIDIA GeForce, Quadro, or GRID, in the compute box, removable. Hot-swapping would be desired. NVIDIA Optimus is one idea. The graphics cards would feed into DisplayPort video output, while DSP would be for analog audio e.g. auxiliary Jack. DSP should be VLIW and SIMD vector floating point, while graphics cards be array processors.

Network? InfiniBand would be great, but if neither, just have Ethernet and maybe Fibre Channel. Rather than just a router, may have one or more smart switches and, attached to them, several wireless access points distributed around the building.

What about offloading? Maybe I/O processors (IOPs) like mainframes? In that case, selector channels directly access memory whereas the IOP is the mediator between the multiplexer channels and memory like HP 3000, also with direct I/O straight through the IOP to the CPU. Each multiplexer and selector channel in its own hot-swappable card? But desire SmartNIC’s like NVIDIA Bluefield.

Not related to disaggregation, either programmed or interrupt-driven I/O would be desired for mouse and keyboard and such USB devices, while DMA would be desired for FireWire camcorders, and either interrupt-driven I/O or direct memory access would do for printers. Mouse and keyboard should be USB, camcorders should be FireWire, and printers and scanners may be either USB or FireWire or possibly parallel port or maybe SCSI.

And ATA would be preferred for optical discs whereas SCSI would be preferred for hard disk drives.

To make disaggregation useful, have at least two compute boxes, otherwise there wouldn’t be a strong reason for disaggregated storage. Form factor for compute boxes, maybe full tower or 2U.

Operating system? Could use a Linux distribution like Ubuntu Server or Oracle Linux UEK, on the former install Unity or GNOME 3.x. in the case of GNOME on Ubuntu, customize it to be more like Unity. Or could have Windows 10 or 11 Pro for Worksations or Server 2016 or later Essentials or Standard. But other ideas include Fuchsia or Dahlia with Zircon kernel, another idea would be Genode Sculpt, with a multi-server microkernel as host, and Linux guests.

Hypervisor? VMware Workstation Player hosting Ubuntu in the case of Windows 7 or 10, or Hyper-V in the case of Windows 10 or 11 or Windows Server 2008 or later Standard edition. Cooperative Linux would be a great idea, but sadly it’s been inactive since 2011, and while the non-HTTP website is still up (, the HTTPS site ( won’t accept connections. Alternatively have Xen with a Linux distribution like Ubuntu, CentOS, or Oracle Linux for DomB, for which desire to offload Bootstrap and Builder to DomB like disaggregated Xen (, possibly sliced like Nexen ( In the case of Xoar, desire Windows (otherwise Ubuntu) for Toolstack and Console, MirageOS or alternatively OSv for XenStore, FreeBSD for PCIBack, NetBack and BlkBack, and a minimal Linux kernel for Bootstrap and Builder. One QEMU stub for each VM. Another idea is QubesOS or VirtuOS, but desire Ubuntu rather than Fedora for hypervisor host, and FreeBSD for network and storage backend driver domains. Control domain has native drivers for mouse and keyboard and such USB devices, GPU graphics and DisplayPort video, and auxiliary Jack speakers, and things like those.

But if control plane OS is connected to cluster services via REST API like the Linux control plane of Fungible FunOS is, then what should be the management plane or SDN/SDx controller for cluster services? A laptop like HP Pavilion or ProBook, Lenovo IdeaPad, or Dell Vostro, Latitude, or XPS could work, but it may be best to have an all-in-one desktop like Dell OptiPlex, XPS, or Precision. Ubuntu would be the preferred LInux distribution.

Use cases and potential applications

Maybe for gaming system. Composability would be desired.

Other applications besides gaming? Maybe web services like Apache with PHP and Python. Maybe Docker and/or Kubernetes microservices?

Or for services over the Internet to your mobile devices while you are on travel? Maybe a portal to public cloud?

Maybe run database services like MySQL, Postgres, or Oracle on a separate server from the HTTP web server. Database engine could be on the same server as network-attached storage.

Python would run on the main processor. But while running Java applications on the main processor could work, why not instead run them on a dedicated ShBoom/Ignite microprocessor to avoid the overhead of Just-in-Time compilation?

P.S. No need for April Fools Day jokes!

Why businesses should be democratic

Despite – or perhaps because of – being free and open source, Linux hasn’t gained much traction in the desktop market.

The best part open source is that the software can be modified to fit our needs. But if everything was open source, the economy would crumble and crash. That’s the worst part of open source. Designing an OS well is work that not many are willing to do for free. People have mouths to feed, bills to pay.

There may be a better idea: democracy.

Why can’t customers be involved in Microsoft decisions?

The customers should take part in business decisions.

Customers should be allowed to give various ideas for the company. Of course, there could still be a central governing body. We also need order, not chaos.

To make quality products is better than to make money. Sounds like what Samuel said to Saul in I Samuel 15:22 (ESV):

Has the Lord as great delight in burnt offerings and sacrifices, as in obeying the voice of the Lord? Behold, to obey is better than to scarifice, and to listen than the fat of rams.

Except instead of talking about obedience vs. burnt offering and sacrifices, we are talking about quality products vs. money. And God didn’t say what I’m saying here, but I’m sure the Lord would agree that to make quality products is better than to make money.

There’s much more to work than just the money!

But what about blockchain and decentralization?

I am most definitely NOT saying that companies shouldn’t make money. BUT, money should be merited. They should get how much money they deserve.

Companies, whether startups or Fortune 500, 10% of their profit to the Church. Unfortunately, Microsoft doesn’t do that since it’s non-religious.

Copyright should be democratic.

Open source may not be the answer, but maybe crowdsourcing is. I suppose a product could be crowdsourced without being open source, but are they mutually exclusive?

Edit: I forgot to mention, from vendors according to their abilities, to customers according to their needs. That sounds socialist like Marx. I’m not sure about that – I don’t mean to talk about a classless society, which would disincentivize people to work.

WordPress themes don’t make sense!

They almost seem like complete sites in their own right! Why have those themed pictures like about a particular painter for example? it’s ridiculous that I should have to remove that rubbish theme-specific content.

And how could themes support a limited set of widget and menu locations, even blank canvas? And the editor (beta) and widgets customizer are mutually exclusive?

But I did figure out my favorite themes. I like Twenty Sixteen. Independent Publisher may also be good. But my personal favorite is Twenty Fourteen.

IT technologies and products better together

Matches made up in heaven in the IT industry… figuratively speaking.

First, the technologies. Edge and cloud are better together! A match made in Heaven!

CPU architectures

SIMD and VLIW are better together. Dual Harvard architecture (multiple data memories in separate address spaces with separate buses) would facilitate that. All three are better together!

SIMD vector and matrix processing and floating point arithmetic are also better together. Of them, at least floating point arithmetic is better with stack-based architecture.

(Super)scalar processors, on the other hand, are better fixed-point, and fixed-point arithmetic is better with general-purpose register machine e.g. load/store.


Can’t think of anything yet.

Data storage and processing

Apache Cassandra for persistent disk tier and Ignite for memory tier – a match made in heaven! What about DataStax Enterprise and GridGain?

Ignite or GridGain could displace HBase and pair with Hadoop HDFS.

MongoDB for main database, with ElasticSearch for search engine, MemCached or Redis for memory boost, and Hadoop for MapReduce.

Any that I missed will be down here

Data warehouse and lake are better together.

Alternatives to Linux

Linux hasn’t gained much traction in the desktop, despite (or perhaps because of) being open source. Linux is licensed under GPLv2, and all derivative works have to be under the same license. What’s worse, the license of Linux cannot be updated to GPLv3, not even by Free Software Foundation or Linus Torvalds or the Linux Foundation.

And even GPLv3 can only be linked to code of the same license or AGPLv3, not any other license not even LGPLv2.1+ or GNU Classpath License as would be my ideal.

Here are some alternatives.

GNU Hurd

A microkernel alternative, also GPL. Not a big fan.

Minix 3

Another microkernel alternative, licensed under BSD 3.0. Kind of dated and may be limited to legacy BIOS and Master Boot Record systems, not UEFI and GPT.

Genode and Sculpt

A very recent one. AGPLv3. Probably a better alternative than the above. See Based on the NOVA hypervisor. One of the best alternatives on this article. Low trusted computing base.

Fuchsia OS

Another great alternative. Kind of IBM Workplace OS reborn. But for whatever reason, doesn’t have a “download” page where there would be a prebuilt “ISO” image. you have to get the source and build on it. There’s also Dahlia OS at, but It seems like I only got the Linux based version and not a Zircon based version. It also doesn’t seem to run well on a Lenovo X1 Extreme Gen2. It doesn’t work with dedicated graphics.


Great for network attached storage.


Multikernel which performs better on multicore and manycore processors.

Edit: I forgot to mention Barrelfish/DC which decoupled kernels from cores so that a single kernel can span multiple cores, or multiple kernels share a single core, and kernels can be transferred between cores.

Cosy, great for massively parallel computers, can scale to more processors than either Linux, Mach, or ChorusOS. Unfortunately it’s like 25 years old and no recent articles cite it as a reference, which is kind of a shame. There’s a more recent OS also called Cosy, but it’s very different and is for safe kernel extensions and not for massively parallel processing.

Whereas Cosy is for distributed parallelism (e.g. NUMA, distributed shared memory, and message-passing), Barrelfish is more for multicore on a single chip.

Angel OS

A novel distributed shared memory OS idea, see I haven’t seen new articles reference it. That’s much like Cosy as mentioned above.It’s a single address space OS.


Safe kernel extensions, one of the two does it via sandboxing and the other does it with a safe language, Modula-3.

IX and Arrakis

IX uses Linux for control plane, so is not exactly an “alternative” to Linux. Arrakis is based on Barrelfish. Both relyIX relies Dune virtualization, but the thing I like better about IX is that it doesn’t rely on SR-IOV as Arrakis does, but also supports DPDK.

Edit: an enhanced derivative of IX is ZygOS with task stealing, an enhanced derivative of ZygOS is Shinjuku which has preemption.

Any that I missed will be down below here (I added to the list in top-down order)

HelenOS – another multiserver microkernel, much like Minix 3, GNU Hurd, and Fuchsia, but made from scratch. Seems a bit dated though. Unfortunately it has limited driver support.

I should have also mentioned NetBSD, which is very portable.

COMPOSITE – see It’s component-based.

Oh! Then there’s Redox – a microkernel written in Rust.

Then there’s Grail OS – I didn’t find out about it until March 15, 2023. See The OS has multiple personalities.

Oh! Manticore OS – based on what’s called a parakernel. See I kind of like the Demikernel better though – see and That’s also better than IX and Arrakis.

And there’s L4 – a second-generation microkernel used for research purposes. There’s also L4Linux, which is Linux on top of L4.