<?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>logicLAB &#187; conference</title>
	<atom:link href="http://logiclab.dk/wordpress/tag/conference/feed/" rel="self" type="application/rss+xml" />
	<link>http://logiclab.dk/wordpress</link>
	<description>prototyping, analysis, design, speciﬁcation, development, test and implementation</description>
	<lastBuildDate>Sat, 03 Dec 2011 15:36:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>AppSecEU 2011 Dublin, Day 1</title>
		<link>http://logiclab.dk/wordpress/2011/06/09/appseceu-2011-dublin-day-1/</link>
		<comments>http://logiclab.dk/wordpress/2011/06/09/appseceu-2011-dublin-day-1/#comments</comments>
		<pubDate>Thu, 09 Jun 2011 17:08:18 +0000</pubDate>
		<dc:creator>jonasbn</dc:creator>
				<category><![CDATA[Event]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[appseceu]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[day1]]></category>
		<category><![CDATA[dublin]]></category>
		<category><![CDATA[enisa]]></category>
		<category><![CDATA[event]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[owasp]]></category>

		<guid isPermaLink="false">http://logiclab.dk/wordpress/2011/06/09/appseceu-2011-dublin-day-1/</guid>
		<description><![CDATA[I have attended several meetings at my local OWASP chapter and they have always been very interesting. I am by no means a security expert, actually this quote by the character Tracy in Cory Doctorow’s &#8216;Knights of the Rainbow Table’, I heard the other day in his podcast gave me some comfort. “It’s okay everyone [...]]]></description>
			<content:encoded><![CDATA[<p>I have attended several meetings at my local OWASP chapter and they have always been very interesting. I am by no means a security expert, actually this quote by the character Tracy in Cory Doctorow’s &#8216;Knights of the Rainbow Table’, I heard the other day in his podcast gave me some comfort.</p>
<p><em>“It’s okay everyone sucks at security&#8221;</em></p>
<p>At the same time I am most willing to learn more about security in order to become a better developer. For the first time I am attending a security conference, the AppSecEU 2011 in Dublin, Ireland.</p>
<p>The day started out with double breakfast, first at the hotel, second at the venue. The conference is really nice and reminds me alot of the many YACP’s I have attended over the years. The attendees seem very much to be practitioners and people involved with all aspects of security in their day jobs.</p>
<p>These were the talks I had set out to attend:</p>
<p>- Keynote: Brad Arkin (@bradarkin), Adobe<br />
- Building a robust security plan by Narainder Chandwani, Foundstone<br />
- The Buzz about Fuzz by Joe Basirico, Security Innovation<br />
- Keynote: Smart phones, app-stores and HTML5 (ENISA) by Dr. Giles Hogben<br />
- Python Basics for Web App Pentesters by Justin Searle<br />
- Secure Coding Practices Quick Reference Guide by <a href="https://www.owasp.org/index.php/User:Keith_Turpin">Keith Turpin</a>, project leader. OWASP/Boeing<br />
- OWASP AppSensor Project by <a href="https://www.owasp.org/index.php/User:Clerkendweller">Colin Watson</a></p>
<p>Here follows selections of my notes and some reflections on the different presentations.</p>
<p>Keynote: Brad Arkin, Adobe</p>
<p>Brad presented the Adobe Secure Product Lifecycle (SPLC). He started out by talking a bit about attackers and motivations and categorizing these and comparing these to criminals. This was a bit fuzzy to me, but I think I got the picture, his conclusion was anyway that we need super heroes with green lasers &#8211; not really.</p>
<p>Instead we should focus on:<br />
- Hard work<br />
- Repeatable and verifiable processes<br />
- Security must be a priority in all stages of development</p>
<p>He mentioned that Adobe produced popular products and therefor could popularity be of interest to exploring attack vectors and exploits in Adobe products. This is a pattern we have observed before in the industry and therefor is makes sense.</p>
<p>He then went on a described Adobe’s Security Strategy. Which consists of a lot of different practices, I am not going to go over all of them, but here is a basic and non-exhaustive listing:</p>
<p>- Keep customers up to date, by simplifying updating and installation of Adobe software<br />
- Safe and secure code (Adobe SPLC)<br />
- External engagement, industry, partnerships, threat landscape modeling etc.<br />
- Swift and decisive responses to security incidents are important<br />
- Defensive coding and security testing and should be a part of general processes<br />
- Features should be scrutinized using thread modeling<br />
- Use the tools like compiler flags<br />
- Static and dynamic analysis</p>
<p>Brad talked a lot about training and Adobes approach to training and certification was quite interesting, in general however it seemed that security awareness throughout Adobe was the main thing.</p>
<p>In addition he provided these resources:</p>
<p>- Security: <a href="http://adobe.com/security">http://adobe.com/security</a><br />
- ASSET: <a href="http://blogs.adobe.com/asset">http://blogs.adobe.com/asset</a><br />
- PSIRT: <a href="http://blogs.adobe.com/psirt">http://blogs.adobe.com/psirt</a><br />
- Adobe security on twitter @adobesecurity</p>
<p>Next I move on to ‘Building a Robust Security Plan’ by Narainder Chandwani, Foundstone</p>
<p>He talked about outlining a security plan and a several other resources like:</p>
<p>- knowledge repository<br />
- a security impact profile</p>
<p>He had an elaborate point system he referred to, but did not present directly. It should be represented in his paper. In general the idea was to create a database of all your applications and classify them together with a security impact profile based on some of the following metrics:</p>
<p>- classification of data<br />
- possible compliance issues<br />
- exposure </p>
<p>Again knowledge and information was key factors and in general I could agree with Narainder Chandwani’s idea, but his generalized approach to security impact profiling should preferably be something more along the lines of either OWASP top-10 or similar work from ENISA.</p>
<p>I missed out on the fuzzing presentation at my local OWASP chapter in Copenhagen, so I thought this was a good chance to get some education in fuzz, so I went to see: The Buzz about Fuzz by Joe Basirico from Security Innovation.</p>
<p>There is not much too fuzzing as such. Fuzzing is all about attempting to break or misuse applications using generated malformed values. You can divide fuzzing into three categories:</p>
<p>- random fuzzing<br />
- seeded fuzzing<br />
- format aware fuzzing (a variation of seeded fuzzing)</p>
<p>You send a request, process the response, fuzz and then repeat.</p>
<p>Joe Basirico emphasized that input validation is first line of defense and mentioned that input comes from everywhere, like filesystems, database. So the classical user facing input validation might not suffice &#8211; a very interesting and thought provoking idea, which got me thinking.</p>
<p>Things to be aware of when doing fuzzing are:</p>
<p>- Control characters<br />
- Encoding<br />
- Checksums and verification blocks<br />
- Compression<br />
- Order and required sections</p>
<p>One should consider blacklisting vs. whitelisting input data to tighten the security on the first line of defense. I might get back to this topic later since I am trying to collect all my notes on defensive programming in an article.</p>
<p>He mentioned the following tools and resources:</p>
<p>- peach (search for peach fuzz)<br />
- SPIKE<br />
- <a href="http://www.fuzzing.org">www.fuzzing.org</a><br />
- fuzzdb<br />
- Github: <a href="https://github.com/SecurityInnovation/WhatTheFuzz">WebFuzzer</a> by Joe Basirico (Security Innovation)</p>
<p>A lot of good and practical information, which could result on more work on my side, since there are a lof of aspects from Joe’s presentation I would like to dive into.</p>
<p>After a lunch break, where I walked into town to find the local Mac store another keynote was scheduled.</p>
<p>Smart phones, app-stores and HTML5 (ENISA) by Dr. Giles Hogben</p>
<p>Dr. Hogben presented some work being done by ENISA in the smartphone area. Smartphones are very interesting from a security perspective, since they have all sort of sensors, IP and a lot of CPU power. Issues in regard to smartphones are both related to security and to privacy and a lot of aspects of these new technologies are using best practices from other technologies, but at the same time the many features and opportunities open up for new potential threats.</p>
<p>ENISA has produced a smartphone report together with OWASP. It lists:<br />
- top 10 risks<br />
- opportunities<br />
- recommendations</p>
<p>Of all the smartphone developing companies in the world only one had not participated &#8211; Apple, not surprisingly, but a bit disappointing. Because iOS devices are by no means securer than other smartphones and considering the point from Brads keynote on Adobe’s popularity being a challenge for Adobe, Apple should consider participating in projects like the one done by ENISA.</p>
<p>In addition ENISA is working on a report and several other deliverables on HTML5.</p>
<p>In addition to analyzing the HTML5 specifications, the specifications had also been compared against one another and they suffered severely from underspecification. A point, which seem very much to be in line with the presentation by Bruce Lawson from Opera <a href="http://logiclab.dk/wordpress/2011/05/16/goto-copenhagen-2011-day-3/">I saw at GOTO Copenhagen</a>.</p>
<p>The HTML5 work is very much in progress, but it is still possible to chip in, see also: <a href="http://www.enisa.europa.eu/act/application-security">http://www.enisa.europa.eu/act/application-security</a></p>
<p>I then went to see: Secure Coding Practices Quick Reference Guide by Keith Turpin, project leader, OWASP/Boeing.</p>
<p><a href="https://www.owasp.org/index.php/OWASP_Secure_Coding_Practices_-_Quick_Reference_Guide">The Quick reference guide</a> is a 17 page document developed by OWASP, it originates from Boing who turned over the ownership and copyright to OWASP. It aims to be technology agnostic and focusses on what to do, not how to do it.</p>
<p>Some of the aspects Keith Turpin highlighted was intended (requirements) vs. unintended (what the application actually can accomplish) functionality. The concept of restraining the allowed unintended functionality, was similar to the problem described by Joe Basirico (see the earlier section) and again this is something I am going to revisit in my write-up on defensive programming.</p>
<p>Keith Turpin made a point that  we have to evaluate the whole stack and the environment of the application and applications, since operations and application management might, change the context in which our application operates and therefor the security aspect and thread modeling might have to consider different factors. </p>
<p>The Quick reference guide is in checklist format and is currently being revised to be come even more technology agnostic and hopefully the points will be enumerated using and overall enumeration guideline from OWASP so it will be easier to cross-reference between OWASP documents and external resources.</p>
<p>As a developer I found this talk very interesting and I am looking forward to examining the Secure Coding Practices Quick Reference Guide. I moved on in development mode and went to see: Python Basics for Web App Pentesters by Justin Searle</p>
<p>I do not have many notes from this talk, the presenter Justin Searle dissed Perl for no apparent reason, something I thought we were over years ago. He described how he did pentesting using Python and then referenced to a <a href="http://code.google.com/p/pycit/">Google code project</a> with all his templates. The only thing that bothered me about apart from the Perl thing was that he kept saying templates when he meant boilerplates.</p>
<p>The last talk of the day was: OWASP AppSensor Project by Colin Watson. This talk was off to a bumpy start. First the Apple computer Colin was using had issues getting the right resolution needed for the presentation, then Colin stated the following:</p>
<p>“<em>If we do not know if we are under attack or whether we are being exploited we are doing security wrong</em>”</p>
<p>It took me some time to understand what he actually meant and as he went through the presentation it all of a sudden made a lot of sense. The idea behind <a href="https://www.owasp.org/index.php/OWASP_AppSensor_Project">the AppSensor project</a> is to do more application aware monitoring of in our applications so we can take countermeasures when something unexpected happens. The idea is to put detection point in key points in our application and then monitor these and take action when something unexpected occurs.</p>
<p>The counter measures and actions can be anything based on our application, context and circumstances.</p>
<p>- locking down user, functionality or application<br />
- limiting access<br />
- blocking IP<br />
- alerting user / admin</p>
<p>I did not get all of the points listed by Colin noted down, but you get the picture. Colin mentioned something that was in line with Joe Basirico’s presentation about input. So if we put a detection point in the between our database and the application we can also measure when a user is retrieving an unexpected high number of records from the database. Joe Basirico emphasized that data from a database is also just input and it should not necessarily be trusted as is.</p>
<p>All in all a very educational day and I am looking very much forward to day 2 of the AppSecEU 2011 conference.</p>
]]></content:encoded>
			<wfw:commentRss>http://logiclab.dk/wordpress/2011/06/09/appseceu-2011-dublin-day-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GOTO Copenhagen 2011, Day 3</title>
		<link>http://logiclab.dk/wordpress/2011/05/16/goto-copenhagen-2011-day-3/</link>
		<comments>http://logiclab.dk/wordpress/2011/05/16/goto-copenhagen-2011-day-3/#comments</comments>
		<pubDate>Mon, 16 May 2011 13:11:35 +0000</pubDate>
		<dc:creator>jonasbn</dc:creator>
				<category><![CDATA[Event]]></category>
		<category><![CDATA[2011]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[copenhagen]]></category>
		<category><![CDATA[day3]]></category>
		<category><![CDATA[event]]></category>
		<category><![CDATA[gotocph]]></category>

		<guid isPermaLink="false">http://logiclab.dk/wordpress/2011/05/16/goto-copenhagen-2011-day-3/</guid>
		<description><![CDATA[Last and lasting impressions from GOTO Copenhagen conference mixed with notes, buzzwords and URLs. Due to an engagement at work I now I had to leave before the conference would officially close, but I got a pretty wide ranging schedule laid out for myself, so I would get the most possible bang for the buck [...]]]></description>
			<content:encoded><![CDATA[<p>Last and lasting impressions from GOTO Copenhagen conference mixed with notes, buzzwords and URLs.</p>
<p>Due to an engagement at work I now I had to leave before the conference would officially close, but I got a pretty wide ranging schedule laid out for myself, so I would get the most possible bang for the buck on this last day of an awesome conference.</p>
<p>- Keynote: Erlang the road movie by Kresten Krab Thorup<br />
- Kanban Primer &#8211; a play<br />
- Getting Things Done with REST by Ian Robinson<br />
- The Zen of HTML 5 by Bruce Lawson</p>
<p>The Keynote was on Erlang and it&#8217;s merits, it&#8217;s place in history and the future.</p>
<p>Kresten described the history of Erlang from the perspective of the inventors doing Domain Driven Design, since Erlang was originally  developed for developing phone switch software, wherekey  requirements such as  fault tolerance, quality of service and availability. He then went back to see why Erlang all of a sudden seemed to become such an important key player in modern computing. Erlang simply seems to be the perfect fit between the modern Internet, cloud computing and a programming language.</p>
<p>Kresten discussed the idea of scientific revolution, mentioning &#8216;The Structure of Scientific Revolution&#8217; by Thomas Kuhn. First he<br />
described the concept of paradigm shift and revolution, where we would be observing anomalies and the new paradigm would be able to explain these properly where the old paradigm would not suffice.</p>
<p>The keynote, even though on another topic, very much seemed to described the essence in many of the talks at the conference. We are currently observing anomalies in many places, especially in the field of agile methodology, not because there is something wrong with the concept of agility, but simply because the implementations are displaying the anomalies.</p>
<p>I do not know if Kresten&#8217;s definition of revolution was based on Kuhn&#8217;s book or whether it was his own definition, but I more regard revolution as a process or transition not a state in itself. This would mean that the shift of a paradigm is a product of a revolution. I would love to have this discussion with Kresten at some point, but perhaps I should just start by reading Kuhn&#8217;s book and do some investigation into this new and upcoming paradigm. Kresten&#8217;s talk really laid out the perspective and I got some pointers to things I would like to try out in Node.js, which I am using for a project currently.</p>
<p>Over the course of the conference OOP has most certainly got a beating, perhaps it is time we do something different or at least differently, since it might as for the Agile methodology discussion be a matter of implementation. I think OOP still has a place in your tool box, but often you see OOP used in the sense of a golden hammer.</p>
<p>After the keynote I moved close to the stage to see a play.</p>
<p>I really like the idea of alternative presentation methods and a play would really be something new and a play on Kanban really triggered my curiosity even though I was a tad sceptic.</p>
<p>This turned out to be most educational and a lot of fun. The presentation method was alternative, but for me it worked really well and I think I got the basics of Kanban, so here is my notes:</p>
<p>- the board reflects actual states (columns)<br />
- the board changes to reflect the real world<br />
- lanes can be used to isolate tickets, for example for quicker expedition (for example for hot fixes or other things of higher priority)<br />
- cards are tickets, tickets are stories/issues they can be sub divided using other physical cards (use colors)<br />
- you can have macro and micro presentation boards<br />
- you can implement policies like, how many cards a given responsible can work on at a certain time<br />
- pull (principle) depends on trust<br />
- pull (volunteer taking of assignments) is the opposite of push (delegation)</p>
<p>In general Kanban is really interesting and I am seriously thinking about using Kanban in our development process. I am a very visual person and Kanban would really fit me well in getting an overview of what we are doing when or why not.</p>
<p>Some questions have however come up since I watched the play I am thinking about addressing these with some Kanban fora or similar.</p>
<p>- How do you do dependency handling?<br />
- How do you visualize dependencies?</p>
<p>Recommendations on further reading in the field of Kanban is most welcome.</p>
<p>I then turned my attention to the REST track a track where I could have spent all day I guess, but I had decided to attend at least one talk, the one that seemed like it would give me the most basic information on REST and at the same time focus on pragmatism. My experience with REST is purely theoretical and not particularly well founded. I went to see the &#8216;Getting Things Done with REST&#8217; by Ian Robinson. Ian is the author of REST In Practice, published by O&#8217;Reilly. A title I have promised myself to acquire after hearing his talk.</p>
<p>REST is pretty basic as is, but it really seems to fit in with my take on software service and software architecture and I most certainly going to apply some of the REST practices and philosophies in our system.</p>
<p>- REST encapsulates and hereby gives low coupling<br />
- resources look after themselves (state)<br />
- resources might be aware of other resources, but that is the only coupling<br />
- resources != domain<br />
- REST adapts the domain<br />
- client applies resources to achieve goal<br />
- mediatype specification is a contract<br />
- clients are buckets of rules, used to define how to interact with resources</p>
<p>I have for long wanted to do a RESTful interface to a system I work with and this most certainly gave me the tools on how to approach this task.</p>
<p>The last talk I went to was: ‘The Zen of HTML 5’ with Bruce Lawson a very entertaining talk on HTML 5 and related. I did not take many notes, I guess I was sorted of filled up from the previous 3 sessions, but did pick up there is no reason in delaying adoption of HTML 5.</p>
<p>I would really like to thanks the organizers, speakers and sponsors of Goto Copenhagen 2011, I am most certainly coming back if given the opportunity. Now it is time to process, evaluate, investigate, read, write, think, hack. code and implement based all of that marvelous information, education and advice offered at GOTO Copenhagen 2011&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://logiclab.dk/wordpress/2011/05/16/goto-copenhagen-2011-day-3/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>GOTO Copenhagen 2011, Day 2</title>
		<link>http://logiclab.dk/wordpress/2011/05/12/goto-copenhagen-2011-day-2/</link>
		<comments>http://logiclab.dk/wordpress/2011/05/12/goto-copenhagen-2011-day-2/#comments</comments>
		<pubDate>Thu, 12 May 2011 19:30:33 +0000</pubDate>
		<dc:creator>jonasbn</dc:creator>
				<category><![CDATA[Event]]></category>
		<category><![CDATA[2011]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[copenhagen]]></category>
		<category><![CDATA[day2]]></category>
		<category><![CDATA[event]]></category>
		<category><![CDATA[gotocph]]></category>

		<guid isPermaLink="false">http://logiclab.dk/wordpress/2011/05/12/goto-copenhagen-2011-day-2/</guid>
		<description><![CDATA[Software developers are very positive and constructive people, but at the same time they are very passionate. The last rant on day 1 of the conference I think I could have done without, but after a good nights sleep and a good idea on how to fix a bug that had been bugging me the [...]]]></description>
			<content:encoded><![CDATA[<p>Software developers are very positive and constructive people, but at the same time they are very passionate. The last rant on day 1 of the conference I think I could have done without, but after a good nights sleep and a good idea on how to fix a bug that had been bugging me the evening before I gladly went back to GOTO Copenhagen with a positive mindset.</p>
<p>Also this post is a mix of impressions, notes and links from the GOTO Copenhagen conference.</p>
<p>I did not pay much attention to the introduction or the keynote &#8211; I was hacking. I had not brought a laptop on day 1. I had just brought an iPad and I think this was a really good thing. Anyway I had a bug I really needed to squash.</p>
<p>After the bug fix, I could direct all my attention to the conference and here is the list of talks I attended.</p>
<p>- Intro to iOS development by Patrick Linskey<br />
- What Happened to People over Process? by Sarah Taraporewalla (@sarahtarap)<br />
- Where is the Quality in Agikity? by Dan North (@tastapod)<br />
- Programming Ruby Kata<br />
- Lessons for Lean and Agile Software Management by Dave Thomas</p>
<p>I started out in the Mobile track. I am pretty familiar with iOS development, but there was no other talks, which really caught my attention at this time and I thought, it is one of my primary interests and perhaps I could learn something, this proved to be quite right. Patrick gave a nice overview of iOS development focussing a lot on Objective-C and he even dug into memory management instead of just doing all fancy stuff. A very insightful presentation with lot of good pointers to key parts in the iOS tool chain. Among other things he mentioned that garbage collection might be coming to iOS soon, based on a blog post describing some interesting discoveries. He also mentioned <a href="https://testflightapp.com/">TestFlight</a>, which looks like an interesting alternative way to do beta evaluation of iOS applications.</p>
<p>After this I moved down to the ‘Agile from the outside’ track where Sarah Taraporewalla (@sarahtarap) was going to give a talk on the ‘People over Process’ practice from the agile manifesto. This showed to be quite a journey and trying to recap the talk here would probably not do Sarah’s presentation justice, so instead I will try to pinpoint some of the aspects that I got me thinking in relation to the contents of GOTO Copenhagen 2011 and my job in general.</p>
<p>- Communication over observation<br />
- Respect is of outmost importance, respect colleagues, opinions and beliefs<br />
- Openness is important, provide your peers with data and information so they can form own opinion<br />
- Equality is important<br />
- Generalization can be dangerous<br />
- Personality over skills in team environment, when assembling a team<br />
- Trust is important<br />
- Selfishness can be dangerous</p>
<p>Sarah mentioned the psychology model transactional analysis, I am by no means an expert or even a novice in this field, but it triggered one thought. In transactional analysis there are 3 different states your personality switches between depending on a lot of factors:</p>
<p>- Parent, the educating and often condescending<br />
- Adult, the voice of reason<br />
- Child, the defensive, overeager or feelings based response</p>
<p>The adult state is the preferred state in a workplace where decisions have to be made and interaction and communication with peers is commonplace.</p>
<p>I often here the term: “we are all adults here” or “we are all professionals”. This got me thinking that sometimes we mistake the Adult state for Parent state. So all of a sudden we ignore equality and respect goes down the drain and we might force our peer into a Child state. Communication is hard and working with people is hard, especially in stressful situations. So Sarah’s advice on spending time and effort into getting to now yourself is not bad advice. </p>
<p>Following Sarah was Dan North, with a presentation entitled “Where is the Quality in Agility?”. This talk was on quality and Dan started by tearing apart the concept of quality, concluding that we cannot say anything about quality in the general sense we use it in software development. Dan then provided an alternative way to regard quality, which was quite compelling, but not necessarily easy to handle, but what we already have and the metrics we use say nothing qualitative about quality and is therefor somewhat useless. Again I do not do this talk justice. Dan ended his talk by concluding that the way we do agile to day is not agility as described in the original manifesto and we therefor should strife to get back to get back on track with agile development and it’s core values.</p>
<p>After these very abstract presentations I went to see the Programming Ruby Kata in the ‘Programming with the Stars’. Here two people paired and implemented a tennis game in Ruby. It was fun and I enjoyed it very much. I have just discovered that the TextMate editor for OSX can be extended using Ruby, so I might have to get into some Ruby coding for some minor things.</p>
<p>The last but not least presentation for the day was Dave Thomas with a presentation on Lessons for Lean and Agile Software Management.</p>
<p>Dave talked a lot about metrics and measuring what you do so you can improve. He emphasized practices such as:</p>
<p>- portfolio management<br />
- continuous integration<br />
- automated tests<br />
- automated measurement</p>
<p>We are well underway with some of these practices, but there room for improvement and I think I need to read up on portfolio management in order to address whether is is something we can use or learn from.</p>
<p>Dave also mentioned some mantras, which can be important. His examples and general approach was taken from large organizations changing paradigm towards agility, but they are most certainly applicable in other situations also.</p>
<p>- work with vs. work for<br />
- nothing interesting happens without leadership<br />
- pick the best of the wrong answers since there is no right answer</p>
<p>Dave mentioned code review as a good practice, I do not understand has not been emphasized more on the conference in general, but perhaps next year.</p>
]]></content:encoded>
			<wfw:commentRss>http://logiclab.dk/wordpress/2011/05/12/goto-copenhagen-2011-day-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>GOTO Copenhagen 2011, Day 1</title>
		<link>http://logiclab.dk/wordpress/2011/05/12/goto-copenhagen-2011-day-1/</link>
		<comments>http://logiclab.dk/wordpress/2011/05/12/goto-copenhagen-2011-day-1/#comments</comments>
		<pubDate>Thu, 12 May 2011 09:57:32 +0000</pubDate>
		<dc:creator>jonasbn</dc:creator>
				<category><![CDATA[Event]]></category>
		<category><![CDATA[2011]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[copenhagen]]></category>
		<category><![CDATA[day1]]></category>
		<category><![CDATA[event]]></category>
		<category><![CDATA[gotocph]]></category>

		<guid isPermaLink="false">http://logiclab.dk/wordpress/2011/05/12/goto-copenhagen-2011-day-1/</guid>
		<description><![CDATA[This blog post aim to describe my impressions mixed in with my notes. I have attended many Perl conferences over the years, primarily YAPCs. I have not attended a professional conference since I attended OSCON back in 2001. To begin with it was a somewhat surreal experience, I saw absolutely no familiar faces. After a [...]]]></description>
			<content:encoded><![CDATA[<p>This blog post aim to describe my impressions mixed in with my notes.</p>
<p>I have attended many Perl conferences over the years, primarily YAPCs. I have not attended a professional conference since I attended OSCON back in 2001. To begin with it was a somewhat surreal experience, I saw absolutely no familiar faces. After a cup of coffee the conference kicked off.</p>
<p>Through out the day I attended the following talks:</p>
<p>- Innovation at Google by Patrick Copeland<br />
- Remediation Patterns by Jez Humble<br />
- When the fur flies, Michael T. Nygaard<br />
- Why Modern Application Development Sucks by Dave Thomas<br />
- Frameworks? The Devil&#8217;s Works! by John Nolan<br />
- a rant by James Coplien, I cannot remember the title</p>
<p>Patrick Copeland from Google was talking about innovation and ideas. He mentioned pretotyping and Androgen a preto/prototype building framework for Android. He also mentioned <a href="http://www.paulgraham.com/makersschedule.html">an article</a> by the magnificent Paul Graham about time management, which I will have to dig into later. In general the whole pretotype concept is great fun and probably incredibly useful, but I am not sure it as easy to implement as a technique as it sounds. The presentation gave a lot of food for thought and I am doing a lot of thinking about how to go about preto/prototyping our potential work packages before actual implementation. Boiled down what Google does is being able to separate potentially good projects from bad projects very early, so least time is wasted, time is essential, hence the reference to the Paul Graham piece.</p>
<p>After the keynote I started out in the Dev/Ops track. This was quite interesting and very educational. I took immense amount of notes on my iPad. I then moved on to the Iconoclasts track were a bunch of rants where going on. All of the talks are by incredibly skillful and clever people and it had been hard laying out a personal schedule without missing out on too much good stuff, but first things first, two talks from the Dev/Ops tracks.</p>
<p>Jez Humble is the author of the book <a href="http://continuousdelivery.com/">Continuous Delivery</a>. His presentation gave a lot of interesting insides and put words and terms on some of the aspects of testing I have been meaning to get into, without really knowing there was a term for. This talk gave a lot of practical advice, which I cannot wait to implement and evaluate when the conference is over. I am seriously considering buying the previously mentioned book. We might not agree on the use of branches under the strategy of continuously delivering, but in general an incredibly educational presentation giving a lot of good information and not to forget new acronyms like: TTD, TTR and TBF. I might get back to the issue of branches and continuous delivery in a post later, when it has had time time to sink in.</p>
<p>Michael T. Nygaard, the author of ‘<a href="http://pragprog.com/titles/mnee/release-it">Release it!</a>’, a book I have been meaning to read for a long time. Michael gave a war-story presentation. We can learn a lot from war stories and they are entertaining. Michael mentioned the book: <a href="http://en.wikipedia.org/wiki/The_Fifth_Discipline">The 5th. Discipline</a>, which sounds really interesting. Again an educational presentation with a high level of entertainment.</p>
<p>This brings me to the other track I hereafter moved into, the Iconoclasts track. Dave Thomas gave a talk on why modern application development sucks. I took no notes during his talk, but I was most certainly entertained and many of the reflections by Dave Thomas were quite interesting.</p>
<p>Following Dave Thomas was John Nolan with a talk entitled ‘Frameworks? The Devil&#8217;s Works!’ John Nolan made a great analogy between programming and cooking, which ended up with a hypothesis describing frameworks as fast food franchises. Very beautiful and entertaining presentation.</p>
<p>The last presentation was by James Coplien, this was indeed a rant. Coplien simply stated that unit-tests and in particular TDD was bad for your code base. The problem raised by Coplien is quite interesting, but I am not sure the message got totally through, at times the presentation seemed more like a praise of SCRUM. Coplien was scrutinizing the data and statements behind the agile movement and at the same time he mentioned IEEE papers being critical of unit-tests and TDD, without applying the same critical view. Coplien had a strong case, but did not really back it up. I agree with Coplien that we should be critical towards the tools we use, same point stated by John Nolan about Frameworks, but SCRUM and other agile methods have serious issues I learned on day 2, but more on that in a upcoming post.</p>
<p>The GOTO Copenhagen conference is absolutely super and I am sure I will attend again if I get the chance again, it felt good to be educated, entertained and provoked.</p>
]]></content:encoded>
			<wfw:commentRss>http://logiclab.dk/wordpress/2011/05/12/goto-copenhagen-2011-day-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sponsorship for YAPC::Europe 2009</title>
		<link>http://logiclab.dk/wordpress/2009/01/08/sponsorship-for-yapceurope-2009/</link>
		<comments>http://logiclab.dk/wordpress/2009/01/08/sponsorship-for-yapceurope-2009/#comments</comments>
		<pubDate>Thu, 08 Jan 2009 21:24:53 +0000</pubDate>
		<dc:creator>jonasbn</dc:creator>
				<category><![CDATA[Event]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[yapc]]></category>

		<guid isPermaLink="false">http://logiclab.dk/wordpress/?p=51</guid>
		<description><![CDATA[logicLAB is sponsoring the YAPC::Europe Perl Conference in Lisbon Portugal. See: http://yapceurope2009.org/ye2009/ The conference it the annual european Perl grass-roots conference and we are happy to be able to support this event. The next thing to find out is whether we will be to attend.]]></description>
			<content:encoded><![CDATA[<p>logicLAB is sponsoring the YAPC::Europe Perl Conference in Lisbon Portugal.</p>
<p>See: http://yapceurope2009.org/ye2009/</p>
<p>The conference it the annual european Perl grass-roots conference and we are happy to be able to support this event. The next thing to find out is whether we will be to attend.</p>
]]></content:encoded>
			<wfw:commentRss>http://logiclab.dk/wordpress/2009/01/08/sponsorship-for-yapceurope-2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

