I’m still very much a beginner photographer but looking to improve. This post on creating better phone photos has a lot of inspiration:

Behind the emergence of a these incredible mobile photos are countless amazing photographers who – everyday – redefine and push the limits of this new art. And so – we asked the world’s best mobile photographers just how exactly they create art with their phones.

JavaScript Helper for Triggering Stripe Failures

Lately I’ve had to integrate Stripe a few times and I keep having to visit their test card page over and over to copy and paste failed cards. Today I finally had enough and threw together a little helper that you can add to a Laravel blade file.


<script>
@if (App::environment('local'))
var $el = $("#card-number");
window.stripeData = {
valid: function() {
$el.val('4242424242424242');
},
successAddressFail: function() {
$el.val('4000000000000028');
},
successZipFail: function() {
$el.val('4000000000000036');
},
fail: function() {
$el.val('4000000000000002');
},
failNumber: function() {
$el.val('4242424242424241');
},
failCVC: function() {
$el.val('4000000000000127');
},
failExpired: function() {
$el.val('4000000000000069');
},
failProcessingError: function() {
$el.val('4000000000000119');
}
}
@endif
</script>

With this when you view the credit card form you can open console and type stripeData. and have autocomplete of whatever failed message you want to test for.

I know this is super simple but it helped me so I think it’s worth sharing.

I had several people ask me to do an interview in my Artisan files series and it just so happens I had an empty slot this week so I was happy to oblige.

The Simplest Way To Use Laravel Blade And AngularJS Together

By default AngularJS and Blade conflict with the way variables are called. Both use a double curly bracket {{ var }} syntax. There are a few workarounds such as changing Angular’s or Blade’s delimiters but an easier method is available.

Inside blade prefix Angular echo variables with the at “@“ symbol. Here is an example:


<li ng-repeat="phone in phones | filter:query | orderBy:orderProp">
<span>@{{phone.name}}</span>
<p>@{{phone.snippet}}</p>
</li>

This will prevent blade from parsing it but will be correct when sent to the browser.

Nice and simple!

Ulysses III Themes

In my post yesterday about Ulysses III I posted a screenshot of my customized theme. Since then I’ve had a few requests for me to release the theme and I’m happy to oblige, you can now find the following two themes in their styles exchange.

Here they are in all their glory.

Peacock Ulysses III Theme

Peacock Ulysses III Theme
Peacock – Inspired by Dayle Rees

Simplex Ulysses III Theme

Simplex Ulysses III Theme
Simplex Theme

Most of my focus was on the dark styles but the beauty of Ulysses is that customizing them is super easy.

To get your theme to look just like mine I used the following Ulysses settings:

  • Font: Anonymous Pro
  • Line Height: 1.4
  • Paragraph Spacing: 0.2
  • First Line Indent: 0
  • Page Width: 70
  • Insertion Point: iOS

I hope you enjoy these and if you have any questions just ask in the comments below.

Ulysses III – An IDE for your writing

I’m fascinated by writing apps. So much in fact that I believe I have purchased every one that has ever been made. I’ve even tried using development apps like Sublime and PhpEdit but nothing ever felt just right. I can’t explain it but it was always some little issue that drove me crazy.

This all changed when I found an app called Ulysses III. At the core it’s a nice markdown writing app much like some of the others on the market. But that is where the similarities end. It is minimal yet extremely powerful.

What I enjoy most is the sidebar and the library of all your files, sheets as they call them. I’ve seen a few apps do this but something about having everything together in one app makes me feel good.

All files are backed up to iCloud and are available on the Mac and iOS via their free companion app Daedalus Touch. I do most of my writing on the Mac but having the iOS app is great for jotting down quick notes while on the go.

Where the app shines is in those little features that are out of the way unless you need them. They have mastered making a simple app.

A simple app isn’t simple by virtue of having fewer options, a simple app is simple because of usability. — Ben Brooks

From the folder level you can set goals, see statistics, and add custom/smart folders. These same things can be done on a sheet level, as well as custom tags.

The writing environment is also nice. It supports markdown with some added features such as comments, notes, and annotations. You can really do some series writing in it. In fact you can even split a sheet which would come in handy when writing your next novel.

The export is another great thing. You can export as markdown to your clipboard, send to marked app, export a PDF, email, or iBooks. They even have a styles exchange where you can install different themes for both exporting and the writing environment. Here is my current customized theme:

ulyssesIII-theme

Along with all these it even has a quick open (command + o) which is similar to Sublimes command + p or PhpStorm’s recent files. Fully searchable.

Ulysses III is an IDE for all your writing.

———

So far I’ve only used it for blogging but I am planning on releasing the next volume of the Artisan Files e-book with it. I feel like with the export templates and the feature set it has, I can generate a nice looking e-book. Not only that but save me the headache of using iBooks. I never could fully figure that app out. 🙂

The only downside is the export doesn’t appear to support mobi files. I am hoping an app like Calibre can help here. Only time will tell.

I’m very pleased with this app and on my list it’s a must have.

Tips for Writing Technical Blog Posts

As a developer one of the best ways of giving back, beyond releasing code, is by writing about your experiences. Think about all the people you follow on social media. Chances are you follow the ones that are sharing knowledge and inspire you.

I love this part of the industry but a lot of times I see developers make common copywriting mistakes in their blog posts.

What good is a tutorial or article if it’s glanced over or never found?

In this post I’m going to outline some of the tips I’ve picked up and mistakes I’ve made in the past.

Article Structure

Your technical blog post needs structure. Two common methods are:

  • Introduction, body, and closing.
  • Pain, dream, fix (by Amy Hoy)

The first method is what a lot of technical articles use. It has a tendency to come out pretty dry and boring.

I like the second method better as it makes it easier for you to set up a story. The basics is to start your article by focusing on the pain or problem, then a dream of what you want to accomplish, and finally the actual fix or solution.

As a developer this is much of our entire day, so moving it into a story form is easy and should come naturally.

Article Title

Have you spent hours crafting a blog post, editing it, making sure its perfect, only to have it be a big flop? I have, numerous times and one of the common problems is the title. In fact much has been written about crafting the perfect title and it could be argued it’s the most important part of your article.

For us developers the best titles are those that other developers will be searching for. For example on my site “Switching to PhpStorm” and “Setting up Gulp, Bower, Bootstrap Sass, & FontAwesome” are my most popular posts. The only reason is because they appear in search engines.

Those two posts I threw together fairly quick and the ones I’ve spent the most time on hardly get any traffic.

Article Introduction

I touched on the introduction previously but it needs it’s own section. The introduction is the second most important part. This is where you inform readers on what to expect and set everything up.

I come across lots of articles where this is missing or just generic filler. It doesn’t draw me in and at that point I just scan the headings for sections that sound interesting.

Article Content

Including headings and scannable break points is another important feature. On the web readers quickly scan articles so you need a break to draw them into each section. Some examples are of course headings, blockquotes, lists, and images.

It’s also important to write clearly and keep your style consistent. In technical writing that means keeping your naming the same. A common example is writing the word JavaScript. Don’t mix between using js and JavaScript. Stick with one.

Another tip is to run your text through an app like hemingway. For web writing keep everything at a grade nine reading level or lower. Using small words helps readers where English isn’t their primary language, and makes your content more consumable.

Article Closing

In copywriting the closing is typically your call to action. Most developers aren’t selling anything so this is a great spot to ask for comments, connect via social media, or recap the article.

Wrap Up

I hope these tips on the structure, title, and content help you the next time you are writing a technical article. Now go and write about that problem you solved today. I’m sure it would be a benefit to others.

Yitzchok Willroth at php[world]

coderabbi
coderabbi

I had been waiting all day for this talk and at 2:50 p.m. I rushed into a room filled with six long tables. I took a seat on the front row so I wouldn’t miss anything.

Waiting to greet me was an index card, a pen, and a sticker. All branded with the speakers avatar. It was an impressive first impression!

I have followed Yitzchok Willroth, @coderabbi, over the past year on social media. We’ve had enough interactions that I consider him a friend, although never meeting in person. Anytime one of my friends are about to give a presentation I am nervous for them. I want more than anything for their talk to go well.

As I looked up to a small black and grey stage, I seen Yitz standing behind the podium. He was performing pre-talk preperations and getting his computer hooked up and microphone wired in.

He was dressed in a white button up shirt, black dress pants, and he looked a little nervous. As he wiped the sweat from his forehead, I knew the presentation was about to begin.

To be honest I wasn’t exactly sure what the next 45 minutes was going to be like. The title of the talk was “Talmudic Maxims to Maximize Your Growth as a Software Developer” which are foreign words to my vocabulary.

Less than two minutes into the talk, my anxiousness was quickly put aside. It was the best talk of the conference and it had everything a speaker needs. A story line, stage presence, and he kept the attendees listening intently to all the guidance.

The talk was not only for software development but for life itself. I believe the big takeaway is going to be different for each person, so I will not cover the presentation content. I am hoping this talk becomes the keynote at the next conference you attend. It was that good.

I feel like I got to see a rookie throw a touchdown on the first play of the first game. He gets it.

Bootstrapper to 9-5er

I got my start in tech almost two decades ago. Back then the landscape was much different, but I feel in love, and made it my career choice.

I found a friend, started selling software and doing custom development. Back then no one used the fancy term bootstrapper and I was just a partner in a small business, like thousands of others.

Flash forward a lot of years and I found myself getting a full time job. Something I hadn’t done in such a long time that it was a shock. I went from setting my own hours, working a few minutes away, and wearing many hats. To having to drive an hour each day, a set schedule, limited vacation, someone else making decisions, and having to focus on just code.

On one hand it was easier. Being an owner, all these questions stayed in the back of my mind, and at all hours:

  • Are we making enough money this month?
  • Did we put back enough for taxes?
  • Can I afford health insurance for the family?
  • Is the company growing?
  • Is our marketing working?
  • and on and on and on.

If you notice almost everything in my list was around money. Being a bootstrapper without a large net worth is stressful. A few bad months without proper savings can hurt you in a bad way. I had a hard time with the income being unstable from month to month. This stress compounded when I had kids.

Going to a full time job took away most of that. I could depend on a paycheck, had insurance coverage, and taxes would be handled like the rest of the population.

That doesn’t mean it wasn’t without issues. Mostly driving into an office. I took a job in the next city over, on a good day about 30 minutes one way, but that hour a day really adds up.

My kids go to bed between 7 and 8 which meant I would only get to see them for an hour or two and I didn’t like that at all. Especially in the toddler stage when they are doing all the good stuff for the first time.

I was able to eliminate the drive by getting a job working remote. Which also included the side benefit of being home for lunch and to be a big part of my kids lives.

Working from home is not without challenges. For me it’s mostly training the kids that during work hours they are to not be to loud and keep interruptions to a minimum. I would say that works 90% of the time but I do make an exception after school. Having them hold in their excitement until after work is impossible.

The other thing I’ve heard about working from home is isolation. This hasn’t affected me and I assume it’s because of my personality. I prefer not to talk and chatting with friends via online messaging is just as well with me. You could say this is my introversion showing it’s true colors.

All in all I’m happy with my experiences on both sides. One benefit is now as an employee I have a pretty good understanding of the business side, and how when you work for a bootstrapper you are an integral part of the company.

PhpStorm Tip – Keymap Abbreviations

I made the switch to PhpStorm back in January and every week I learn new tips and tricks to help me use the IDE. One issue I have is that I constantly forget keyboard shortcuts even though I only use a few. So I want to show a quick tip to make these easier to remember.

One workaround for not having to learn them is to use the “search anywhere” feature. You can bring it up with “shift shift” and search any part of your code, interface actions, and tool windows. It’s powerful!

This feature is really great but it also has a downside. I typically think of actions and windows in a different context than their actual name. PhpStorm planned for users like me and it includes a nice way of assigning abbreviations to the keymap.

Let me show how great this is.

Go to settings -> apperance & behavior -> keymap.

Then you can search for a command and right click to assign an abbreviation.

Here is an example where I set “a” to the abbreviation for annotate:

phpstorm-abbreviation

Now with that set you can bring up the search anywhere and just enter the letter a, which causes it to be the first result:

phpstorm-search-abbreviation

If you have trouble remembering keyboard shortcuts or want to speed up common tasks give this a try.

Here are the ones I’m currently using:

  • a – git annotate
  • v – split vertically
  • t – terminal

Verizon iPhone Trade-In Ripoff

About a month ago my two year Verizon wireless contract ended and they had a special trade-in offer. Trade in any iPhone 4 or higher and you could get up to a $200 gift card. I thought this seemed like a decent offer and up until this point I have been satisfied with Verizon.

I filled out the information on 4 iPhones, all in great condition by the way. Removed activation lock and did a full factory reset on each, then sent them off. Tonight I was sent an email with the value of the first phone. They gave me not $200, not $100, not even $50. A $36 credit!

I am upset and just thinking about the run around I’m going to have to go through makes my blood boil.

Apparently, I’m not the only one either.

What also surprises me is that I follow a lot of Apple bloggers and I haven’t heard mention of this.

Left Lane Drivers

Dear left lane drivers,

I’m sorry but I have a deep down hatred for you. I have driven almost 600 miles over the past two days and you annoy me to no end.

The proper way to drive on an interstate is to remain in the far right lane until you need to pass, at that point move out, pass a vehicle and move back over.

By failing to move you are making the roads more dangerous. Others then have to swerve in and out of multiple lanes to get around you and the person driving beside you.

So please move right, this keeps everything running smoothly and prevents road rage.

Now that CodeIgniter development has been taking over by BCIT a lot of people are wondering what will happen with the framework. I’m still not really sure what the future holds but I’m happy to see them put together an interim council. A lot of names I remember from back in my CodeIgniter days and also some friends.

Here is a list of the current members:

  • Andreas Pfotenhauer
  • Andrey Andreev
  • Ben Edmunds
  • David Wosnitza
  • Jim Parry
  • Lonnie Ezell – Council

Above all I’m happy that Andrey, David, and Ben are on this. All stand up guys that have done a lot for the framework over the years.

This is an epic post about the state of our industry written by Elizabeth Naramore.

Some days, it’s hard to feel awesome about the tech world we live in, isn’t it? There is a constant outpouring of rage, criticism, harassment, misogyny, and personal attacks. We love to disagree and judge and publicly shame for mistakes, and we shake our fists in the air and scream when we think someone’s wrong. We thrive on this sea of negativity we have created. Sadly, when something truly inspirational does happen, its beauty is criticized, discarded, and drowned.

The whole post is quote worthy and you should read it.

I had the pleasure of being on the latest Full Stack Radio podcast with my friend Adam Wathan. In this episode we talked about my Wardrobe blogging app, JavaScript, and writing.

I was actually really nervous but had a great time. Go give it a listen and subscribe.