I were blown away when Apple announced XCode playgrounds at WWDC14, but were soon annoyed when I found that I had to create and save a new, or open an existing playground before I could start to, well, play. I love using playgrounds for molding functions and approaches quickly, instead of having to compile and run the XCode project you are working in to get any feedback. But I have not been using playgrounds as much as I could have because its not available with a single click of a button, and I am lazy.
So I went ahead and fixed this. My solution is two bash scripts. One for iOS playgrounds and one for OS X playgrounds. I have saved them as Automator programs to make them easily runable from Spotlight, Alfred or any other app launcher, but you can run the scripts from the commandline just as well.
A new playground is new readily available with a few keystrokes.
The bash scripts are available as gists here, and the Automator programs are available here.
When run, a playground will be created in
~/Playgrounds, named with the current UNIX timestamp, and it will be opened. It works quite well for now. In future versions of XCode I'd like to be able to open a playground and use it without having to commit it to disk. It should feature a way to go back in time and find previous playground data, but it should be handled by XCode, and I should only have to save the playground manually if I for some reason really want to eternalize its content.
I love playgrounds and I'd like to hear about other ways to manage and use them. Hit me up on Twitter or by email and lets talk!
Jared Sinclair writes about Swift, Objective-C and how Apple didn't target the
actual problems we have when developing Mac and iOS apps, and after being
skin-deep in Swift for months now, I certainly think he is right. It is a nice
It's a pleasure to be using highly randomized passwords consisting of
sequences of letters in varying case, numbers and symbols when
you have to input it on an Apple TV with the Apple Remote because there's no
iOS device nearby.
A great piece about why we as programmers should be using functional
programming. As a side note, keep in mind that functional and imperative
programming can co-exist. It doesn't have to be one or the other.
I have long been wanting to get into blogging.
I had debated with myself about posting to Medium. It had me in dire straits since the entry to posting is so low that I could start anytime, but I knew that I would want to host and own my content, especially if I kept at this blogging thing for a longer period.
Twelve days ago, I introduced this blog with my initial piece about the Battle for Net Neutrality event. The site is built with the amazing Middleman framework and I chiefly had a site up and running and two different post types set up. Normal posts, or articles, and link posts. A link post is a normal post that comments on some content elsewhere on the internet and provides a hyperlink to it. It's really a very popular way to set up a blog nowadays.
I was content with the arrangement until I read a piece about microblogging by Manton Reece. I was intrigued so I read through everything he had to say about the topic, and what everybody he linked to had to say.
Brent Simmons from inessential.com writes:
Among the things we both care about are the virtues of decentralization and of owning your own writing.
He then follows with:
Is the web we lost gone forever? Was it a brief golden age before the rise of Facebook and Twitter and The Algorithms of Engagement?
Or is the current period a brief blip in time, where we turned the wrong corner and now we’re getting back on the right road?
I used to think that the very structure of the web meant that it was always inevitable that we’d get back to the great web. I’m no longer that kind of progressive — I realize now that loss is real, and usually permanent, and that good things have to be fought for, not by a handful of heroes but by a bunch of regular people like me and Manton.
I have never been fond of Facebook, Twitter or any other social media site. I acknowledge the content and the relationships they have invited me in on, but I have never been a fan of the way they worked. Too closed, not based on open protocols. Besides, do you want your content to reside under another ownership than yours?
So I decided to make a few changes to this site so I could start microblogging right away.
I didn't want to loose the connectivity to whatever number of followers I might have on Twitter where I would usually, although not often, post this kind of content. The important thing is to own your content, but I see no problem in re-distributing it via Twitter. That way, people following me on Twitter would not miss out, and my content would still primarily reside on this site, with a copy going around elsewhere. The best of both worlds.
I have not set up any automation for this part, but one could. I'm not sure I ever will. It would probably turn out troublesome to craft a micropost of 200 words and a URL, into a 140 character tweet including the URL all done by an automated process. It's easily done manually, though.
I knew I didn't want to have all sorts of different types of posts on my blog. Two or three tops.
Having an article type and a link post type, I decided to cut the link post type and simply inline the link in the article at an apropriate position. For microposts, I saw two types.
- A micropost might consist of either text, an URL or an image, or all three.
- A micropost might be a hyperlink with the description being either text or an image.
That's it. I reckon it should cover all of my microblogging needs.
The key aspect of having different types of content intermingled is distinction. It shouldn't be confusing to the reader what's being presented.
In the design I came up with, I leaned against the familiarness of typical blog design and the layout of microposts at Twitter, with the focus on the content.
It should be clear that the top post is a micropost and the second one is an article.
As I mentioned earlier, I have two types of microposts; the one hyperlinking it's content and the one that don't. To make this visually apparent, I used the arrow that is often used in a link posts title, as seen on Marco.org among other places.
This is just design. I might change it up a bit. But there's one place where you really can't do anything but try to adhere as much to the conventions as possible. This is of course in the RSS feeds.
Most RSS readers expect a title, although it's not required by the specification.
So how do we deliver our microposts via RSS? The type of microposts that only contains content is no problem. We just leave the title tag out.
As you can see, my feed reader of choice Feedbin dynamically generates a title out of the content of the post. It works very well considering it's probably more of a fallback than design. But what about microposts where the content is hyperlinking to some other place on the internet?
I decided to simply print the URL as a clickable link underneath the content.
I debated setting the RSS items link to the URL, but that would be confusing since it wouldn't be apparant that it was linking to an external resource. It would also be different from articles and the content-only micropost. Therefore, all the microposts has the permalink to the post on my blog as the RSS items link instead of the hyperlink it in reality links to.
This is something that could be designed better if the RSS readers became aware of microposts.
I recognize that there are people who are not interested in receiving microposts via RSS, so I have created three RSS feeds. One that contains everything I post to my blog, one that only contains articles and one that only contains microposts.
The next step
It's probably not like this that microposts in RSS feeds are gonna be designed. But I think it works very well for for me now, until we find a conventional way that the feed reader developers will adopt.
I would like there to be a debate about this, preferably including said developers and anyone else interested.
I would be interested in hearing from anyone who has anything to add to the conversation. Post it on your blog and send me the link via email.
Let's figure this out!
A compelling side-by-side comparison of the iPhone 6 Plus vs. Samsung Galaxy
S5, by no other than The Onion.
I have worked from home for the past six months. Since my second son was born, really. I've been doing freelance work from home, from coffee shops in the area and, well, from home. My girlfriend has been on maternity leave until September 1st where she started in midwifery, and I have helped as much as possible with everything I could while doing freelance work.
But I have also co-founded a company.
I'm not going to get into details about the company. Not yet anyways. We're a couple of weeks away from launching our first product, and I am really excited about it, but it'll have to be a topic for another post. What I am gonna talk about, is taking over the role of my girlfriend in our little home with a baby boy and a big brother in kindergarden, while she is away in school four days aweek. As a stay-at-home dad, taking care of two kids while founding a company.
Getting rid of ones habits
It has always been important to me to have room to emerge myself in my work. To be able to keep focus when it's needed and not get interrupted. I once read that when you loose your focus, it takes up to fifteen minutes to get back in the zone. Interruptions are productivity killers!
Working while taking care of a baby, you have to deal with interruptions. A lot. I can work when he's sleeping. But there are days when he almost doesn't sleep, and on those days I still have to work. It has proven impossible for me to do anything but the most rudimentary tasks like attending to my inbox, administrative duties, or sketching, when he's awake, and I only really work when he's asleep. That means that I work during the late evening and early night most days instead, when everyone in the house is asleep.
But bad things are usually good for something, and breaking my habits has made me reflect upon how I work. What I need, and seek new ways to approach my work, life and living.
I have begun to use a lot less time in front of my computer when I work. I do a lot of sketching now. Designs, algorithms, anything can be put down on paper. It helps the creativity flow, and it breaks the pattern of sitting in front of a glooming screen. Changing my environment, getting out, observing things around me. I find that I can fix that bug I've been dealing with for the last couple of hours by just changing a diaber. It's true! It has worked for me at least on a single occation.
Accepting the scene
I'd say dealing with my habits has been a bigger challenge than I anticipated. But I'm a stay-at-home dad right now, and that's awesome, it really is. I have to cater my day to another human being on a full time basis right now. It's really not that bad.
I have always loved taking walks. Now I'm forced to go a couple of times a day! He's mostly sleeping when we walk, so I can use the time to think. Reflect over what's going on. Over work. It's one the things I'm determined to keep doing when things get back to normal.
Having to take breaks during the day, forced by him being awake and needing me, also seems to boost my productivity. I don't think it's because it's forced. I think I'm simply not designed to work seven to ten hours straight, with a couple of lunch breaks here and there, as it's custom for a lot of people to do. I seem to perform better, and it also makes the whole day easier, when I split my work across the whole day instead of focusing it in the middle of the day and keeping at it until the clock turns five.
I also think it removes the distinction of work being work. I just think of it as what I do now. Just as I spend time with my family and eat dinner as part of a typical day.
I look forward to the next couple of months. I look forward to growing even more by being around my baby son day in and day out. I look forward to lifting the vail on my company and the work I'm currently doing. I'm proud of it, and I'm looking forward to sharing it.
But for now I will simply pretend that I'm taking care of my son, while I secretly work on awesome stuff.
Apple published a nice site about how Apple cares about your privacy, from the security built into their devices, apps and services, to how they respond to government request about handing over personal device and/or account data.
It's a great, informative site, and I encourage anyone who's in doubt about Apple to give it a read. Everyone who's not should give it a look too, though. It's a nice looking site!
There's also a letter from Tim Cook explaining Apples intentions, view on personal privacy, and how they are different than the other guys:
Our business model is very straightforward: We sell great products. We don’t build a profile based on your email content or web browsing habits to sell to advertisers. We don’t “monetize” the information you store on your iPhone or in iCloud. And we don’t read your email or your messages to get information to market to you. Our software and services are designed to make our devices better. Plain and simple.
It's pretty clear what Apple are saying, pointing fingers at especially Google, and I don't blame them. Apple are obviously trying to appeal to current customers, as well as customers who are tired of being the selling product of Facebook, Google and whoever monetizes on personal data, and they have financial gains in sight if they get traction as a privacy knight, and although I'd like to think it's for the principle cause, it doesn't matter.
What matters is that as long as Apple focuses on improving my privacy, for financial or for principle reasons, my data stored on Apple devices and services, will be guarded by a multi-billion dollar company that is invested in improving the security around it, and that's why I choose to put my trust in Apple.
John Gruber of Daring Fireball has a great review of the new iPhone line-up.
The more pressing question for me is whether the iPhone 6, at 4.7 inches, is too big to serve as the standard-sized iPhone. “Too big” mainly pertains to two separate issues: one-handed usage and pocketability.
One-handed usage has been the rallying cry for me, and other fans of smaller phones, for years. So centered on it was I that it almost wholly informed my (clearly wrong) prediction that Apple would never make an iPhone bigger than 5 inches. But here’s the thing: one-handed usage isn’t everything. I needed to remind myself what I so often remind others: design is about trade-offs. No doubt about it, one-handed usability suffers greatly on the iPhone 6 compared to the iPhone 5 series — and the 4.0-inch iPhone 5 displays are themselves less one-hand-able than the classic 3.5-inch iPhone displays. But there are advantages to the larger display of the iPhone 6. I find myself typing much faster and more accurately. That’s a function of physical size, not any improvements to the keyboard in iOS 8, because I’ve been testing iOS 8 on my iPhone 5 all summer long.
In short: the increased size of the iPhone 6 makes it worse when using it one-handed. But it makes it better when using it two-handed.
I was afraid of a larger form-factor when the iPhone 5 was announced.
One more device to design for, and would it fit my pocket?
But Apple was right and I wouldn't go back. I love the extra screen estate!
It's the same this time, no doubt about it. I will love the iPhone 6, and
when I get one, I will not miss my 5S. But I think the
iPhone 6 Plus is too big for me. Lots of people will love it, and I get
the appeal of the bigger screen and maybe cutting the iPad Mini from their
daily carry. But I don't have large hands, or large pockets, and I'm sure I'll
be content with the 4.7-inch iPhone 6.
I already long for one. Oh, and a Plus, of course, for work!
From his open letter:
I love you. All of you. Thank you for turning Minecraft into what it has become, but there are too many of you, and I can’t be responsible for something this big. In one sense, it belongs to Microsoft now. In a much bigger sense, it’s belonged to all of you for a long time, and that will never change.
It’s not about the money. It’s about my sanity.
As someone who has been paying attention to what he has been doing besides
Minecraft, this doesn't come as a shocker.
It makes sense that my first post on this blog, on any blog, is about raising awareness for net neutrality. So here we go.
The Battle for Net Neutrality is an event that takes place tomorrow where we, the people, and companies including Reddit, Kickstarter, Foursquare, Netflix, Etsy, Namecheap and Vimeo, will show that we care about net neutrality, and that we are willing to stand up for it in order to protect it. We have done this before, last time was back in february with The Day We Fight Back, and we will keep doing it as long as it's neccessary.
Net neutrality is important because it's something that affects every user of the Internet, you included. Net netrality is about equality of data on the Internet, no matter website, user or organisation. It's about freedom of speech and about saying no to censorship.
Without net neutrality, the Internet will be run by governments, cable companies and who knows. The Internet will be allowed to be monitored and censored, and the door to abuse will be wide open. Abuse like slowing down your favorite sites like Netflix if they won't pay cable companies an abitrary tax, and unregulated surveillance.
It's not an Internet that I would like, and I will do everything in my power to see net neutrality win. I will be joining the fight tomorrow by adding a "loading modal" dialog to this site, which will be visible on your first visit tomorrow.
You can get more information on the Battle for Net Neutrality site where you too can get the code for your website and see other ways you can help.
Join the action, spread the word and let's save the Internet together!