Wednesday, April 26, 2017

The Value of Hunting, Pecking, and, Thinking with Modern Tools

Team. If you are pensive and careful enough, you can construct a perfect sentence without redactions while reasoning about it with "punctuated thought". Practice this while writing a paragraph. This is a gauge for your "thought rate" while constructing computer programs. This "lesson" is directed at the "newer" developers who might be high-school students or undergraduates.

And, an old friend and software developer, whom I know, had a saying, "A fool with a tool is simply a faster fool!" A Biblical measure exists for being a "fool". You can discover that one if you like. And, admittedly, developers who are rushing others or themselves in the workplace are often the biggest "devils".

In all honesty, these paragraphs required a few redactions. I have not yet found my ideal "pensivity-rate".

Happy Coding!

Thursday, April 6, 2017

More Notes on Compression and Simultaneous Ciphering - Validating the Original Number - A Check-Sum-Remnant (CSR)

Team. Just a quick note on an alternative for of a check-sum (hashing) algorithm. When validating (verifying) the original number which we compressed and ciphered concurrently with the procedure mentioned in the previous posting, you have likely discovered that using a check-sum as part of the trailer which serves as a stop signal reduces the odds of a mistakenly accepting an incorrect file as the original "clear text". In fact, including more than one check-sum value generated by differing hashing algorithms increases this assurance that we have the proper file.

However, one of the limitations of modern hashing techniques is collisions. They will take a range of values in a large integral space and place it in a smaller one, which is "narrower", using operations such a modulus. Let us flip this approach like a pancake. Instead of placing a large integral range in a smaller one, let us place it in a larger one using a bijective and invertible function, such as f(x) = Ax + B. This would take the range [ 1, n ] and place it in [ A + B, An + B ] which is "wider", and, best of all our hashing would be collision-free. Next, we can add a stop trailer with one or more traditional hash values (check-sums) identifying the new integer (file). Next, we can use our randomized Caesar cipher for compression and ciphering. Let us call it a "Black Caesar" cipher seeing that the key which unlocks the "cipher text" is the uniquely configured random number generator(s) hidden within the algorithm for compression-decompression.


Once compressed, our remnant value, the distinct number which remains, is the check-sum from which we can both validate and extract our original file (number) with the final step being the use of the invertible function f(x) in the form f^-1(x).

This is just another planned project for a graduate student or bright undergraduate who is looking for thesis or dissertation material. Knock yourself out. The author likely will never work as a professor mentoring doctoral and masters students so he is sharing some of the projects which he has dream up over the years in the form which he intended.

The CABOOSE work is progressing in the mean times and in between times. As the author dusts off his old notes from the cobwebs in his noggin, we will make more project ideas available for those who are expressing trouble thinking of something that might be meaningful. Remember, keep it simple and widely applicable.


Happy Coding. Hunt...Peck...Think....


Post Scriptum - Before settling in and sawing a few logs early this morning, the author would like mentioning that the above procedure might be considered a lexiometric since it can examine a unique file "fingerprint" when identifying it much like modern biometrics can examine part of the human body for authentication in computing security.


Sleep Tight!

Tuesday, March 28, 2017

Dreams and Visions in Computing | Win 95 OS with JAVA 1.0 VM {Emulator] Running on a 3.5 Floppy

Team. An intuition coupled with a few solid ideas have been floating around in the mind of this weblog's author since his days working in computer telephony integration in the late 1990s. He has found a few moments this evening, and he would like it if he could share them. Having a life-long dream of working as a college professor and mentoring students or as an industrial researcher, he would often imagine potential research projects for himself and a future staff of graduate students. The PhD never arrived. As such, he never led a team of graduates students in researching concerns, algorithms, and theory, his favorite topics in computing.

Circa the mid-1990s, leaning upon his experiences as a high-school NIH scientific apprentice at a local cancer biology research center and as a undergraduate computing student, he dreamt of ways in which he might compress information. He also dreamt of ways in which he might model life and its processes  as a computation seeing that he had seen some molecular modeling done on a Silicon Graphics workstation. This experience had simply left him in awe.

Seeing that he had realized that prying eyes had scanned his math and science notebooks while a high-school student, he knew the nature of the "normal" student. So, he constructed a diagram with a pair of interwoven ideas.

On the top was a number line with numerous hops on it connected by a line. This is something one might have seen in front of a second grade class as students learned basic addition and subtraction. He thought, "What if a person could uniquely describe a much larger number as a much smaller number?" Are not files simply very large numbers? Below this diagram, he wrote "DNA Storage" being that DNA was an acronym for "Distinct Number Algorithm". Simply put, for every "large" number, a much "smaller" and "distinct" number might be mapped with it This would be a very effect means of compression. Also, as an unintended "side-effect", it might also be an effective means of ciphering seeing that if one does not know exactly how the "smaller" value is unfurled, he could produce any number larger than it which represents a file. This was the first idea.

The second was that deoxyribonucleic acid (DNA) is composed of the bases: G, C, A, and T. These can be mapped with 0, 1, 2, and 3. This means that one might map a "natural" DNA sequence with a base 4 number, and the transformations which occur in cellular division might be seen as the application of a composition of mathematical functions. Being that irregular cellular division is the foundation for cancerous growths. One "might" develop an approach for designing effective treatments for cancers by creating medications that correct the incorrect translation of a DNA number between its natural starting and ending values. This was noted on the diagram with the phrase "Base 4 GCAT".

Finally, seeing that the author did not have the depth of knowledge in the natural sciences that he might "flesh out" this second idea, his primary focus was the first idea.

As the modern research area in "DNA storage" gained steam misty watercolored memories of a simple dream and intuition for compressing data with a greedy "whittling" algorithm crossed his mind. He was rather disheartened thinking that "academic dishonesty" had produced multi-million dollar federal and corporate research projects in quest of something which a undergraduate computing student could resolve in an independent study. However, being an adjunct at a representative sample of universities and college in America, this type of dishonesty did not surprise him. But, it bothered him seeing that children are still malnourished in this world of plenty.

However, here is the crux of the "simple" idea, an idea which might ultimately result in someone running an OS + Virtual Machine emulator in a space smaller than the storage on a 3.5 floppy.

One thing that we often forget as we progress in mathematics, since we deal with numeric symbols such as 3, 5, 7, 9 and 12, is that we are ultimately dealing with implements such as blocks, small stones, or grains of sand. These implements might represent the size of a piece of wooden stock.

So, our file which is a large number can be represented by a large piece of stock that we can whittle away at until we have a size of wood that is ideal for storage. We only must keep track of the size of the whittles. Wow, all of those whittle-sizes must represent a whole bunch of numbers. Seems like one would have more numbers that one must keep track of than the size of the original number which was the first file.

Well, computing has long had "pseudo-random" number generators which are compact functions that represent a potentially "infinite" stream of numbers. The nice feature of these generators is that the sequence which they generate is based upon the first input value, the seed.

Would not an "old" man whittling a piece of wood first remove large random pieces, then smaller random pieces, and then smaller pieces still?  Finally, when he was near the desired sized stock, would not he remove a last stream of "micro"-whittles.

This would compress a large number producing an arbitrarily smaller number.
But, how do we uncompress the small stock. Simply start gluing on the large random whittles, then the mediums whittles, and etc. by adding the random values with the small "distinct" number that was the remaining remnant.

Compressing a kilobyte at a time, and recursively compressing this first generation of remnants through second, third, fourth, and etc. generations, one might conceivably place a zetabyte in a kilobyte or less.

Well, that is great, but when would one stop adding so he knew that he produced the appropriate larger number. It would be wise if we augment our original file with a small marker as a trailer that would not likely be produced by the "decompression" process unless we had arrived at the "true" original value.

Well, that is all fine and good, but how might this produce an emulator powerful enough for hosting Win 95 and JAVA 1.0 on a 3.5 inch floppy. Seeing that a Von Neumann architecture partitions the computational power from the memory. The memory space itself, main memory and secondary storage, is a file and ,hence, a number.  So, once compressed, any state change might be represented by augmenting the first remnant representing a "base" with another small distinct number  representing an "offset". An audit trail of offsets will describe the "current" state of the emulator. Such an emulator might also contain an algorithm for resolving the base and offset history producing a single new remnant number for the latest state of the emulator. This might be a wonderful project for a doctoral student.

Such a system was this author's dream and a project that he was planning on proposing if he ever had an opportunity at a research position at Sun Microsystems in the 1990s where he had friends working in the executive management.

Seeing the parallel with file kilobytes, one might possibly place a grid of processors in such an emulator. Such processing might be rather "slow" at first, but with ample, ardent, and assiduous arbeit one might accelerate the process.

If any student is interested in working on this project, knock yourself out.

The CABOOSE Team. Hunt, Peck. Think, and From a Former Teacher Please Do Not Cheat. It Could Be Costly.

Progress Report 03.28.2017

Team. This is not being posted four days early! It might seem that this project has been abandoned. We simply have not been maintaining a daily web history of our activities. We are still slowly progressing on our tutorial text. A friend at the local JAVA User's Group (JUG) suggested that we use www.leanpub.com for its delivery if we self-publish. Thanks for this suggestion. We are running the CABOOSE JAVA archive through our simple quality assurance process, and integrating it with our tutorials. We have not forgotten some of our earlier goals such as trace-able specifications and development artifacts for the CABOOSE project. We will improve upon these incrementally, iteratively, and optimize them as CABOOSE matures. Also, the CABOOSE team which is currently flying the NuevoArchitect banner at www.nuevoarchitect.com often will work on a project as a lark if they feel that it might support our long-term goals. So, we might potentially raise some funds for our efforts we have started a career listings service at www.jobberox.com. Currently, our network is building a list of courtesy listings in the fifty largest postal codes in the United States. This augments the zero-cost listing placed by many businesses through America. If you are a small businessperson or represent a medium or large corporation and would like another avenue for reaching potential employees, place a listing on Jobberox. These efforts our set-up as a DBA (Do Business As) the name of this weblog owner. Jobberox is seen by over a hundred thousand sets of eyes each month. We are slowly gaining brand recognition and strength. Hopefully, this small effort will help a great employee reach a wonderful employer and keep this economy rolling. Give and freely it shall be given unto you once again.


As the Sparrow, Hunt, Peck, and Think Your Way Through Your Weekly Coding Efforts....

The CABOOSE Team

Monday, January 30, 2017

Pages from the Ozark-CABOOSE Book

Team. We received some wonderful feedback from http://www.thinkittraining.in. It is nice knowing that our work is appreciated. Thank you so much for your positive words of encouragement. Positive encouraging words are trees of life.

The primary developer for CABOOSE and the author of its tutorial text has had quite an interesting journey in life. Truth is much stranger than fiction as has often been said.

He unfortunately and unjustly developed a reputation for generating vaporware in the late 1990s while working for a small telephonics company. Apparently, he inadvertently provided a UNIX tape archive file (*.tar) on a 3.5 in disc which was corrupted. This did not please his supervisor when he tried accessing the computer telephony integration software in the archive a few months later.

This was an unfortunate accident. Since the archive was requested "asap", mostly likely the disc was removed from the drive before it completed spinning. This frequently corrupted such media. Haste makes waste.

The archive itself was intact. A quick UNIX "undelete" would have restored the archive and the original files on the development box. Unfortunately, those resources had been acquired by another entity who had been short-changed in the transaction. So, he did not help the telephony company recover its software.

Yet, so this weblogs readership knows that this upcoming text is not mere vaporware, you can read a few of its pages. The appendix might seem a bit implausible. Simply, consider it part of "computing's urban legend". However, in the United States of America, those who are in not in the majority must often find a European American counterpart for promoting our work and ideas. This has been the case for quite some time.

The history of the development of modern respirators is an example. Covering one's mouth with a wet rag so one might breathe while escaping a burning building was nothing new. But, it was a man of near African descent who envision placing a wet sponge in a mask which covered one's face which resulted in the modern respirators that now use more sophisticated materials for filtering harmful particles out of the air. However, at the time which he thought of it, the vast majority of businesses would not partner with him. So, he found a European counterpart who could be the "face" of his company.

Being that America is built upon close family and friend networks and these relationships often cross color lines, many modern entrepreneurs in minority groups still use this practice. This weblog author has spoken with a few African American small businessmen who say that they have found that often the sellers in the majority who work for their suppliers will negotiate better deals when they work with one of their employees who is a member of the majority. This is also true for the buyers of their products. This is the nature of business in the States. And, it might be the nature of business when working in any country in which one is part of a minority group. This is not a scathing criticism or cry of racism. It is simply a dynamic of modern business.

We hope that you enjoy the short-read of about twenty pages from the Ozark-CABOOSE book. Hopefully, it inspires you so you might dream big dreams and pray for their realization. But, above all in this modern world, let us seek peace and pursue it. Hunting, Pecking, and Thinking during one's workday is a proper step in the right direction.

Although this is officially a dreaded Monday. Mondays are simply the Fridays before the Fridays before the Fridays before the Fridays before the actual Friday. So Relax. The weekend is almost here. Mindset is everything! So have some fun and watch time fly!

May You Enjoy This Work Week.

- The CABOOSE Team

Monday, January 16, 2017

New OpenSource Site Design

Team. We have settled on a new site design for NuevoArchitect. It gives a little more insight about short-term and long-term goals. We found a responsive HTML template that we could adapt and spent about eight man-hours creating a storyboard. In the coming weeks, we will integrate our PHP CABOOSE prototype controller with it.

Sunday, December 25, 2016

MVC 1.0 Ozark with CABOOSE

Team. We are making progress on the text. Our last step is merging our Netbeans tutorials which uses the latest edition of the CABOOSE JAVA archive. These are in progress. Whether one of the larger technical publishing houses accepts the work or it is self-published, a web-link for it on Amazon will be placed on the weblog and on the http://www.nuevoarchitect.com site. If it is self-published, that link will be coming sooner.

Happy Coding! Hunt...Peck...Think....Look For The Obvious...