<?xml version="1.0" encoding="UTF-8"?> <rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" ><channel><title>Jens Ahrengot Boddum</title> <atom:link href="http://ahrengot.com/feed/" rel="self" type="application/rss+xml" /><link>http://ahrengot.com</link> <description>Designer and developer – Available for freelance projects.</description> <lastBuildDate>Thu, 30 May 2013 21:03:37 +0000</lastBuildDate> <language>en-US</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.5.1</generator> <item><title>Web Design Workflow</title><link>http://ahrengot.com/web-development/the-modern-web-designers-workflow/</link> <comments>http://ahrengot.com/web-development/the-modern-web-designers-workflow/#comments</comments> <pubDate>Mon, 27 May 2013 17:34:15 +0000</pubDate> <dc:creator>Jens Ahrengot Boddum</dc:creator> <category><![CDATA[Web development]]></category> <category><![CDATA[CSS]]></category> <category><![CDATA[CSS-Tricks]]></category> <category><![CDATA[JavaScript]]></category> <category><![CDATA[Video]]></category> <category><![CDATA[Web design]]></category><guid isPermaLink="false">http://ahrengot.com/?p=2702</guid> <description><![CDATA[<div><img width="250" height="250" src="http://cdn.ahrengot.com/wp-content/uploads/html5.png" class="attachment-large wp-post-image" alt="HTML5 modern web design and development" /></div>Chris Coyier (CSS-Tricks.com) talks about best practices for modern web designers and developers. I share my own point of view along with them.]]></description> <content:encoded><![CDATA[<div><img width="250" height="250" src="http://cdn.ahrengot.com/wp-content/uploads/html5.png" class="attachment-large wp-post-image" alt="HTML5 modern web design and development" /></div><p><span class='embed-youtube' style='text-align:center; display: block;'><iframe class='youtube-player' type='text/html' width='530' height='329' src='http://www.youtube.com/embed/wLzaciMrmWU?version=3&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;wmode=transparent' frameborder='0'></iframe></span></p><blockquote><p> This is a presentation I gave at conferences in late 2012 and early 2013. In this screencast I give it one last time to you, o&#8217; CSS-Tricks subscriber.</p><p>It talks about many aspects of what it&#8217;s like to be a designer and front end developer these days. What it takes to start designing and the tools in use there. Why working locally is important. How hiring might happen if you need to do that. Using version control and preprocessors. Caring about performance and making that a part of your workflow. Cross browser testing. All that, and more!<br /> <cite><a href="http://css-tricks.com/video-screencasts/124-a-modern-web-designers-workflow/">CSS-Tricks</a></cite></p></blockquote><p>Chris Coyier of CSS-tricks.com talks about best practices for modern web designers and developers. Below are my thoughts and comments on his presentation, but I encourage you to check it out in its entirety. Chris shares a lot of good stuff here.</p><hr /><h2>Designing in Photoshop vs. the browser</h2><p><strong>00:01:30</strong> into the video: Like Chris says, it&#8217;s a good idea to get out of Photoshop and into the browser as quickly as possible. The browser is simply better for certain things, like working with font-sizes and typographical rhythm, because it&#8217;s faster to mess around with those things in the web inspector than it is changing 30 little text boxes in Photoshop. It&#8217;s also much easier to get an understanding of how your typography flows when your text lines get longer or more narrow, because the browser is resizable, whereas Photoshop is just fixed width. On top of that text just renders different in the browser than it does in Photoshop, so what you&#8217;re seeing in Photoshop isn&#8217;t what you&#8217;re getting at the end of the day.</p><p>However, for general design work, like shapes colors etc. I, like Chris, find Photoshop much better and easier to work with than CSS. I find myself spending time on silly floating issues etc. when I design purely in the browser/CSS.</p><h2>Wireframes</h2><p><strong>00:07:22</strong> into the video: Chris talks about how he doesn&#8217;t use wireframes because that exploratory &#8220;Moving stuff around&#8221; phase is happening in Photoshop for him.</p><p>I can&#8217;t imagine working this way. I did wireframes before I knew what they were … Back then I was just doing very basic, very quick sketches on paper. This process of laying out everything you need &#8211; and establishing a clear hierarchy &#8211; before you start to take things like colors, fonts and aesthetic style (Flat vs. 3d, rounded corners vs. square, illustrated vs. clean) into consideration, makes the whole process so much easier for me.</p><p>I find, that in Photoshop, it&#8217;s very easy to get caught up in picking the exact right font, nudging things around 1 pixel at a time or some other nitty gritty detail.</p><p>There&#8217;s certainly a time for that, but it&#8217;s important to make sure everything you need is one the page first and that there&#8217;s a clear call to action for your users. Wireframing takes care of that.</p><p>I also find it much easier, when working with clients, to stay on track if we have a wireframe to look back at, when we&#8217;re going over the final designs from Photoshop.</p><h2>Working with a team</h2><p><strong>00:32:15</strong> into the video: For me, project management is tricky and can easily consume a massive amount of (Often unbillable) time. Emails especially, because they are prone to a lot of back and forth, that take you out of your productive flow every time you have to take 5 or ten minutes to compose a reply.</p><p>Productivity books, like The 4 Hour Work Week, teaches you to shut down your mail app and focus on your work, then check your mail at the beginning and the end of the day (or week) instead.</p><p>This does help, but I find that when working with a team, I can&#8217;t just ignore my email throughout the day.</p><p>When Chris talks about the Scrum-like approach they use at Codepen, that workflow makes a lot of sense to me. It&#8217;s something I&#8217;d like to try on my next project, because it looks like the right balance between focused, productive work time, and planning / catching up / making sure we&#8217;re on the right track.</p><h2>Sublime Text</h2><p><strong>00:35:10</strong> into the video: Just a quick note to web design/dev folks out there: Like Chris, I (and the majority of people I know) use Sublime Text as the editor of Choice. I&#8217;ve been through most editors out there: Coda, NetBeans, Espresso, TextMate and VIM in the OS X Terminal … If you haven&#8217;t tried Sublime Text, definitely give it a chance to win you over. A good starting point would be <a href="https://tutsplus.com/course/improve-workflow-in-sublime-text-2/" target="_blank">this series on NetTuts+</a></p><h2>Preprocessors</h2><p><strong>00:40:56</strong> into the video: They are a huge time saver. If you aren&#8217;t using them, start today – And it doesn&#8217;t matter if you&#8217;re part of a team or working alone.</p><p>I recommend <a href="http://compass-style.org/" target="_blank">SASS with Compass</a> over LESS and <a href="http://coffeescript.org/" target="_blank">CoffeScript</a> over TypeScript.</p><p>… And if you just want to &#8220;try before you buy&#8221; (In this case buy means install stuff), Chris shows you how you can work with preprocessors directly on Codepen.io at <strong>00:58:12</strong> into the video.</p><h2>Performance</h2><p><strong>01:03:05</strong> into the video: On top of what Chris says about HTTP requests, compression and caching I&#8217;d recommend getting familiar with the developer tools in Chrome (Not just the CSS editor and inspector). When it comes to optimizing, they&#8217;re your most powerful tool. And that&#8217;s both in terms of server-side performance (Load time, caching, etc.) and client-side performance (CSS and JavaScript).</p><p>This free course on Code School will teach you all you need to know: <a href="http://www.codeschool.com/courses/discover-devtools" target="_blank">http://www.codeschool.com/courses/discover-devtools</a></p><h3>A note on concatenating JavaScript</h3><p>I used to do like Chris and use Codekit to concatenate my JavaScript. If you&#8217;re just one designer/developer this is okay I guess, but once you start working with other people, this requires that they use CodeKit as well, and since CodeKit is mac-only, this excludes everybody on Windows.</p><p>Instead I like to use Require.js. It&#8217;s a little trickier to learn because it&#8217;s not just for concatenation, but rather a full blown script loader. Require.js is cross platform and really forces you into the best-practise way of doing things.</p><p>While Require.js is best known as a script loader (Which means it&#8217;s a tool that loads JavaScript files on the fly as they&#8217;re needed), but it also has a build function that let&#8217;s you concatenate your JavaScript and CSS with lots and lots of options on how it should go about that optimization.</p><p>To get started with Require.js, I recommend <a href="https://tutsplus.com/tutorial/next-generation-javascript-with-amd-and-requirejs/" target="_blank">this course</a></p><h2>Final Thoughts</h2><p>Chris points out a lot of good tips and best practices throughout this video, and I highly recommend you take the time to watch it in its entirety.</p><p>A few months back, Chris put up a huge video series documenting his redesign of css-tricks.com. css-tricks.com is a WordPress-based website, so if you&#8217;re wanting to learn WordPress this will not only teach you a bunch of front-end stuff, but also how you make a complete WordPress site from scratch.</p><p>Check out the course here: <a href="http://css-tricks.com/lodge/v10/table-of-contents/" target="_blank">http://css-tricks.com/lodge/v10/table-of-contents/</a></p><h2>Brackets.io</h2><p>Brackets is an open source editor that Adobe is working on. It&#8217;s still early in it&#8217;s development process, but it has some very cool and innovative features. See a overview of it in this video:</p><p><a href="http://youtu.be/HZkrlX7jJcg" target="_blank">http://youtu.be/HZkrlX7jJcg</a></p> ]]></content:encoded> <wfw:commentRss>http://ahrengot.com/web-development/the-modern-web-designers-workflow/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Flipboard 2.0</title><link>http://ahrengot.com/likes/flipboard-2-0/</link> <comments>http://ahrengot.com/likes/flipboard-2-0/#comments</comments> <pubDate>Fri, 29 Mar 2013 14:28:06 +0000</pubDate> <dc:creator>Jens Ahrengot Boddum</dc:creator> <category><![CDATA[Things I like]]></category> <category><![CDATA[iPad]]></category> <category><![CDATA[iPhone]]></category> <category><![CDATA[Lifestyle]]></category> <category><![CDATA[Smart phone app]]></category><guid isPermaLink="false">http://ahrengot.com/?p=2691</guid> <description><![CDATA[<div><img width="275" height="275" src="http://cdn.ahrengot.com/wp-content/uploads/flipboard-logo.jpg" class="attachment-large wp-post-image" alt="Flipboard Logo" /></div>With version 2.0, Flipboard introduces personal magazines that looks fantastic!]]></description> <content:encoded><![CDATA[<div><img width="275" height="275" src="http://cdn.ahrengot.com/wp-content/uploads/flipboard-logo.jpg" class="attachment-large wp-post-image" alt="Flipboard Logo" /></div><iframe width="530" height="298" src="http://www.youtube.com/embed/I9dv5QVs2_c" frameborder="0" scrolling="no" class="iframe-class"></iframe> About 1 year ago I put aside Flipboard, in favor of the <a title="Zite – Personalized Magazine" href="http://ahrengot.com/likes/zite-personalized-news-on-your-ipad/" target="_blank">Zite</a>, which isn&#8217;t feed-based, but instead tries to figure out what topics you like and aggregate articles for you based on that. It does a really good job of that, but I miss Flipboard&#8217;s beautiful user interface.</p><h2>New, personal magazines</h2><p><a title="Flipboard 2.0" href="http://flipboard.com/" target="_blank">Flipboard 2.0</a> to the rescue (Maybe.. I&#8217;ll have to play around with this a little longer before I fully switch back) with <strong>personal magazines</strong>. The idea is, that users put together magazines, based on content from all the sources they read. Magazines can be public so I could subscribe to magazines from web developers, designers, chefs, psychologists, architects and have most of my interests covered.</p><p>The next time I open Flipboard I&#8217;ll have all new content, from not only my own news feed, but the news feeds of those I follow. Wrapped in a design almost as rich as that in real art directed magazines like Wired &#8230; Completely free of charge.</p><p>Man, I love The Internet!</p><h2></h2> ]]></content:encoded> <wfw:commentRss>http://ahrengot.com/likes/flipboard-2-0/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>My SASS breakpoint mixin</title><link>http://ahrengot.com/web-development/sass-breakpoint-mixin/</link> <comments>http://ahrengot.com/web-development/sass-breakpoint-mixin/#comments</comments> <pubDate>Thu, 28 Mar 2013 16:34:50 +0000</pubDate> <dc:creator>Jens Ahrengot Boddum</dc:creator> <category><![CDATA[Web development]]></category> <category><![CDATA[CSS]]></category> <category><![CDATA[CSS-Tricks]]></category> <category><![CDATA[Responsive design]]></category> <category><![CDATA[SASS]]></category><guid isPermaLink="false">http://ahrengot.com/?p=2674</guid> <description><![CDATA[<div><img width="528" height="320" src="http://cdn.ahrengot.com/wp-content/uploads/responsive-design.png" class="attachment-large wp-post-image" alt="illustration of responsive design for Skive Festival website" /></div>SASS has made working with Media Queries much easier on us, but it took me a while to come up with the optimal breakpoint mixin – Here it is!]]></description> <content:encoded><![CDATA[<div><img width="528" height="320" src="http://cdn.ahrengot.com/wp-content/uploads/responsive-design.png" class="attachment-large wp-post-image" alt="illustration of responsive design for Skive Festival website" /></div><h2>The perfect mixin for SASS Media Queries</h2><p>SASS has made working with Media Queries much easier on us, but it took me a while to come up with the optimal breakpoint mixin. I think I&#8217;ve finally got it, so allow me to explain how it works.</p><p>Basically it gives you 3 options for applying width-specific styles.</p><h3>Option 1: Device oriented styles</h3><p>This is the most popular use for media queries; changing the layout based on your users device. It&#8217;s really easy to do:</p><pre><code class="language-scss">
div {
	width: 95%;
	margin: 2em auto;

	@include breakpoint(tablet) {
		width: 80%;
	}
}
</code></pre><p>My mixin is built on the mobile first approach, which means your base styles are targeted at mobile devices and you add conditional styling as the screen size grows.</p><p>There are numerous reasons why mobile first is the best way to go. To learn more about it check out <a href="http://ahrengot.com/web-development/enhancements-through-responsive-design/" title="Jeremy Keith on Responsive Design">Jeremy Keith&#8217;s talk on Responsive Design</a>.</p><h3>Option 2: The Ninja method</h3><p>Sometimes you need to do something at a very specific screen size. One example of this is how Github rotates the Public/Private badge when you reach a certain browser size to make sure it fits nicely on your screen. Very neat trick.<br /><div id="attachment_2676" class="wp-caption alignnone" style="width: 540px"><a href="https://github.com/Ahrengot/sass-dropshadows"><img src="http://cdn.ahrengot.com/wp-content/uploads/github-media-query.jpg" alt="Github Media Query" width="530" height="300" class="size-full wp-image-2676" /></a><p class="wp-caption-text">Github rotates the Public/Private badge on small screens</p></div><p>To achieve this using my mixin pass along <code>min-width</code> or <code>max-width</code> and the pixel/em value you want the styles applied at</p><pre><code class="language-scss">
div {
	background: blue;

	@include breakpoint(min-width, 1192px) {
		background: red;
	}
}
</code></pre><h3>Option 3: Do stuff between breakpoints</h3><p>Another common task is styling applied only between two breakpoints. For instance, you might want to enlarge some UI components for mobile and tablet devices only, making them easier to use with a finger. Here&#8217;s how you could do that.</p><pre><code class="language-scss">
.btn {
	font-size: 1em;
	background: #a9a9a9;
	border-radius: .15em;

	@include between-breakpoints(0, 1024px) {
		font-size: 1.3em;
	}
}
</code></pre><h2>My SASS mixin code</h2><p>It&#8217;s all really basic stuff, but I find myself relying more and more on this throughout my projects. If you want to go desktop first, just change all the min-width&#8217;s to max-width.</p><pre><code class="language-scss">
@mixin breakpoint($point, $value: 0) {
	@if $point == mobile {
		@media (min-width: 320px) { @content; }
	}

	@else if $point == mobile-horizontal {
		@media (min-width: 480px) { @content; }
	}

	@else if $point == tablet {
		@media (min-width: 768px) { @content; }
	}

	@else if $point == tablet-horizontal {
		@media (min-width: 1024px) { @content; }
	}
	
	@else if $point == desktop {
		@media (min-width: 1280px) { @content; }
	}

	@else if $point == desktop-wide {
		@media (min-width: 1500px) { @content; }
	}

	@else {
		@media ($point: $value) { @content; }
	}
}

@mixin between-breakpoints($min, $max) {
	@media (min-width: $min) and (max-width: $max) {
		@content;
	}
}
</code></pre>]]></content:encoded> <wfw:commentRss>http://ahrengot.com/web-development/sass-breakpoint-mixin/feed/</wfw:commentRss> <slash:comments>3</slash:comments> </item> <item><title>This is how to do a Teaser Site</title><link>http://ahrengot.com/likes/battlefield-4-teaser-site/</link> <comments>http://ahrengot.com/likes/battlefield-4-teaser-site/#comments</comments> <pubDate>Thu, 21 Mar 2013 12:37:54 +0000</pubDate> <dc:creator>Jens Ahrengot Boddum</dc:creator> <category><![CDATA[Things I like]]></category> <category><![CDATA[Advertising]]></category> <category><![CDATA[Creativity]]></category> <category><![CDATA[Web design]]></category><guid isPermaLink="false">http://ahrengot.com/?p=2661</guid> <description><![CDATA[<div><img width="250" height="250" src="http://cdn.ahrengot.com/wp-content/uploads/Battlefield-4-teaser.jpg" class="attachment-large wp-post-image" alt="Battlefield 4 teaser site" /></div>Check out this sweet visual effect Battlefield 4 uses to let the user peek, just very slightly, behind the covers of their new game.]]></description> <content:encoded><![CDATA[<div><img width="250" height="250" src="http://cdn.ahrengot.com/wp-content/uploads/Battlefield-4-teaser.jpg" class="attachment-large wp-post-image" alt="Battlefield 4 teaser site" /></div><figure class="media video"><video class="a-player"  poster="http://cdn.ahrengot.com/wp-content/uploads/teaser-posterframe.jpg" width="530" height="316" autoplay="autoplay" controls="1" preload="preload"> <source src="http://cdn.ahrengot.com/wp-content/uploads/teaser.webm" type="video/webm"> <source src="http://cdn.ahrengot.com/wp-content/uploads/teaser.mp4" type="video/mp4"> </video></figure><h2>Battlefield 4 teaser</h2><p>This is such a simple but powerful visual effect — Great idea and very well executed. I decided to capture a video of it, because it probably won&#8217;t be up after March 27th, but if you read this before that date, swing by <a title="Battlefield 4 teaser site" href="http://www.battlefield.com/battlefield-4" target="_blank">http://www.battlefield.com/battlefield-4</a> and check it out.</p> ]]></content:encoded> <wfw:commentRss>http://ahrengot.com/likes/battlefield-4-teaser-site/feed/</wfw:commentRss> <slash:comments>0</slash:comments> <enclosure url="http://cdn.ahrengot.com/wp-content/uploads/teaser.webm" length="1041024" type="application/wordperfect" /> <enclosure url="http://cdn.ahrengot.com/wp-content/uploads/teaser.mp4" length="514997" type="video/mp4" /> </item> <item><title>UX is not a standalone job</title><link>http://ahrengot.com/likes/daniel-eden-ux-is-not-a-standalone-job/</link> <comments>http://ahrengot.com/likes/daniel-eden-ux-is-not-a-standalone-job/#comments</comments> <pubDate>Thu, 21 Mar 2013 11:41:42 +0000</pubDate> <dc:creator>Jens Ahrengot Boddum</dc:creator> <category><![CDATA[Things I like]]></category> <category><![CDATA[Blogging]]></category> <category><![CDATA[Web design]]></category><guid isPermaLink="false">http://ahrengot.com/?p=2655</guid> <description><![CDATA[<div><img width="530" height="381" src="http://cdn.ahrengot.com/wp-content/uploads/Manual-windshield-wipers-530x381.jpg" class="attachment-large wp-post-image" alt="Manual windshield wipers" /></div> Daniel Eden posted a great article on the term User Experience design. I think you should read it.]]></description> <content:encoded><![CDATA[<div><img width="530" height="381" src="http://cdn.ahrengot.com/wp-content/uploads/Manual-windshield-wipers-530x381.jpg" class="attachment-large wp-post-image" alt="Manual windshield wipers" /></div><blockquote><p>“User Experience Designer”. I’ve had a bit of trouble wrapping my head around what it is a UX Designer <em>actually does</em> for some time now, and I keep coming back to the same conclusion; a User Experience Designer doesn’t do anything special. They’re just a designer.</p><p>Before I begin insulting those of you who bear this title, let’s think about design. You see, a great designer is perfectly comfortable in any medium. A great designer can design a spoon with as much ease as they can a website, or a poster. It’s the measure by which I test my own abilities, and I think it’s an accurate one. I see designers such as Dieter Rams, Bruno Munari, and Josef Müller-Brockmann as perfectly capable beyond their specialism. Their principles and practices go way beyond any one medium, and extend to all areas of design.<br /> <cite><a href="http://daneden.me/2013/03/ux-is-not-a-standalone-job/" target="_blank">Daniel Eden</a><br /> </cite></p></blockquote><h2>User Experience design is just &#8230; design</h2><p>This morning Daniel Eden posted a great article on the term User Experience design. The web industry has a funny tendency to make up a gazillion titles for all possible roles someone could have in the creation of a website and Daniel hits the nail right on it&#8217;s head with this one.</p><h3>Here&#8217;s my comment on his post</h3><p><span style="color: #808080;"><em>That&#8217;s spot on, Daniel!</em></span></p><p><span style="color: #808080;"><em>Same goes for usability and information architects — It&#8217;s all designer jobs.</em></span></p><p><span style="color: #808080;"><em>It&#8217;s great that some people wan to specialize in a certain area and call themselves UX or IA people. I could see myself doing that, but in the end we are still designers. And a designer cannot ignore either UX, IA or usability. As you say, it&#8217;s woven together as part of the same fabric.</em></span></p><p><span style="color: #808080;"><em>Great post!</em></span></p> ]]></content:encoded> <wfw:commentRss>http://ahrengot.com/likes/daniel-eden-ux-is-not-a-standalone-job/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>The Github Generation</title><link>http://ahrengot.com/opinions/the-github-generation/</link> <comments>http://ahrengot.com/opinions/the-github-generation/#comments</comments> <pubDate>Tue, 12 Mar 2013 17:46:27 +0000</pubDate> <dc:creator>Jens Ahrengot Boddum</dc:creator> <category><![CDATA[My opinions]]></category> <category><![CDATA[Open source]]></category><guid isPermaLink="false">http://ahrengot.com/?p=2623</guid> <description><![CDATA[<div><img width="512" height="512" src="http://cdn.ahrengot.com/wp-content/uploads/github-logo-transparent.png" class="attachment-large wp-post-image" alt="GitHub Logo" /></div>Mikael Rogers talks about the concept of Open Source, and how it's changing radically with the introduction of Github.]]></description> <content:encoded><![CDATA[<div><img width="512" height="512" src="http://cdn.ahrengot.com/wp-content/uploads/github-logo-transparent.png" class="attachment-large wp-post-image" alt="GitHub Logo" /></div><p style="text-align: center;"><img class="aligncenter size-full wp-image-2626 animated flipInY" alt="GitHub Logo" src="http://cdn.ahrengot.com/wp-content/uploads/github-logo-transparent.png" width="256" height="256" style="-webkit-animation-delay: 1.5s; animation-delay: 1.5s;" /></p><blockquote><p>GitHub was intended to be an open software collaboration platform, but it’s become a platform for much, much more than code. It’s now being used by artists, builders, home owners, everyone in between, entire companies … and cities.<br /> <cite><a href="http://www.wired.com/opinion/2013/03/github/" target="_blank">Wired.com</a><br /> </cite></p></blockquote><p>Mikael Rogers talks about the concept of Open Source, and how it&#8217;s changing radically with the introduction of Github. He compares the new standards with what happened to the publishing industry after The Internet became main stream.</p><blockquote><p>Someone even <a href="https://github.com/bundestag/gesetze">published</a> all of the laws in Germany on GitHub last year. (Perhaps not so surprisingly, he has about 17 open “pull” requests for changes.)</p></blockquote><h2>Open source is becoming accessible to regular people</h2><p>Where open source used to mean operating systems and other overwhelming software projects, people are starting to think more and more of small jQuery plugins or Kickstarter projects like <a title="Window Farms" href="http://www.windowfarms.com/" target="_blank">window farms</a>.</p><p>The change is primarily happening at the sub conscious level. Open Source used to be for the top 0.5% in fields like software engineering or science. Today it&#8217;s much more accessible, because regular people are getting more connected and have much better tools for collaborating. GitHub being the most popular yet.</p><p>It seems obvious that crowd sourcing of funding goes hand in hand with the open source mindset. You come up with an idea that you need some help to realise financially. Then you invite those same people to collaborate with you, reshaping the idea into something even better than square one.</p><p>The best projects are run this way. People, from all over the world, with vastly different backgrounds and skill sets, passionate about solving the same problem, work together to make it happen.</p><p>I&#8217;m extremely excited to live in this era where ideas are truly democratized. It&#8217;s something no one before us has been able to do at this level.</p> ]]></content:encoded> <wfw:commentRss>http://ahrengot.com/opinions/the-github-generation/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>CSS shadows without images</title><link>http://ahrengot.com/web-development/css-shadows-without-images/</link> <comments>http://ahrengot.com/web-development/css-shadows-without-images/#comments</comments> <pubDate>Mon, 11 Mar 2013 12:54:48 +0000</pubDate> <dc:creator>Jens Ahrengot Boddum</dc:creator> <category><![CDATA[Web development]]></category> <category><![CDATA[CSS]]></category> <category><![CDATA[Open source]]></category> <category><![CDATA[Web design]]></category><guid isPermaLink="false">http://ahrengot.com/?p=2596</guid> <description><![CDATA[<div><img width="412" height="233" src="http://cdn.ahrengot.com/wp-content/uploads/shadow.png" class="attachment-large wp-post-image" alt="Pure CSS shadows" /></div>A pure SASS/CSS solution that replaces the annoying and painful process of creating image-based shadows.]]></description> <content:encoded><![CDATA[<div><img width="412" height="233" src="http://cdn.ahrengot.com/wp-content/uploads/shadow.png" class="attachment-large wp-post-image" alt="Pure CSS shadows" /></div><div class="shadow bling-bling" style="width: 80%; height: 80px;"><h3 style="margin-top: 0.9em;"><strong>This is a pure CSS drop shadow</strong></h3><p class="animated fadeInDown" style="color: #888;"><em>&ndash; using 0 images</em></p></div><h2>The problem with image-based shadows</h2><p>I cannot tell you how many times I&#8217;ve had to, manually, extract bits and pieces of shadows from a Photoshop file, save them as transparent .png&#8217;s and hook up <code>:before</code> and <code>:after</code> pseudo elements to create that rich depth and flavor they can add to a design. It&#8217;s such a boring, repetitive task where the result can&#8217;t even be reused because the shadows always change a tiny bit from project to project.</p><h2>Say Hello to rich (pure CSS) shadows!</h2><p>Inspired by, and based on, <a title="CSS Drop Shadows" href="http://nicolasgallagher.com/css-drop-shadows-without-images/" target="_blank">this post</a> by Nicholas Gallagher I&#8217;ve created a bunch of SASS mixins that couldn&#8217;t make this annoying and painful process any easier. Let&#8217;s say you have a good old div: <code class="language-markup">&lt;div>&lt;/div></code> All you need to do is:</p><pre><code class="language-scss">
div {
	@include shadow();
}
</code></pre><p>and you will get:</p><div class="shadow"><p>Hi! I have a normal shadow</p></div><p>To create any of the 10 other shadow variations, like this curved one, simply add the shadow name as a parameter to the mixin.</p><pre><code class="language-scss">
div {
	@include shadow('curved-bottom');
}
</code></pre><p>will render:</p><div class="shadow curved-bottom"><p>Yo! I have a curved shadow</p></div><p>If you don&#8217;t use SASS yet (Then start doing it), you can just add the provided CSS classes to your elements, which will give you the exact same thing:</p><pre><code class="language-markup">
	&lt;div class="shadow curved">&lt;/div>
</code></pre><div class="shadow curved-vertical"><p>Cheers! Mine is also curved &ndash; but vertically</p><p><em>- Added using a CSS class</em></p></div><h2>Download and examples</h2><h3>Examples (10 different shadow types):</h3><p><a href="http://ahrengot.github.com/sass-dropshadows/" target="_blank">http://ahrengot.github.com/sass-dropshadows/</a></p><h3>Download the project at Github:</h3><p><a href="https://github.com/Ahrengot/sass-dropshadows" target="_blank">https://github.com/Ahrengot/sass-dropshadows</a></p><p style="text-align: center;"><em>Feel free to send me a pull request with more shadow types added.</em></p> ]]></content:encoded> <wfw:commentRss>http://ahrengot.com/web-development/css-shadows-without-images/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>Josh Brewer on Responsive Design</title><link>http://ahrengot.com/web-development/josh-brewer-on-responsive-design/</link> <comments>http://ahrengot.com/web-development/josh-brewer-on-responsive-design/#comments</comments> <pubDate>Tue, 19 Feb 2013 18:07:40 +0000</pubDate> <dc:creator>Jens Ahrengot Boddum</dc:creator> <category><![CDATA[Web development]]></category> <category><![CDATA[jQuery plugin]]></category> <category><![CDATA[Responsive design]]></category> <category><![CDATA[Web design]]></category><guid isPermaLink="false">http://ahrengot.com/?p=2582</guid> <description><![CDATA[<div><img width="530" height="298" src="http://cdn.ahrengot.com/wp-content/uploads/Josh-Brewer-Responsive-design-530x298.jpg" class="attachment-large wp-post-image" alt="Josh Brewer on Responsive design, content reflowing and responsive meassures" /></div>Josh Brewer attempts to deprogram our approach to Web design for the last 15 years while he talks about "responsive measures" and content reflowing. At the very end he also shares his own jQuery plugin that automates this process.]]></description> <content:encoded><![CDATA[<div><img width="530" height="298" src="http://cdn.ahrengot.com/wp-content/uploads/Josh-Brewer-Responsive-design-530x298.jpg" class="attachment-large wp-post-image" alt="Josh Brewer on Responsive design, content reflowing and responsive meassures" /></div><iframe src="http://player.vimeo.com/video/57733039?title=0&amp;byline=0&amp;portrait=0&amp;color=db1010" width="530" height="298" frameborder="0" 1="mozallowfullscreen" 2="allowFullScreen" scrolling="no" class="iframe-class"></iframe><blockquote><p> The talk is an attempt to deprogram our approach to Web design for the last 15 years by taking a look at the history of graphic design (type, grids, etc) and how it has shaped our thinking (positively &#038; negatively). The presentation discusses new approaches to designing responsively and what we can learn from the past.<br /> <cite>Smashing Conference</cite></p></blockquote><p>Following up on my other post, <a href="http://ahrengot.com/web-development/enhancements-through-responsive-design/" title="Jeremy Keith on Responsive Design" target="_blank">Jeremy Keith on Responsive Design</a>, this is a talk from Smashing conference. Here Josh Brewer goes into detail about the scaling and reflowing content so it&#8217;s optimized for the reader, no matter his screen resolution.</p><p>Contrary to Jeremy Keith, Josh goes into the actual how of putting a design like that together. Finally he shares a sort of <a href="http://jbrewer.github.com/Responsive-Measure/" title="Responsive Measure - jQuery plugin" target="_blank">secret formula for creating responsive measures</a>.</p> ]]></content:encoded> <wfw:commentRss>http://ahrengot.com/web-development/josh-brewer-on-responsive-design/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>WP Project Manager</title><link>http://ahrengot.com/web-development/wordpress-project-manager/</link> <comments>http://ahrengot.com/web-development/wordpress-project-manager/#comments</comments> <pubDate>Sun, 03 Feb 2013 14:01:09 +0000</pubDate> <dc:creator>Jens Ahrengot Boddum</dc:creator> <category><![CDATA[Web development]]></category> <category><![CDATA[WordPress]]></category> <category><![CDATA[WordPress Plugin]]></category><guid isPermaLink="false">http://ahrengot.com/?p=2556</guid> <description><![CDATA[<div><img width="328" height="500" src="http://cdn.ahrengot.com/wp-content/uploads/Colored-Pencils.jpg" class="attachment-large wp-post-image" alt="Coloring Pencils" /></div>This free Basecamp-inspired project management tool lives inside your WordPress admin. It's a very well put-together plugin that relies on the UI from Twitter Bootstrap which is instantly recognizable and highly usable.]]></description> <content:encoded><![CDATA[<div><img width="328" height="500" src="http://cdn.ahrengot.com/wp-content/uploads/Colored-Pencils.jpg" class="attachment-large wp-post-image" alt="Coloring Pencils" /></div><iframe width="530" height="298" src="http://www.youtube.com/embed/tETwpwjSA4Q" frameborder="0" scrolling="no" class="iframe-class"></iframe><h2>A free Basecamp-like project management tool for WordPress</h2><p><a href="http://wordpress.org/extend/plugins/wedevs-project-manager/" title="WP Project Manager plugin for WordPress" target="_blank">WP Project Manager</a> is a free Basecamp-inspired project management tool that lives inside your WordPress admin. It&#8217;s a very well put-together plugin that relies on the UI from Twitter Bootstrap which is instantly recognizable and highly usable.</p><p>Between Basecamp&#8217;s $20/month price tag and the fact that WP Project Manager lives inside your pre-existing admin interface, leaving you with one login and one consistent UI, it&#8217;s easily worth the effort of at least trying it out.</p><h3>Screenshots</h3><div id="attachment_2564" class="wp-caption alignnone" style="width: 540px"><img src="http://cdn.ahrengot.com/wp-content/uploads/WP-Project-Manager-1-530x217.png" alt="WP Project Manager Project Dashboard" width="530" height="217" class="size-large wp-image-2564" /><p class="wp-caption-text">Project Dashboard</p></div><div id="attachment_2565" class="wp-caption alignnone" style="width: 540px"><img src="http://cdn.ahrengot.com/wp-content/uploads/WP-Project-Manager-2-530x203.png" alt="WP Project Manager Activity log" width="530" height="203" class="size-large wp-image-2565" /><p class="wp-caption-text">Activity log</p></div><div id="attachment_2566" class="wp-caption alignnone" style="width: 540px"><img src="http://cdn.ahrengot.com/wp-content/uploads/WP-Project-Manager-3-530x231.png" alt="WP Project Manager Creating To-Do&#039;s" width="530" height="231" class="size-large wp-image-2566" /><p class="wp-caption-text">Creating To-Do&#8217;s</p></div><div id="attachment_2567" class="wp-caption alignnone" style="width: 540px"><img src="http://cdn.ahrengot.com/wp-content/uploads/WP-Project-Manager-4-530x328.png" alt="WP Project Manager Message threads" width="530" height="328" class="size-large wp-image-2567" /><p class="wp-caption-text">Message threads</p></div><h2>WP Project Manager features</h2><p><strong>Projects</strong></p><ul><li>Create a new project</li><li>Set title and details of that project</li><li>Assign users for that project</li></ul><p><strong>Messages</strong></p><ul><li>Messages are used for discussing about the project with co-workers of that project</li><li>You can add attachments on messages</li><li>Comments can be made for discussion</li></ul><p><strong>To-do List</strong></p><ul><li>Add as many to-do list as you want with title and description</li><li>Add tasks, assign users, assign due date</li><li>See progressbar on the list</li><li>Add comments on individual to-do lists and to-do&#8217;s</li><li>Mark to-do as complete/incomplete</li></ul><p><strong>Milestone</strong></p><ul><li>Create milestone</li><li>Assign messages and to-do list on milestone</li><li>3 types of milestones are there, a) upcoming, b) completed and c) late mi<br /> lstone</li></ul><p><strong>Files</strong></p><ul><li>See all the uploaded files on messages and comments in one place and navigate to invidual attached threads.</li></ul><p>You can download WP Project Manager here: <a href="http://wordpress.org/extend/plugins/wedevs-project-manager/" title="WP Project Manager on the WordPress Plugin Directory" target="_blank">http://wordpress.org/extend/plugins/wedevs-project-manager/</a></p> ]]></content:encoded> <wfw:commentRss>http://ahrengot.com/web-development/wordpress-project-manager/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>Jeremy Keith on Responsive Design</title><link>http://ahrengot.com/web-development/enhancements-through-responsive-design/</link> <comments>http://ahrengot.com/web-development/enhancements-through-responsive-design/#comments</comments> <pubDate>Wed, 30 Jan 2013 15:17:44 +0000</pubDate> <dc:creator>Jens Ahrengot Boddum</dc:creator> <category><![CDATA[Web development]]></category> <category><![CDATA[HTML5]]></category> <category><![CDATA[Responsive design]]></category> <category><![CDATA[Video]]></category><guid isPermaLink="false">http://ahrengot.com/?p=2541</guid> <description><![CDATA[<div><img width="530" height="396" src="http://cdn.ahrengot.com/wp-content/uploads/Jeremy-Keith-on-Responsive-Design.jpg" class="attachment-large wp-post-image" alt="Jeremy Keith on Responsive Design" /></div>This video talks about how the web is inherently responsive, accessible and fast and how we as designers, and developers, tend to break it.]]></description> <content:encoded><![CDATA[<div><img width="530" height="396" src="http://cdn.ahrengot.com/wp-content/uploads/Jeremy-Keith-on-Responsive-Design.jpg" class="attachment-large wp-post-image" alt="Jeremy Keith on Responsive Design" /></div><p><a href="http://vimeo.com/50745034" target="_blank" title="Watch the video on Vimeo"><img src="http://cdn.ahrengot.com/wp-content/uploads/Jeremy-Keith-on-Responsive-Design.jpg" alt="Jeremy Keith on Responsive Design" width="530" height="396" class="alignnone size-full wp-image-2549" /></a></p><blockquote><p> And one of the things, and this is going to be kind of hard to accept, is learning to give up this idea, this illusions, of control … And it was an illusion. It&#8217;s not like we had control for the last 10 years and are now giving it up. We agreed that there was a set size. A set bandwidth. A set of capabilities in the browser, but it was never there … What we&#8217;re doing now, is accepting that we have no control.<br /> <cite><a href="https://twitter.com/adactio" title="Jeremy Keith" target="_blank">Jeremy Keith</a></cite></p></blockquote><p>This video won&#8217;t teach you how to do media queries in CSS3 or how to feature detect using Modernizr.</p><p>This video is about the why of responsive design. How the web is inherently responsive, accessible and fast and how we as designers, and developers, break it by forcing it to fit in fixed width containers and taking on presumptions about the user and their device capabilities.</p><p>Jeremy suggest we design for mobile first and then add content and reflow the layout as more pixels become available. Rather than starting with a desktop-sized website and try to rework it for a 3.5&#8243; phone.</p><p>There is a lot of talk about responsive design these years, but this video is one of the best ones I&#8217;ve seen on the topic thus far.</p> ]]></content:encoded> <wfw:commentRss>http://ahrengot.com/web-development/enhancements-through-responsive-design/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>template controller for _.js</title><link>http://ahrengot.com/web-development/template-controller-for-underscore-js/</link> <comments>http://ahrengot.com/web-development/template-controller-for-underscore-js/#comments</comments> <pubDate>Wed, 30 Jan 2013 12:48:48 +0000</pubDate> <dc:creator>Jens Ahrengot Boddum</dc:creator> <category><![CDATA[Web development]]></category> <category><![CDATA[Backbone.js]]></category> <category><![CDATA[JavaScript]]></category> <category><![CDATA[Underscore.js]]></category><guid isPermaLink="false">http://ahrengot.com/?p=2530</guid> <description><![CDATA[<div><img width="512" height="512" src="http://cdn.ahrengot.com/wp-content/uploads/JavaScript-templates.jpg" class="attachment-large wp-post-image" alt="Template Controller for JavaScript Templates" /></div>I built this extremely light weight controller for maintaining JavaScript templates inside my applications.]]></description> <content:encoded><![CDATA[<div><img width="512" height="512" src="http://cdn.ahrengot.com/wp-content/uploads/JavaScript-templates.jpg" class="attachment-large wp-post-image" alt="Template Controller for JavaScript Templates" /></div><p>I find myself using template engines in JavaScript more and more these days, so I built this extremely light weight controller for adding, caching and retrieving JavaScript templates inside my applications.</p><pre class="language-javascript"><code>
/**
 * TEMPLATE CONTROLLER
 * Eases the use of templates by storing the cached HTML templates on a single object.
 */
 var TemplateController = function() {
	this.templates = {};

	this.addTemplate = function(id) {
		this.templates[id] = $('#template-' + id).html();
	};

	this.getTemplate = function(id) {
		return this.templates[id];
	};
 };
</code></pre><h2>Example usage</h2><pre class="language-markup"><code>
	&lt;script type="text/template" id="template-example">
		&lt;div>Hello, &lt;%= name %>!&lt;/div>
	&lt;/script>
</code></pre><pre class="language-javascript"><code>
	// Create new instance of TemplateController and add templates
	app.templates = new TemplateController();
	app.templates.addTemplate('example');

	// Example Backbone.js code
	var MyView = Backbone.View.extend({
		initialize: function() {
			this.template = _.template(app.templates.getTemplate('example'));
		},
		render: function() {
			this.$el.html(this.template({name: 'Jens'}));
			return this;
		}
	});

	var view = new MyView();
	$('body').append(view.render().el);
</code></pre><h3>Result</h3><pre class="language-markup"><code>
	&lt;div>Hello, Jens!&lt;/div>
</code></pre><p>Though this example is based on _.js and Backbone, it works just as well for other template engines like Handlebars or Mustache</p> ]]></content:encoded> <wfw:commentRss>http://ahrengot.com/web-development/template-controller-for-underscore-js/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Speak to your inputs</title><link>http://ahrengot.com/tutorials/speak-to-your-inputs/</link> <comments>http://ahrengot.com/tutorials/speak-to-your-inputs/#comments</comments> <pubDate>Fri, 25 Jan 2013 13:27:08 +0000</pubDate> <dc:creator>Jens Ahrengot Boddum</dc:creator> <category><![CDATA[Tutorials and guides]]></category> <category><![CDATA[Github]]></category> <category><![CDATA[Google Chrome]]></category> <category><![CDATA[HTML5]]></category> <category><![CDATA[Web design]]></category><guid isPermaLink="false">http://ahrengot.com/?p=2518</guid> <description><![CDATA[<div><img width="400" height="400" src="http://cdn.ahrengot.com/wp-content/uploads/speech-recognition.jpg" class="attachment-large wp-post-image" alt="Speech recognition in Google Chrome" /></div>Did you know, that by setting one simple boolean value, you can turn on speech recognition for any regular old input. Learn how and try out a demo.]]></description> <content:encoded><![CDATA[<div><img width="400" height="400" src="http://cdn.ahrengot.com/wp-content/uploads/speech-recognition.jpg" class="attachment-large wp-post-image" alt="Speech recognition in Google Chrome" /></div><p><input id="talktome" type="search" x-webkit-speech placeholder="Say something"></p><div id="tweets"></div><p><em style="color: #777;">&ndash; Click on the microphone icon. Chrome might say that your microphone isn&#8217;t working. Clicking <strong>try again</strong> usually fixes that.</em></p><h2>Download this project on Github</h2><p>You can download a stand-alone version of this <a href="https://github.com/Ahrengot/speech-recognition" title="Download this demo on Github" target="_blank">demo on github</a> and play with the code.</p><h2>How does it work?</h2><p>By setting one simple boolean value you can turn on speech recognition for any regular old input. It&#8217;s currently only supported in Google Chrome, but, as that&#8217;s the most widely used browser on the planet, you will be targeting a large percentage of your users.</p><h3>Code</h3><pre><code class="language-markup">
&lt;input type="search" x-webkit-speech placeholder="Say something">
</code></pre><p>the &#8216;<code>x-webkit-speech</code>&#8216; part is where the magic happens.</p><h3>Feature detecting speech recognition</h3><p>If you need to test whether your users have this feature, then go ahead and use the following snippet:</p><pre><code class="language-javascript">
if (document.createElement("input").webkitSpeech === undefined) {
	// x-webkit-speech isn't supported
}
</code></pre>]]></content:encoded> <wfw:commentRss>http://ahrengot.com/tutorials/speak-to-your-inputs/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>Amazon Web Services</title><link>http://ahrengot.com/web-development/amazon-web-services/</link> <comments>http://ahrengot.com/web-development/amazon-web-services/#comments</comments> <pubDate>Wed, 19 Dec 2012 12:21:00 +0000</pubDate> <dc:creator>Jens Ahrengot Boddum</dc:creator> <category><![CDATA[Web development]]></category> <category><![CDATA[Amazon Web Services]]></category> <category><![CDATA[Git]]></category> <category><![CDATA[Servers]]></category> <category><![CDATA[WordPress]]></category><guid isPermaLink="false">http://ahrengot.com/?p=2413</guid> <description><![CDATA[<div><img width="250" height="250" src="http://cdn.ahrengot.com/wp-content/uploads/amazon.png" class="attachment-large wp-post-image" alt="Amazon web services" /></div>Learn why i ended up picking Amazon as my hosting solution.]]></description> <content:encoded><![CDATA[<div><img width="250" height="250" src="http://cdn.ahrengot.com/wp-content/uploads/amazon.png" class="attachment-large wp-post-image" alt="Amazon web services" /></div><iframe width="530" height="298" src="http://www.youtube.com/embed/oH3PAGZJewA?rel=0" scrolling="no" class="iframe-class" frameborder="0"></iframe><blockquote><p> Netflix, a leading online subscription service for watching movies and TV programs, grew their streaming video business to millions of users globally. By using AWS, Netflix can quickly deploy thousands of servers and terabytes of storage within minutes.</p></blockquote><h2>AWS &#8211; Amazon Web Services</h2><p>The webpage you&#8217;re looking at lives in Ireland. It is hosted on an Amazon cloud server which I mange through my terminal in OS X. I have no graphical user interface, no buttons &mdash; nothing but text commands. For instance, here&#8217;s how I move a file:<br /> <code>$ sudo mv my-file.txt folder/my-file.txt</code></p><p>As tedious this might seem, it actually gives me control over <em>every</em> aspect of the server. That leads to many more options than you get with a normal web server from, say, GoDaddy or Dreamhost. I can install things like Nginx and APC to speed up the websites running on the server or Git to handle deployment and synchronizing my local development version with the live site running accessible to the public and client. I can also, easily, fire up more instances to handle an increase in traffic. This is all based on a beautiful pay-for-what-you-use model.</p><h3>I used to hate working with servers</h3><p>Not too long ago I was the guy that couldn&#8217;t care less about the servers. I felt that, if I was handling the visual aspects, the user experience and making sure people clicked the right buttons, I was doing my job just fine. I had this conviction that the server wasn&#8217;t my domain and that I should just stay clear of it. However, as focus on load speed and performance grew (Thanks, mobile devices), over the last couple of years, I <strong>had</strong> to start digging in.</p><h3>Media Temple are great, but&#8230;</h3><p>I started with Media Temple, and while their customer service and user interface was great, their VPS servers were too expensive for most of the mid to low-traffic (Less than 150,000 visits per month) websites I was working on. After trying various similar services I finally signed up with Amazon Web Services and booted up my first micro instance.</p><h3>Why I love working with Amazon</h3><p>I&#8217;m not a fan of Linux, but because Amazon&#8217;s Web Services are so widely used, it&#8217;s very easy to find help with pretty much any aspect of server maintenance. Every time I&#8217;ve run into trouble since switching to EC2, help has been, literally, a two-minute google search away. A couple of quick examples of what I&#8217;ve needed:</p><h3>Easy stuff</h3><ul><li>Here&#8217;s how you <a href="http://coenraets.org/blog/2012/01/setting-up-wordpress-on-amazon-ec2-in-5-minutes/" target="_blank">set up WordPress in 5 minutes</a>.</li><li>Here&#8217;s how you <a href="http://linuxadminzone.com/install-and-configure-ftp-server-in-amazon-ec2-instance/" target="_blank">set up a FTP server</a>.</li><li>Here&#8217;s how you <a href="http://stackoverflow.com/questions/4203580/creating-subdomains-in-amazon-ec2" target="_blank">set up subdomains</a>.</li><li>Here&#8217;s how you <a href="http://imperialwicket.com/tuning-apache-for-a-low-memory-server-like-aws-micro-ec2-instances" target="_blank">make sure the server doesn&#8217;t run out of memory</a>.</li><li>Here&#8217;s how you <a href="http://www.cyberciti.biz/faq/import-mysql-dumpfile-sql-datafile-into-my-database/#comments" target="_blank">import your database to your new EC2 instance</a></li></ul><h3>A bit harder</h3><ul><li>Here&#8217;s how you <a href="http://theartofcode.tv/installing-wordpress-on-ec2/" title="Nginx is a lighter alternative to apache with incredible performance" target="_blank">set up a bitchin&#8217; server with Nginx and varnish</a></li><li>Here&#8217;s how you <a href="http://burakdede.com/2012/07/06/amazon-ec2-repository-for-git-push/" title="Git deployment is a smarter alternative to traditional FTP deployment" target="_blank">set up Git-based deployment on your EC2 instace</a></li></ul><h2>The verdict</h2><p>I&#8217;m very pleased with my new AWS setup. The pricing is extremely fair and I&#8217;ve got incredible flexibility. Just today I had to test a client site for beta testers when I began to run low on memory. creating an image of my old instance and booting up a new one with 3,500 MB ram instead of 600 MB took me less than 20 minutes. And the process was almost fully automatic.</p> ]]></content:encoded> <wfw:commentRss>http://ahrengot.com/web-development/amazon-web-services/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>Switching text with CSS</title><link>http://ahrengot.com/tutorials/switching-text-with-css/</link> <comments>http://ahrengot.com/tutorials/switching-text-with-css/#comments</comments> <pubDate>Fri, 14 Dec 2012 16:50:02 +0000</pubDate> <dc:creator>Jens Ahrengot Boddum</dc:creator> <category><![CDATA[Tutorials and guides]]></category> <category><![CDATA[CSS]]></category> <category><![CDATA[CSS-Tricks]]></category> <category><![CDATA[Dabblet]]></category><guid isPermaLink="false">http://ahrengot.com/?p=2480</guid> <description><![CDATA[<div><img width="250" height="150" src="http://cdn.ahrengot.com/wp-content/uploads/CSS-text-switching.gif" class="attachment-large wp-post-image" alt="CSS-only text switching" /></div>The <code>attr()</code> function allows you to retrive any html attribute and use it as the content property on :before/:after elements. Continue reading and learn how.]]></description> <content:encoded><![CDATA[<div><img width="250" height="150" src="http://cdn.ahrengot.com/wp-content/uploads/CSS-text-switching.gif" class="attachment-large wp-post-image" alt="CSS-only text switching" /></div><p><a href="http://dabblet.com/gist/4286801" target="_blank" title="View on dabbblet.com"><img src="http://cdn.ahrengot.com/wp-content/uploads/CSS-text-switching.gif" alt="CSS-only text switching" width="250" height="150" class="aligncenter size-full wp-image-2499" /></a></p><h2>CSS attr() function</h2><p>The <code>attr()</code> function is a cool little thing to have in your toolbox. It allows you to retrive any html attribute via CSS and use it as the content property on :before/:after elements. Here&#8217;s the code to reproduce the example above</p><pre><code class="language-markup">
&lt;a href="#" data-hover="Go on, do it!">Click me!&lt;/a>
</code></pre><pre><code class="language-css">
a { font: bold 18px/1.2 sans-serif; }

/* Hide original text */
a:hover { font-size: 0; }

/* Replace original text with value in data-hover */
a:hover:before {
	font-size: 18px;
	content: attr(data-hover);
}
</code></pre><h3>Browser support</h3><p>Chrome, Safari, Firefox and IE8+</p><h3>Use cases</h3><p>Obviously this can be used for switching text like the coordinates in &#8220;Location&#8221; on <a href="http://ahrengot.com/contact/" title="My contact page" target="_blank">my contact page</a>, but you could also use it to add meta-information to links. For instance Chris Coyier shows you how to do <a href="http://css-tricks.com/css-content/" title="CSS only tool tips using attr() and content:" target="_blank">CSS-only tool tips</a> using this method.</p><p>For an interactive version of the example above, go here: <a href="http://dabblet.com/gist/4286801" target="_blank">http://dabblet.com/gist/4286801</a></p> ]]></content:encoded> <wfw:commentRss>http://ahrengot.com/tutorials/switching-text-with-css/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Easy TODO&#8217;s with Sublime Text 2</title><link>http://ahrengot.com/web-development/easy-todos-with-sublime-text-2/</link> <comments>http://ahrengot.com/web-development/easy-todos-with-sublime-text-2/#comments</comments> <pubDate>Wed, 12 Dec 2012 12:32:38 +0000</pubDate> <dc:creator>Jens Ahrengot Boddum</dc:creator> <category><![CDATA[Web development]]></category> <category><![CDATA[Project Management]]></category> <category><![CDATA[Sublime Text 2]]></category> <category><![CDATA[Workflow]]></category><guid isPermaLink="false">http://ahrengot.com/?p=2443</guid> <description><![CDATA[<div><img width="530" height="466" src="http://cdn.ahrengot.com/wp-content/uploads/PlainTasks2-530x466.png" class="attachment-large wp-post-image" alt="PlainTasks plugin for Sublime Text 2" /></div>Sublime Text 2 is by far the best editor I've ever used, so when I learned that I could use it for my daily to do lists I was very happy.]]></description> <content:encoded><![CDATA[<div><img width="530" height="466" src="http://cdn.ahrengot.com/wp-content/uploads/PlainTasks2-530x466.png" class="attachment-large wp-post-image" alt="PlainTasks plugin for Sublime Text 2" /></div><figure class="media video"><video class="a-player"  poster="http://cdn.ahrengot.com/wp-content/uploads/PlainTasks2-530x466.png" width="530" height="476" autoplay="autoplay" controls="1" preload="preload"> <source src="http://cdn.ahrengot.com/wp-content/uploads/PlainTasks.webm" type="video/webm"> <source src="http://cdn.ahrengot.com/wp-content/uploads/PlainTasks.mp4" type="video/mp4"> </video></figure><p>I <em>LOVE</em> Sublime Text 2. It&#8217;s by far the best editor I&#8217;ve ever used, so when I learned that I could use it for my daily to do lists, I was very happy. Watching <a href="https://tutsplus.com/course/improve-workflow-in-sublime-text-2/" title="Tuts+ premium course" target="_blank">Perfect Workflow in Sublime Text 2</a> I learned about <a href="https://github.com/aziz/PlainTasks" title="PlainTasks To Do plugin by Aziz" target="_blank">PlainTasks</a>.</p><h2>How it works</h2><p>PlainTasks adds a new file type called todo, so you could have <code>things.todo</code> for instance. todo files use a custom color theme, turning Sublime Text 2 into a to do app just like Things, Wunderlist etc.</p><h3>Create a new todo-list</h3><p>Via the command palette (⌘+shift+p), search for <strong>Tasks: New Document</strong> or simply save a new file with the .todo extension.</p><h3>Create a new headline</h3><p>Turn any line into a heading by ending it with a colon.<br /> For instance <code class="language-markup"> My headline: </code></p><h3>Create new tasks</h3><p>Create news tasks with ⌘+enter or ⌘+i. Mark any task done with ⌘+d.</p><p>For a full list of keyboard shortcuts, or if you don&#8217;t have package control, head over to the <a href="https://github.com/aziz/PlainTasks" title="Github repo for PlainTasks" target="_blank">Github Repo for PlainTasks</a></p> ]]></content:encoded> <wfw:commentRss>http://ahrengot.com/web-development/easy-todos-with-sublime-text-2/feed/</wfw:commentRss> <slash:comments>2</slash:comments> <enclosure url="http://cdn.ahrengot.com/wp-content/uploads/PlainTasks.webm" length="309398" type="application/wordperfect" /> <enclosure url="http://cdn.ahrengot.com/wp-content/uploads/PlainTasks.mp4" length="491602" type="video/mp4" /> </item> </channel> </rss>
<!-- Served from: ahrengot.com @ 2013-06-19 19:27:06 by W3 Total Cache -->