View on GitHub

Quorten Blog 1

First blog for all Quorten's blog-like writings

Public Domain Day? Ah, now that is interesting, I didn’t know there was such a celebration. Public Domain Day in the United States is January 1st, and it marks the first day that previously copyrighted works officially legally cede into the public domain. Public Domain Day 2019 was a particularly notable day, with one of the largest public domain releases in about 20 years, due to finally reaching the end of the Sonny Bono Copyright Term Extension Act, which extended the copyright of works published before 1978 to a total of 95 years. Now, 95 years after 1923, we have a whole new swath of public domain works, ripe fruit to be used by creatives of the modern era.

20190824/https://en.wikipedia.org/wiki/Public_Domain_Day
20190824/https://observer.com/2018/12/2019-copyright-works-entering-public-domain/

Should you add a Contributor License Agreement (CLA) to your free, libre, open-source software project? In general, no, because doing so has the potential to discourage contributors and limit the growth of your project.

20190824/DuckDuckGo how to add contributor license agreement to your open source project
20190824/https://ben.balter.com/2018/01/02/why-you-probably-shouldnt-add-a-cla-to-your-open-source-project/

Ah, yes, Tandy started out as a leather business, but then they moved into computers with 8-bit computers of the late 1970s and early 1980s. Interestingly, I did not know that Tandy was making IBM PC clones in their late history, and the computers used “Tandy” in the name rather than “Radio Shack” because the customers reported that the name “Radio Shack” was bad for the office.

20190822/https://en.wikipedia.org/wiki/Tandy_Corporation

Sure, we know there is the standard wall stud spacing, but how far are wall studs spaced apart around doorways? Well, well, it turns out that wall stud construction around doorways is a bit non-trivial, so let’s describe this with a picture, as well as the jargon used in the profession. Please note that these descriptions are specific to U.S. construction standards.

Wall studs diagram
  • The dimensions of a “2x4” are 1.5 by 3.5 inches. The dimensions of a “2x6” are 1.5 by 5.5 inches.

  • Standard wall studs are typically 16 inches apart, except for some interior walls that might go 24 inches apart.

Read on →

I’ve once before written a keyboard automation program using the Windows API SendInput() function in a C program. Is there a way to do likewise in modern PowerShell? Indeed, there is. More than one, actually. The first way is based off of the old Visual Basic Script (VBS) function called SendKeys(), and you can actually use that verbatim inside PowerShell. The second, more modern way, involves another helper library to do some nicer things. For now, I will not detail that in this article, but leave it at providing the links for more information.

20190819/DuckDuckGo powershell send gui input
20190819/https://devblogs.microsoft.com/scripting/provide-input-to-applications-with-powershell/
20190819/https://web.archive.org/web/20120107163730/http://msdn.microsoft.com/en-us/magazine/cc163301.aspx

Lessons learned from large scale paper scanning. Reverse chronological order? For many of my papers, I started by collecting and storing them in reverse chronological order because, well, if you are just building up an informal pile of papers, that is the easiest to put together of course. However, this turned out to be a nuisance for the digitizing process, simply because it meant that when I take the papers out of the packages, I start at the top and page down to the bottom, just like you would read a book, right? Alas, that results in previously stapled packets of paper being in-order, but the whole collection is kind of in a weird reverse chronological order. Next time, I should flip the papers over face down when collecting, so that the whole packet of papers is in forward chronological order, and packets of paper are scanned in-order.

Also this is a good lesson for the sake of organizing film negatives. Forward chronological order, oldest on top, newest on bottom, to keep things as smooth as possible when digitizing.

Okay, so Bresenham’s line plotting algorithm has already been explained many times, but now I want to do a good explanation in my own words for my own reference and learning. Also, I want to explore how to extend the algorithm to plotting 3D lines in a voxel grid, which I will show is fairly simple and intuitive if you understand Bresenham’s line plotting algorithm.

So, for starters. You have a two endpoints of a line on a pixel grid, and you want to rasterize the line in between. Also, you must use only integer arithmetic when performing this operation, no floating point. How do you do that? One easy and intuitive way is to recursively compute midpoints along the line, until all pixels are connected. However, this is an imperfect method that tends to result in plotting extra pixels. The ideal method would be to compute an integer space which is right-sized so that you can uniformly step from beginning to end by adding an integer constant.

Let’s describe this better with an example.

P1 = (7, 4)
P2 = (14, 17)
D = (14 - 7, 17 - 4) = (7, 13)

In this example, we know that we need to step 7 pixels along the x-axis and 13 pixels along the y-axis. If we only had to step along the x-axis, we could define our integer space to be [0, 6] and add one every time we step one pixel, and that would do the trick.

Read on →

Polygonal mirrors for deflecting light? You’re in good business, a lot of these are made for the laser industry and laser printers. You just got to make sure you use the right search engine terminology otherwise no useful results will turn up.

One innovative thing that can be done with polygonal mirrors is to have each face at a slightly different angle so that the polygonal mirror can scan out multiple parallel projected lines (i.e. multiple light planes) from a single laser beam.

20190817/DuckDuckGo triangle prism mirror
20190817/DuckDuckGo polygonal mirror
20190817/https://www.ebay.com/sch/i.html?LH_CAds=&_ex_kw=&_fpos=&_fspt=1&_mPrRngCbx=1&_nkw=polygon+mirror&_sacat=&_sadis=&_sop=12&_udhi=&_udlo=&_fosrp=1
20190817/https://www.ebay.com/itm/Rotating-Polygon-Mirror-Laser-Scanner-Makes-8-Lines-for-Raster-Scanning/113329858581?hash=item1a62fc6815:g:GQcAAOSwfeZc0KF3:sc:USPSPriority!55422!US!-1
20190817/https://precisionlaserscanning.com/polygon-mirrors/

I tell you, they just keep coming, and I always have something new to learn from them. The Rock Pi 4 and NanoPI NEO4? Wow, some venerable high-performance competitors that came about before the Raspberry Pi 4, so it seems.

20190816/DuckDuckGo raspberry pi 4
20190816/https://www.techrepublic.com/article/raspberry-pi-4-model-b-review-this-board-really-can-replace-your-pc/

Why don't we play around more often?

2019-08-16

Categories: misc  
Tags: misc  

So, earlier just about half an hour ago, I decided to just look around, play around, without doing anything really productive or planned. Wow, that was a great experience, I ended up taking some photos of some old failed mini blinds due to a defective design, useful for failure analysis and simply just plain artistic fun.

So, now I’m wondering about the question. Why don’t we play around more often? Is there information on the Internet about this? Oh, yes there is. Wow, so here’s the trick that I am told. The good feeling effects from playing have a lasting effect for after 24 hours of doing so. Yes, so it is not simply just a way to escape from work, but it also makes work more productive in its own right.

DuckDuckGo why don’t we play around more often
20190816/https://bigthink.com/think-tank/2-reasons-why-you-shouldnt-work-so-hard