Python would be better with brackets

{Python} There. I fixed it.

But really I’m talking about the scripting language. Python requires code lines to be separated onto new lines and then groups code lines based on a set of tabs or spaces before the line.

Better programming languages use semicolons to separate the code lines and brackets to group code. This is better because code is built from other code. If you ever create a large program or set of programs, you’ll know that it is necessary and expedient to copy useful bits of code around. This copying is incredibly easy in bracketed languages in any word processor, it just works. And in smarter development environment editors, the editor software can easily identify the bracket situation and automatically correct the format accordingly.

However, in python, when you go to copy a code group, chances are that you’ll have to go through each line and reconfigure the leading tabs and spaces. Indeed, the only way to avoid this hassle is to use special word processors that have built in functions for managing indents, and that still likely won’t work if spaces or combinations of tabs and spaces are being used.

Others have recognized this problem and developed plug ins, but I’d argue that it is a little silly not to have a native bracketed structure.

But neither python nor the bracketed languages provide a solution for deep nesting readability. To fix this issue, I’d take a lesson from html and permit optional tags when opening a bracket block, that, when assigned, must be added at the closing bracket. Something like {:count-loop codeline;codeline2; count-loop:}.

Web Development

Programming high functioning websites is an intriguing exercise, as it involves the use of many different programming languages and formats, simultaneously. I’ve written several pages recently with no fewer than four distinct programming languages/syntaxes: html, php, javascript, and sql. And this is not an uncommon situation in web programming. PHP is a widely used server side scripting language (program executed at the server that is triggered by the http request from the client), html is, of course, the standard language to get client side browsers to display any sort of content, javascript is the most common client side scripting language (program sent with the html to be executed by the client computer on their system, nowadays usually under high security scrutiny by the client browser program), and SQL is the language to communicate with databases.

And, of course, that’s just the web page files. To extend the system usefulness into wider reaching applications, I’ve used server side scripts to write files that interact with separately running python and/or bash scripts. I haven’t yet written an application that uses the php to write a python script which is executed by a crontab command and writes a new php file and then a bash script and executes it to open a browser and send the new php file an HTTP request, which triggers it to write a…. and so on, but it’s not outside the realm of possibility.

I might make it sound a little ridiculous that there is such language diversity in these common and commonly interacting web development languages, but it does serve a purpose.  It helps to separate the various subsystems involved in the process.  If there was only one language involved, then there would have to be some extra syntax added to separate out the client side from the server, and the server and client from the databases.  But that extra syntax wouldn’t be too hard to find an elegant solution for, especially with an object oriented language.

Rock Crushing And Plastic Recycling

Currently, there is a huge demand for mechanically crushed rock, and a huge excess of mixed plastic waste.

Mechanically crushed rocks grip together when compressed, unlike smooth river stones and cobbles that slip apart. This makes them a crucial engineering material that adds strength and longevity to concrete mixes and the engineered soil surfaces which are prepared beneath foundations and roads. Unfortunately, it takes huge amounts of energy to break the stones apart.

Mixed plastics are our poorly sorted recycling waste. In order to produce high quality recycled plastic from mixed plastic, more sorting and lots of energy are required. We in the US have a lot of this waste because China has recently stopped taking it.

Can we take the mixed plastic, melt it down, combine it with a source of existing sand, form it into shapes that mimics or improves upon crushed stone and in so doing. produce a synthetic crushed stone? I think it is an idea worth exploring. You see, the quality of the plastic is likely to be compromised because it is unsorted, but the produced synthstone can be quality sorted by attempting to press it through a steel grate with gaps that are smaller than the desired stone size. The product that breaks and is pushed through the grate is rejected and either reprocessed or used for some non-structural fill.

Such production of synthetic stone could be incorporated into existing crushed stone production process, by using fines which are washed away from clear crushed stone as a waste product in place of the sand, and the synthetic stone could then be blended with standard crushed stone.

I’m not an expert on plastic manufacturing, but my first guess approach would be to heat sand up to the minimal mixed plastic melting temperature in a large rotating barrel, then introduce chunked mixed plastic, and rotate until a synthstone dough is formed. Then load the dough into a die extruder and produce the desired mechanical shapes by slicing a die formed extrusion. I’d call this the synthstone gnocci process, if it was effective.

2019 Final Thoughts

As we come to the close of 2019, I offer one question, with tongue thoroughly en-cheeked. Why not add weight classes to the Olympics? Heavyweight pole vault, bantam weight hammer throw, etc. What could go wrong? What could go right?

I never do stock picks.

Largely because I don’t spend a lot of time researching stocks. But as I have just reached a milestone in my work project utilizing NVidia Jetson Nano, and just ordered a personal Jetson nano to build a home workstation, I decided to check out the stock. The P/E is at over 50 now, after a lot of stock gains this year (no doubt resulting from the market anticipating what I’ve learned practically).

Such a high P/E suggests that the stock is over-valued, but I see incredible long term profitability for NVidia, as their GPUs overtake CPUs as the dominant tool for massively parallel computing power, whether it is cloud based or within local desktops and laptops. And with the growth of distributed home voice recognition systems (such as Alexa and OK Google), all of which require massively parallel cloud computing with machine learning, we can only expect more demand for NVidia products, and as those home assistant systems are upgraded to offer more and more capability, long term demand is assured.

A Novel Process

I invented a novel process improvement at work and the initial test results are promising, and warrant further investigation. This could end up being a big win for the company.

What makes a novel process improvement? Well I’m also working on a machine, and, although I won’t release any details, let’s say that it reduces the amount of rework required for a part of a manufacturing process. That makes the machine a process improvement, but it is not a novel process improvement, because we could pay other engineers to supply a machine that does the same thing. My machine may contain parts that are novel, but it’s not a novel process improvement.

In the case of my novel process improvement, there is no one else that can be paid to get you the same thing. Only Licap has it.

Busy, busy, busy…

I’m working mainly on a few exciting work projects these days. Mainly designing a new machine, also working with machine vendors on a new pilot line, and supporting maintenance and upgrades of existing machines, not to mention some forays into IT support.

Parts fab is at the forefront of my concerns at the moment: Do I print?, have printed?, have milled?, machine myself with or without CNC scribing? Or just all of the above? All of the above sounds right.