Processing Javascript test ….

a snap of the src

//shoots red green & blue lasers from bottom of fram to top
//or surface-to-air Star Wars anti-Communist anti-satellite
//laser defense sys emulator in 2d
//inspired by TRW Research (active per local eyewitness 10/17/16
//IP Tapper@ssstudios LA,CA
//global vars
int bluelxpos = 38;
int bluelypos = 398;
int laserwidth = 6;
int laserheight = 188;
int redlxpos = 200;
int redlypos = 366;
int gnlxpos = 325;
int gnlypos = 333;
int framecount = 0; //for testing & frame-tracking
void setup(){
frameRate(120);//default fr x2
void drawlasers(){
fill(38, 38, 200);
rect(bluelxpos, bluelypos, laserwidth, laserheight);
rect(redlxpos, redlypos, laserwidth, laserheight);
rect(gnlxpos, gnlypos, laserwidth, laserheight);
}//end drawlasers
void draw(){
//shoot lasers up
fill(38, 38, 200);
bluelypos--; //delta y blue laser
rect(bluelxpos, bluelypos, laserwidth, laserheight);
bluelxpos = (int)random(1,399);
bluelypos = 398;
}//end if
redlypos--; //delta y red laser
rect(redlxpos, redlypos, laserwidth, laserheight);
redlxpos = (int)random(1,399);
redlypos = 366;
}//end if
gnlypos--; //delta y gn laser
rect(gnlxpos, gnlypos, laserwidth, laserheight);
gnlxpos = (int)random(1,399);
gnlypos = 333;
}//end if
}//end draw

Popular mobile devices for 2016 …. who cares? you do!

a pathetic band geek red char

source my site’s analytical javascript; courtesy of Advertising monolith GOOGLE.

Not shown – many of my readers opt out of being spied on constantly, the sample size is big enough for us however – we are looking at about 3,000 unique HUMAN visitors.

Number 10 … Motorola XT1080 Droid Ultra – I thought they made pagers, what are you doing on my site w/ your beeper?

Number 9Microsoft Windows RT Tablet – uh what the hell is that? The Surface maybe? I tried the keyboard on that pos once and that was it for me. To each his own [crappy mobile device!]

Number 8….The iPod – there you go! I have one too…save $ on the data by using wifi …I had my last one so long I wore it down to nothing and hucked it for $30, but all the time vested in “Clash of Clans” and “Smule Magic Piano” was all 4 naught till I replaced it. Thanks again, mom! (the data doesn’t reflect my own testing of the site using said iPod – about 25 of you have one…or your kids do, in which case you need to check the settings…my site is clearly labeled “mature” so junior can’t read about murder, government corruption, drugs from paprika to sodium pentethol and jokes that veer on the side of xenophobic, racially insensitive, chauvinistic and intentionally offensive more oft. Than not …nu?

Number 7 ….Samsung SM-N910V Galaxy Note 4 getting to the popular pocket-rockets here, which leads us to

Number 6 …. Samsung SM-G900V Galaxy S5 – ok so thats those of u who upgraded due to

  1. generous family holiday gift
  2.  you lost your s4
  3.  your s4 was stolen
  4.  you will die if you dont upgrade, so…you did…thats cool I aint no judge…only 1 of those! -or-
  5.  you used the s4 to “go upside the head” on a hopefully deserving recipient, or worse, you really lost it and just blasted it against the wall….since 20 percent of my beloved readers are females, we must not leave out

Number 5. The LG D850 G3  – a decent phone – Androids round out nearly half the top 10. make sure you invest at least $15 in a case this phone is beyond expensive..the LG4 will be off the chain expensive. Kinda big but it fits in most pockets.

Number 4. The LG-H810/H81010b G4 …ok so it is out …no big surprise there

Number 3. The bronze medal mobile device for fledgling 2016 is …the iPad – im not told if you use the 1 or the 2 – I figure that of the 1000 of you….800 have the 2

Number 2. your silver cell is the Google Nexus….north of 1500 of you bought one last year “just like yer told to…” and speaking of doing what your told, the winner of the 4-week-best-paper-weight to follow your hero Donald “Quacker” TRUMP is…[buzz-roll plz…..]

Number 1. you know what it is. Why waste precious prose. There is a 70 percent chance it is in your hand right now. Read the label; yeah…the newest one…you shameless bastard. It’s why you’re my reader and one of the reasons I love you so much – no shame -no regrets- fuck it. You have the most desirable mobile device in existence because you CAN. Bravo sir (or madam)

advert from Evil Corps follows–

fb compatibility test….

a picture of paris at dawn or dusk with the words hashtag pray for paris inscribed over the skyline and signed by chris welke

as we cycle through the changes to style and funtion; dear reader; I wanted to share with you an editorial I piced together in the immediate aftermath of the tragedies in Paris. I snapped 15-odd shots from around social media to show how quickly/disturbingly hateful invective against Muslims was growing. At the moment I put this commentary together and shared it on fb; HATE itself was going viral. My intent was alert my “real-life” friends…ask them to keep an opn mind that they not fall prey to the fear-mongering, hate-mongering, monger-mongering…u get the idea. as much as “dislike” (note — didn’t take bait to be hypocrite and say I “hate” fb; even though technically I do and technically that’s ok w/ this writer morally because fb is a corporate-adevertising-agency-subdivision-og-google-and-not-a-person;….there ok to hate fb) Facebook, I like the way they package prose that has a great deal of pics to illustrate it.

What i’m getting at is…as long as we are “under-construction” I will audit my privacy level on fb, so how well MY fb page can communicate to you VIA The SoCal Picayune…and as always, give the “handshake” between my fb & my wp a check-up.

<h2>wp post: fb–we’re going start with the usual checkup, just cough while I put my finger here…

your browser: *coughs* link to post that may or may not be public–coughing from

“fb Chris Welke #9” aka /* TEST!

Coughing TO: you@your_ip using your device, os & browser.

prediction – you will not be able to read (10/18) due to privacy setting on fb

WIP – find a way to embed or mimck a fb “story” of this nature in WP & || customize privacy setting to make stories initially written in fb jive with the site, so there is no rework when creative energy strikes, news breaks, or both</h2>

Ok my browser says you are using an older-model desktop PC, so go back to work dummy! This site is #nsfw, labeled “mature” in the meta-data and contains graphic depictions of truth; reality and (God forgive me) the above FB post; once you are able to read it; is political in nature. You’v beean warned 😉 –ed []

below is a test of another “mobile-freindly” multi-media-enabled advert, this once

Another full redesign is in-process *Caution* Man working ….

I’ve decided to strip down the style and design of the site again. I’ve only just now (after a week on & off) felt satisfied with the new albeit temporary…presentation of this particular node on the Web.
I’ve written a heavy amount of PHP and CSS again, though they are not technically “programming languages” per se, they ARE subject to almost as many quirky dependencies, rules unique unto themselves; which are inviolable and require extensive research and testing to deploy. Hopefully you will find the site a bit more pleasing to the eye, faster, more secure, more responsive and easier to navigate.
In the meantime it is only fair to announce that we are officially “under construction,” so if you see something strange over the next few days, that’s my fault…. I’ve tested about half the “use cases” (things you might do, read, watch, listen to, click on or use in some form or another). Earlier today, the music uploaded to the private section of the site and the archived prototype podcasts vanished, they were unplayable due to bad PHP writing on my part.
I’m 90 percent sure you can watch all videos, listen to all music, podcasts, read all posts, view all artwork/snaphots/pix, read my stories, search the site, click on links and find the content you are looking for easily, quickly and regardless of device, OS, browser, ISP and service type (4g, 3g, WiFi, Ethernet, Cable, DSL …..). Before I drift off tonite, You can be certain that all of the “common use cases” are functional and that within a week, the lesser-used functions (commenting, guest-posting, all sidebar tools) work exactly as you’d expect them to.
Still on the to-do list is MORE formatting and design of the 2015 style and theme…. an audit of all media on the site (delete unused pictures, audio, video, dead links and raw text-data) an audit of all advertisers being served via Google AdWords to ensure compliance with our ethics and MY morals plus an audit of page-load speed. This will include a further dress-down and rewrite of JS, CSS, HTML and PHP. *Phew*
Thank you for hanging with me throughout your tenure as a reader! I’m working on some devastatingly interesting podcasts, stories, news, editorials….and maybe even a decent joke. No promises about bringing the funny, but you KNOW I always try!
For those about to waste time on the Web at The SoCal Picayune (or whatever sites you’d rather NOT acknowledge… “WE SA-LOOOOOT YOU!!!!!!!!!” -Ed

In the meantime, for testing and shameless promotion why not check out one of my soon-to-be-audited, yet generous sponsors? If the redesign is going well, an advertisement will display below, if you visit them, you help to support the site and me personally a great deal–no obligation to do so, or even to LOOK at one of my ads. As part of a long-term promise, there is nothing for sale on this site, so when I hint-hint-wink-wink-wink-nudge-nudge ask you to check out a sponsor I am NOT endorsing their product or suggesting that you spend a penny. A few seconds of your time however…I must confess, I do suggest as an easy way to support those who keep the site running, the hardware it runs on and the crazy publisher that does WAY more work on it than he should. *Ahem* wink-wink-nudge-nudge -From the Publisher’s desk with love, C “T” W

From static frames to animation – JavaScript, Java & Processing; coding Art ….

As part of my research, I endeavored to build a frame and tile itevenly…as you would a column in a upscale restaurant, or as Billy-Buster tiled his lesser-known below-ground pool in the hilltop paradise above San Simeon. Drawing squares, keeping track of their quantity, position and spacing proved unweildy. So back to the drawing board I turned. The first task was to completely fill a window with squares, evenly spaced, uniformed – no holes. My first breakthrough was a rectangular grid – from the drawing board I found that instead of looping to keep track of the squares (their origins in CGI coordinates space, their quantity, when to drop down a row, when to stop building them…) oy! I located a KISS-simple solution in the following functions and abstract data types:

Click to see it transform.
Some tweaks to a nested-for loop, appropriate “pops” nee popMatrix(); and the careful application of a “random” number generator to produce cool-colored tiles —but not TOO cool — experiment yielded a random range in Green and Blue to give the tiles a watery sheen, sans magenta, indigo, dark purple and the like. For personal intersest and further research I added a mouse event that slows down the animation, eliminates the thin black borders on each tile and zooms in on the whole operation.
At long last “Random dynamic & cool tiles” is up for public consumption:
I could see a pool in Laguna, LA, Vegas or Laughlin with swanky, swarthy, light-up tiles in a pool or on a wall of it’s club …. Bill R. Hearst would be pleased…I like to think so.
Next – I thought about Neil Degrasse Tyson. He says that the “snow” we see on the “TV channels in-between TV channels,” (something our Millennial friends may never fully appreciate…) is ACTUALLY a visual representation of the background radiation that’s permeated the Universe since the Big Bang. UHF & VHF cathode-ray displays pick up this noise and spit out the “ssshhhhhhhh” and the black, white & gray snow we may’ve found on Channel 1 or 3. Mostly, it was annoying and caused us to quickly dial up to CBS, PBS, NBC, FOX or ABC to see what was cookin’….but in the context of nostalgia, the scientific implication of looking back seven trillion years; this “snow” is worth an emulation. Using similar logic I fashioned version 1. The snow doesn’t dance around the screen, but the small circular “flakes” and the way they appear to move based on random gray-scale shadings is a nice start. It looks like they move – kinda.
^^^^I slowed the frame rate down to avoid headaches.
After random “cool” I had to attempt random “warm” –this graphic reminds me of a HollyWood or Vegas marquee. Bright lights seize attention; underscoring the glitz and glamour purported to be found within. The difference is that I think the bulbs this animation emulates are controlled in strict, looping sequences as opposed to my random flashes of “bright” colors controlled by logic.
This animation reminds me of the “Sushi”scene from “Defending Your Life” — Albert Brooks’ barmate proudly states that his life accomplishment was coining the phrase “All Nude. (You know those strip clubs out by LAX? ….“) You needn’t be a fan of his quirky brand of humor to get huge kick out this classic.
That said, I FINALLY got the computer graphic programs to not only display but animate! The “random- (random number generators are not TRULY random, but they are close)-ness” of the algorithms give the displays a kind of innate ability for the computers to create something of THEIR OWN — MY LOGIC & Design—> the computers’ brushstrokes.
All of the “sketches” (as they call them) on my new OpenProcessing Profile are completely original – designed, built, tested, tweaked and deployed by this writer. If you visit my new page & graphics, the source code is easily visible. Feel free to reproduce it yourself, or make changes/improvements to it. You will find that all of them are optimized –nee “code-golfed.” I designed these algorithms to use the fewest lines of code, fewest commands and simplest logic to add a layer of mathematical elegance to the aesthetic of each sketch. Please feel free to download my source code…just plz note that all of them are intellectual property- if you plan to use them in a public/educational or commercial setting…just ask!
More coming soon….plus a litany of fresh podcasts – “I swear it by the old gods & the new.” -t []

XML test v7 – Override all PHP, CSS and .js | populate a WP page with custom XML. Success!

click here to view an outline in XML format. PHP 5 offers an @Override for all plugins and theme/css hard-wired to every WP install. It generates a blank pallete with a few simple commands (in PHP) that disable all my adds, stylesheets “background shit” that WP infrastructure. WP is great but if I cannot post a simple outline for instructional purposes, what good is it? Most plugins are incompatible with WP v4.2. This will come up as clickable link, I have yet to decipher a system to embedd pure XML into a post or page manually…if you click on this link you will see that code I wrote does just that…just not on THIS page. So I’m zeroin in on a solution to override all Javascript, PHP, CSS and whatver else is in the backbone of WP in order to display custom XML pages (and html, shtml….) w/o getting tied into the complexity of all my ads and style, media, calls to YT databases and other multimedia content that loads on the main page. Ideally this Copy Editing 101 tutorial should load in <1second. On avg. it take 6-9 second to load the main site.

The other goal is to post code or pictures of say…an educational outline by coding as opposed to taking a snapshot of the XML, saving it as a jpeg and posting it here as picture. That is functional workaround, but I don’t like it.

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