Something Self-Similar ….

see src in post

I named my home-studio “Self-Similarity Studios” because I’ve always had an affinity for things in science and nature that affect this quality. “AS ABOVE …. SO BELOW” Think about a rock. Hold it in your hand…what color is it? What shape does it have? Note that the rock you are holding and a mountain (or significantly large hill) MAY look alike….just on different scales. Two inches of a shoreline, viewed from above, with a few hundred bits of sand – MAY look like … two MILES of shoreline from 100 stories above, with a few hundred large rocks. Rocks, mountains, trees, shells, coastlines….they all exhibit a self-similarity. This is where nature and artificiality intersect and dove-tail in strange and striking ways. (More images, experiments and abstraction forthcoming)

I briefly had access to tools that could render graphics quickly (and cost-free) – this was the Silicon Graphics Lab at Cal Poly, donated by SGI, the lab ran about 30 workstations, each running SPARC SOLARIS 7 and all wired into a mainframe capable of doing the massive amounts of calculations needed to draw a frame (or a million, as in a feature-length CGI-animated motion picture) required to not only calculate and store (print; if need be) but depict images that elicit pure aesthetic beauty.

Ahhh….where Logic and Art intersect. On the chipset just beneath my fingers and the never-ending-thought-machine hard-wired to my skull and backbone.

To me; numbers are a simple, spiritual truth. People use numbers to lie all the time; but one can NEVER be deprived of its “one-ness” Carl Sagan said, “The simplest thought like the concept of the number one; is an elaborate logical underpinning. The brain has it’s own language for testing the elegance and consistency of the world.” One is one. QED.
If WWWIII begins at dawn; two will be a prime number. If x is an odd integer, then x + 2 will also be odd. The square root of 2 will be irrational; The sum of The Cantor Set DsubH will be transcendental. Our universe could be obliterated in an instant, but there will still be five and only five regular solids.*
I don’t know about you but I take comfort in that.

Anyway….I had access to this lab for a year; these machines, combined, would still (many years later) dwarf the computing power of yours or my CPU. These machines were used for Raytracing; most famously 1st used in entertainment/(Art!) by John Laseter; the Academy Award winning producer of the short “Luxo Jr.” (and founder of PIXAR).

a frame from luxo jr
How real does this frame look TO YOU?

Luxo is just a lamp, but it took parallel processors days to make him look up, or turn, or jump. Why? – A raytraced image is a 3D scene (Picture the two lamps)….There is ambient and natural light reflected off them, they also project their own artificial light. That’s a lot of photons bouncing around a simple scene – to make it look real; Laseter perfected a technique whereby:
DO (~a million calculations to determine it’s color in RGB Space)
….or a few billion for one frame
….or difficult-to-express numbers for a 3-min short film.

I never got to build or try a ray-tracer…they took about an hour to render just one frame. Till recently a complete developer environment was required to render computer graphics —Visual Studio, a UNIX lab, Something big and expensive from Microsoft, SGI, Sun — all in my interest faded when I didn’t have access to the tools; I never really got the chance to explore it–I STILL have unsolved problems from back then. Only now can an affordable computer be had, open-source IDE’s set up, and LOGIC be used to make art: Fast and CHEAP.

The featured picture was created using the Processing java template library. If you have the JDK (see column two) you can build things like this yourself.

Here is the SRC (Source Code) It uses (to me) the complex compsci-concept of recursion; whereby by a function (in this case a procedure) calls itself. It will render a slightly different image every-time it runs and is easily customize-able; I hope you enjoy it as much as I enjoyed designing the algorithm
/*Algorithm by cwelke for Self-Similarity Studios
Last stable build: using Processing API, JDK 1.8, win8.1 5/26/15
Dist under The GNU Public License - compliant with ANSI/ISO std.*/
void setup(){
size(1000, 700);
float dec = 0.6;
selfS(width*dec, height*dec, 400);
}//end setup
void selfS(float x, float y, float sz){
float angle, nx, ny;
//last int is transparency--rand switches tint
fill(lerpColor (#002900, #006600, random(1)), 300);
ellipse(x, y, sz, sz);
float rec = 0.6;
if(sz > 1){//recurse to base::do(while px_sz > 1)
angle = random(TWO_PI);
nx = x + sz*rec * sin(angle);
ny = y + sz*rec * cos(angle);
selfS(nx, ny, sz*rec);
angle = random(TWO_PI);
nx = x + sz*rec * sin(angle);
ny = y + sz*rec * cos(angle);
selfS(nx, ny, sz*rec);
angle = random(TWO_PI);
nx = x + sz*rec * sin(angle);
ny = y + sz*rec * cos(angle);
selfS(nx, ny, sz*rec);
}//end selfS

Here is the program run a second time:

only three parameter changes - colors & size
Run again with three parameter changes – colors & size

As long as we are at it check this out:

a recursive forest snap 1
Real…or Artificial?

Same logic – run a second time:

tree snap 2
Algorithmus Eleganten

The source:
/*orig. src by Zack Marlow-McCarthy*/
//modified, formatted, built, debugged and run by Tapper
//last stable build at SSStudios 5/27/15
//Processing API builds on JDK 1.8 running win8.1
//rights+compliance: ANSI/ISO std style, Creative Commons & The GNU Public License
float angleRandom1 = .8;
float angleRandom2 = 1/angleRandom1;
float lengthRandom1 = 1.01;
float lengthRandom2 = .08;
void setup(){
//blue mist mod 5/27
void draw(){
if(mousePressed == true){
branch(30,PI/2, 0,0);
void branch(float branchLength,float angle,float startX,float startY){
if(branchLength<1){//base case fill(#004A00); noStroke(); ellipse(startX,startY,5,10); stroke(0); }else{ float randomNess = random(0,100); strokeWeight(branchLength/2); float endX = cos(angle)*branchLength; float endY = sin(angle)*branchLength; line(startX,startY,startX+endX,startY+endY); startX += endX; startY += endY; if(randomNess>0 && randomNess<90){ branch(branchLength/(random(lengthRandom1,lengthRandom1+lengthRandom2)), angle*random(angleRandom1, angleRandom2), startX,startY); }else if(randomNess>=90 && randomNess<94){ branch(branchLength/(random(lengthRandom1,lengthRandom1+lengthRandom2)), angle*random(angleRandom1, angleRandom2),startX,startY); branch(branchLength/(random(lengthRandom1,lengthRandom1+lengthRandom2)), angle*random(angleRandom1, angleRandom2),startX,startY); }else if(randomNess>=94 && randomNess<98){
branch(branchLength/(random(lengthRandom1,lengthRandom1+lengthRandom2)), angle*random(angleRandom1, angleRandom2),startX,startY);
branch(branchLength/(random(lengthRandom1,lengthRandom1+lengthRandom2)), angle*random(angleRandom1, angleRandom2),startX,startY);
branch(branchLength/(random(lengthRandom1,lengthRandom1+lengthRandom2)), angle*random(angleRandom1, angleRandom2),startX,startY);
}//end else
}//end if
}//end recursion

*Proofs to come….[] -t

*Web Security Notice*

a pic of a black and white (hat) mage pixel rendering from early version of final fantasy

*Internet Security Notice* (Copy of FB post follows):
Dateline – Silicon Valley – and THE WORLD….
To Friends, associates and beloved readers….plz update Java (v1.8u42) when you get a chance….again this is the time when d—–bags will try to get you to update through bogus sites like java32 or 64 or x86 (whatever they are called I will not link to them) Most of you use Chrome which disables most of the security flaws in Java BUT NOT ALL OF THEM. When you have time-update safely: goto
My YT account was compromised YESTERDAY (*sigh again….some “security expert” I am, right?) anyway I changed my Google pswd again I recommend you do the same and find a way to peruse YT WITHOUT logging in, I know this can be annoying but there is another sh—y piece of JavaScript flying around YouTube right now – update 42 should kill it, which is prob. why the good programmers at Java (nee ORACLE) busted out this security update this morning.
As stated in my privacy policy…see the help section of your respective browser (Chrome, Firefox, Safari, …for 95 percent of you) if you wish to disable Java entirely while online. Your user experience will be lowered, sites will load faster, have far less functionality but they WILL be a bit more secure. I recommend getting the update. I posted it above plus links to all Java tools are available [for free] in Column Two of The SoCal Picayune.
That is all – plz update when you have time and as always – get back to work and stop reading my site AT WORK. At least keep the window small (NOT FULL SCREEN) and if you you work in a cubicle farm and DON’T share a cubicle with Ops and MKTG Directors (as I have) just get one of those stick-on rear-view mirrors …you can get ’em at TrueValue Hardware. (TrueValue is an official Tapper-approved Legit business).
Much love; thx for all the support and RT’s on Twitter …all that s—. Love you guys. -t
[]-footer adverts my or may not follow, asynchronous and synchronous .js ads follow:
[test asyn ad]

[test syn ad]

Ad test 3.23.2015….

New responsive advert isn’t serving correctly. A Test and [if it works] a sponsored link follow:

NOTE: the Javascript code being generated by Google Adsense (both for Synchronous AND Asynchronous) ads is not NECESSARILY configured correctly for YOUR host. Try fiddling with the spaces (and removal of them) if you are having issues. Note also that some ads will look perfect on mobile devices yet struggle to serve on laptops/desktops. It all depends on the (original) algorithm…or “How Your Web site + Google + Their customers + your Javascript + the User Interface PLUS *sigh* the Web development tool you are using. It should not be so complicated but it is. That’s WAY messed up and not very Object-Oriented at ALL on the part of Google’s code-block-geberating algorithm; but it must be delt with on a case by case basis.
NOTE ALSO: *sigh* like PHP….JS has a tendency to decay over time. Take the time out to review your code if ads are starting to get weird. I was able to get a NEW responsive/asynchrounous AD to serve (seen above) in 5 minutes by copy/paste THEN removing all the spaces the code generator inserted needlessly.
I had thought this was a result of Advertisers NOT queued up to serve themselves on my site (ie…perhaps I’m not THAT in-demand and it will take a day or two. THIS WAS NOT THE CASE) I cannot say who they are per Google’s Ad Policy and my own Ethical Code…but FOUR COMPANIES were lined up to serve ads on my site (good/legit advertisers though…check them out…)and being denied due to spaces, too many spaces, not enough spaces or missing semi-colons in the code. Kinda brings me back to Computer Science 101. It’s always a god-damn missing semi-colon isn’t it? Thanks Google but you guys REALLY suck sometimes. Pay me s#!t AND make me look stupid….NICE right.
//end rant/notes

How to Anonymize your WordPress site and theme….

It's a bit neefy

Ok, so you’ve got a theme going, right? At the bottom it says something like this:
Copyright 2015; * …etc…it’s YOUR Web site, why should anyone else get to brand it? It makes you seem amateurish to webdevs and potential clients, or a client that HAS one will say:

“This site sucks, it actually SAYS WordPress at the bottom.”

…if you have a legit site like this one, there is absolutely no reason to have this self-congratulating backlinking crud on the site that YOU PAY FOR, CREATE ALL THE CONTENT AND DO ALL THE DESIGN…

    ***Delete it safely with this example***

  • Goto Appearance >> Editor
  • Open footer.php (it is almost assuredly called this)
  • Make a backup of it locally, if you f-up the PHP, your site’ll crash
  • If it does, just ftp in the backdoor and swap out footer.php w/ the orig. copy
  • Delete the PHP that’s spitting out the* junk
  • Update file
  • Visit Site (Test it!)
  • Laugh <—–CRITICAL!
  • Enjoy YOUR site:, not “Powered by WordPress”- that’s lame

Some themes automatically anonymize the WP stinger. My previous theme was called “Big City” at the bottom of any pg. it said Copyright 2014,, then a logo of a cube (like the Netbeans logo). It was a 2013-theme and had past my patience with how poorly formatted all my images and embedded content had deprecated to, so I flushed it and started it back up….
– New Year – NEW/Stripped-down THEME, NEW CSS- the stylesheet is a WIP. 
If you simply follow the logic of the script, find the part of the script that is yanking out the junk you don’t want, be careful not to accidently delete the things you DO WANT and delete it! For instance, my footer.php file spits out an advert, a list of other pages I have and a calender. IT USED TO have a footer to the footer, that said:
By *
For this particular theme, I began by ignoring the warning to NOT MODIFY ANY PHP.
First off PHP is not even a programming language, it is a script that is easy to read and object-oriented so the code-writer is trying to scare you into thinking he is so much smarter than you, that if you touch his precious PHP, your site will explode. This is actually true if you make a mistake at this, again…backup whatever files you intend to change on your hard drive. Learn how to FTP into your site and FIX IT YOURSELF if it crashes. The only other option is to pay someone to do it for you, but is always of the opinion that you should never pay for something you can do/make yourself or learn how easily. Information is free.

I started by trying to “Comment Out” the offending PHP, which looked appx like this:
***Note all “<>” are replaced with “[]” so the site does not get confused about what’s real code and what isn’t… the code markup tag does not seem to be entirely functional at present. *sigh* MORE PROBLEMS, regardless:

/* Comment OUT:
[footer class="site-info" itemtype="http://......./WPFooter" itemscope="itemscope" role="contentinfo"] [div class="inside-site-info grid-container grid-parent"] [?php do_action( 'generate_credits' ); ?] [/div] [/footer]
[?php do_action( 'generate_after_footer_content' ); ?] End Comment Out-->*/

I’d forgotten that commenting out HTML (when combined with PHP) merely adds a visible “//” or “/**/” to the offending crud I’m trying to eliminate. Yeechhhhhhh!!
Look at the above code. All I had to do was DELETE what you see above. Update the file (which will quickly recompile your site) and “Visit” it for QA …and Kakooooooosh….bye bye offending crud that does not belong on
This is my site and I decide what goes on it, not ANYONE ELSE. PERIOD.
My advice is that you take the same pride in your work and anonymize all that footer-junk. You do all the work. YOU take all the credit. Feel free to contact me if something annoying is stuck on your site and you cannot figure out how to safely dispose of it. Btw, if you have NOT crashed your site by making a PHP syntax mistake, I recommend that you learn how to get it back online if you or some jerk who works for you DOES. If you have a business – knowing how to do this “your own damn self” and not worrying or waiting on some IT loser to call you back or show up or fix it for you …is INVALUABLE. I’ll provide an FTP tutorial at a later date and screenshots if there is interest in this particular how-to.

Now forget that my site is WP, ok…? Wink-wink, dear reader!…powered by Tapper…and OCD. NOTHING ELSE. My partner in interwebz content shenanigans, Kevin Gamin also reports the useful consistency and w3c compliance of WordPress. SEO is mostly scam bulls—…anyone claiming to “know how the GS algorithm works” and promising traffic/hits/growth and improved Google Search scores is LYING. We have a reverse-engineered framework for HOW/WHAT & WHY when it comes to propping up your “Google Score” but current employees legally cannot disclose src for BigData – duh! Fmr. emplyees sign the standarn non-disclosure agreement; which is in itself OBS because the GS algorithmm is updated constantly. WordPress really does provide LEGIT “SEO” (*sigh* I despise the acronym and the consters it attracts) – simply by creating original content, organized on a Google and w3-compliant design. WordPress sites do in fact grow naturally. Luck would have it GS (as it stand today) “likes it”

Ex: you are a gardener – buy www.imagardener.— and start blogging about your garden. Keep it up and soon your site will start appearing on pg 1 of a GS return for strings like “rose gardens” , “clippings” , “fertilizer” …u get the idea. If you’re like me and want to career++; legitimacy++; then WP is the way to go, writing about what you love is the simple key to a big-time GSR presence. Then comes readers, fans, contacts, sponsorships, support, contract jobs and after six months of professional care and diligent/RICH content – Google MIGHT legitimize your site by approving an Adsense Partnership (That is; if they are still accepting new affiliates–when I applied, I was told that they were not approving ANYONE and that a massive audit of me, my background, my credentials, my media ethics and media-law scruples would be thoroughly audited by a mysterious algorithm AND at least one human auditor. All Google Forums on Adsense overload with “Why won’t they approve me?” I was told the audit would take three weeks. Three DAYS later, they congratulated me and accepted me into their evil cabal.

I credit strict media ethics, the original content I provide, w3 and IEEE std compliance, working-prof-knowledge of Mass Media Law and Evil for my quick “Holy Stamp of Approval” for my fledgling site. I post those carefully partitioned/formatted/self-audited/qa’d ads in a minimalist way that adheres to the SPJ Code of Ethics – it is more about the badge of honor than the meager $ I get. I can show you how to do all this and then some.
Despite my twice upgraded GoogleAnalytics.js accout; I can only rvw data for 90 day periods, but we are popping 100,000 hits every quarter now and my core readrship of 3,000 is loyal and I am humbled and grateful for them most of….also Media Temple who sponsors my creative works by giving me a website with all the bells and whistles; they even gave me the keys to pHpMyadmin AND FTP access so i can deal with backend issues on my own. My cousin and I created a comment-spam killer that took us from 10,000/day to ZERO last September.
Readers – as always – information is free – send questions and hate-mail to if you’d like to send your site into orbit. I don’t even have anything for sale; which I’m certain endears me to the blog-reading public; there are no pop-ups, mySQL node is Kittner-Redoubt safe and spammers don’t spam – not no mo’!
My site is just for creative purposes; nothing is for sale. The implication being – if I can create a popular music/art/tech/humor blog in such an unexpectedly successful fashion. I look forward to the next small or mid-size business to sink my teeth into. If it’s exposure, Google rank, Google legitimacy, online reputation and unique digital MKTG —- hit me up. My methodology (Organically-Optimized Marketing) is proven.
As for content; if you think I published a lot this past year; for every 1,000 words posted, there are 10,000 sitting in my docs folder. I’m including rich multimedia into my posts now as well.
OWN your site. WP rocks, but it is just code….YOU build it, YOU market it, YOU deal w/ all the BS. Give credit where it is due as always, but YOUR Web site is brought to the interwebz by YOU, not, not GoDaddy and certainly not the guy who wrote your theme and warned you “not to mess w/ it” …like he’s some code-guru. Repeating myself I know but —CSS and PHP are NOT PROGRAMMING LANGUAGES …these dudes would mess themselves if they had to program in C++ or Java.
To sum – if you are building up a site – for whatver purpose – DO NOT HIRE a “WP Developer” or God-forbid an “SEO-Specialist” SCAM SCAM SCAMMY SCAM SCAM. I’ll help you for free and show you how easy it is so you can do it yourself. The kind words, references, respect and free beer are MORE THAN ENOUGH.

Adverts.js test -or- How to fix truncated Javascript in WP.

A picture of the logo

Subtitle: How to fix a WP crash remotely using FTP.

synban: script keeeps truncating right half of .js embedded content. **Update 12/14 – fixed.**
***Update Dec. 2014*** PHP Flush did the trick…thx Cuz.***

Start by dumping that theme you love so much: bad news…like me you had a few OCD breaks w/ reality and overdid the CSS/JS/HTML4-5 editing to “pretty it up” it’s ok I did it too

1. Choose a new and dressed-down theme.
2. Crack a book on CSS or goto the only free tutorial sponsored by the w3c: and use their CSS Roadmap.
3. Backup your WP data, I suggest an FTP client. You may need to contact your host-server for admin and file-swapNswitch capabilities.
4. Backup your current themes/fxns/data and style before you tear it up. One pHp syntax error and it’s CURTAINS-then you WILL need FTP to get it back up n runnin’
5. If you are not qualified; have your kid do it.

***I owe it to my sponsors to make sure they have access to all of Google’s std lib. of adTypes, so you’ll see mostly ads in this post. This is only a test but the sponsor data displayed is no less relevant.****

***Update Dec. 2014 – 728px exceeds width oftext box. WIP***
Sponsor .js test Horizontal Basic 728×90 follows:
**UPDATE**  dec2014a : 728×90 no good for posts, footer/header only. Ad removed.

Btw after all that shit Content ID put me through for no reason?
May as well fire back:
If you know how to use t0awr@ntz…script:
Xsh%>run \t ^^^^^
Xsh%>browser “HYPTXXfercntrlPrtcll// the(Yarrrrrr!!!!)DOTessee”
Xsh%>inject pr0n.getName || flick.getName || whatevuhz
Xsh%>hash etz string[]* argvector V
DO: Raise middle finger in the direction of your choice.

Synchronous Advertisement Test 320×100 follows:

Asynchronous Advertisement Test 320×100 follows: 
**TEST TBC…** Special shoutout to our generous and well-respected advertisers….check ’em out…they were designed FOR you WHEN you visit MY site. The algorithm was written by a decade ago, still in use and as close to an AI (Artificially Intelligent) program I have seen to date. GoTo retired on the settlement $ w/ Google. Plz scope out their site; I used it quite often in college.

Credit where credit is due: visit GoTo for searches and to find a nice gift for loved is Tapper7 approved safe, secure, honest and NOT a scam – just legit and hyper-talented webdevs.