<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><description>Full stack product engineer spanning Java, Python, and JavaScript. Heavily into JS engineering and modern web technologies.</description><title>Alex Treppass: Thoughts on software</title><generator>Tumblr (3.0; @alextreppass)</generator><link>https://alextreppass.co.uk/</link><item><title>"Monolith First"</title><description>&lt;a href="http://martinfowler.com/bliki/MonolithFirst.html"&gt;"Monolith First"&lt;/a&gt;: &lt;blockquote&gt;&lt;p&gt;Y&lt;i&gt;ou shouldn’t start a new project with microservices, even if you’re sure your application will be big enough to make it worthwhile&lt;/i&gt;&lt;br/&gt;&lt;/p&gt;&lt;/blockquote&gt;</description><link>https://alextreppass.co.uk/post/120692995307</link><guid>https://alextreppass.co.uk/post/120692995307</guid><pubDate>Thu, 04 Jun 2015 14:42:04 +0100</pubDate><category>soa</category><category>velocity</category><category>microservices</category></item><item><title>Mobile Last?</title><description>&lt;a href="https://jonathanstark.com/blog/mobile-last"&gt;Mobile Last?&lt;/a&gt;: &lt;blockquote class="link_og_blockquote"&gt;&lt;i&gt;If you approach the design by starting small and working your way up with both responsive web design and progressive enhancement, you get mobile for free&lt;/i&gt;&lt;/blockquote&gt;
&lt;p&gt;Interesting story on the perceived costs of mobile, especially when trying to move fast&lt;/p&gt;</description><link>https://alextreppass.co.uk/post/102880863257</link><guid>https://alextreppass.co.uk/post/102880863257</guid><pubDate>Mon, 17 Nov 2014 16:36:45 +0000</pubDate><category>mobile web</category><category>dev</category><category>mobile first</category></item><item><title>The Code Review Mindset</title><description>&lt;a href="https://medium.com/medium-eng/the-code-review-mindset-3280a4af0a89"&gt;The Code Review Mindset&lt;/a&gt;: &lt;blockquote class="link_og_blockquote"&gt;&lt;i&gt;A positive mindset fundamentally changes the code review experience and its effectiveness.&lt;/i&gt;&lt;/blockquote&gt;</description><link>https://alextreppass.co.uk/post/102876585122</link><guid>https://alextreppass.co.uk/post/102876585122</guid><pubDate>Mon, 17 Nov 2014 15:20:55 +0000</pubDate></item><item><title>When writing code, optimize for readability first</title><description>&lt;a href="http://va.lent.in/optimize-for-readability-first/"&gt;When writing code, optimize for readability first&lt;/a&gt;: &lt;blockquote&gt;
&lt;p&gt;&lt;i&gt;Most of their productive time developers spend reading code not writing it&lt;/i&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Time == Money. Pithy, but worth repeating.&lt;/p&gt;</description><link>https://alextreppass.co.uk/post/91241639832</link><guid>https://alextreppass.co.uk/post/91241639832</guid><pubDate>Wed, 09 Jul 2014 11:18:35 +0100</pubDate><category>programming</category></item><item><title>Not Your Father's Java: An Opinionated Guide to Modern Java Development, Part 1</title><description>&lt;a href="http://blog.paralleluniverse.co/2014/05/01/modern-java/"&gt;Not Your Father's Java: An Opinionated Guide to Modern Java Development, Part 1&lt;/a&gt;: &lt;p&gt;A very brief overview of modern Java (8) techniques and tools the cool kids are using these days.&lt;/p&gt;</description><link>https://alextreppass.co.uk/post/84509394002</link><guid>https://alextreppass.co.uk/post/84509394002</guid><pubDate>Fri, 02 May 2014 11:40:20 +0100</pubDate><category>java</category></item><item><title>New Chrome DevTools for debugging async JS</title><description>&lt;a href="http://www.html5rocks.com/en/tutorials/developertools/async-call-stack/"&gt;New Chrome DevTools for debugging async JS&lt;/a&gt;: &lt;p&gt;Can’t wait for this to land in Chrome proper. It’s in Canary at the moment.&lt;/p&gt;</description><link>https://alextreppass.co.uk/post/83501407805</link><guid>https://alextreppass.co.uk/post/83501407805</guid><pubDate>Tue, 22 Apr 2014 10:11:29 +0100</pubDate><category>javascript</category><category>chrome</category><category>debugging</category></item><item><title>Write Code Every Day</title><description>&lt;a href="http://ejohn.org/blog/write-code-every-day/"&gt;Write Code Every Day&lt;/a&gt;: &lt;p&gt;In which Resig talks about balancing side projects with his main job, overcoming inertia, and freeing up weekends.&lt;/p&gt;</description><link>https://alextreppass.co.uk/post/82372398813</link><guid>https://alextreppass.co.uk/post/82372398813</guid><pubDate>Fri, 11 Apr 2014 10:55:00 +0100</pubDate><category>stop procrastinating</category></item><item><title>Engineering Is A Team Game</title><description>&lt;p&gt;Some inspirational reading on team dynamics, staying positive and saying yes to things&lt;/p&gt;
&lt;p&gt;&lt;a href="https://blog.engineyard.com/2013/how-improvisational-theater-can-improve-team-collaboration"&gt;https://blog.engineyard.com/2013/how-improvisational-theater-can-improve-team-collaboration&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://nshipster.com/empathy/"&gt;http://nshipster.com/empathy/&lt;/a&gt;&lt;/p&gt;</description><link>https://alextreppass.co.uk/post/82284872358</link><guid>https://alextreppass.co.uk/post/82284872358</guid><pubDate>Thu, 10 Apr 2014 13:16:00 +0100</pubDate><category>engineering</category><category>teamwork</category><category>noego</category></item><item><title>Semantic CSS With Intelligent Selectors</title><description>&lt;a href="http://coding.smashingmagazine.com/2013/08/20/semantic-css-with-intelligent-selectors/"&gt;Semantic CSS With Intelligent Selectors&lt;/a&gt;: &lt;p&gt;Smashing Magazine nails another one - obeying html tag semantics to avoid selectors like .button in favour of  &lt;button&gt; leads for more meaningful code&lt;/p&gt;</description><link>https://alextreppass.co.uk/post/58782844536</link><guid>https://alextreppass.co.uk/post/58782844536</guid><pubDate>Tue, 20 Aug 2013 13:11:22 +0100</pubDate><category>webdesign</category><category>css</category></item><item><title>Toward Modern Web Apps with ECMAScript 6</title><description>&lt;a href="http://www.sencha.com/blog/toward-modern-web-apps-with-ecmascript-6/"&gt;Toward Modern Web Apps with ECMAScript 6&lt;/a&gt;: &lt;p&gt;A good overview of the stuff landing in ES6/Harmony, with some worked examples&lt;/p&gt;</description><link>https://alextreppass.co.uk/post/58695992907</link><guid>https://alextreppass.co.uk/post/58695992907</guid><pubDate>Mon, 19 Aug 2013 14:41:39 +0100</pubDate><category>javascript</category><category>programming</category></item><item><title>How to fork and patch npm modules</title><description>&lt;a href="http://debuggable.com/posts/how-to-fork-patch-npm-modules:4e2eb9f3-e584-44be-b1a9-3db7cbdd56cb"&gt;How to fork and patch npm modules&lt;/a&gt;: &lt;p&gt;I had to fork and patch a Node program last week as it was exhibiting some bad performance characteristics on Windows due to an unstable node FS feature (&lt;a href="https://github.com/paulmillr/chokidar/issues/52"&gt;chokidar&lt;/a&gt;, for anyone interested, and it was down to &lt;a href="http://nodejs.org/api/fs.html#fs_fs_watch_filename_options_listener"&gt;fs.watch&lt;/a&gt; vs &lt;a href="http://nodejs.org/api/fs.html#fs_fs_watchfile_filename_options_listener"&gt;fs.watchFile&lt;/a&gt;  whose performance and stability varies by platform).&lt;/p&gt;
&lt;p&gt;As part of this, I realised that while I could hack the built code in my npm repo, I’d A) never forked code before and B) didn’t know how to test my changes i.e. get a package.json pointing at my forked code, and C) actually do a pull request.&lt;/p&gt;
&lt;p&gt;Turns out it’s quite easy! The post on debuggable linked just above walks you through forking it, and the pull request process was fairly easy following the &lt;a href="https://help.github.com/articles/using-pull-requests#initiating-the-pull-request"&gt;Github Using Pull Requests&lt;/a&gt; doc.&lt;/p&gt;
&lt;p&gt;One thing I did differently was to not use the commit # in my package.json for testing, and instead used "chokidar": “https://github.com/alextreppass/chokidar/tarball/master”&lt;/p&gt;
&lt;p&gt;The only thing I didn’t do properly, and the msysgit Windows UI hadn’t told me about, was setting my username and email so that Github would alias it to me on the pull request’s page. Command-line git moaned at me with a suggestion on how to fix it; here's &lt;a href="https://help.github.com/articles/setting-your-username-in-git"&gt;a page on how to set your username and email in the git config&lt;/a&gt;.&lt;/p&gt;</description><link>https://alextreppass.co.uk/post/58061961762</link><guid>https://alextreppass.co.uk/post/58061961762</guid><pubDate>Mon, 12 Aug 2013 16:10:00 +0100</pubDate><category>github</category><category>open source</category></item><item><title>BBC - Blogs -  Adam Curtis - A history of spying</title><description>&lt;a href="http://www.bbc.co.uk/blogs/adamcurtis/posts/BUGGER"&gt;BBC - Blogs -  Adam Curtis - A history of spying&lt;/a&gt;: &lt;blockquote class="link_og_blockquote"&gt;
&lt;div&gt;The recent revelations by the whistleblower Edward Snowden were fascinating. But they - and all the reactions to them - had one enormous assumption at their heart.  That the spies know what they are doing. But when you look at the history of MI5 the astonishing thing is they never seem to know what…&lt;/div&gt;
&lt;/blockquote&gt;</description><link>https://alextreppass.co.uk/post/57789968202</link><guid>https://alextreppass.co.uk/post/57789968202</guid><pubDate>Fri, 09 Aug 2013 14:13:00 +0100</pubDate><category>nsa spying</category><category>oped</category></item><item><title>Using Chrome devtools to ensure jank-free 60fps experiences</title><description>&lt;a href="http://engineering.wingify.com/posts/getting-60fps-using-devtools/"&gt;Using Chrome devtools to ensure jank-free 60fps experiences&lt;/a&gt;: &lt;p&gt;Introduction to the frames panel in the Chrome Dev Tools, which shows slow-running script events that’ll bust your 16.67ms frame budget&lt;/p&gt;</description><link>https://alextreppass.co.uk/post/56782904944</link><guid>https://alextreppass.co.uk/post/56782904944</guid><pubDate>Mon, 29 Jul 2013 15:10:00 +0100</pubDate><category>js</category><category>devtools</category><category>chrome</category></item><item><title>How do I “think in AngularJS” if I have a jQuery background?</title><description>&lt;a href="http://stackoverflow.com/questions/14994391/how-do-i-think-in-angularjs-if-i-have-a-jquery-background"&gt;How do I “think in AngularJS” if I have a jQuery background?&lt;/a&gt;: &lt;p&gt;Great compare-and-contrast between the jQuery ‘enhance stuff’ approach and the ground-up data and views that Angular provides&lt;/p&gt;</description><link>https://alextreppass.co.uk/post/56432817586</link><guid>https://alextreppass.co.uk/post/56432817586</guid><pubDate>Thu, 25 Jul 2013 17:16:39 +0100</pubDate><category>javascript</category><category>angular</category><category>jQuery</category></item><item><title>Async JS: The case for setImmediate</title><description>&lt;a href="http://www.nczonline.net/blog/2013/07/09/the-case-for-setimmediate/"&gt;Async JS: The case for setImmediate&lt;/a&gt;: &lt;p&gt;Dividing up complex work, especially rendering work, is best done in chunks so as not to block the JS thread. This has been historically done using setTimeout(fn, 0), but browsers apparently peg that to a timer waiting at least 4ms.&lt;/p&gt;
&lt;p&gt;setImmediate(fn) is a new feature in IE10+ which gets around this - no timer, and the callback happens as soon as the last UI task in the current event loop completes.&lt;/p&gt;
&lt;p&gt;Mozilla and WebKit are apparently against adding it at the moment; we’ll see how long they hold out.&lt;/p&gt;
&lt;p&gt;NobleJS shim here - &lt;a href="https://github.com/NobleJS/setImmediate"&gt;https://github.com/NobleJS/setImmediate&lt;/a&gt;&lt;/p&gt;</description><link>https://alextreppass.co.uk/post/55077538238</link><guid>https://alextreppass.co.uk/post/55077538238</guid><pubDate>Wed, 10 Jul 2013 11:23:11 +0100</pubDate><category>asynchronous</category><category>javascript</category><category>browser</category></item><item><title>"Disable Javascript" option removed in latest Firefox</title><description>&lt;a href="https://bugzilla.mozilla.org/show_bug.cgi?id=873709"&gt;"Disable Javascript" option removed in latest Firefox&lt;/a&gt;: &lt;p&gt;Shows how fundamental Javascript is in the modern web - a lot of sites simply won’t function without it enabled.&lt;/p&gt;
&lt;p&gt;Interesting trade-off between offering options in your product that might appear to the average user to break things (“Firefox is broken again, this site won’t show!”), the increased cost of development for older browsers that don’t support modern web standards, and the usability, security and privacy considerations that come with allowing JS to run everywhere.&lt;/p&gt;
&lt;p&gt;Discussion on HN &lt;a href="https://news.ycombinator.com/item?id=5968237"&gt;here&lt;/a&gt;.&lt;/p&gt;</description><link>https://alextreppass.co.uk/post/54334947093</link><guid>https://alextreppass.co.uk/post/54334947093</guid><pubDate>Mon, 01 Jul 2013 11:40:00 +0100</pubDate><category>javascript</category><category>firefox</category><category>security</category></item><item><title>Best Practices for Designing a Pragmatic RESTful API</title><description>&lt;a href="http://www.vinaysahni.com/best-practices-for-a-pragmatic-restful-api"&gt;Best Practices for Designing a Pragmatic RESTful API&lt;/a&gt;: &lt;p&gt;The above link, paired with &lt;a href="http://pages.apigee.com/web-api-design-ebook.html"&gt;apigee’s API design eBook&lt;/a&gt; has a whole load of mileage.&lt;/p&gt;
&lt;p&gt;Particularly interesting are the recommendations for version APIs using URL parameters, and that pretty printing should be enabled by default. I guess in the modern age a small overhead of whitespace characters aren’t going to make much difference, especially when you’re gzipping the responses&lt;/p&gt;</description><link>https://alextreppass.co.uk/post/52157095974</link><guid>https://alextreppass.co.uk/post/52157095974</guid><pubDate>Tue, 04 Jun 2013 20:18:53 +0100</pubDate><category>restful</category><category>webdesign</category></item><item><title>The State Of Responsive Web Design | Smashing Magazine</title><description>&lt;a href="http://www.smashingmagazine.com/2013/05/29/the-state-of-responsive-web-design/"&gt;The State Of Responsive Web Design | Smashing Magazine&lt;/a&gt;: &lt;p&gt;Flexible layouts, adaptive typography, responsive design without having to create different versions of html&lt;/p&gt;</description><link>https://alextreppass.co.uk/post/52053113765</link><guid>https://alextreppass.co.uk/post/52053113765</guid><pubDate>Mon, 03 Jun 2013 13:43:58 +0100</pubDate><category>webdesign</category><category>css3</category></item><item><title>Meetups: you should be doing them</title><description>&lt;p&gt;Meetups provide really great opportunities for finding more about the latest latest technologies and patterns, as well as speaking to other people who are in the same (or similar) boats to you. Quite refreshing.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve recently joined &lt;a href="http://www.meetup.com/"&gt;meetup.com&lt;/a&gt; and have signed up to the London-based Enterprise Search, Backbone, JavaScript groups.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve been along to the Enterprise Search one (Amazon CloudSearch was the topic, hosted), and it was a great mix of people from different backgrounds and businesses, and really interesting to see how different people tackle the search vertical - from back-end technologies through to to front-end search UI.&lt;/p&gt;
&lt;p&gt;Go along to these (especially if you&amp;rsquo;re self-employed/contractor!), drag along co-workers and report back on any interesting findings. Everyone wins!&lt;/p&gt;</description><link>https://alextreppass.co.uk/post/52049836159</link><guid>https://alextreppass.co.uk/post/52049836159</guid><pubDate>Mon, 03 Jun 2013 12:14:13 +0100</pubDate><category>networking</category><category>meetups</category></item><item><title>What is a Full Stack developer? | Laurence Gellert's Blog</title><description>&lt;a href="http://www.laurencegellert.com/2012/08/what-is-a-full-stack-developer/"&gt;What is a Full Stack developer? | Laurence Gellert's Blog&lt;/a&gt;: &lt;p&gt;An interesting take on / formalisation of what a ‘full stack’ developer means.&lt;/p&gt;
&lt;p&gt;I’d add that a familiarity / knowledge of the different areas he’s gone over is good, but that you’d want &lt;em&gt;some&lt;/em&gt; specialisation going on: &lt;strong&gt;jack of all trades, master of some&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Discussion on HN here: &lt;a href="https://news.ycombinator.com/item?id=5811874"&gt;https://news.ycombinator.com/item?id=5811874&lt;/a&gt;&lt;/p&gt;</description><link>https://alextreppass.co.uk/post/52046732384</link><guid>https://alextreppass.co.uk/post/52046732384</guid><pubDate>Mon, 03 Jun 2013 10:35:00 +0100</pubDate><category>developers</category><category>many hats</category></item></channel></rss>
