All Posts By

Alice Brosey

CSS

CSS Fun

I get a little frustrated when people think everything needs Javascript. I’m using a lot of Javascript these days, primarily React, but there are so many things you can do with CSS instead. It’s a magical balancing act — should you use Javascript? Should you use CSS? Should you even do it at all?

Since December, I’ve been working with a social media site called Rezli, and this morning I decided to make the Rezli logo — and then I decided to animate it, all with CSS. There is no original design of mine here, the animation is a replica of the current avatar of Rezli’s CEO. 🙂 I’m not a designer, I’m an implementer. 😉

See the Pen Rezli Logo CSS Only with animation by Alice (@ambrosey) on CodePen.0

Entrepreneurship, Life

Reading Lists

In this startup phase, I’ve been writing a lot fewer posts and articles than I ever have before, because it’s hard to start talking about my product without pitching — and it’s hard to pitch my product without it being ready for show and tell. We’re getting so much closer to a live launch.

In the meantime, I have been reading far more books on business, business in tech, and entrepreneurship.

The book I’m reading at the moment, The Intelligent Entrepreneur, by Bill Murphy Jr., has been a fantastic read so far. I read the comments on Amazon before I borrowed it from the library, and many of the comments hinged on the fact that it over glorifies the Harvard Business School (true fact) and that it makes venture capital seem much easier than it is today (true fact). However, the book is a great story, following three entrepreneurs from the same class at HBS. It shows the good and the bad, everything about their lives as they struck out on their own to form businesses.

My takeaways aren’t the “10 rules of successful entrepreneurship” that the cover dictates — but the more minor things. An offhanded comment that one of the entrepreneurs occasionally stayed up all night playing Civilization while he’s in the world of new startup entrepreneurship. And it gave me so much more hope. Because if I have to follow all the suggestions everyone says — throwing everything into my business around the clock, living, sleeping, dreaming the business, then the business isn’t worth it to me.

Do I love my business idea? Yes. Am I excited beyond belief to have it come to fruition, just for my own use? Yes. Will I probably work on it well over a 40 hour week until I can afford to hire employees to get a more manageable schedule? Yes.

Will I take afternoons to go to swim lessons with my son? Will I take a child-free evening to simply enjoy and play games with my husband? You bet. I’ll be one more entrepreneur, trying to make my mark on the world… but if I’m up at midnight, I’m probably playing just one more turn…

Life, Productivity, WordPress

Starting Up

I have never been so excited about a website launch than I am at this moment. I’ve been able to take my strongest skills from across my hobbies, merge them with my web development skills, and create a fantastic product that I can’t wait to share with the world. It’s a dream web app for me, and something that I’ll enjoy using for years and years to come. And it’s something forcing me to meet more of my goals for this year with learning Javascript and taking my WordPress development to the next level.

Vague? Yes. I’ve written a much longer reveal post when we’re ready to release our beta version, hopefully by Labor Day. Please stay tuned, I’m super excited about this opportunity.

Life, Productivity

Taking charge of life – Spark Planner review

If you’ve read other posts on my blog, you realize I’ve had a crazy beginning to 2016 — moving houses, job transitions, trying to fix the old house to sell, and other smaller things.

However, one item that has really helped me pull through is a planner I bought off Kickstarter in the fall — the Spark Planner.  I am a junkie for productivity tools, and especially written planners, but I’ve been shocked at how much this planner has helped me. I set annual, monthly, and weekly goals, which I follow and set tasks to push me closer every day.

I originally thought this would help me take my business to the next level but instead, I’ve found that it’s rounding me in many aspects of life. I was late on the kickstarter, so I didn’t get my planner until right before February 1, so this is more of a “first quarter” check-in.

My annual goals were focused on the idea of growth: Growth of spirit, finances, learning, and body.

My top goals were:

  • Increase my income
  • Sell my old house
  • Become more multilingual (learn Chinese)
  • Increase knowledge
  • Lose weight
  • Increase fitness
  • Complete a half-ironman or equivalent

At this point, there have been several setbacks on the physical front – medical issues are flaring up with larger amounts of exercise, so I have to take things much slower than I thought. I also found that I have a medical condition which puts me at very high risk of illness from open water swimming (more susceptible to bacteria, etc) so I likely won’t be able to do a half-ironman official event in the fall. I’m still contemplating pulling it off in a gym setting for the swimming portion. Still, I can figure that out later. Getting in the running shape is the hardest part of a triathlon for me, so that is what I am focusing on right now, and I’ve lost 15 lbs since New Years.

The old house has been on the market for 3 days, a major accomplishment. It hasn’t sold yet, but it’s finally “finished” with regard to the work it took to get to listing ready status.

I’m making serious headway in learning Chinese as well. I’m learning Mandarin, and contrary to much advice, I’m attempting to learn to read, write, listen, and speak simultaneously. Therefore, it’s going slowly, but if I learn only to hear and speak, I will have a much harder time reading and writing later, and vice versa. That’s how I learn best. Definitely don’t try to hold a conversation with me yet… I’m a super beginner. My personal goal for the year is to get my fluency up to a casual proficiency level, and be able to begin reading websites written in Chinese, and begin to learn about Chinese typography. I have to learn the language more, before nuances in typography are understandable. Definitely a language that makes me wish I were in a larger city with an actual Chinese population in order to learn better — I haven’t seen or met anyone here who has fluency, in order to “check” my pronunciation skills.

Increasing my income is an interesting goal. Since I chose that goal, my previous work position crumbled, so I took some time to decide how to move forward. At this point, I’m still freelancing through my business that I co-own with my husband (The Bunny Network) and I haven’t really increased my income, but it’s regaining back to where it was, and I have some promising options for the future as well. I applied for several full time positions, but I have several other paths open to me right now, and that makes for an interesting season of exploration. Everything that I’m doing now is growing my career strengths, even if it isn’t making short term income, so I am happy with my current movement on growing my career.

The big goal I didn’t list earlier, that has taken precedence also, is organization. There’s nothing like moving as a family after 6 years in one house, to show you that you have a lot of organizational needs. A lot of my weekly and monthly goals have revolved around the organization in the new house.

So the question you’re probably wondering now is, how much of this really has been helped by the planner?

I have made annual goals, every single year. But I never really hold myself to them, or revisit them. The Spark Planner pushes me to think about them in creating my monthly and weekly goals, and has reoriented my life to the bigger goals, rather than the smaller goals. In the past, I’ve been great at task lists and other things, but I haven’t focused every week on meeting my annual goals for me as a person. When I fail to meet a goal, I see it, realize it, and let it shape the next week. The single largest thing I’ve learned from the process, however, is to keep my eyes on the larger goals rather than the small tasks, and this has really pushed me to grow much more than I otherwise would have. I look forward to coming up with my goals each week, and I hope to revisit with a new blog post after another quarter.

Life, WordPress

Impostor Syndrome

Here’s my biggest secret: I’ve always thought I wouldn’t be good enough for what I do. I’ve let it hold me back in way too many ways. Here’s my story.

1) I went to a prestigious engineering school (Case Western Reserve University).

Despite getting hired to work on a help desk on literally day one of college, and succeeding mightily in that work the whole time I was in college, I couldn’t find a job when I graduated. Granted, I was trying to stay in Cleveland at the height of recession – I graduated in January 2007 – but I didn’t apply for anything that would have given me an upward trend.

2) I married a successful software developer.

Once I got married, I/we assumed that I could never rival his salary, and I stayed at home for a couple years. Inferiority complex kept me from even applying for any jobs, even ones I would have been very very qualified for.

3) My husband’s trajectory forced me to find money.

Let’s be honest, I was miserable staying at home. My self-worth had gone OUT the window. My confidence was gone, and there wasn’t much left of the promising high school graduate who had my pick of some very good universities to turn me into a productive adult. Then, my husband started graduate school, and my smart budgeting sense said “Yes! Yes! we can pay for this out of pocket!” only to be faced with the cold hard reality of how gigantic the tuition was (more than 1/3 of his take-home pay).

4) I began freelancing online, for way less than minimum wage.

I never took any of those “$2/hr” type listings, but I didn’t know what I was doing. I was tech savvy, but I didn’t really have marketable experience. So I took easy jobs – $50 here, $100 there, but spent way more time on them than a skilled person would have. Besides a few nutty clients (the type that wouldn’t have been happy no matter who I was), I learned very, very quickly. After a few months, I felt confident applying for my first hourly positions, and worked as a freelancer for several small agencies. I was able to ramp up my hourly rate to the point where I could work a 40 hour week, rather than a 80 hour week because I didn’t know what I was doing, and eventually obtained a level which rivals my husband’s income.

5) I began to experience community, and found my worth.

The biggest watershed moment for me was in 2015 when I attended LoopConf. An expensive conference for WordPress held in Las Vegas, it was my first time truly around people who did what I do for a living every day. My first glimpse at successful people in the field, in person. The big moment came after attending several sessions which I was loving and soaking up the content, when I was talking to others and they were all discussing how various talks had completely gone over their heads. That they couldn’t imagine using the knowledge because they didn’t even understand it. That’s when I realized I had truly arrived – because I watched every session, soaked up many new tips and tricks – and never thought any of it was “hard”. I began the conference assuming that I was the new outsider, and quickly realized that I wasn’t.

Once I started truly talking to the other people that understood things on the level that I did, I finally realized that I was not longer that outsider looking in. I had arrived. I am good at what I do. I can always grow – and there are many things on my personal growth list for the year, weekly, monthly and annual goals to reach – but I am a success story. And nothing can hold that back.

6) The future.

In the beginning of the year it became clear that to grow more thoroughly, I wanted to join a team as a full time employee, rather than continuing to freelance. I received a taste of that last year with one client, who seemed to be bringing me on full time before things fell apart for her. Applying for jobs, however, comes with this huge risk — that brings up all the inferiority complex and impostor syndrome issues. I have to remind myself, day in and day out, that these companies know what they’re looking for. If they judge me to have the wrong personality for their company, why would I want to be there? I want a position to thrive in, and not to be throttled. In the meantime, there’s nothing wrong with continuing to freelance, until the perfect position opens up for me.

Life, WordPress

Digital Nomad

I’m not one for settling down. If I’ve been in the same place for too long, I’m just itching. I haven’t travelled far since the Christmas holiday season — and it’s really getting me. Of course with moving and trying to sell a house, there’s limits on how far I can get right now – and hunting for a full time position does take away from spontaneity.

Have you ever wondered about working from home remotely? When I first started freelancing, I wasn’t sure that I was doing it long term. I didn’t have a reliable vehicle, and didn’t want to invest in one just for a job, so I started out freelancing from home. It’s been my dream job. I am probably on the road 6-10 weeks (or more) per year — and most of my clients never even noticed. The clients that notice the most are the ones that video call me – I haven’t invested in one of those chair-back screens that blocks my background, so they can tell I’m in a different space.

My most productive week of feeling accomplished with my work in 2015? I was visiting one of my best friends. I drove 20 hours to visit her in Texas, with my young son. Being with her gave me the perfect balance of being able to churn out massive amounts of work, and know that my kiddo was having fun, and get to spend lunch breaks with them. On a normal workday, I usually don’t get lunch breaks like that.

Now, it can also cause problems. No matter how much I say I need to work, there are some places I’ve found it extra difficult – like with my parents. It’s hard to work when everyone else is on vacation. And whenever I plan to do something away from work, sometimes work comes in and takes precedence — I’ve never been to a development conference where there hasn’t been some work emergency. I’m used to being on call, and so long as the pay makes it worth it, the pay makes it worth it.

That being said, I love taking longer vacations. Would I love to rent a beach house for a month, and work from the beach house? YES. I would much rather do that, than take the time off altogether and only get a long weekend at the beach. I like working in new and different places. One of our “family plans” is to ride bicycles across the United States (and back). We figure we will take a little over 6 months, and average something like 40 miles per day (but have scattered zero days throughout). Assuming a decent pace, leaving each morning around 7am we would be done by lunchtime – and able to eat, cleanup, and work. Completely doable *with* working – and with a remote position, if I have a full time position with a company, they will definitely know I’m doing it, so that I can be above board – but also so I can meet any coworkers I’m coming near. If it’s remote work freelance for several clients? They might not even notice. Just need to grow my child bigger so he can handle the Burley Piccolo — it will be a few years.  However, between a combination of zero days if the work gets heavy and/or if the weather gets too stormy, and working on ride days after the morning ride portion, I can see the country… and work too!

But, for the forseeable future, I’m mostly here in my beautiful Lenoir City home office — dreaming of those long trips away, and knowing it can and will be a reality sometime.

Life

Priorities and Setbacks

Well, four months since my last post, and the real keyword of this post is “underestimating”. Life has thrown me for a loop over the past 4 months, but it’s been a fun ride.

First, on December 15, we closed on our house. It’s an amazing house, and I have the best home office I could hope for. A beautiful view of the Smokies, with a decent view of all of downtown Lenoir City. To be honest, I don’t ever want to leave my office. It is worth waking up every day just to sit in my office and bask in the sun from all the windows. I still haven’t unpacked all my office things… but all the important stuff is present.

We didn’t take possession until mid January due to the prior owners’ schedule — all the better for us because we travelled as usual to Maryland for the holiday period. A great highlight was seeing the new Star Wars movie in IMAX at the Air and Space Museum in DC. But then, the cascade began. First, the hassle of moving enough things to the new house to be able to live. (Beds. Refrigerator.) Then, replacing items that weren’t worth moving. (New couch). Then, it started to feel like home.

In February, my already tenuous work relation with my employer-slash-largest client (what do you call a full time position when you’re a 1099?) completely dissolved. Several reasons, but mainly due to broken promises, which became evident that they weren’t going to change, followed by a mysteriously missing paycheck.

I took this as a sign to take a step back. I focused on rehabbing our old house (new carpet, paint, a lot of repair…) and I spent spring break just enjoying my son. I had focused so hard on work over the past 3 years that if we weren’t travelling, I didn’t really take vacation days with him when he had a day off school. It was an amazing experience, both to enjoy sitting outside on our porch, and just watching him play all day.

Then, I caught the flu. On the first day that I was truly bed-bound, I realized what it must be like for people to die of the flu, and I was convinced of my own mortality. But, I didn’t catch pneumonia or any other complication of the flu, and after 8 days of full bed rest, I survived again.

So here we are, four months later — and I’m moving into a different stage of my life — job hunting. I’ve run my own freelance business since 2011 — when I stumbled on and wrote my first WordPress theme — and now it’s time for me to find something more stable. Having a full-time client for most of 2015, has truly taught me that what I really want is something more stable. Answering to only one person or company, where they understand the extent of my workload. I’m great at excelling under pressure, but there’s a vast difference between having 10 jobs, prioritizing them and working through the time, and having 10 clients expecting you to give them each the same 8 hours. The fluctuations of freelance work over the past 5 years, and the pain of clients who have financially stiffed me after a large time investment on my part, have taught me a lot of lessons, and the final lesson was that it’s time to move on.

WordCamp, WordPress

WordCamp US 2015

My trip to WordCamp US in Philly was awesome, and a lot of fun. Like any technical conference, I got a lot out of the sessions, but I got even more out of the community interactions outside. I held back so many times from going to WordCamps because the more local ones to me didn’t seem to have “enough” developer oriented talks. After all my experiences at WordCamp US just talking to people, I think it is really important to still go to the other WordCamps. My old goal for 2016, which I set a while ago, was to give a talk at a technical conference. My new goal was to learn Javascript and the REST API inside and out – (and yes, I set that goal *before* Matt Mullenweg announced that every WordPress developer needed to have that goal). I think at this point, I’ll aim to do both.

I’ve always considered myself an excellent PHP developer, not very useful for Javascript, but more than one conversation I had yesterday at the official WCUS after party convinced me otherwise. I’ve done a lot of work with tapping WordPress’s PHP into external javascript APIs. It took me all day, and into dinner tonight, to realize exactly what I needed to do. I have a great idea for something that I’m pretty sure isn’t out there yet — so I’m setting the goal of writing an awesome plugin this week and submitting it to the repository. Well, if the plugin repository is anything like the theme repository, it will take a long time to go through review – so I’ll put it on Github and blog about it sooner. I don’t want to blog about it before I write it because it’s always better to see if it works the way I think it does, first. I would say, look for it this week — but who am I kidding? Between my kiddo’s birthday, closing on a new house, traveling for the holidays, and then moving — it’s going to be an intense month. Hopefully I won’t wait until after the move.

Any ideas of a good conference to speak at next year? Preferably one cheap for travel from East Tennessee? I’ve heard good things about WordCamp Atlanta, WordCamp Asheville…

Today was Contributor Day at WordCamp US. I wanted to work on Core, but I’m too intimidated by my lack of experience running VVV – so I decided to work on Documentation. Then I read something online about there not being a lot specific organized for Docs to work on, so I skipped it altogether and worked on Theme Review. I don’t think I had realized how much I like QA. I think it’s something I’ll definitely keep doing – a three month backlog for the theme repository is crazy long – I bet many developers give up hope before their theme is reviewed. I will keep doing my piece as time allows.

If you were not at Contributor Day and you have not contributed to WordPress, but you use it — I can’t imagine not giving back to the community. And some day, I’ll be contributing with things I write, not just QA.

WordPress

cPanel hacking of WordPress

Several months ago, I noticed that of the many websites I had on one server, one of them was not updating properly. In fact, it never updated WordPress, and it actually acted like there was no such thing as an update.

I forced an upgrade by uploading the new core via FTP, but as this was a live site, I didn’t want to do anything crazy to the database, or even take the site offline at all. Upgrading via FTP worked, but it still never flagged or showed that updates were needed, as time went on.

Usually, and this is seen on one old demo site, the dashboard will say the current version number, along with the button to update if one is available.

Also, navigating to the Upgrades page on the dashboard,

This was something that I did not have time to deal with. It was a minor issue, as it was only affecting a couple of sites. However, I stumbled across this blog today dealing with how cPanel had been changing Core to prevent upgrades. Suddenly, I realized what was happening.

It turned out the culprit in this case wasn’t even cPanel – it was a GoDaddy plugin. What’s weird is that the site had never been on GoDaddy. It was once on MediaTemple, early on, and I’m thinking that’s a possible culprit since they’re related. It has been on multiple hosts, and I can’t verify how it happened at all, but there was a plugin placed in the mu-plugins folder – which was why the manual FTP updates hadn’t fixed a thing! Due to the above blog post I was able to search on various terms, and I located the mu-plugins GoDaddy plugin by searching for “core_upgrade”.

Header information from the plugin:


/*
Plugin Name: System Plugin
Description:
Author:
Plugin URI:
Author URI:
Version:
Text Domain: gd_system
Domain Path: /gd-system-plugin/lang
*/

Offending item snippet:


// Don't auto upgrade core
add_filter( 'auto_update_core', '__return_false' );
add_filter( 'pre_site_transient_update_core', create_function( '', 'global $wp_version; $x = new stdClass(); $x->version_checked = $wp_version; return $x;' ) );
add_filter( 'user_has_cap', array( $this, 'block_core_upgrades' ), 10, 3 );

// Use default WP settings for these three
// add_filter( 'auto_update_plugin', '__return_false' );
// add_filter( 'auto_update_theme', '__return_false' );

// Disable e-mails 3.7 Beta -> RC
add_filter( 'automatic_updates_send_email', '__return_false' );

// Disable e-mails 3.7 RC -> Final
add_filter( 'enable_auto_upgrade_email', '__return_false' );

// No debug e-mails
add_filter( 'automatic_updates_send_debug_email', '__return_false' );

// 3.7 Final filter
add_filter( 'auto_core_update_send_email', '__return_false' );
}

As it was the only mu-plugin, I deleted the whole mu-plugins directory from the installation to remove all the offending code. Magically… we have an update button now, and are happily running the very latest version of WordPress.

WordPress

WordPress 4.3 and the little joys in life

As someone who deploys a lot of WordPress sites over time, rather than just maintaining a couple large sites, there are two major (major to me!) changes coming in WordPress 4.3 that I am very happy about.

1) Comments are now turned off by default.

As anyone who launches many non-blog websites with WordPress knows, one big step in a site launch is deactivating comments everywhere. We suggest every user have a blog, because blog posts increase total website word count which can increase SEO and make a site more popular. However, most companies that might be convinced to post a blog once a week are not ready for the headache of regulating comments. Many don’t want to deal with comments at all – and certainly not on “Pages” of the site. One big step in every site staging or launch has been removing comments. It’s so exciting that this step gets to leave my workflow. No more headaches when someone goes in and adds hundreds of pages/posts before turning off comments, causing the need to mass edit in the database.

2) Favicon support.

As someone who has attempted to provide favicon support over time with customizer options for users, this new favicon option will be much better, and I don’t have to worry about it! Integrating Favicon support is awesome, and just one more thing to be really, really excited about.