Flickr’s Future

Yahoo bought Flickr 10 years ago. Flickr became the place for serious photographers to post their photos. Then Yahoo starved Flickr and Flickr appears to be dying a slow death.

Verizon just bought Yahoo and it apppears that Flickr’s future is up in the air. As a Verizon shareholder I can see what Verizon wants out of Flickr: its photo storage technology. The rest can be gutted out and some lame-ass photo sharing site based upon an existing Verizon product can take its place. Verizon sometimes misses the mark in user experience. The part of the FiOS customer portal to get your voicemail requires the Java plugin and is stuck in 2009. Imagine what Flickr would be like if Verizon made the photo upload experience the same as checking your FiOS voicemail?

I used to read “Flickr is dying” memes the same way as “FreeBSD” is dying memes. But that was under the mismanagement of Yahoo. Verizon is more disciplined and responsive to the whims of large shareholders and activist investors. So the future of Flickr, which is a money loser, appears dark.

After much deliberation, I paid up for a year with SmugMug and will move my photos there. Flickr Pro didn’t provide as much value as SmugMug. With SmugMug I can turn my profile into a branded portfolio site. Also it’s easier to share private photo collections with clients reviewing their work in progress. I’m getting a few paid jobs so this came into consideration.

Choosing SmugMug came down to choosing a privately held company who is dedicated to serious amateurs and professional photographers. I lose out on a vibrant community but that can be addressed once I figure out a workflow for posting my work from Lightroom Mobile to Instagram. But I gain a better photo sharing experience and a more professional presentation of my portfolio so it’s a fair trade off.

Leadership Performance Development and Aspergers

I was giving a thought to performance reviews, development plans, and being on the autism spectrum. What kicked this off was a friend on the spectrum who was pushed into a management role from a mid-level engineering role by upper management. It happens often. My friend has disclosed his Asperger’s to his employer. He has resisted moving up to a management role because he knows he’s lacking in the competency as a leader and manager due to gaps in soft skills. However, like in many companies, career growth means a vertical move to middle management. This is a recipe for disaster unless handled differently.

I’ve been through a similar situation when I was at Sun Microsystems. I had a boss that was all hot to promote me without discussing my life and career goals were first. I knew what my career and life objectives were at the time and being a supervisor was not it. I was in a process of getting a personal life and the last thing I needed were additional responsibilities and a Blackberry. My boss did not take my wishes well. He increased the pressure. I resisted. He tore me apart in a performance review a few months later and put me on a performance improvement plan (other Asperger issues contributed as well). I ended being managed out of my job.

I believe that given the right environment and development plan, a person with high functioning autism or Asperger’s can grow to be a good boss or leader. We’re pretty smart people and we’ve had our share of s**ty bosses to observe what not to do. Just speaking personally 😉

There are situations where people on the spectrum want to be leaders and bosses. They’re say 80% the way: high functioning enough to have passable communications skills and good emotional intelligence for their abilities. The 20% gap may be with executive function, skills gaps with communication, or strategy development. They should not exclude themselves from being bosses or executives of their own companies if they want to step up to be a boss or executive. What they need is an appropriate development plan based upon a SWAT analysis to help them grow into their new role. Persons on the spectrum often (case by case basis) need clear goal setting and milestones to meet because of their executive function issues. To a degree, soft skills can be developed with proper coaching. The autistic person should be provided with a plan to “level up” to the competencies needed to perform the role of an executive of middle manager. This development plan would be drafted by the upper management or board of directors this emerging executive reports to. Ideally there should be a career development consultant knowledgeable on developing the careers of high functioning autistics on board. Then the execution of the plan would put an executive job coach in the loop of the process to ensure fairness. That way goals, training, and expectations will be properly set for that person’s flavor of autism spectrum disorder. As long as the newly minted executive is progressing with the development plan and execute competently, they should stay in their role unless they performance drops off or they fail to follow through. Also the upper management or board of directors need to be reasonably supportive of this person and willing to forgo some short-term gains for a bigger long-term payoff.

The problem with my proposal is that sometimes boards and C-suites are stupidly short-sighted or lack time and resources needed to develop a person on the spectrum as an executive with the equivalent of an Individual Education Plan. So that person with ASD gets passed over for a promotion or is managed out. Which in my opinion is a total lose-lose situation.

Also there is the issue of a lack of support resources for that emerging executive. It’s tough enough that there are barely any career support resources for adult high-functioning persons with autism. The non-profits that are busting their butts to bring support resources all professions with ASD can’t barely raise money because their cause barely a blip on the public’s radar. The non-profits that have the big grant money are playing the “help the poor little autistic children” card because frankly that’s where the public’s focus is on.

I think a possible solution would be peer-run by autistic persons leadership workshop where persons on the spectrum interested in moving up to an executive role can work with other executives on the spectrum. The more experienced executive can advise and coach using an development plan reviewed by an executive job coach for persons with ASD. The upcoming executive can practice in a simulated environment or serving on a board for a non-profit where the board members have been trained. Business schools can participate by donating classes that don’t earn credits towards a degree.

A full-blown non-profit organization to support the workshop may be overkill as the business of running the non-profit sometimes overwhelms achieving the mission. Just enough structure to secure a 501c3, a few grants to keep the lights on, and maintain the day-to-day operations. The “mini-me” non-profit would be nimble enough to be attractive to industry so that sustaining partnerships could be made to grow the incubator.

It’s a grand idea. I did my stint as an co-founder of a non-profit that supports autism employment of adults. Hopefully someone with ample capital to launch these leadership incubators will read this post and run with the idea.

Site reboot status

I wanted to update everyone on my personal rebrand and website reboot.

I often mix my personal and asperger’s blogging with this blog which should be part of marketing myself professionally.

I’m transitioning out of IT and back to creative. I can’t point potential clients to a homepage full of autism self-advocacy essays and random crazy thoughts.

I’ve got my own server. I want to show off my totally rad DevOps. Makes sense to compartmentalize content into different sites. So that’s whata I’m gonna do.

This will remain my showcase site for hiring mangers and clients. This will be the home for my creative portfolio and knowledge dumps. Some day I’ll figure out the secret sauce for DevOps with WordPress and I’ll blog it.

Perry’s House of Nuts

This will be my personal blog where I will post personal stuff. Content pushed out very infrequently.

KB1JCY Bloggy-Poo 2: Electric Boogaloo

If this plan for world domination wasn’t already ambitious, I’m going to try to reboot my amateur radio site. People are rebooting 80s movies, right? Why can’t I reboot a site with a name based upon an 80s B movie?

Free Range Aspergian

I want to credit John Elder Robinson for coining the term free-range aspergian. I find his life story inspirational and him a role model for living a life of autism self-acceptance. He proves that one can be open about their autism, make crazy flashing guitars for KISS, and be baller in a posh Land Rover. Thank you JER for writing books and posting blogs that helped me through some difficult times in my life. Woof!

I want to expand my autism blogging and get personal, really personal. I feel I can help someone by being totally Frank and Sally honest about living with Asperger’s including my other mental health issues. I also want to blog about psych meds. Some dark thoughts may leak out. I fear this may scare off potential jobs so all this is going on its own domain with a big-ass disclaimer as a sticky post.


Site Going Down for Major Renovations

Just a heads up. I will be taking this site down so that I can re-archetect the hosting infrastructure and rebuild the server from scratch.

Why am I doing this?

  • My day job is mitigating WordPress sites that have been compromised with malware, I am very busy. Often maintenance neglect is an attack vector. I’ll own  up to not being very responsive to installing wordpress and OS-level patches.

Soap Preservation

A few years back I took up traditional wet shaving. It was the curious retro appeal to it. The rituals. Then the blissful sensory treat of a badger brush applying a face lathered soap. It wasn’t always blissful: my fine motor skills and hand-eye coordination led to quite a number of nicks and weepers. Not to mention the razor burn.

Recently I discovered artisanal made shave soaps from companies such as Barrister and Mann and Stirling Soap. The formulation of these soaps were done in a way that the lather was extremely slick, protective, and moisturizing. A blessing for my sensitive skin.

Then I read more and more on Badger and Blade on soap. Then I really started to get curious about the chemistry of soap which has lead to a mild preservation. I was so curious about the science of soap that I considered making my own . What pulled me back was realizing that I had too many damned hobbies and unfinished projects.

That’s how these special interests and preservations start with a simple curiosity. Combined with the autistic brain, they scale to extreme heights driven by the obsessive nature of being on the spectrum.

I have a tub of Reef Point Soaps “Aviator” which I want to trade with someone that has a tub of Barrister and Mann’s Seville. Please contact me via the Contact Me page on this site.

Ken Rockwell’s Aspergers Ignorance

For the non-photographers, Ken Rockwell is a famous photography blogger who is know for his highly technical reviews of cameras. He’s also famous for occasionally saying laughably dumb things or giving ill-informed advice.

This is the man that said “… I did not know Jesus was a Jew …” and has advised his readers that they don’t need to bother with manual modes on their cameras. Not using manual modes is bad advice since mastering manual modes makes you a more creative and proficient photographer.

Now he takes the cake with this statement:

“… I can do without Pentax’ primitive DSLRs unless I was some Aspergers case hoping to use my ancient manual-focus Pentax lenses. Pentax’ manual focus lenses are also inferior to Nikon’s AI and AI-s and Canon’s FD lenses. God bless Pentax for trying and not giving up as Minolta and Contax did, but I fail to see who would buy it other than some feeble Aspergian hope to recycle old lenses from my K1000. (For those of you who don’t have to care for as many on-the-spectrum people as I do on a daily basis, those with Asperger’s have great difficulty handling change. Many outsiders may miss my point: those with this disorder find it an insurmountable obstacle to dump their old lenses and get new ones instead.) …” (Pentax K-1 review)


I can deal with an assclown posting laughable gems like “P mode is Profesional mode”. That statement quoted above is ignorant and ablelist.

Please write to Ken Rockwell to call him out on his ableist attitudes and ignorance.

(I’m not hyperlinking to his site so that he can get the benefits of SEO and backlinks to his site)



I’ve had a few people e-mail me about Ken Rockwell. In one source, Mr. Rockwell admits that he is “on the spectrum”. But Mr. Rockwell, why the self-hating attitude towards your ASD? Too many Applied Behavioral Therapy sessions warp your mind?

That said it explains some of the eccentric things he says or does. I have a new found respect for Ken Rockwell as a fellow Autistic Cousin.

Autistic Cousin Relations

I found out about a former friend that was recently diagnosed with Asperger’s Syndrome. While I will never desire to be in the same room with this person, I still consider this person an Autistic Cousin and worthy of the support I extend to other Autistic Cousins. Despite our issues and differences with each other, we still need to back each other up and support each other. Family first over personal issues. We’re all cousins working towards a common goal.

World Autism Awesomeness Day!

Yep. April 2nd. Let’s light it up ignorant and intolerant. The problem is that most autism non-profit organizations have boards and executive suites stacked with people that are not autistic and don’t see the world from an autistic perspective.  Persons with autism are nuisance and a problem to be solved. Autism Speaks PR campaigns like “I Am Autism” (trigger alert!) don’t help to make the world friendly for autistics.

The “1 in 68” statistic means that your odds of successing in life are stacked against you and the house 99% of the time wins. Talk about being the wrong kind of 1%. I have to fight constantly to earn what I have and keep it. It’s exhausting and last winter I almost gave up.

I can’t change people’s negative perceptions about myself or others with autism. For every negative message, I point out the things about my autism that make me awesome and deliver extra value to the people I work with. Let that other autism non-profit that equates us with a puzzle piece have their day. We’ve got our own like ASAN and Asperger Works that know that we’re awesome team contributors and we do awesome things. Today is World Autism Awesomeness Day. I’ll share how my autism helps me to make it rain awesome sauce!

  • I have freakish powers to visualize. If you’re familiar with Temple Grandin, she has this talent. She’s able to visualize in detail plans for a humane feedlot. Describe a technical problem and *boom* in seconds I can see the solution and break down the next steps we need to do.
  • I’m an obsessive, detailed planner. I’m uncomfortable with starting a project without understanding what’s ten steps ahead and what potential problems we may face. I won’t go on a hike unless I’ve studied the guide book and have everything I need in case poo hits the fan. It does irritate more impulsive colleagues. Thankfully Lean/Agile keeps me from overthinking things and keeps my brain entertained with dreaming up test plans.
  • Out of the box? Thats my wheelhouse! I’m that guy on the team that asks “why are we doing this? Is there a better way to do it? There’s new thing we should try …” My autistic brain is an unstoppable idea and innovation machine. As I type, I’m inventing something else my my head.
  • I’m know for deep, deep dive analysis. I obsessively and intensely research things I’m curious about. Which is why root cause analysis and solving performance problems is my best IT talent.
  • I have a freakish long-term memory. My short-term memory is unreliable but I can remember what SSL ciphers are PCI compliant. I’ve memorized terabytes of data and can recall obscure bits of information. My autistic brain is one big huge Big Data in-memory database cluster!
  • I do business with extreme levels of integrity. Dealing with grey areas is a bit tough for me. My autistic brain is a binary machine. I’d rather follow the golden rule than to feel conflicted which drives me nuts. I do what I say and delver when I can. Autistics hate being wrong or violating personal standards of ethics.


Ken Thompson in a Suit!

It’s not often you get to see the Father of UNIX and God of All Geekdom wearing a suit.

Absolutely no disrespect to Mr. Thompson intended (I’m not worthy!!). It’s nice to see a Real Hacker (TM) slip into something other than the expected Uber Geek uniform from time to time. And oh, nice tie Mr. Thompson. You have better taste than Bruce Perens, just saying. 🙂

My Varnish VCL file for WordPress sites

This was my starting point:

# Specify VCL new 4.0 format.

vcl 4.0;

# Imports

import std;

# Default backend definition. Set this to point to your content server.

backend default {

    .host = "X.X.X.X";

    .port = "8888";


acl aclPurge {




acl aclBanned {




sub vcl_recv {

        ### DOC



        # - The builtin VCL is always called afterwards.

        # - Happens before we check if we have this in cache already.

        # - Typically you clean up the request here, adjusting headers, managing cookies, rewriting the request, etc.

       ### Do not Cache: special cases


        ### Do not Authorized requests.

        if (req.http.Authorization) {

                return(pass); // DO NOT CACHE


        ### Pass any requests with the "If-None-Match" header directly.

        if (req.http.If-None-Match) {

                return(pass); // DO NOT CACHE


        ### Do not cache AJAX requests.

        if (req.http.X-Requested-With == "XMLHttpRequest") {

                return(pass); // DO NOT CACHE


        ### Only cache GET or HEAD requests. This makes sure the POST (and OPTIONS) requests are always passed.

        if (req.method != "GET" && req.method != "HEAD") {

                return (pass); // DO NOT CACHE



        ### Request URL

        ### Static files: Do not cache PDF, XML, ... files (=static & huge and no use caching them - in all Vary: variations!)

        if (req.url ~ "\.(doc|mp3|pdf|tif|tiff|xml)(\?.*|)$") {

                return(pass); // DO NOT CACHE


        # WordPress: disable caching for some parts of the backend (mostly admin stuff)

        # and WP search results.

        if (

                req.url ~ "^/wp-(login|admin)" || req.url ~ "/wp-cron.php" || req.url ~ "/wp-content/uploads/"

         || req.url ~ "preview=true"       || req.url ~ "xmlrpc.php"   || req.url ~ "\?s="

        ) {

                # do not use the cache

                return(pass); // DO NOT CACHE


        # WordPress: disable caching for some parts of the backend (mostly admin stuff)

        # and WP search results.

        if (

                req.url ~ "^/wp-(login|admin)" || req.url ~ "/wp-cron.php" || req.url ~ "/wp-content/uploads/"

         || req.url ~ "preview=true"       || req.url ~ "xmlrpc.php"   || req.url ~ "\?s="

        ) {

                # do not use the cache

                return(pass); // DO NOT CACHE


        if (req.url ~ "\?add-to-cart=") {

                # do not use the cache

                return(pass); // DO NOT CACHE


        # Kick DFind requests

        if (req.url ~ "^/w00tw00t") {

                return (synth(404, "Not Found"));


### http header Cookie
### Remove some cookies (if found).

# Unset the header for static files
if (req.url ~ "\.(css|flv|gif|htm|html|ico|jpeg|jpg|js|mp3|mp4|pdf|png|swf|tif|tiff|xml)(\?.*|)$") {
unset req.http.Cookie;

if (req.http.cookie) {
# Google Analytics
set req.http.Cookie = regsuball( req.http.Cookie, "(^|;\s*)(__utm[a-z]+)=([^;]*)", "");
set req.http.Cookie = regsuball( req.http.Cookie, "(^|;\s*)(_ga)=([^;]*)", "");

# Quant Capital
set req.http.Cookie = regsuball( req.http.Cookie, "(^|;\s*)(__qc[a-z]+)=([^;]*)", "");

# __gad __gads
set req.http.Cookie = regsuball( req.http.Cookie, "(^|;\s*)(__gad[a-z]+)=([^;]*)", "");

# Google Cookie consent (client javascript cookie)
set req.http.Cookie = regsuball( req.http.Cookie, "(^|;\s*)(displayCookieConsent)=([^;]*)", "");

# Other known Cookies: remove them (if found).
set req.http.Cookie = regsuball( req.http.Cookie, "(^|;\s*)(__CT_Data)=([^;]*)", "");
set req.http.Cookie = regsuball( req.http.Cookie, "(^|;\s*)(WRIgnore|WRUID)=([^;]*)", "");
# PostAction: Remove (once and if found) a ";" prefix followed by 0..n whitespaces.
# INFO \s* = 0..n whitespace characters
set req.http.Cookie = regsub( req.http.Cookie, "^;\s*", "" );

# PostAction: Unset the header if it is empty or 0..n whitespaces.
if ( req.http.cookie ~ "^\s*$" ) {
unset req.http.Cookie;
### Normalize the Accept-Language header
### We do not need a cache for each language-country combination! Just keep en-* and nl-* for future use.
if (req.http.Accept-Language) {
if (req.http.Accept-Language ~ "^en") {
set req.http.Accept-Language = "en";
} elsif (req.http.Accept-Language ~ "^nl") {
set req.http.Accept-Language = "nl";
} else {
# Unknown language. Set it to English.
set req.http.Accept-Language = "en";
### Varnish v4: vcl_recv must now return hash instead of lookup

sub vcl_backend_response {
# Happens after we have read the response headers from the backend.
# Here you clean the response headers, removing silly Set-Cookie headers
# and other mistakes your backend does.

# main variable = beresp.
sub vcl_deliver {
# Happens when we have all the pieces we need, and are about to send the
# response to the client. You can do accounting or modifying the final object here.

# main variable = resp.

set resp.http.Server = "mine";
set resp.http.X-Powered-By = "electricity";

sub vcl_pipe {
# Note that only the first request to the backend will have X-Forwarded-For set.
# If you use X-Forwarded-For and want to have it set for all requests,
# then make sure to use this: set req.http.connection = "close";
# (This code is not necessary if you do not do any request rewriting.)

set req.http.connection = "close";