<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <id>http://www.lunarlogicpolska.com/</id>
  <title>Lunar Logic Polska Blog</title>
  <updated>2012-01-31T13:35:00Z</updated>
  <link rel="alternate" href="http://www.lunarlogicpolska.com/"/>
  <link rel="self" href="http://lunarlogicpolska.com/atom.xml"/>
  <author>
    <name>Paul Klipp</name>
    <uri>http://lunarlogicpolska.com</uri>
  </author>
  <entry>
    <id>tag:www.lunarlogicpolska.com,2012-01-31:/blog/2012/01/31/aircasting.html</id>
    <title type="html">Urban noise levels at last measurable - thanks to AirCasting!</title>
    <published>2012-01-31T13:35:00Z</published>
    <updated>2012-01-31T13:35:00Z</updated>
    <link rel="alternate" href="http://www.lunarlogicpolska.com/blog/2012/01/31/aircasting.html"/>
    <content type="html">&lt;p class="blog-image-center"&gt;
&lt;a href="http://habitatmap.org/"&gt;&lt;img src="/images/posts/aircastinglogo2.jpg" width="320" height="240"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Have you ever wondered how loud, exactly, is that noisy crossroads that prevents you from having a well-deserved sleep? Is it really comparable to a herd of starting jumbo-jets pursued by a swarm of fighter planes? How could anyone put up with this madness?&lt;/p&gt;

&lt;p&gt;Worry not - we’ve got a solution to your problem and it’s called &lt;a href="http://aircasting.org"&gt;AirCasting&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;AirCasting is an Android application that measures noise pollution. It’s a light, flexible and free-for-all Android app we created for &lt;a href="http://habitatmap.org"&gt;HabitatMap.org&lt;/a&gt; with funding from Google’s Charitable Giving Fund of Tides Foundation.&lt;/p&gt;
&lt;a href="/images/posts/aircasting1.png" class="fancybox"&gt;&lt;img src="/images/posts/aircasting1.png" class="blog-image" width="320" height="240"&gt;&lt;/a&gt;

&lt;p&gt;AirCasters measure sound levels, which they can choose to contribute to a crowd sourced map of noise pollution. This allows everyone to see the best place to either walk your dog, wind down and meet your mates or, simply, test your brand new protective earplugs. &lt;/p&gt;

&lt;p&gt;All right, all right, you may say. Buzzwords don’t impress me anymore. I would like some facts. How does it work in practice? &lt;/p&gt;

&lt;p&gt;Sound level measurement started in New York City. Its inhabitants complained about noise to a City hotline. The usual hustle &amp;amp; bustle affected their sleep, health and overall well-being. As a tool to justify their claims, AirCasting becomes a vessel for public opinion. Local authorities may dismiss one claim unsupported by any evidence, but what about hundreds of noise pollution reports made on the spot?  &lt;/p&gt;

&lt;p&gt;AirCasting has been developed by three Lunar Logic pros: &lt;a href="https://twitter.com/#!/mrYapee"&gt;Paweł&lt;/a&gt;, &lt;a href="https://twitter.com/#!/sickill"&gt;Marcin&lt;/a&gt; and &lt;a href="http://www.facebook.com/Grz3ster"&gt;Grzesiek&lt;/a&gt; (he was testing the app). I’ve asked Paweł some specific questions about AirCasting. &lt;/p&gt;

&lt;p&gt;&lt;b&gt;Mirek&lt;/b&gt;: What does AirCasting do, in a nutshell? &lt;a href="/images/posts/aircasting2.png" class="fancybox"&gt;&lt;img src="/images/posts/aircasting2.png" class="blog-image" width="320" height="240"&gt;&lt;/a&gt;
&lt;br /&gt;
&lt;b&gt;Paweł&lt;/b&gt;: AirCasting is a platform for sharing and visualising environmental data. Currently the only supported kind of data are noise levels. These can be obtained by users with their phones and then shared through our website.
&lt;br /&gt;
&lt;b&gt;M&lt;/b&gt;: Which parts of the smartphone does it use?
&lt;br /&gt;
&lt;b&gt;P&lt;/b&gt;: Most prominently we are using the microphone to gather noise level data. Other than that we are using Google Maps to visualise the data the user and others have gathered.
&lt;br /&gt;
&lt;b&gt;M&lt;/b&gt;: Are there any planned extensions for the app?
&lt;br /&gt;
&lt;b&gt;P&lt;/b&gt;: The app is planned to support a wide range of environmental sensors with which it will connect via Bluetooth. The one that's being engineered right now is a gas sensor for measuring pollutant concentrations in the air.&lt;/p&gt;

&lt;p&gt;AirCasting has been live since 20th December 2011 and is available &lt;a href="https://market.android.com/details?id=pl.llp.aircasting&amp;amp;feature=search_result#?t=W251bGwsMSwxLDEsInBsLmxscC5haXJjYXN0aW5nIl0"&gt;free from the Android market&lt;/a&gt;. The source code is available under GPL:&lt;/p&gt;

&lt;a href="https://github.com/LunarLogicPolska/AirCastingAndroidClient"&gt;https://github.com/LunarLogicPolska/AirCastingAndroidClient&lt;/a&gt;
&lt;a href="https://github.com/LunarLogicPolska/AirCasting"&gt;https://github.com/LunarLogicPolska/AirCasting&lt;/a&gt;</content>
  </entry>
  <entry>
    <id>tag:www.lunarlogicpolska.com,2012-01-25:/blog/2012/01/25/engage.html</id>
    <title type="html">Why we built 'Engage!' - a Rails Engine for User Engagement</title>
    <published>2012-01-25T15:14:00Z</published>
    <updated>2012-01-25T15:14:00Z</updated>
    <link rel="alternate" href="http://www.lunarlogicpolska.com/blog/2012/01/25/engage.html"/>
    <content type="html">&lt;a href="http://engage.llp.pl"&gt;&lt;img src="/images/posts/engage-logoblue.jpg"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Most web startups struggle and many fail. For almost a decade, I've been watching it happen up close. As the owner of a custom web development agency I've had front-row seats to rare moments of glory and spectacular failures. When I encountered the customer-centric approach promoted by Steve Blank in The Four Steps to the Epiphany and more recently popularized by Eric Ries in The Lean Startup, I was excited, because it described so nicely a solution to many of the problems I've witnessed over years of watching startups launch. I've seen founders blinded by the brilliance of their own vision fail to adapt to the demands of their users and miss crucial opportunities to adapt, or pivot, in Lean Startup jargon.&lt;/p&gt;

&lt;p&gt;The idea of the customer-centric approach is to build a product largely driven by feedback from users. This way you have a successful product that you can be sure solves real user problems.&lt;/p&gt;

&lt;p&gt;In 2009, we built &lt;a href="http://kanbanery.com"&gt;one of the first online Kanban board applications&lt;/a&gt; because we needed one to work with remote clients and nothing like that existed at the time. We later decided to offer the product to the public and for the first time I was the product manager of a web startup and I could apply principles I had learnt over a decade in software development. Initially, my decisions about &lt;a href="http://kanbanery.com"&gt;Kanbanery&lt;/a&gt; were primarily driven by principles such as team empowerment, flexibility, transparency, trust, and ease of use. For the details, however, I looked to user feedback.&lt;/p&gt;

&lt;p&gt;Getting that user feedback would prove a major challenge. What tools could be used to obtain the necessary feedback from users in order to overcome the challenges of our first product? It was in answering this challenge that the second product we created emerged: the &lt;a href="http://engage.llp.pl"&gt;Engage!&lt;/a&gt; engine for user engagement.&lt;/p&gt;

&lt;p&gt;Like other startups, we had two alternative solutions to the problem of obtaining user feedback. The first solution was to use a hosted service such as GetSatisfaction or UserVoice while the second solution would mean developing our own support tools from scratch. &lt;/p&gt;

&lt;p&gt;I didn't want to distract us from our main task of working on Kanbanery, so I opted for the hosted solution but frustration was quick to set in. The frustration was largely due to the same problems most companies face with the use of one-size-fits-all hosted applications, in that they offer a limited range of customization. Also, using this tool meant that users had to leave our application and create a new account on another application in order to provide feedback and this confused a fair number of users. I was also faced with an awkward financial decision. Any of the 30 people in my company might help to support users by answering questions or engaging with them in the feedback forum, but at $25 or more per person per month, I had to decide who would get accounts and who wouldn't. &lt;/p&gt;

&lt;p&gt;We're about to change all of that with our own software solution to user feedback and engagement aptly named 'Engage!'.&lt;/p&gt;
&lt;a href="http://engage.llp.pl"&gt;&lt;img src="/images/posts/engage-screen.png" class="blog-image" width="240" height="135"&gt;&lt;/a&gt;

&lt;p&gt;'Engage!' is customer engagement tool that plugs seamlessly into any Ruby on Rails application running Rails 3.1 or higher. It can work right out of the box with a simple installation and configuration script, but it's designed to be easily extensible and skinnable. It has all the basic features you'd expect from a ticket tracking and customer support forum but no more. &lt;/p&gt; 
&lt;p&gt;If you have half an hour to spend installing it, it will just work, but if you want to add one more feature or change the style to match your site, you easily can. It will also tie into your own authentication service for a seamless user experience, or you can use it's own built-in authentication system if your application doesn't require users to have accounts.&lt;/p&gt;


&lt;p&gt;'Engage!' is a Rails Engine, which means it's a stand-alone application that can be added to any Rails 3.1 or higher application as easily as installing a gem. The best part is, the code will be free to non-profit organizations and open source projects, and a lifetime license will be available to web startups for a low, one-time fee. You can have as many users as you like and customize it to your heart's content without ever paying again.&lt;/p&gt;

&lt;p&gt;If you're interested, sign up at &lt;a href="http://engage.llp.pl"&gt;engage.llp.pl&lt;/a&gt; and we'll contact you as soon as the first version is ready to release. We'll let you know when you can download it for free and start hacking at it as you like. We'll only ask you to pay for it if you install it in a commercial product. We'll be inviting beta testers to use it free of charge, so please let us know if you're interested.&lt;/p&gt;

&lt;p&gt;If you have any questions about 'Engage!' or suggestions, we'd love to hear them. Just use the comments below.&lt;/p&gt;</content>
  </entry>
  <entry>
    <id>tag:www.lunarlogicpolska.com,2012-01-19:/blog/2012/01/19/ios-development-screencast.html</id>
    <title type="html">iOS development screencast</title>
    <published>2012-01-19T11:53:00Z</published>
    <updated>2012-01-19T11:53:00Z</updated>
    <link rel="alternate" href="http://www.lunarlogicpolska.com/blog/2012/01/19/ios-development-screencast.html"/>
    <content type="html">&lt;p style="text-align:center"&gt;&lt;iframe src="http://player.vimeo.com/video/35285331?title=0&amp;amp;byline=0&amp;amp;portrait=0" width="550" height="330" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen&gt;&lt;/iframe&gt;&lt;/p&gt;

&lt;p&gt;Everyone at Lunar Logic is good at something. And since no one is good at everything, it's nice to be able to share the knowledge and skills.&lt;/p&gt;

&lt;p&gt;One of the ways we do that is an internal event we call "workshops". Technically, these aren't workshops in the strict sense, but rather technical presentations with a lot of examples, where someone explains to everyone interested how to use some kind of framework or technology.&lt;/p&gt;

&lt;p&gt;I've recently done one such workshop, titled "Introduction to iOS development". This time, we've decided to make an experiment and record it as a screencast, and share it with everyone. We think it worked out pretty well – sorry for the sound quality though, let's hope it will be better next time.&lt;/p&gt;

&lt;p&gt;The screencast is mostly intended for people who haven't done much iOS development (or none at all), to give them a general idea what it looks like. It first shows how to generate an application from a template, what this application does and what each part of code is for. Then I quickly go through the code of an example application – a simple client for &lt;a href="http://rubytime.org"&gt;RubyTime&lt;/a&gt;, our time tracking webapp. I also show some examples how to use &lt;a href="http://github.com/LunarLogicPolska/LunarToolkit"&gt;LunarToolkit&lt;/a&gt;, an ObjC library we've shared recently on GitHub (note: it's referred to by its old name "PsiToolkit" in the screencast). If you've already written an app or two in UIKit, you might want to skip straight to around 22:00 where the RubyTime part starts.&lt;/p&gt;

&lt;p&gt;If you're just starting with iPhone development and ObjC code seems to you like something written by aliens, I also recommend that you read &lt;a href="http://psionides.eu/2008/10/05/learn-objective-c-in-30-minutes/"&gt;this blog post&lt;/a&gt; I've written some time ago, which explains the basics of the language to developers familiar with some other popular languages.&lt;/p&gt;

&lt;p&gt;If you want to play with the code yourself, here are the GitHub projects:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt; RubyTimeExample - &lt;a href="https://github.com/LunarLogicPolska/RubyTimeExample"&gt;https://github.com/LunarLogicPolska/RubyTimeExample&lt;/a&gt;&lt;/li&gt;

&lt;li&gt; LunarToolkit - &lt;a href="http://github.org/LunarLogicPolska/LunarToolkit"&gt;http://github.org/LunarLogicPolska/LunarToolkit&lt;/a&gt;&lt;/li&gt;

&lt;li&gt; RubyTime - &lt;a href="http://github.org/LunarLogicPolska/rubytime"&gt;http://github.org/LunarLogicPolska/rubytime&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;</content>
  </entry>
  <entry>
    <id>tag:www.lunarlogicpolska.com,2012-01-04:/blog/2012/01/04/global-coderetreat-day-video-report.html</id>
    <title type="html">Global CodeRetreat Day - Video Report</title>
    <published>2012-01-04T13:26:00Z</published>
    <updated>2012-01-04T13:26:00Z</updated>
    <link rel="alternate" href="http://www.lunarlogicpolska.com/blog/2012/01/04/global-coderetreat-day-video-report.html"/>
    <content type="html">&lt;p&gt;We decided at LLP that such event as Global CodeRetreat Day needs something more to commemorate it than just report and photos.&lt;/p&gt;

&lt;p&gt;We prepared a short report to let those who weren't at the event taste the atmosphere and for the participants - to remind them of the whole day spent on creative coding.&lt;/p&gt;




&lt;p style="text-align:center"&gt;&lt;iframe src="http://player.vimeo.com/video/34508071?title=0&amp;amp;byline=0&amp;amp;portrait=0" width="400" height="225"  frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen&gt;&lt;/iframe&gt;&lt;/p&gt;


&lt;p&gt;Thank you once more for coming! You can read the &lt;a href="http://www.lunarlogicpolska.com/blog/2011/12/14/krakow-global-code-retreat-day.html"&gt;report&lt;/a&gt; from Global CR Day and see the &lt;a href="http://www.flickr.com/photos/lunarlogicpolska/sets/72157628386044031/"&gt;photos&lt;/a&gt;.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>tag:www.lunarlogicpolska.com,2012-01-03:/blog/2012/01/02/notes-from-the-13th-sckrk-meeting.html</id>
    <title type="html">Notes from the 13th SCKRK meeting</title>
    <published>2012-01-03T13:34:00Z</published>
    <updated>2012-01-03T13:34:00Z</updated>
    <link rel="alternate" href="http://www.lunarlogicpolska.com/blog/2012/01/02/notes-from-the-13th-sckrk-meeting.html"/>
    <content type="html">&lt;p&gt;&lt;a href="http://sckrk.com"&gt;Software Craftsmanship in Kraków&lt;/a&gt; (shortly SCKRK) is a reading club that gathers every other Wednesday over a beer sponsored by Lunar Logic Polska to discuss articles and books related to Object Oriented Programming, Testing, Software Architecture and other interesting topics.&lt;/p&gt;

&lt;p&gt;The club was founded by our own &lt;a href="http://twitter.com/apohorecki"&gt;Adam Pohorecki&lt;/a&gt;, and over last year SCKRK, with help from Lunar Logic Polska, has organized two Coderetreats, one of which was facilitated by Corey Haines.&lt;/p&gt;

&lt;p&gt;Last week, the club discussed an article written by Kent Beck in 1989, titled &lt;a href="http://c2.com/doc/oopsla89/paper.html"&gt;"A Laboratory for Teaching Object-Oriented Thinking"&lt;/a&gt;. This article proposes a new method for describing and designing Object-Oriented applications - CRC Cards.&lt;/p&gt;

&lt;p&gt;CRC card (short for Class, Responsibilities, Collaborators) is a small piece of paper, on which the developer notes a name of the designed class, the responsibilities that class has, and the collaborators, which the class in question interacts with.
By limiting the space available for the description, CRC cards indirectly enforce limits on the number of responsibilities and collaborators of a class, and by making the developer specify all of the other objects the class interacts with, they help programmers used to the procedural programming style, to get rid of the bad habit of accessing global state.&lt;/p&gt;

&lt;p&gt;We started the discussion by wondering whether the method proposed by Beck is still relevant today in the age of agile software development, TDD and pair-programming.
Part of the group argued that these days, we do not design the systems upfront, and that the system design should be guided primarily by tests instead of a whiteboard.
Others suggested that even if we do not design upfront, we still often stop to figure out what to implement next and how to do it, and CRC cards could be used as a part of that step of the process.
There were also people who thought that this method could be used to model the system domain and help establish the Ubiquitous Language (which we learned about when SCKRK was discussing Domain-Driven Design).&lt;/p&gt;

&lt;p&gt;Finally, &lt;a href="http://twitter.com/mehowte"&gt;Michał&lt;/a&gt; stepped in and suggested that "Teaching" in the article's title is there not without a reason.
We all agreed that CRC cards can be a very useful when it comes to teaching programmers Object-Oriented Design and rules like Single Responsibility Principle.&lt;/p&gt;

&lt;p&gt;Later we tried to apply CRC cards to design a solution to a problem proposed by &lt;a href="https://github.com/hawkerb"&gt;Jarek&lt;/a&gt;.
In this situation in a system there are Places and Users which have Addresses and the view layer of this application presents those Addresses in multiple ways, often quite similar to each other.
After some heated discussion, which involved much more hand-waving than card-drawing, we arrived at a satisfactory solution: the Users and Places in this situation do not matter, only Addresses and their Formatting.
We decided that the system would consist of an Address class and many AddressFormatter classes, one per possible display format.&lt;/p&gt;

&lt;p&gt;Then the discussion started flowing towards Clean Code, and when can one accept increasing technical debt in order to get things done faster.
This provoked another discussion about the Lean Startup movement, and what &lt;a href="http://blog.obiefernandez.com/content/2011/07/the-next-big-leap.html"&gt;Obie Fernandez says&lt;/a&gt; about putting business value before implementation correctness and maintainability of "not business proven" features.&lt;/p&gt;

&lt;p&gt;The meeting lasted almost 3 hours and was one of our longest and most attended meetings to date.
The &lt;a href="http://sckrk.com/blog/2012/01/02/spotkanie-nr-14-working-effectively-with-legacy-code/"&gt;next meeting&lt;/a&gt; will take place on Wednesday the 4th of January, so if you are in Kraków and you are interested in Software Craftsmanship (or beer), be sure to come!&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>tag:www.lunarlogicpolska.com,2011-12-19:/blog/2011/12/19/ios-development-day-notes-from-the-cracow-mobi-conference.html</id>
    <title type="html">iOS development day – notes from the Cracow.mobi conference</title>
    <published>2011-12-19T09:34:00Z</published>
    <updated>2011-12-19T09:34:00Z</updated>
    <link rel="alternate" href="http://www.lunarlogicpolska.com/blog/2011/12/19/ios-development-day-notes-from-the-cracow-mobi-conference.html"/>
    <content type="html">&lt;p class="blog-image-center"&gt;&lt;a href="http://cracow.mobi"&gt;&lt;img src="/images/posts/cracow-mobi.png"&gt;&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;A week ago Polish mobile developers gathered in Krakow to take part in the &lt;a href="http://cracow.mobi"&gt;Cracow.mobi&lt;/a&gt; conference organized by the team behind &lt;a href="http://mobiledeveloper.pl"&gt;MobileDeveloper.pl&lt;/a&gt; and students of &lt;a href="http://www.en.pk.edu.pl"&gt;Cracow University of Technology&lt;/a&gt;, sponsored by Lunar Logic Polska.&lt;/p&gt;

&lt;p&gt;The presentations were chosen to cover a wide range of topics, so that every developer interested in mobile technologies could find something for themselves. The first day was divided into Android presentations in one room (including &lt;a href="http://www.blog.project13.pl/index.php/project13/1389/conference-deep-dive-into-roboguice-cracow-mobi"&gt;a great talk about RoboGuice&lt;/a&gt; by Konrad Malawski from LLP), and those concerning iOS development in another. The second day included mostly talks related to mobile web development and Windows Phone 7 OS.&lt;/p&gt;

&lt;p&gt;As a Cocoa developer, I was mostly interested in the iOS talks. The first one was done by Karol Kozimor and explained how to use threads to make your application's interface more responsive, or "snappy". Karol introduced us to Grand Central Dispatch, a technology included in MacOSX Snow Leopard and latest iOS, which uses blocks to define units of work which can be executed asynchronously in the background. Then he showed some examples of how we can use an older NSThread class together with ObjC run loops to correctly process incoming events from an I/O source. He also mentioned a recent discussion on social networks about differences in UI implementation and performance between iOS and Android.&lt;/p&gt;

&lt;p&gt;The next talk was presented by Michał Tuszyński and was about ways to persist various kinds of data between sessions of an iOS application. The technologies he mentioned included:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;NSUserDefaults, which can be used to store user's preferences, application state and other simple data&lt;/li&gt;
&lt;li&gt;NSCache, a key-value store similar to memcache, which automatically manages memory to make sure it doesn't run out&lt;/li&gt;
&lt;li&gt;archivers, which can be used to save any objects to binary files&lt;/li&gt;
&lt;li&gt;Core Data, a complex data persistence framework which can be used like a database&lt;/li&gt;
&lt;li&gt;and iCloud, a technology recently introduced by Apple for automatically syncing data between user's devices and storing it in the cloud&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;The talk that gathered the biggest audience was a non-technical one, by Tomasz Kolinko, who shared his experiences from making his own apps and showed some tips and tricks for independent iPhone developers to maximize the profits from the AppStore. First of all, he advised us against concentrating on the Polish market – it's simply too small to earn enough; you should instead plan to go global from the beginning, and target mainly American users at first. He gave us some SEO tips for making your app appear in the AppStore search results, and stressed the importance of choosing a right name and appropriate keywords (and monitoring them regularly after the app is released). He also gave us some advise on how to do marketing for your app, what works well and what you should not waste your time on.&lt;/p&gt;

&lt;p&gt;Overall, going to the conference has turned out to be a great idea, not only because of the talks, but even more importantly because for me it was the first chance to meet some iOS developers from other companies in person. The organizers did a good job (apart from the last minute changes in the agenda), and I hope there will be a second edition next year. I'd also love to see more iOS- and Cocoa-related events and meetups in Krakow and in Poland in general.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <id>tag:www.lunarlogicpolska.com,2011-12-14:/blog/2011/12/14/krakow-global-code-retreat-day.html</id>
    <title type="html">Krakow Global Day of CodeRetreat</title>
    <published>2011-12-14T14:41:00Z</published>
    <updated>2011-12-14T14:41:00Z</updated>
    <link rel="alternate" href="http://www.lunarlogicpolska.com/blog/2011/12/14/krakow-global-code-retreat-day.html"/>
    <content type="html">&lt;h2&gt;THE BACKGROUND&lt;/h2&gt;

&lt;p&gt;
  Programmers savour the challenges coding brings. Endless strings of letters interlaced with numbers surely made a young computer wonk feel like the Matrix’s Morpheus more than once.
  This may lead to exponential ego overgrowth and grass starting to grow where one’s trodden.
&lt;/p&gt;

&lt;p&gt;
  Or, how it happens in most cases, the individual starts the never-ending quest for knowledge, usually crowned with ‘guru’ status among developers.
  Such was the case with &lt;a href="http://twitter.com/#!/coreyhaines"&gt;Corey Haines&lt;/a&gt;, who came up with the idea of &lt;a href="http://coderetreat.com/"&gt;CodeRetreat workshops&lt;/a&gt; in 2009. As he put it:
&lt;/p&gt; 

&lt;p&gt;
  "The &lt;a href="http://coderetreat.com/history.html"&gt;idea&lt;/a&gt; was to develop a repeatable, day-long event that was focused on practicing the fundamentals of software development:"
&lt;/p&gt;

&lt;a href="http://lh6.ggpht.com/-O7PzPRyt_cY/TZyoHM_NBVI/AAAAAAAASiw/QMniTOd2FH8/P1000724.JPG" class="blog-image"&gt;&lt;img src="/images/posts/coreycrkrk042011.jpg" style="width:200px" alt="coderetreat"&gt;&lt;/a&gt;

&lt;p&gt;
  Over the course of the events, a plan emerged: Corey (or other facilitator, as the organisers came to be known) heralded a CodeRetreat event, programmers gathered,
  the coordinators put them in a room and asked to code in random pairs on a given subject within a fixed set of rules and short time limit. After the last code lines had been written,
  programmers’ work was immediately wiped clean and they discussed what they have just created. The course of mingling-writing-deleting-discussing was dubbed a session.
&lt;/p&gt;

&lt;p&gt;
  The method proved to be so effective that other coders took heed and coderetreats mushroomed all over the world.
  Lunar Logic Polska decided to step in and sponsored Corey Haines’s flight and stay in April 2011 in Kraków to facilitate the first CodeRetreat here.
  People from &lt;a href="http://coderetreat.sckrk.com/"&gt;Software Craftmanship Kraków&lt;/a&gt; took care of everything and the gallery from the Spring CR is available on their webpage.
&lt;/p&gt;

&lt;p&gt;
  After the event it was obvious that there is a need for such a gathering to take place more often, thus once more LLP funded and organised CodeRetreat,
  this time as a part of it's global dimension, dispatching Lunar’s own
  &lt;a href="http://twitter.com/ags313"&gt;Andrzej&lt;/a&gt;, &lt;a href="http://twitter.com/#!/ktosopl"&gt;Konrad&lt;/a&gt; and &lt;a href="http://twitter.com/#!/apohorecki"&gt;Adam&lt;/a&gt; to prepare the workshops on 3rd December 2011.
  The CR event was so anticipated that the available "tickets” were given out in a matter of hours and about 40 people showed up.
&lt;/p&gt;

&lt;h2&gt;THE EVENT&lt;/h2&gt; 

&lt;p&gt;
  The 3rd fell on a Saturday and the first coders started flocking in at around 8 AM, snatching rockpool-blue CodeRetreat t-shirts sponsored by LLP and designed by our own &lt;a href="http://twitter.com/#!/olamad313"&gt;Olga&lt;/a&gt;.
  The organisers greeted the participants at around 9 AM, briefly described the rules of CR and the problem they were to deal with - &lt;a href="http://www.bitstorm.org/gameoflife/"&gt;the Game of Life&lt;/a&gt; and wished them good luck.
&lt;/p&gt;

&lt;a href="http://www.flickr.com/photos/lunarlogicpolska/6498453781/in/set-72157628386044031" class="blog-image"&gt;&lt;img src="/images/posts/coderetreat000.jpg" style="width:200px" alt="coderetreat"&gt;&lt;/a&gt;
&lt;p&gt;
  Adam and Andrzej, along with Sebastian Bełczyk, the third facilitator, were hovering between the programmers always ready to give helpful advice,
  point out an overlooked problem or simply cheer up coders who came to a halt. Three 45-minute sessions passed, each focusing on different approach to the Game of Life:
  the 1st was just an introduction to the problem, during the second one facilitators suggested throwing the mouse away and at the third session programmers were urged to concentrate on
  &lt;a href="http://www.c2.com/cgi/wiki?XpSimplicityRules"&gt;the 4 rules of simple design&lt;/a&gt;. Each session ended with a coffee break, pair swap and a short discussion afterwards;
  the CodeRetreat morning concluded with a lunch from an Indian restaurant.
&lt;/p&gt;

&lt;p&gt;
  After the meal coders cooperated in another three sessions. The fourth was about testing - Adam, Andrzej and Sebastian encouraged people to "step up the testing ladder”,
  i.e. no tests - tests after - tests before - true tdd. After the fourth attempt to write the Game of Life there were two calls from other CodeRetreats: Łódź and New York. As for the fifth and five session,
  Adam described them shortly:
&lt;/p&gt;

&lt;a href="http://www.flickr.com/photos/lunarlogicpolska/6498451863/in/set-72157628386044031" class="blog-image"&gt;&lt;img src="/images/posts/coderetreat042.jpg" style="width:200px" alt="coderetreat"&gt;&lt;/a&gt;

&lt;p&gt;
  "In the fifth session we asked people to try programming either without loops or without conditionals. We also proposed the silent pairing exercise, which only a couple of people tried.
  In the last session we suggested "write the worst code you can" exercise."
&lt;/p&gt;

&lt;p&gt;
  After obliterating the last bits of code, the facilitators thanked the participants for a whole day of fun and invited them for a celebration which lasted up until midnight.
&lt;/p&gt;

&lt;h2&gt;CONCLUSION&lt;/h2&gt; 
&lt;a href="http://www.flickr.com/photos/lunarlogicpolska/6498453013/in/set-72157628386044031" class="blog-image"&gt;&lt;img src="/images/posts/coderetreat052.jpg" style="width:200px" alt="coderetreat"&gt;&lt;/a&gt;

&lt;p&gt;
  Global Day of CodeRetreat 2011 took place in more than 90 cities all over the globe. Hundreds of programmers met, churning out thousands lines of code and exchanging ideas,
  experience and different views on how programming should be done. LLP is proud to be a part of the GDCR 2011 success and hopes the event will be organised again next year. See you then!
&lt;/p&gt;

&lt;br class="clear" /&gt;</content>
  </entry>
  <entry>
    <id>tag:www.lunarlogicpolska.com,2011-12-08:/blog/2011/12/08/kanbanery-the-missing-manual.html</id>
    <title type="html">Kanbanery - The Missing Manual</title>
    <published>2011-12-08T14:59:00Z</published>
    <updated>2011-12-08T14:59:00Z</updated>
    <link rel="alternate" href="http://www.lunarlogicpolska.com/blog/2011/12/08/kanbanery-the-missing-manual.html"/>
    <content type="html">&lt;p&gt;Kanbanery, Lunar Logic Polska’s brainchild, has at last obtained a tool to tame its vast features - a long-awaited manual. Our Scrum Master, &lt;a href="http://www.twitter.com/#!/mr_jcb_1973"&gt;John Cieślik-Bridgen&lt;/a&gt; (possibly one of the most experienced users of Kanbanery there is - he uses it on almost all of our projects) devoted some of his time to elaborate on the subject and encapsulated in an easy way all the attributes of our kanban application. &lt;/p&gt;

&lt;p class="blog-image-center"&gt;&lt;a href="http://support.kanbanery.com/attachments/token/y7q9scmiqethtzc/?name=kanbanery_missing_manual.pdf"&gt;&lt;img src="/images/posts/nicecover.png" width="150"&gt;&lt;/a&gt; &lt;/p&gt;


&lt;p&gt;Kanbanery is a perfect tool designed to, as its motto says: “Supercharge your productivity”. 
&lt;br /&gt;
Our application facilitates information exchange among the team members of a project or allows one to organise one’s life better by ‘Getting Things Done’. It’s lightweight, simple and very effective and whilst it requires no additional training in order to make the best out of it, the new manual may well help you use Kanbanery even better.&lt;/p&gt;

&lt;p&gt;‘Kanbanery - the missing manual’ is available for download now from &lt;a href="http://support.kanbanery.com/entries/20749907-kanbanery-the-missing-manual"&gt;our support forum&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Before taking on John’s masterpiece, you might consider taking a look at LLP CEO Paul Klipp’s introduction to kanban - “&lt;a href="http://kanbanery.com/ebook/GettingStartedWithKanban.pdf"&gt;Getting Started With Kanban&lt;/a&gt;” &lt;/p&gt;</content>
  </entry>
  <entry>
    <id>tag:www.lunarlogicpolska.com,2011-11-29:/blog/2011/11/29/thinking-lean-acting-lean.html</id>
    <title type="html">Thinking lean, acting lean</title>
    <published>2011-11-29T09:32:00Z</published>
    <updated>2011-11-29T09:32:00Z</updated>
    <link rel="alternate" href="http://www.lunarlogicpolska.com/blog/2011/11/29/thinking-lean-acting-lean.html"/>
    <content type="html">&lt;p&gt;Over the last three years working as a Scrum Master at Lunar Logic Polska, I've worked on numerous startup projects that espouse a lean approach, doing their very best to develop a 'minimum viable product'. Our clients are often inspired by works such as Steven Blank's &lt;a href="http://www.amazon.co.uk/Four-Steps-Epiphany-Steven-Blank/dp/0976470705/ref=sr_1_1?ie=UTF8&amp;qid=1322516382&amp;sr=8-1"&gt;'The Four Steps to the Epiphany'&lt;/a&gt; and recently the rather more approachable &lt;a href="http://www.amazon.co.uk/Lean-Startup-Innovation-Successful-Businesses/dp/0670921602/ref=sr_1_1?s=books&amp;ie=UTF8&amp;qid=1322516430&amp;sr=1-1"&gt;'The Lean Startup'&lt;/a&gt; by Eric Ries. Outside of work, I'm continuing my personal and professional development by trying out some of the ideas I've learned whilst working with Lunar Logic Polska clients, and seeing what I can develop in the leanest possible way. Practising what we often preach, you might say. How difficult can it be?&lt;/p&gt;

&lt;p&gt;My idea is simple - I'm a cyclist who often orders clothing online. It's often very difficult to get the right size (particularly when comparing Italian sizing to almost any other nation on earth - I'm still shocked to be an 'XXL' Italian...), and the advice that often helps me the most is of the form 'if you're a &lt;i&gt;size x&lt;/i&gt; in &lt;i&gt;Brand X&lt;/i&gt;, you're probably a &lt;i&gt;size y&lt;/i&gt; in &lt;i&gt;Brand Y&lt;/i&gt;'. So what I would like to do is gather the knowledge of the crowd, and armed with real cyclists' experience, share this information with the community.&lt;/p&gt;

&lt;p&gt;As soon as I started talking about the idea, I got not only an enthusiastic reception, but also a wealth of ideas:&lt;/p&gt;
&lt;p&gt;'You'll need a great design'
&lt;br /&gt;
'You should try to scrape all the existing makers and sizes to prepopulate a database'
&lt;br /&gt;
'Get a really catchy domain name'
&lt;br /&gt;
'You should develop something that makes it really easy to get data from users'
&lt;br /&gt;
'You shouldn't just do cycling shoes - you should do all cycling clothing...'
&lt;br /&gt;
‘Don’t just do cycling clothing - do ALL clothing...’
&lt;br /&gt;
‘Team up with a huge retailer - that will make it easier’
&lt;/p&gt;

&lt;p&gt;And I'm sure this is a familiar feeling to many who would like to take an idea and develop it into something valuable - be it on the web, or in the world of bricks and mortar businesses. However, as soon as I started to ask myself the question 'what is the &lt;strong&gt;very simplest&lt;/strong&gt; way of &lt;strong&gt;getting started&lt;/strong&gt; with this?' I saw that I needn't necessarily develop anything at all in order to start engaging with users, gathering feedback, and learning whether this is a problem they would like to have solved. I also resolved to start with a small problem - getting the right size shoes, rather than trying to tackle too many issues at once.&lt;/p&gt;

&lt;p&gt;And so it is, that with (so far) a whole hour of effort putting together a very simple questionnaire on &lt;a href="http://www.surveymonkey.com/"&gt;SurveyMonkey&lt;/a&gt;, posting on some forums I frequent, and tweeting to a few influential cyclists, I have my first users contributing data, I've made my first mistakes (not including EU/US/UK sizing information - easy enough to add, but valuable to get the feedback FAST), and made my first simple changes to questionnaire. At a total cost of nothing (which is good, as it's the end of the month, and frankly things are a bit tight...).&lt;/p&gt;

&lt;p&gt;I'd love for this to grow into a more general system to help cyclists with all of their clothing orders, but I'm going for the simple proof of concept (will people give me their data? are they interested? do they think it's useful?) before seeing where my experiences lead me.&lt;/p&gt;

&lt;p&gt;The lesson I'd like to share first and foremost is that it can be much easier than you realise to get your project off the ground. Focus on the question - 'what is the very simplest way of getting started?', try to engage with real users, and get real feedback as soon as you can. You'll learn much more this way, and the simpler your approach, the more you will be able to react to early feedback.&lt;/p&gt;

&lt;p&gt;The initial survey is available at:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.surveymonkey.com/s/MVQW7PB"&gt;http://www.surveymonkey.com/s/MVQW7PB&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As I said - it's rough and ready, intentionally simple. But I've got users already. And I'm happy about that. Please share the link with anyone who may be able to contribute!&lt;/p&gt;

&lt;p&gt;Remember to check &lt;a href="http://twitter.com/mr_jcb_1973"&gt;my twitter account&lt;/a&gt; for updates!&lt;/p&gt;</content>
  </entry>
  <entry>
    <id>tag:www.lunarlogicpolska.com,2011-11-25:/blog/2011/11/22/global-code-retreat-day.html</id>
    <title type="html">Global CodeRetreat Day</title>
    <published>2011-11-25T10:20:00Z</published>
    <updated>2011-11-25T10:20:00Z</updated>
    <link rel="alternate" href="http://www.lunarlogicpolska.com/blog/2011/11/22/global-code-retreat-day.html"/>
    <content type="html">&lt;h2&gt;Coming soon - CodeRetreat 3.12.2011!&lt;/h2&gt;

&lt;p&gt;In a week’s time the first &lt;b&gt;Global&lt;/b&gt; Day of CodeRetreat will commence. This pioneer event will take place simultaneously in more than 80 cities in the world. Coders all around the globe will try their best against the &lt;a href="http://en.wikipedia.org/wiki/Conway%27s_game_of_life"&gt;"Game of Life"&lt;/a&gt; problem working in pairs and using different approaches to share techniques and gain valuable experiences aimed at improving their skills as software craftsmen. &lt;/p&gt;

&lt;p&gt;The Kraków edition will be held, like the April CodeRetreat, in &lt;a href="http://maps.google.com/maps/ms?ie=UTF8&amp;hl=en&amp;msa=0&amp;t=h&amp;msid=212171201882259476616.00049de683b5ce984a3b0&amp;ll=50.057635,19.944203&amp;spn=0.002941,0.008256&amp;source=embed"&gt;ABB on Starowiślna &lt;/a&gt;. The last meeting was very successful and tempted numerous coders to take part in it, especially with the founder of the Code Retreat concept, &lt;a href="http://coderetreat.com/"&gt;Corey Haines&lt;/a&gt;, supervising the whole endeavour. &lt;/p&gt; 

&lt;p&gt;Lunar Logic Polska was pleased to fly Corey to Krakow for the benefit of the local software community. We also sponsored dinner for the participants and the lovely t-shirts designed by our own Olga Madejska. &lt;/p&gt;

&lt;p&gt;&lt;a href="http://coderetreat.sckrk.com/gallery/"&gt;Here&lt;/a&gt; are some pictures from last year to whet your appetite:&lt;/p&gt;

&lt;p class="blog-image-center"&gt;&lt;a href="http://coderetreat.sckrk.com/gallery/"&gt;&lt;img src="http://coderetreat.sckrk.com/images/logo.gif" width="550"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://coderetreat.sckrk.com/"&gt;More information about Kraków Global CodeRetreat Day &lt;/a&gt;</content>
  </entry>
</feed>

