Testing Out a New Temporary Markdown Editor

I’ve been in search for a backup Markdown editor while my goto app is updated to fix a rather lethal crash bug. For those wondering, as of this writing, Desk PM is my goto and when attempting to work through the publish menus, the app always crashes, and always forgets my work. No good.

So in the meantime I had to find an alternative, if I’m going to restart my blogging habits for 2016.

Continue reading “Testing Out a New Temporary Markdown Editor”

Goodbye Mailbox

When the Mailbox team joined Dropbox in 2013, we shared a passion for simplifying the way people work together. And solving the email problem seemed like a strong complement to the challenges Dropbox was already tackling.

But as we deepened our focus on collaboration, we realized there’s only so much an email app can do to fundamentally fix email. We’ve come to believe that the best way for us to improve people’s productivity going forward is to streamline the workflows that generate so much email in the first place.

In other words, it was only a matter of time. I enjoyed Mailbox. When I first discovered it and received my beta invite way back when, I was instantly hooked. The concept of being able to swipe emails around and either put them off until later or never have to deal with them at all was amazing. In my opinion, the best feature about the app was probably the reminder/scheduling swipe.

Deferring an email until “the evening” or at some point in the future when I could pay more attention to it rocked. I would use this almost on a daily basis with my personal emails.

Now, I guess I’m going back to the native Mail app, an app I never left on the Mac[footnote]Mailbox for Mac never was very good.[/footnote]. I could use something like Spark or Inbox. I’m not that resistant to change.

There’s one thing that sets this event up for another one of those things that can be classified by the phrase historically speaking, and Brent Simmons puts it quite succinctly:

https://twitter.com/brentsimmons/status/673921598240391168

Again… it was only a matter of time.

Brent goes on to say a few pretty key things:

When deciding whether or not you can trust an app to stick around, you can’t go by whether or not it was acquired.

This is so true. I like to use Nik as an example. A software company that developed photography editing tools, it was acquired by Google in September 2012 but is still going strong as a part of the Google Nik Collection. If you’re still not sure who Nik are, have you heard of Snapseed?

I’ll pour one out for Mailbox because I have some crappy beer in the fridge, but in a week, I’ll have already moved on.

Please Welcome Dr. Jekyll

It’s taken a while for me to mentally get to this point but today I finally crossed the threshold and converted my blog into one generated by Jekyll. Essentially, every time I post or make a change, the blog is rebuilt into static files making the load on my server super light as well as saving disk space. On top of it all, I really wanted to tinker with the idea.

There were a few reasons why I finally bit the bullet and I wanted to share them in hopes that one day someone will stumble across this post and finally take the plunge like I did.

  1. WordPress is getting kinda fat. I’ve seen fatter CMSes (anyone remember PostNuke– the year 2002 was fun.) As someone who’s getting more and more into software development and tinkering with code in general, WordPress is a beast I don’t want to tackle, to be honest.
  2. I really only need a couple features. And one of those is a blog. It’s pretty easy to do that with just about anything and with the level of potential complexity[footnote]Not always a bad thing, mind you.[/footnote] that WordPress can introduce.
  3. Comments, psh.. I can’t think of a time when I really wanted to have comments on blog posts. I only did it on WordPress because I honestly felt like I should. Now that I’m in complete control and this blog serves more of a purpose of me saying things and people consuming that information, comments sections aren’t really necessary. If you want to comment on something, send me an email.
  4. I feel more developer-y. I don’t know if not using WordPress is a requirement for this one but it just feels right. I really enjoyed the setup process and learned a lot about the whole thing. Granted I have a bit of experience with Ruby, already, which really helped in troubleshooting.

So with all that being said, here it is. Every time I update, I push the new files to both a GitHub repo and my server at the same time so I have redundancy and it’s an easy way to show off what i’m doing to make this site interesting using a popular static site generator.

Over the next couple weeks, I’ll be sure to share any unique experiences I had and what I learned from them so stay tuned!

My First Legitimate Vagrantfile

I feel like I’ve created this sort of new kind of being. Previously, I had rarely used Vagrant or Docker or anything of the sort, so the idea of being able to craft an on-demand virtual machine with whatever the hell I want inside of it was both exciting and terrifying.

Linux isn’t foreign to me, and neither is the idea of automation, but after being so accustomed to working in a Windows environment against my better judgement for several years, there was a lot of cobweb removal.

Needless to say I could have prevented the aging of my knowledge by staying up to date on every development and deployment technology I could get my hands on. There are, however, only so many hours in the day. Something had to give.

Now I’m paying for that decision as I work on slowing transitioning myself into a more software-development oriented career path. I enjoy ops-y stuff, but I like building things. I like tinkering (hacking?). My boss made a joke today about how involved I get whenever there’s a discussion about minor HTML tweaks to one of our sites.

Hey… I like that shit.

One thing that made it easier for me to get into this new and soon-to-be-awe-inspiring technology is that I had a purpose. There was a clear goal I wanted to meet and beat.

One of our software offerings runs on JIRA. If you’re unfamiliar with the product, it’s a Java-based project management/issue tracking/development/agile tool for organize and keep track of just about anything. Software companies and app development teams are likely the largest consumers of this product. On a regular basis, my team is spinning up and burning down JIRA instances in the never-ending hunt for bug reproduction, walkthroughs, and everyday troubleshooting.

Unfortunately, installing JIRA by hand isn’t fun if you’re running a Linux box. The Windows installer is pretty hands-off but Windows is Windows.

My end goal was to be able to fire up the almighty Vagrant, have it build out a Linux image with a database, JIRA, and be ready to accept input in the browser. I piggy-backed off a couple other like-minded setups I found on GitHub so it only took a couple hours to get it doing what I wanted.

So without further ado, here’s the link. It’s a work in progress as I’d like to someday have data pre-filled and JIRA pre-installed. I’m not sure how feasible that is given JIRA’s licensing structure. For the uninitiated, the license key is unique and time-based. The key starts to wither away the moment its generated instead of the system stopping working after 30 days from install.

Next week I might try the same with Docker. I’d love to be able to manage a cluster of these types of setups that can be built up and torn down as needed with little overhead. Instead of making the pre-game ritual longer, I want to make it shorter but more enjoyable.

On Docker (Briefly)

Ever since I discovered Docker, I’ve been a fan. Trying to explain Docker to the un-initiated is also fun. I describe it like so:

Docker is like a Lunchable (or bento box). The container of said Lunchable is Docker and the VM it controls. Every section inside the container is each of the apps it runs.

I try to tell folks that you use a Virtual Machine if you need to control an entirely specific environment. You use Docker if your interest is just with apps. In this day and age, trying to maintain a fleet of systems or virtual machines can be daunting.

A Post I Wrote with Writed

I’m always on the lookout for new and interesting apps that make the desktop writing experience more enjoyable. I’m a big fan of Desk and iA Writer and wondered what other kinds of markdown-based writing tools were out there.

A quick Google search turned up more than a few and I only had time to talk about one, tonight, so I picked a free entry in the space, Writed.

I’m a believer of having a good-quality, distraction-free writing environment to craft stories, blog posts, news articles, and even school papers*, one of the biggest things to me is the ability to go full-on distraction-free mode and be able to just write, without anything else getting in the way. Writed does the full-screen writing mode well with several styles to choose from. Since it was night when I wrote this, I found it suitable to sit by a lamp at my desk and use the Night theme. The contrast is good and I’m not struggling to see. Plus, if I darken the brightness of my screen, the dark grey background becomes almost black, and the words still pop.

99% Distraction Free

A word and character counter sit at the bottom of the screen, and there doesn’t seem to be any way to make that bar disappear, so strictly speaking, I’m not operating in full distraction-free mode like my favorites would alow me to do, but we’re close. To be honest, I like to see the numbers from time to time because it feels like I’m increasing some magical word score and I’m shooting for a high score. I have this odd fascination with things that allow me to attain exceedingly high scores with no real reward at the end but an even higher score.

Basic Markdown Support

Writed does markdown writing well with it’s backtick ( ` ) code support, as well as proper emphasis with single and double-underscore and -asterisk support. Headers and code blocks work fine, as well as blockquoting with greater-than carats ( the > symbol).

If I was going to chang anything about this application, I’d only do one thing: make the bottom bar something I can hide. Given that it’s a slightly different color in the theme, it stands out from the rest of the editing space and is just a smidge distracting. Other than that, I like Writed and for the price of FREE with a couple optional in-app purchases, it’s super hard to say no to such an app that gets the basic markdown-centric-distraction-limited-writing-space job done.

A Kitematic Overview

Kitematic Main Screen

I have only recently started tinkering with Docker when I made a brief attempt at getting Discourse running on my server. What started out as me being quite frustrated with my lack of SMTP knowledge ended in my admittance that a pre-packaged setup would be much easier, and indeed it was.

Docker is good for that. Docker’s purpose is to allow swift and efficient deployment and management of applications that reside in their own containers. Think of a cargo ship. Each one of those containers can be its own app that runs exclusively in its own box/bubble/container/virtual world and on the outside Docker and the system it runs on maintains structural integrity so each container can keep running.

If you’re relatively new to Docker like I am, you’ll probably be wondering how easy it is to get started.

There are two routes: the command line route and the GUI route. Today I’m going to show off the GUI route by way of an app called Kitematic.

Screenshot 2015-06-27 16.02.42

Overview

The purpose of Kitematic, in my opinion, is to bridge the gap that’s created by the learning curve created by not being fully aware of how to interact with Docker on the command line.

Deploying an image is dirt simple. The UI presents you with a searchable area in which you can comb the Docker Hub. One click is all it takes to create an instance of the application you’re looking to install.

The actual deployment time will depend on your Internet connection speed because the image has to be downloaded. The larger the application, the longer it’ll take to deploy, install, and configure, so keep that in mind.

Deployment Tests

Here are a few examples of apps I downloaded and how long they took from the moment I clicked the Create button to the moment they were ready to go. These incredibly non-scientific numbers come from my 2011 Macbook Pro with a 2.2GHz Intel Core i7, 8GB of RAM, and the images being stored and run on an SSD. I also used the most popular choices for each of these images, including recommended ones if they were available. Each of the image were downloaded on a 125mbps Internet connection and the timing below includes that.

Application Time to Ready
Ghost 0m 26s
Atlassian JIRA 1m 45s
Redis 0m 12s
MySQL *
Nginx 0m 5s
Minecraft 1m 50s
Jenkins 1m 16s
Elasticsearch 0m 35s

I obviously want to stress that the above numbers are essentially me using a stopwatch and watching the process take place. When it came to MySQL, it never fully initialized and I was unable to determine its progress after about 30 seconds. I couldn’t connect to the service and the logs weren’t displaying anything. It’s possible that I just got a bad run and re-doing it could have fixed my issue. YMMV.

If you plan on running Kitematic a lot, you’ll want to make sure you can reserve at least 2GB of RAM for the VirtualBox VM it runs in the background. Also, check Kitematic’s settings and check the box to clean up the VM on closure if you’re on a battery-powered system. It’ll take a bit of extra time on boot but it’ll save your battery when you’re not using it, for sure.

I do believe it’s prudent to point out that if you choose the delete-on-closure option, you might find yourself with a VM that can’t fetch an IP address when you re-start Kitematic. This was the case 100% of the time I restarted Kitematic after killing VirtualBox on Kitematic’s closure.

The Bottom Line

So here’s where I tell you if it’s worth it. In short, completely. For people like me that just want to get things done and move on with my day and not have to deal with the command line all the time, this is a boon. If you’re a die-hard command line junkie that thrives on typos and mashing away at the keyboard, go do it the regular, old-fashioned way.

Kitematic is free to use and is in Beta. It might be a bit rough around the edges, and may not work very well on Windows. I tried running the JIRA install on Windows and it failed every time.

If you’re looking to break into Docker and the idea of containered apps, this is your vice.

This slideshow requires JavaScript.

Create High-Resolution Mockups for Your App or Site with Promotee

When it comes to promoting your site or app, it’s important that your renders are high quality and accurately portray what your customers should expect.

Promotee is a Mac application to create pixel-perfect and professional looking artwork for iOS, Mac and Android apps. Just drop a screenshot from your app onto a template in Promotee and our graphics engine will blend it into the template to generate a gorgeous looking result.

Promotee has one goal: to do exactly what I said without breaking the bank of paying for renders or shooting your own devices, wasting valuable time. I sat down with the app and here’s how it went.

Continue reading “Create High-Resolution Mockups for Your App or Site with Promotee”