{{page.title}}
diff --git a/_layouts/splash.html b/_layouts/splash.html new file mode 100644 index 0000000..fcfab47 --- /dev/null +++ b/_layouts/splash.html @@ -0,0 +1,73 @@ + + + + + + +
+
+ {% include footer.html %}
+
+
+
\ No newline at end of file
diff --git a/_posts/2011-01-16-ideastrike.md b/_posts/2011-01-16-ideastrike.md
new file mode 100644
index 0000000..ea02337
--- /dev/null
+++ b/_posts/2011-01-16-ideastrike.md
@@ -0,0 +1,45 @@
+---
+layout: post
+title: "Week 3: Ideastrike"
+author: "@tobin"
+comments: true
+date: 2012-01-17
+---
+
+##This week's idea
+
+Two weeks down, and the momentum is strong - we've got a packed room over at [Jabbr](http://jabbr.net/#/rooms/code52), we've been featured on the [Github blog](https://github.com/blog/1024-a-new-coding-project-every-week-at-code52), and we've got two projects that are going strong.
+
+So now we're on to week three, and another idea from our community - [Ideastrike!](https://github.com/Code52/Ideastrike) (code to go up soon ;))
+
+**Our aim this week is to create a great site to give ideas and feedback, focusing on software development and good integration with other tooling.**
+
+There are many feedback and voting mechanism for ideas, but we think we can provide an open-source alternative, that is feature rich, simple, but powerful, and will be a great asset for the small guys trying to get started on projects.
+
+Here's an initial mockup from [@aeoth](http://twitter.com/aeoth) about how this might look.
+
+
+
+We've got a [Trello board](https://trello.com/board/ideastrike/4f137b417201526045146b8a) set up which we'll use to track the backlog of features and who's currently working on what feature - if you want access to the repository to help out, drop into the [JabbR](http://jabbr.net/#/rooms/code52) chatroom and get in touch.
+
+## What platform are we looking at?
+
+Well, we've had a lot of feedback this week about this being a ".NET only" group - we don't intend it to be that way, but as it was said on [The West Wing](http://en.wikipedia.org/wiki/The_West_Wing) - "Decisions are made by those who show up".
+
+We're looking for the primary group to start working with an ASP.NET framework - [Nancy](https://github.com/NancyFx/Nancy) as it's what some of us are familiar with, and what we think others with .NET experience will get up to speed on quicky. We also benefit from two [exceptional](https://twitter.com/grumpydev) [guys](https://twitter.com/thecodejunkie) who have been, and we hope will be, stopping by to offer support and advice.
+
+That being said, if some of the other communities out there - be it Java, Ruby, Python, Node.JS, Haskell, Erlang or Perl want to get involved - stop by, help us make decisions, and gather a group and code.
+
+We're happy to *have* help, we're happy *to* help.
+
+One idea we've had is if we collaboratively work on a set of specifications, so we can jointly create something that works cross-platform, for different scenarios and different communities - but a shared reference.
+
+We're happy to discuss it, to offer support, publicity where we can, but what we need is - if you're serious about contributing and you want to make this more than just about .NET, we need you to show up.
+
+##So what now?
+
+We'll be getting some code set up on the github in the next 24 hours, and discussing approaches and drawing up a battle plan in the chatroom - if you've got ideas you want, come in and discuss them with us (ping @aeoth, @shifty and @tobin in the room please), or leave a message on this blog post.
+
+Get into the chatroom at [JabbR](http://jabbr.net/#/rooms/code52) and join in on the fun!
+
+-- Code52 team
\ No newline at end of file
diff --git a/_posts/2012-01-09-downmarker-review.md b/_posts/2012-01-09-downmarker-review.md
index a242049..e3c610c 100644
--- a/_posts/2012-01-09-downmarker-review.md
+++ b/_posts/2012-01-09-downmarker-review.md
@@ -14,9 +14,9 @@ So we'd like to present to you **MarkPad**.
It comes with all the features you'd expect, and as you can see from the screenshot it includes an edit panel, live render, and the ability to push and pull posts from a MetaWeblog API endpoint (for blogs such as [Funnelweb](http://funnelweblog.com)).
-You can find it available for download on it's [own site here](http://code52.org/DownmarkerWPF).
+**[Try out the preview build](https://github.com/downloads/Code52/DownmarkerWPF/Markpad.1.0rc.zip)**, provide us [feedback](https://github.com/Code52/DownmarkerWPF/issues), or view the [source code](https://github.com/Code52/DownmarkerWPF)
-We'd like to thank everyone that came on board, and we had quite a few people who delivered great code all week, and a few who came in to deliver a feature here and there - and we can't thank you guys enough - you made this possible. We'd also like to thank [Chris Lindhartsen](http://clindhartsen.deviantart.com/art/Focus-Text-Editor-176271501) for permitting us to use his "Focus" metro-text editor UI mockups as inspiration for MarkPads design.
+We'd like to thank everyone that came on board, and we had quite a few people who delivered great code all week, and a few who came in to deliver a feature here and there - and we can't thank you guys enough - you made this possible. We'd also like to thank [Chris Lindhartsen](http://clindhartsen.deviantart.com/art/Focus-Text-Editor-176271501) for permitting us to use his "Focus" metro-text editor UI mockups as inspiration for MarkPad's design.
We have a series of daily updates that show our progress up and give some insight as to what happened, which you can find on the blog - we've separated them into their own feed if you're interested.
diff --git a/_posts/2012-01-09-jibbr.md b/_posts/2012-01-09-jibbr.md
new file mode 100644
index 0000000..97331c0
--- /dev/null
+++ b/_posts/2012-01-09-jibbr.md
@@ -0,0 +1,33 @@
+---
+layout: post
+title: "Week 2: Jibbr"
+author: "@shiftkey"
+comments: true
+date: 2012-01-10
+---
+
+
+After the success of the [first week](http://code52.org/downmarker-review.html) and being [Hanselman'd](https://twitter.com/#!/shanselman/status/156270525935656960), we found ourselves at a bit of a crossroad with what to take on next.
+
+'Git for Windows' is the most popular idea on the list, but we have some contributors who were relatively new to Git, and we'd rather ease them into using Git rather than throwing them under the Git bus.
+
+So the group in the chatroom started discussing other ideas over the course of today, and settled on another which would help us with our projects.
+
+We want a bot to listen into a JabbR chat room 24-7 to follow the action and execute tasks in the background. We want to write extensions to integrate with the systems we use to run projects. And we want to automate the boring bits.
+
+That's where JibbR comes in. Some things that JibbR might do:
+
+ * Send a message to the room about a GitHub pull request - no need to read email notifications.
+
+ * Log an issue discussed in Jabbr to GitHub's issue tracker.
+
+ * Take a idea raised in Jabbr and add it to UserVoice as a suggestion.
+
+This project uses [David Fowler's](http://twitter.com/davidfowl) work on the [Jabbot](http://github.com/davidfowl/jabbot) project as a starting point, and takes some inspiration from [Hubot](http://hubot.github.com/).
+
+
+There's already a number of features [suggested](https://github.com/code52/jibbr/issues) - so go suggest yours too before its too late.
+
+Want to get involved? Drop in to [JabbR](http://jabbr.net/#/rooms/code52) and join in!
+
+-- Code52 team
\ No newline at end of file
diff --git a/_posts/2012-01-10-line-endings.md b/_posts/2012-01-10-line-endings.md
new file mode 100644
index 0000000..3ca7a08
--- /dev/null
+++ b/_posts/2012-01-10-line-endings.md
@@ -0,0 +1,21 @@
+---
+layout: post
+title: Line Endings
+date: 2012-01-10
+comments: true
+---
+
+We're still learning Git and frankly it shows. We've hit an issue that can be best solved by copying a [wiki article](https://github.com/NancyFx/Nancy/wiki/Make-sure-line-endings-doesn%27t-bite-you-%28or-us%29) from [NancyFx](http://nancyfx.org/) nearly verbatim
+
+>##Make sure line endings doesn't bite you (or us)
+###All good things must come to an end..
+> Before you begin working with code52
+a new coding project every week
+
+ {% include latest_project.html %}
+
+ {% include goals.html %}
+
+ {% include get_involved.html %}
+
+ {% include past.html %}
+
+ {% include links.html %}
+
+ + + +As the [three](http://twitter.com/tobin) [of](http://twitter.com/shiftkey) [us](http://twitter.com/aeoth) have been discussing the next Code52 project to undertake, we've been discussing how we can solicit awesome ideas for projects. While the UserVoice site has served us well initially, the ideas we are currently seeing fall into three different buckets: + +* **Great idea, but constrained** - an idea which is constrained by access to some resource, e.g. hardware, operating system. +* **A replacement for X** - an idea to replace an existing tool (FOSS or otherwise), for whatever reason +* **Needs more work** - an idea which we've tried to reach out to the author to clarify + +## How do we address these issues? + +The first one, while seeming impossible, can actually be resolved if we have people on board who have access to the necessary hardware. This could be as simple as having a project schedule and allowing contributors to indicate their availability (and interest) in specific projects. There are other workarounds possible, but these require more logistical effort which we don't have the time to organise currently. + +The "replacement for X" ideas are an interesting topic (the underlying discussion for why it is that way is a discussion for another day). There was a fantastic quote from Dmitry Baranovsky last week at a user group: (may be paraphrasing) *"the good thing about reinventing the wheel is that sometimes you actually get a circle"*. This reflects my philosophy on building "replacement" tools. Yes, you can do it. But are you actually looking to create a better tool? When one suggests a "replacement for X" idea, the suggestion should include *how* the idea is different to what we have currently. + +The last group is perhaps a side-effect of our organisational efforts. We've been swamped this week since Code52 picked up a lot of interest in the interwebs, and while there's been some great discussion in the JabbR chatroom (just don't mention autocrlf there :) ), we haven't had the bandwidth we'd hoped to clarify ideas in depth. + +## So what is a good idea anyway? + +After discussing this over the weekend, we've come up with a few questions that future idea submissions should keep in mind: + +### **Can it be done in a week by a handful of developers?** + +We're not after the idea that you will make millions from, or an idea that will let you quit your job and become famous on [YCombinator](http://ycombinator.com/). We're after ideas that's been sitting on the backburner that you don't have the time for at the moment, or that you want/need help to implement. Let us have a shot at it for you, or join us and lead a team through developing it for you as an OSS project. + +We want to deliver something of value each week, and large projects are not feasible currently. But if there's something specific within your idea we could implement as a project, tell us! + +**Note:** *We are exploring how larger projects could fit within this concept, and breaking a big project down into a series of smaller projects may be the best way to achieve this.* + +### **Why would you like to see this idea implemented?** + +I said recently on Twitter that the most rewarding OSS projects are driven from a selfish need. Even something as simple as "I wish Product XYZ did {list of things}" can help start the discussion. + +Often we (the organisers) will do a simple Google search for existing products to compare and contrast with a suggested idea. If we cannot differentiate between an existing product and your idea, the idea is likely to have limited success. We will update the idea with our feedback and leave an opportunity to follow up - but the more information you can provide us with, the better armed we are to define the brief associated with a project. + +### **How can I help out?** + +Not everyone is a developer. But everyone can help out to ensure a project succeeds. Great software has many inputs which aren't code - documentation, design, user experience, co-ordination, etc. - and many hands make light work. + +### **What cool features can you suggest?** + +This may be the toughest question to answer. If you can provide us with more details around what you imagine the software doing, that: + +* gives the organisers more context to organise the project brief +* gives everyone an opportunity to refine the idea further +* gets people interested in executing the idea + +## And the next idea? + +It actually ties into this discussion. We've mentioned it in the chatroom over the weekend to gauge interest, but will officially announce it later tonight (AEDST). + +**We'd love to hear feedback on this - we're doing this to involve the community, and we can only guess the right approach if we don't hear your views on this.** + +-- Code52 team \ No newline at end of file diff --git a/_posts/2012-01-23-ideastrike-review.md b/_posts/2012-01-23-ideastrike-review.md new file mode 100644 index 0000000..00bed09 --- /dev/null +++ b/_posts/2012-01-23-ideastrike-review.md @@ -0,0 +1,66 @@ +--- +layout: post +permalink: /ideastrike-review.html +date: 2012-01-20 23:59 +title: "Ideastrike: Recap" +author: "@aeoth, @shiftkey and @tobin" +comments: true +--- + +A bit of a chaotic weekend, but it finally came together and we have another project to unveil. + + + +[Ideastrike](http://github.com/Code52/Ideastrike) - which we will switch to once it has the features we require to replace our existing site - is a web application for suggesting, discussing, planning and executing project ideas. + +## Curent Features + +So what did we get done in a week? + + * The website uses [NancyFx](http://nancyfx.org/) - a super-duper-happy-path web framework running on ASP.NET (also runs in other places). + * User authentication is done via [Janrain](http://www.janrain.com/products/engage) which means users don't need to create new accounts, and administrators don't need to manage accounts either. + * Markdown support just about everywhere on the site. If you have space for more than a sentence, we've added Markdown support. And a preview mode too, using [Showdown](http://showdown.im). + * [Twitter Bootstrap](http://twitter.github.com/bootstrap) has been used as the baseline for our site theme. + * Image Uploading using the [jQuery File Upload](http://blueimp.github.com/jQuery-File-Upload/) plugin - attach files to an idea. + * Oh, and running on AppHarbor [right now](http://ideastrike.apphb.com/). I wish I had more screenshots of the testing from earlier today - here's something more recent. + + + + + +**Note:** this is a non-production environment and will be treated as such by us in the short-term. Any ideas you want to keep for posterity should go on our [Uservoice](https://code52.uservoice.com/forums/143105-code-52) site, not on AppHarbor. We will let you know when that's ready to go. + + +## Fun stats + +We had 14 separate contributors this week and 50 pull requests accepted - our busiest week so far. + +The [punch card graph](https://github.com/Code52/Ideastrike/graphs/punch_card) over at GitHub this week also tells a story. + +
String Calculator from Corey Haines on Vimeo.
+ +Watch the stream of characters in the bottom-left corner of the screen as [Corey](http://twitter.com/coreyhaines) works his way through the kata. I am not familiar with the tool (perhaps someone in the audience knows it) but I fell in love with it's purpose immediately. While not practical for all scenarios, it is something that can be very useful for viewers to follow along with during a presentation. You could even filter it to only show keyboard shortcuts (like Keyboard Jedi). + +## Taking it to eleven + +The JabbR room were throwing around ideas last on Sunday around what other cool things you could do with this tool: + + * Is it possible to export shortcuts captured to a video editing program (rather than displaying them onscreen)? + * What about tracking statistics about the session - mistakes, navigating with keyboard, time spent using mouse, etc. What about over time? Is someone overusing specific shortcuts? + * Can we bundle keyboard shortcuts for typical apps you use? Can we detect shortcuts used by that user for that application and share them with the world? + * Can we bring back [Typing of the Dead](http://en.wikipedia.org/wiki/The_Typing_of_the_Dead) already? + +## The technology underneath + +As we have a few contributors who are familiar with WPF, we will be using that to write it. Sorry Winforms developers. Hopefully we can show off some cool tricks along the way about visuals and animations work with WPF. + +## Follow the chatter + +What we're looking for this week is coders and testers. Its a very specific app, but could open up a number of possibilities for developers to work on stuff. We use [JabbR](http://jabbr.net/#/rooms/code52) heavily to discuss stuff in real-time - if you want to get involved, drop in on the action. If you can't keep up, don't worry - JabbR also supports browsing the conversation history of a room (just scroll up to go back in time), so you can catch up on the discussion easily. + +## How can I get involved? + +The initial project is up on [GitHub](http://github.com/Code52/carnac). The [Trello board](https://trello.com/board/carnac/4f38fe6ec2fe26391c4e7d34) will be updated over the course of today/tomorrow as we sketch out the UI and features to implement. And of course the [JabbR](http://jabbr.net/#/rooms/code52) room is worth checking out too! \ No newline at end of file diff --git a/_posts/2012-02-19-designing-code52-part1.md b/_posts/2012-02-19-designing-code52-part1.md new file mode 100644 index 0000000..7ae3968 --- /dev/null +++ b/_posts/2012-02-19-designing-code52-part1.md @@ -0,0 +1,68 @@ +--- +layout: post +title: "Designing Code52: Part 1" +date: 2012-02-19 13:40:48 +11:00 +comments: true +--- + +Code52 is an interesting mix of technologies that will always require something most developers are lacking: design. There has recently been the rise of the "devigner" - a developer who can do design, or even the other way around (particularly with web tech), and there are always exceptions to the case where somebody is equally good at design as they are at developing. Unfortunately - at least in the .NET world we've been looking at so far - this isn't the norm *yet*. + +While this might sound like bragging (because some of our designs are nice), what we mean is "*design is hard when coming from the developer side*" hard work and practice - just like any new programming technique - is all it requires. + +Over the coming weeks we'll share what process we go through for design, as well as the inspirations and resources we draw on to improve our designs. + +Today, however, I wanted to share some of the tools - both digital and physical - that I use for designing Code52. + +##Physical Media +Yes, I go "old school" for just about every design. We still live in a world where its easier to quickly sketch something by hand, then spend more time making it more accurate digitally + +###Pens +The best investment for design sketching I've made is the set of [Sakura Pigma Micron](http://www.sakuraofamerica.com/Pen-Archival), size 005 (0.20mm tip) pens I have. The tiny pen tip allows for very fine drawing, and the lovely ink doesn't smudge. + + + +While $3-5 a pen might seem expensive, these suckers *last*. [Miguel Endara](http://vimeo.com/miguelendara) drew a piece of art composed of 3.5 million dots (a technique known as [stippling](http://en.wikipedia.org/wiki/Stippling))... with just one of these pens. + + + +I don't *only* use Sakura pens - I also have a [Staedtler Mars Micro](http://www.staedtler.com.au/Mars_micro_au) mechanical pencil (which is "ok") and a [LAMY Logo fountain pen](http://www.lamy.com/eng/b2c/logo/006) with EF nib (which is awesome). Most people would just write with a fountain pen (which it *excels* at), but the broader tip (than the Sakura pens) and particular type of ink produce fantastic results. + + + +###Paper +I use a mix of paper - three different notepads and a draughtsman table with some random A3 paper I've found. At the moment my wife and I are house sitting for friends, and we haven't moved the table so I can't grab a photo of that, but here are the three notepads. + + + +From left to right, a hardback [Whitelines](http://whitelines.se/) A5 notebook (grid ruled), a [Rhodia](http://rhodiapads.com) "#15" (same as the #16, but 300 pages instead of 90) A5 (grid ruled) and an unruled A5 notebook I was gifted - it doesn't have a clear brand on it, so I can't provide more details. + + + +I have also been considering a more "pocketable" A6 notepad to take everywhere with me - if you've got any suggestions, leave a comment below. + + +##Digital Media +###Hardware +While I'd love a Wacom Cintiq (if any philanthropists are listening!), I "make do" with the Wacom Bamboo I have - it's a few years old now and bottom of the range, but still a very nifty tool. + + + +The tablet came in particular handy for [Samurai](http://code52.org/samurai-review.html)'s design, as we wanted to maintain a "hand drawn" look. + +###Software +Adobe Illustrator and Photoshop - when it comes to vector and bitmap manipulation, there isn't much better. In Photoshop CS5, proper "painting" brushes were introduced which puts Corel's Painter to shame. + + +**Icons** +For icon generation, we had some unpleasant results using Paint.NETs export, so we've moved to using Telegraphics (free!) [Photoshop ico exporter plugin](http://www.telegraphics.com.au/sw/product/ICOFormat) and combining with their (still free) [IcoBundle](http://www.telegraphics.com.au/sw/info/icobundle.html). This allows very fine tuning of resizing and what format. + +Why is this needed? Well, Windows XP will crash and burn when you run any app with a "PNG ICO", requiring the much uglier (and larger) "BMP ICO". + +The "work flow" for this: + +* Resize each "size/layer" in Photoshop using *"Bicubic Sharper (best for reduction)"* +* Manually tweak a few pixels here and there the smaller it gets for legibility (Optional) +* Save as `imagesize.ico` (ie, `256.ico`, `64.ico`) - make sure its a square image - and select "Standard ICO" as the output format. +* Once all the sizes are exported, from a command line `icobundl.exe -o projectname.ico 256.ico 128.ico 64.ico`. + +This gives ~200-500kB icons compared to PNG's that would be 20-60kB, but this is the only way to maintain compatibility (and good scaling) on Windows XP up. \ No newline at end of file diff --git a/_posts/2012-02-20-carnac-review.md b/_posts/2012-02-20-carnac-review.md new file mode 100644 index 0000000..9f14513 --- /dev/null +++ b/_posts/2012-02-20-carnac-review.md @@ -0,0 +1,55 @@ +--- +layout: post +permalink: /carnac-review.html +date: 2012-02-20 23:00 +title: "carnac review" +author: "@aeoth, @shiftkey and @tobin" +comments: true +--- + +What started out as an excuse to watch [Youtube](http://www.youtube.com/watch?v=9m_dT0wsrGI) clips and make jokes about turbans quickly turned into a neat little tool called Carnac, for those people who want to display their keyboard activities on screen. + ++ + + +## Progress! + +After a week of WPF and Win32, we've implemented a number of awesome features already: + + * Using WPF to render an "invisible" window and process key presses under the hood. + * Overlaying activity over the current window - position, opacity, colours, font-size all customizable. + * Detect the active application and match up a shortcut with a known list of values. + +A couple of other features are in progress: + + * Password mode - detect a shortcut and hide the output until the shortcut is pressed again. + * Extending the shortcut API so that other apps can be integrated - YAML markup is used to represent the available shortcuts and can be downloaded from a remote site to the local machine. + * Support for "modes" which eliminate the noise of some keystrokes based on configuration - only show shortcuts, only show shortcuts for XYZ, etc... + + And a few features didn't get started: + + * Tracking statistics and trends of keyboard activity - we wanted to use RavenDB as an embedded database. + * Reporting based on historical data - just how awesome are you? + +## Carnac in action + +Here's a couple of videos from @shiftkey demonstrating the latest build of Carnac (you can download this build from [the project site](https://github.com/Code52/carnac/downloads) and try it out yourself). + +### Customsing the Carnac UI + + + +### R# shortcuts in Carnac + + + +## What's next for Carnac? + +We're getting the groundwork together the next project at the moment, but we're looking for people to help out with: + + * testing - there may be some issues with Windows XP and Vista environments. + * finding and fixing bugs - all the hot forking action is on [GitHub](http://github.com/code52/carnac). + * grabbing a task from [Trello](https://trello.com/board/carnac/4f38fe6ec2fe26391c4e7d34) - if you want to get into some dev, get in touch and we can add you to the board. + * hanging out in the [JabbR](http://jabbr.net/#/rooms/code52) room if you have any input or suggestions for features. + diff --git a/_posts/2012-02-20-github-for-outlook.md b/_posts/2012-02-20-github-for-outlook.md new file mode 100644 index 0000000..28f211c --- /dev/null +++ b/_posts/2012-02-20-github-for-outlook.md @@ -0,0 +1,36 @@ +--- +layout: post +permalink: /github-for-outlook.html +date: 2012-02-21 23:00 +title: "GitHub Tasks for Outlook" +author: "@aeoth, @shiftkey and @tobin" +comments: true +--- + +Unfortunately this is looking like a busy week for many of us, so we're taking the time out this week to do a relatively straightforward idea which was spawned recently in the JabbR room. + +While we are heavy users of GitHub, the notifications area of GitHub leaves much to be desired. We've already experimented with mobile clients and desktop clients to make this stuff easier, but a conversation last week around "why not use Outlook?" lead to a candid discussion and a simple specification. + +## What will GHT4O do? + +The tool should give you an overview of the important things you need to address for the projects you look after: + + * New and updated Pull Requests. + * New and updated Issues. + * Display notifications as configured on GitHub. + * View and respond to comments from inside Outlook. + * Leverage Outlook features like email, labels and perhaps tasks to integrate GitHub work with the rest of your day-to-day work. + + +## The technology under the hood + +The most popular tool of building addins for Microsoft Office is called Visual Studio Tools for Office - which allows .NET apps to integrate and behave like native Office addins. There's a bunch of resources on getting started with VSTO over on [MSDN](http://msdn.microsoft.com/en-us/office/hh133430). + +We will be using WPF for the UI, but the real project we will leverage is [Jake Ginnivan's](http://twitter.com/JakeGinnivan) [VSTOContrib](http://vstocontrib.codeplex.com/) libraries - this will allow us to quickly scaffold the code without getting bogged down in COM interop woes. + +We're also talking with @aeoth about making use of some of his recent work on a desktop port of the ["Milestone"](http://quandtm.github.com/Milestone/) GitHub client for WP7. This isn't cruical to the end goal of the week, but after using Reactive Extension in Carnac we're keen to make use of it in other scenarios. + + +## How can I get involved? + +The initial project is up on [GitHub](http://github.com/Code52/github-for-outlook). The [Trello board](https://trello.com/board/github-tasks-for-outlook/4f4234cdbfa22c0070ac4caa) will be updated over the course of today/tomorrow as we sketch out features and workflow ideas to implement. And of course the [JabbR](http://jabbr.net/#/rooms/code52) room is worth checking out too! \ No newline at end of file diff --git a/_posts/2012-02-27-github-for-outlook-review.md b/_posts/2012-02-27-github-for-outlook-review.md new file mode 100644 index 0000000..a2c9edc --- /dev/null +++ b/_posts/2012-02-27-github-for-outlook-review.md @@ -0,0 +1,55 @@ +--- +layout: post +permalink: /github-for-outlook-review.html +date: 2012-02-27 23:00 +title: "Github Tasks For Outlook - Review" +author: "@aeoth, @shiftkey and @tobin" +comments: true +--- + +The past week we decided to work on a smaller idea, that had ballooned into something larger as we discussed it. In the end Github Tasks For Windows was taken back to the essence of the idea for week one, but we have ideas to keep improving it after this. + +The current state of the project will work, and is ready to test out - but we won't be releasing a build this week until we get some bug testing done. In the meantime, we welcome downloading the source and running it to test out for us and review! + + +@aeoth has done up an icon for us to show off - it's not in the plugin yet, but it looks pretty awesome so we wanted to share: + + + + +## Current Features + +Entering your Github settings, basic authentication so far (username and password) + + + + + +You can also upload your emails as a new request... + + + + + +And you can enter Milestones and assign users for the request... + + + + + +The darker gray denotes repositories that don't allow issues, so you can see all your repositories you're active on, but also see that you may need to turn issues on to post to certain ones. + + +## What's next for the plugin? + +We're planning on getting OAuth login put in place, setting it up so that issues created on Github get synced back to your tasks in Outlook, add other emails as additional comments to an existing issue, and more... + + +If you want to help, have some experience with Visual Studio Tools for Office, or want some, come on board! + + * the source is up on [GitHub](http://github.com/code52/github-for-outlook). + * as always there's a feature list to complete up on [Trello](https://trello.com/board/github-tasks-for-outlook/4f4234cdbfa22c0070ac4caa) - if you want to get into some dev, get in touch and we can add you to the board - take a job or add a feature you'd like to see in there. + * hanging out in the [JabbR](http://jabbr.net/#/rooms/code52) room if you have any input or suggestions for features. + + +We're seeing a lot of great features and fixes coming in to all our projects, and we hope you're checking them out and enjoying them too! \ No newline at end of file diff --git a/_posts/2012-02-27-internationalization-mvc4.md b/_posts/2012-02-27-internationalization-mvc4.md new file mode 100644 index 0000000..b36e943 --- /dev/null +++ b/_posts/2012-02-27-internationalization-mvc4.md @@ -0,0 +1,28 @@ +--- +layout: post +permalink: /internationalization-mvc4.html +date: 2012-02-27 22:00 +title: "Internationalization Packages for MVC4" +author: "@aeoth, @shiftkey and @tobin" +comments: true +--- + +Internationalization of websites - being able to render a site in different languages based on the target audience - is not a new problem, and a collection of guidance and tricks that people have shared over the years to simplify this when building ASP.NET apps is out there on the interwebs. + +So why not bring all these tricks together? + +[This idea](https://code52.uservoice.com/forums/143105-code-52/suggestions/2602751-internationalis-zed-mvc4-project-template) had a massive spike of interest last week and rocketed up to the #2 spot, so we've taken that as a sign to start this off as soon as possible. Much love to [Scott Hanselman](http://hanselman.com) for suggesting the idea (indirectly) and promoting it on Twitter, and apologies for doing this during the [MVP Summit](http://mvp.support.microsoft.com/MVPsummit) when he'll be busy herding cats :) + +## What are we building? + +We want to put together a set of NuGet packages so that developers can add globalization and localization into a new or existing application, covering both server- and client-side components. + +The packages will contain code which people have shared that has helped them build applications - we started a discussion last week on [sync.in](http://sync.in/ltlbzbgOQx) about ideas and things we've found. This formed the initial set of features on [Trello](https://trello.com/board/internationalization-mvc4/4f49efbbd105c95e0c12332e) but we are open to other features if people want to share their own tricks. + +We are also planning a demonstration website which has these features implemented, and documentation guiding developers through the features. The first priority is a C# MVC website, but we are happy to work with the VB and WebForms developers in the future to port this functionality to other scenarios once the basics are in place - so get in touch and see how you can help speed this up! + +## How can I get involved? + +A sample website and the scripts to generate the NuGet packages are up on [GitHub](http://github.com/Code52/internationalization-mvc4). The [Trello board](https://trello.com/board/internationalization-mvc4/4f49efbbd105c95e0c12332e) has some tasks which are ready to be started. + +Unfortunately you need to be granted access to the board before you can assign yourself to a task, so create an account and drop into the [JabbR](http://jabbr.net/#/rooms/code52) room to get in touch! \ No newline at end of file diff --git a/_posts/2012-03-05-finances-winjs.md b/_posts/2012-03-05-finances-winjs.md new file mode 100644 index 0000000..6fb6361 --- /dev/null +++ b/_posts/2012-03-05-finances-winjs.md @@ -0,0 +1,29 @@ +--- +layout: post +permalink: /finances-windows8.html +date: 2012-03-05 23:00 +title: "MyFinances for Windows 8" +author: "@aeoth, @shiftkey and @tobin" +comments: true +--- + +With the release last week of Windows 8 Consumer Preview, we've decided its time to dive into doing something related to the new development stack - we've got a few ideas in mind but the one we're going to run with is [this idea](https://code52.uservoice.com/forums/143105-code-52/suggestions/2465806-winrt-line-of-business) - demonstrating how to build a business-style application on WinRT. + +## Goals + +The goal of this project is to build an application that supports entering, importing and reporting on personal financial data - income and expenses mostly. We want to keep the scope simple for the initial week's work, but we may expand on it down the track based on interest and feature requests. + +We're looking to show off how you put together a Javascript-based application for WinRT, and make it a sexy demonstration for the capabilities of the platform - touch, integration with hardware and cloud services, applying Metro design principles to a real-world application, and so on. + +  + +*A crude mockup I did last night of one of the potential screens.* + +## How can I get involved? + +We'll set up the project structure on [GitHub](https://github.com/Code52/winrt-finances) tomorrow. The [Trello board](https://trello.com/board/winrt-finances/4f54b11dde0de5752b235a9d) also needs some love, so stay tuned for that tomorrow. Got some ideas? There's people in the [JabbR](http://jabbr.net/#/rooms/code52) room to discuss ideas with. + +If you are not familiar with WinJS, I suggest having an experiment with the project templates included in VS11. And although they were talking about the Developer Preview of Windows 8, many of the [BUILD videos](http://channel9.msdn.com/Events/BUILD/BUILD2011) discuss building Metro-style applications and are a great starting point for understanding more about the platform. + +These [two](http://channel9.msdn.com/Events/BUILD/BUILD2011/BPS-1004) [session](http://channel9.msdn.com/Events/BUILD/BUILD2011/BPS-1005) in particular are worth watching. + diff --git a/_posts/2012-03-05-i18n-recap.md b/_posts/2012-03-05-i18n-recap.md new file mode 100644 index 0000000..4e67f2c --- /dev/null +++ b/_posts/2012-03-05-i18n-recap.md @@ -0,0 +1,102 @@ +--- +layout: post +permalink: /internationalization-recap.html +date: 2012-03-05 22:00 +title: "Recap: i18n Packages for MVC4" +author: "@aeoth, @shiftkey and @tobin" +comments: true +--- + +Rather than boring you with the details of how this week went - it was quiet, then chaotic towards the end - I thought I'd run you through the packages you can install today and see the hard work done. + +These packages are split up so that users can pull in the features that they want in their applications, but if you want to start with a new application you can get started quickly. + +**Warning**: these packages are not yet available on the official NuGet repository. If you are feeling bold, add this feed to your NuGet Package Source settings: **http://www.myget.org/F/Code52** - this contains the latest alpha builds. These packages may drown puppies and kick kittens. Please log any and all feedback you have on the [GitHub site](https://github.com/Code52/internationalization-mvc4/issues). + + +
+
+
+The core package contains a helper class for mapping a locale code to a CultureInfo object, with additional helper methods to identify culture-related information.
+
+This also includes a config transform to enable globalization on your website.
+
+
+
+
+
+
+
+
+
+These packages extend the core and allow a user to override their current region inside your application. There are two pieces to this:
+
+ * A ```LanguageController``` to handle requests from the browser and set a cookie value.
+ * A ```LanguageFilterAttribute``` set globally to detect the cookie and set the culture for the current user to a different value.
+
+
+
+
+
+
+
+
+
+These are the sample sites which have controllers, views and resources all ready to go. It is recommended that you install these into a **Blank** MVC Project as that's the scenarios we've been testing currently.
+
+Cool features:
+
+ * jQuery.globalize support
+ * ModelMetadataProvider using [Phil Haack's)[http://haacked.com] [ConventionalModelMetadataProvider](http://haacked.com/archive/2011/07/14/model-metadata-and-validation-localization-using-conventions.aspx) POC.
+
+## 10 Second Introduction
+
+A very quick walkthrough after installing the example site package. You should see a page resembling this:
+
+ 
+
+*Start the application and you'll see the label in the top-left with your current language.*
+
+ 
+
+ *Click on it to slide down a selector with the available languages.*
+
+ 
+
+ *Pick one and the cookie gets set, reloads the page, and displays the new language.*
+
+A special shout-out to [David Christiansen](http://twitter.com/dchristiansen) who has been a great help this week with his tips and tricks like the above.
+
+## When will it be ready-ready?
+
+We'll let you know (by pushing the packages to NuGet officially and tweeting) when its stabilised and ready for general use. We're already gathering feedback on this so hopefully later in the week we can start planning for official releases.
+
+**Note:** Please read the App_Readme before diving straight in - you need to change the _ViewStart.cshtml file to point at the different template:
+
+ @{
+ Layout = "~/Views/Shared/_Layout.Code52.cshtml";
+ }
+
+
+## But wait, there's more?
+
+There's a lot more to this story - we timed it when we thought we'd get a lot of interest (sadly that didn't eventuate), and I know there are people keen to get involved.
+
+ * Pseudoizer - the build has the ability to generate test resources so you can verify the localization of a site, but we haven't got this integrated into a project.
+ * DateTimeOffsetModelBinder - this has been started in [a fork](https://github.com/shiftkey/internationalization-mvc4/tree/ModelBinder-DateTimeOffset), but requires some polishing before we can merge it in to master.
+ * NuGet - the packages are generated from a build script, and there's some things we'd like to do that require some more Powershell skills and understanding the hooks available in ```install.ps1```. For example, pointing _ViewStart.cshtml to use a custom layout page rather than the default.
+ * Support for other versions/view engines/languages.
+ * Improved styles for the project templates - unfortunately the blank project templates are a bit plain...
+
+As we had a lot of interest in this idea, and the number of features still available to implment, I hope this is just the beginning.
\ No newline at end of file
diff --git a/_posts/2012-03-12-scanner.md b/_posts/2012-03-12-scanner.md
new file mode 100644
index 0000000..b0b7042
--- /dev/null
+++ b/_posts/2012-03-12-scanner.md
@@ -0,0 +1,62 @@
+---
+layout: post
+permalink: /enhance.html
+date: 2012-03-12 23:00
+title: "Enhance - a Scanner"
+author: "@aeoth, @shiftkey and @tobin"
+comments: true
+---
+
+One of the earlier ideas we had, from [Scott](http://twitter.com/shanselman/) [Hanselman](http://hanselman.com/), on our [Uservoice](https://code52.uservoice.com/) was a scanner utility that had a metro look and feel.
+
+We've put it off a few weeks as we looked at projects that would help us out with administrating Code52 like [MarkPad](http://code52.org/DownmarkerWPF/) and [Pretzel](http://code52.org/pretzel/) whose sites have had a facelift lately, and have had large changes and improvements since being created.
+
+But we've always had it in the backs of our minds as a fun project, some of us have gone out and gotten some hardware to participate, and now we're set to go!
+
+## Goals
+
+What we really want, is to start simple - a scanning tool that builds on top of the Windows built in systems, but restyles the dialogs and pages into a metro look and feel, and simplifies the act.
+
+Then we want to look at extending it - offering some basic image processing functions like straightening the image, or basic color correction.
+
+And finally we want to extend it further with parts to handle some document management/OCR (to index what you've scanned for future reference), and so you can do things like upload what you've scanned to dropbox/rackspace/skydrive and similar.
+
+
+## Some helpful starters
+
+Pete Brown's [WIA Example](http://10rem.net/blog/2010/01/08/scanning-images-in-wpf-via-wia) and [image rotation](http://10rem.net/blog/2010/03/24/rotating-and-cropping-an-image-in-wpf) and a [Silverlight](http://10rem.net/blog/2010/04/14/scanning-an-image-from-silverlight-4-using-wia-automation) one for kicks.
+
+[@aeoth's](http://twitter.com/aeoth) [WIA and OCR](http://www.theleagueofpaul.com/codesnippet-scanning-with-wia-and-ocr-with-office) post.
+
+[Scanning from an Auto Document Feeder in C#](http://ithoughthecamewithyou.com/post/Scanning-from-the-ADF-using-WIA-in-C.aspx)
+
+An [ADF library on Codeplex](http://adfwia.codeplex.com/) also cloned [on Github here](https://github.com/thegiddygeek/AutoDocumentFeed_for_WIA)
+
+[Scanning without Dialogs](http://miljenkobarbir.com/using-a-scanner-without-dialogs-in-net/)
+
+[Another example of WIA](http://geekswithblogs.net/tonyt/archive/2006/07/29/86608.aspx)
+
+A [WIA SDK from Microsoft](http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=18287)
+
+A [Twain library on Codeplex](http://bytescoutscansdk.codeplex.com/) and an [example on how to use it.](http://bytescout.com/products/developer/scansdk/bytescoutscansdk_first_step_with_c_charp.html)
+
+[AForge library](http://nuget.org/packages/AForge.Imaging) on Nuget for image manipulation - and [a feature list](http://www.aforgenet.com/framework/features/)
+
+[Craig's Libraries](http://cul.codeplex.com/wikipage?title=List%20of%20Features&referringTitle=Home) which can be found on [Nuget](http://nuget.org/profiles/jacraig)
+
+A [nuget package](http://nuget.org/packages/csharp-cloudfiles) for Rackspace and the [Rackspace API](http://www.rackspace.com/cloud/cloud_hosting_products/servers/api/)
+
+A [package for Dropbox](http://nuget.org/packages/DropNet).
+
+And a [Skydrive](http://skydriveapiclient.codeplex.com/) client.
+
+The [Skydrive SDK](http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=28195) and a recent [blog post that could help](http://windowsteamblog.com/windows_live/b/windowslive/archive/2011/12/07/skydrive-apis-for-docs-and-photos-now-ready-to-cloud-enable-apps-on-windows-8-windows-phone-and-more.aspx)
+
+
+## How can I get involved?
+
+As usual the project is going up on [GitHub](https://github.com/Code52/enhance) tomorrow. [The Trello Board](https://trello.com/board/enhance/4f24963edbbed1ab5a11c5ad) has some thoughts outlined on where we think we'll be headed with it, but as usual we're always open to other ideas being added. You can ping one of us on [JabbR](http://jabbr.net/#/rooms/code52) to be added to the board to volunteer to do one of the features, or come in just to discuss the project, or chat in general.
+
+We're looking forward to seeing what we can come up with, and hope that lives up to the great WPF apps we've managed to put out over the past couple of months :)
+
+If you want to check some of those out you can do so on this blog, or the code is up on [GitHub](https://github.com/Code52/)!
\ No newline at end of file
diff --git a/_posts/2012-03-12-winjs-recap.md b/_posts/2012-03-12-winjs-recap.md
new file mode 100644
index 0000000..bd89081
--- /dev/null
+++ b/_posts/2012-03-12-winjs-recap.md
@@ -0,0 +1,55 @@
+---
+layout: post
+permalink: /winjs-recap.html
+date: 2012-03-12 23:59
+title: "Recap - MyFinances for Windows 8"
+author: "@aeoth, @shiftkey and @tobin"
+comments: true
+---
+
+I wish I had something more to show than our Github repo, but this was not our most productive week.
+
+
+
+## What happened?
+
+While we've made some progress this week on the WinJS demo app, we hit a number of issues which slowed things down a lot:
+
+Things outside of our control:
+
+ - new relatives coming into the world
+ - illness
+ - overheating laptops
+
+This we could have mitigated with better planning:
+
+ - wrapping our heads around the changes to WinJS in the Consumer Preview
+ - how to structure the UI to better reflect application flow and Metro principles
+ - scaffolding the app better initially so that people could cherry-pick screens to work with.
+
+A few things worked well:
+
+ - Having a specific folder for mockups in source control helped share UI ideas around but keep them tracked (both PSD and PNG formats depending on the software available to the users).
+ - Breaking tasks into prototypes helped people explore things in isolation without becoming part of the critical path.
+
+## What did we get done?
+
+We've got a simple app running that allows the user to navigate between a number of tabs at the top of the page. The first page we implemented lists off the transactions associated with the current user and allows for new items to be added.
+
+For those who are curious about building WinJS apps, in its current form the app demonstrates:
+
+ - navigation between pages
+ - customising the domain model
+ - binding data to the screen
+ - using some of the new controls including lists and flyouts
+ - styling markup using CSS and the new *-ms* properties and values.
+
+## What's next?
+
+This is still under active development - the only issue at the moment is lack of time - and there are a number of features which have been started but not integrated into master. We are looking for this to be a sample application that people can use and developers can explore and contribute to, so this is only the beginning.
+
+Stay tuned for a demo of the progress made once we resurrect the machine with the video footage on it - there was some code changes which didn't make it out sadly.
+
+We also had a [few](http://csainty.blogspot.com.au/2012/03/windows-8-winrt-and-winjs-scope.html) [blog](http://csainty.blogspot.com.au/2012/03/winjs-namespaces.html) [posts](http://csainty.blogspot.com.au/2012/03/winjs-classes.html) from Chris Sainty introducing Javascript concepts for those who are getting started wtih WinJS. Brendan will also (hopefully) get time this week to share some of the features he's found around CSS and WinJS controls that have been incorporated into the My Finances app.
+
+And as always, we have the [JabbR](http://jabbr.net/#/rooms/code52) room for people to hang out and talk about Windows 8 or the other projects we are working on currently.
\ No newline at end of file
diff --git a/_posts/2012-03-20-gap-week.md b/_posts/2012-03-20-gap-week.md
new file mode 100644
index 0000000..be00b84
--- /dev/null
+++ b/_posts/2012-03-20-gap-week.md
@@ -0,0 +1,62 @@
+---
+layout: post
+permalink: /working-bee.html
+date: 2012-03-20 20:00
+title: "Working Bee"
+author: "@aeoth, @shiftkey and @tobin"
+comments: true
+---
+
+With all the work that the Code52 team and its band of merry contributors have achieved over the previous weeks, we're now at the point where we'd like to slow down a bit and take stock of what we've achieved so far.
+
+### You might have missed...
+
+While [@tobin](http://twitter.com/tobin) and [@aeoth](http://twitter.com/aeoth) were working to get the Enhance project started, there has been a supreme effort behind the scenes during the week to address some outstanding work:
+
+ - **[Pretzel](http://code52.org/pretzel/)** added support for using Razor templates alongside Liquid templates, and has a [Chocolately package](http://chocolatey.org/packages/pretzel) available for people to install on their local machines.
+
+ - **[Ideastrike](http://code52.org/ideastrike/)** has been updated to use Nancy v0.10 - with that transition completed we are looking to enhance and expand on what we initially released to the world.
+
+ - **[ASP.NET Internationalization](http://code52.org/aspnet-internationalization)** packages were shipped on NuGet.
+
+## What about this week?
+
+We're aware of the initial premise we made about "a new coding project every week" and how a pause goes against it, but we don't want to march onwards to the detriment of the previous good work we've acheived.
+
+We plan on taking a break from the insanity that is a new project each week to polish previous projects. We would much rather 40 *maintained* and *complete* projects than 52 incomplete projects that never reach their full potential.
+
+As such, we are calling a working bee - there's many things to do, and we want to get as much of it done now before we continue on with new stuff. We'll still be in and out of the [JabbR](http://jabbr.net/#/rooms/code52) during this time if you want to hang out - and yes, contributions are always welcome.
+
+[@shiftkey](http://twitter.com/shiftkey) will be over in Auckland for Codemania next week (grab him if you want to talk about Code52), and we will kick off a new project once he returns on **April 2nd**.
+
+## Working Bee
+
+### Installers
+
+Many of our applications require installers to make the experience super-easy for users. We've researched numerous tools but could not settle on a particular choice which would cover everything we needed from an install solution - so we're cherry-picking from various sources and building something [here](https://github.com/xpaulbettsx/NSync) which we hope will be a best-of-breed solution for deploying and updating applications.
+
+In the meantime, the awesome team at [wyDay](http://wyday.com/) have provided a license for Code52 to use their [wyBuild](http://wyday.com/wybuild/) tool as an update mechanism for our .NET apps.
+
+**Markpad** will be the first application from Code52 to use wyBuild, but we will have more to discuss on this in the coming days.
+
+Another "fun with installers" case we need to address is how Office requires a signed installer for addins from the web. We are looking to address this over the current week so we can get an official build of **GitHub for Office** out for users to test.
+
+### Documentation
+
+Each of the Code52 projects has a [gh-pages](http://pages.github.com/) branch - to introduce users to the application or library - and a wiki - to capture documentation and details to help with understanding of the project.
+
+The project page template (from the work done on MarkPad and ASP.NET i18n) has been spun off into a [separate repository](https://github.com/Code52/gh-pages-template) for people to contribtute to - ideas we have thrown around include different stylesheets and templates, but this has not evolved due to the initial goal of having consistent project pages for each Code52 project.
+
+Some of our library projects - Pretzel and ASP.NET i18n in particular - require refreshing existing documentation or new documentation to help users get familiar with certain features of each application. We want to ensure that details like documentation, which may be overlooked when a project starts, are not left behind as things grow.
+
+### Miscellaneous awesomeness
+
+A quick list off the top of our heads of the other things we are looking to knock off:
+
+ - Even after [reworking the UI](http://code52.org/weekone-dayseventyseven.html) for Markpad, new ideas and suggestions for features are still coming in, including split-view/multi-monitor support, Github-flavoured Markdown, exporting to different formats and even document recovery.
+
+ - Did I mention an extension API for MarkPad? No? Well I guess I just did.
+
+ - MyFinances has gone back to the drawing board with some radical ideas to make the user experience stand out. Once this has been from @shiftkey's brain to working HTML the more advanced features like imports, reporting and achievements will be revisited.
+
+ - Carnac has been gathering some user feedback from a couple of presentations - including a couple of interesting graphics-related issues we didn't uncover during our previous testing.
diff --git a/_posts/2012-03-20-scanner-recap.md b/_posts/2012-03-20-scanner-recap.md
new file mode 100644
index 0000000..06e326b
--- /dev/null
+++ b/_posts/2012-03-20-scanner-recap.md
@@ -0,0 +1,32 @@
+---
+layout: post
+permalink: /scanner-recap.html
+date: 2012-03-20 23:59
+title: "Recap - Enhance"
+author: "@aeoth, @shiftkey and @tobin"
+comments: true
+---
+
+So, the week is over and it's time to report - so let's talk about where we're at.
+
+## How'd we go?
+
+The week started well, @tobin dived in with functional (even if not fully featured) code... until we tried @aeoth's scanner...
+
+From there it was an incredibly painful experience trying to work out how WIA really works, and the best way to proceed.
+
+Having a new scanner that covered for issues in requests made it difficult to test the problems that would arise for other people, but we got to a place where we have some simple scanning going in an app that looks pretty great.
+
+
+
+Unfortunately, given the problems we had with WIA we didn't get much further.
+
+We have had a few volunteers offering help, even taking tasks but unfortunately they couldn't commit in before the end of the week - we've even had people volunteer right towards the tail end of the week, and we look forward to what they'll bring to the project.
+
+
+
+## What's next?
+
+We have a few jobs up on [Trello](https://trello.com/board/enhance/4f24963edbbed1ab5a11c5ad) and we're alway open to having more - or coming in and checking out the code on [Github](http://github.com/Code52/enhance) and doing some work on helping making it better with us.
+
+As always, we'll be working further as the weeks go on - and especially with our [Working Bee](http://code52.org/working-bee) weeks!
\ No newline at end of file
diff --git a/_posts/2012-04-02-say-wat.md b/_posts/2012-04-02-say-wat.md
new file mode 100644
index 0000000..0e00b54
--- /dev/null
+++ b/_posts/2012-04-02-say-wat.md
@@ -0,0 +1,36 @@
+---
+layout: post
+permalink: /say-wat.html
+date: 2012-04-02 20:00
+title: "Say Wat?"
+author: "@shiftkey"
+comments: true
+---
+
+After a couple of weeks polishing existing projects nudging towards new releases, and @shiftkey getting up to [some](http://instagr.am/p/I0MLz8tL5K/) [shenanigans](http://instagr.am/p/IyQNjNtL1X/) at [Codemania](http://codemania.co.nz/) over the weekend, the gang are back and looking for more coding fun.
+
+While we have some significant ideas we want to refine and plan in more details, we have decided to try out something different this week.
+
+### Doing some Readme Driven Development
+
+This idea started out from a conversation over the weekend about how cryptic some Australian lingo can be. A word I'd thrown into a tweet had completely thrown the recipient and they had trouble understanding what I had said.
+
+I started throwing around possible solutions to the problem - urban dictionary came to mind, for example - but the existing solutions didn't quite fit for the scenario.
+
+After mulling over the solution and searching for a cool domain name over drinks, I decided to call it a night and start coding a solution.
+
+[http://sayw.at/](http://sayw.at/) is that starting point.
+
+### Off the reservation
+
+The Code52 guys had done a number of web projects so far this year, but these have been running on .NET. I wanted to push the envelope and try something different for this week.
+
+Enter Node.
+
+Yes, NodeJS is [so hot right now](http://www.youtube.com/watch?v=CV_hDyfmEw4), so its not like we're doing something very radical. But I know many people are curious about how to get started and how to build an app with Node.
+
+So we're going to spend a week building a Node app and you can follow along (or even get involved)!
+
+### Get Involved
+
+The project structure has started on [GitHub](https://github.com/Code52/saywat) and the [Trello board](https://trello.com/board/saywat/4f7974869bf90505711b92f8) has some initial tasks which are small enough to be started if people are curious. Got some ideas? There's people in the [JabbR](http://jabbr.net/#/rooms/code52) room to discuss ideas with.
\ No newline at end of file
diff --git a/_posts/2012-04-09-say-wat-recap.md b/_posts/2012-04-09-say-wat-recap.md
new file mode 100644
index 0000000..9fda11e
--- /dev/null
+++ b/_posts/2012-04-09-say-wat-recap.md
@@ -0,0 +1,26 @@
+---
+layout: post
+permalink: /say-wat-recap.html
+date: 2012-04-09 23:59
+title: "Say Wat? Recap"
+author: "@shiftkey"
+comments: true
+---
+
+With the long weekend due to the Easter break, this has been an interesting and relaxed week for all involved.
+
+As I need to dive into preparing the next project, here's a bullet list version of the recap. Or you can just go and play around with the site: [sayw.at](http://sayw.at).
+
+### What we acheived
+
+ - **Learning how a good NodeJS application is structured** - much love to [Chris Sainty](http://twitter.com/csainty) for giving us some guidance on this. While initial demos show off cool things like building chat servers, going from that to separating application configuration and logic.
+
+ - **MongoDB** - we had a relatively simple schema to represent our data (question, answers and users) and MongoDB was an ubiquitous option for us to test locally or use in live environments. With the availability of [hosted databases](http://mongohq.com) and support on many cloud providers (even [Azure](http://www.mongodb.org/display/DOCS/MongoDB+on+Azure)) this was an easy choice.
+
+ - **Deployment** - we can take the one codebase and deploy it today to Heroku and AppHarbor (as long as they have a MongoDB addin configured too). We also learned about how node_modules should be treated in [source control](http://www.mikealrogers.com/posts/nodemodules-in-git.html) and were bitten by overnight releases of packages breaking pull requests.
+
+ - **Testing** - we added JSHint (static analysis tool for Javascript syntax) and Mocha (unit testing framework) and learned how easy it was to setup [Travis-CI](http://travis-ci.org) to build the project directly from the Github repository.
+
+### What's next?
+
+As this was a relaxed weekend, there's still a [number of tasks](https://trello.com/board/saywat/4f7974869bf90505711b92f8) to be picked off before the client (being @shiftkey) is happy with a V1 release. We've got a wiki which should help with [getting started](https://github.com/Code52/saywat/wiki/Getting-Started) on setting up your project.
\ No newline at end of file
diff --git a/_posts/2012-04-10-dodo.md b/_posts/2012-04-10-dodo.md
new file mode 100644
index 0000000..25a5942
--- /dev/null
+++ b/_posts/2012-04-10-dodo.md
@@ -0,0 +1,29 @@
+---
+layout: post
+permalink: /dodo.html
+date: 2012-04-10 01:00
+title: "dodo"
+author: "@shiftkey"
+comments: true
+---
+
+A few weeks ago, we had a discussion about building a Twitter app. As a group with [history](http://www.theleagueofpaul.com/mahtweets-is-dead) in building apps, we didn't want to do something conventional - and with Windows 8 being focused on the tablet space we started down a different path. This quickly became one of our [hot ideas](https://code52.uservoice.com/forums/143105-code-52/suggestions/2673882-metro-style-twitter-client) and we've had lots of people asking when we're going to kick it off.
+
+### Capturing the madness
+
+Rather than use JabbR to capture the discussion, we used **sync.in** to write down and edit our ideas. Aside from a minor hiccup with the cap on concurrent users, we had a productive hour or two discussing ideas in real-time and having a nicely formatted document at the end.
+
+The results of this can be found [here](http://sync.in/KlhETAjkLy) and those will be tranformed into the backlog for tasks to acheive this week.
+
+### Goals
+
+To identify some broad goals for the week:
+
+ - the project should ship a reusable Twitter library as well as a client
+ - the client will not follow the existing norms of displaying lists of tweets
+ - the client should demonstrate some wicked animations and transitions
+ - the client should implement some radical features for other Twitter clients to shamelessly steal
+
+### Get Involved
+
+We've started a skeleton of the app (it should allow you to authenticate and render some tweets) on [GitHub](https://github.com/Code52/dodo) and the [Trello board](https://trello.com/board/dodo/4f82e9dfc10221fb0db2cff2) has some initial tasks which are small enough to be started if people are curious. Got some ideas? There's people in the [JabbR](http://jabbr.net/#/rooms/code52) room to discuss ideas with.
\ No newline at end of file
diff --git a/_posts/2012-04-16-dodo-recap.md b/_posts/2012-04-16-dodo-recap.md
new file mode 100644
index 0000000..159e860
--- /dev/null
+++ b/_posts/2012-04-16-dodo-recap.md
@@ -0,0 +1,62 @@
+---
+layout: post
+permalink: /dodo-recap.html
+date: 2012-04-16 20:30
+title: "dodo recap"
+author: "@shiftkey"
+comments: true
+---
+
+The Code52 team had some big news over the weekend which I will address in a later post, but before we should get to the fun stuff about [dodo](http://github.com/Code52/dodo).
+
+## What's been done so far
+
+This week has been about setting up a baseline and implementing core functionality.
+
+At this point in time, the project is split into two distinct features:
+
+ - *dodo* - a Windows 8 Metro application.
+ - *boxkite* - a library for interacting with the Twitter API in .NET 4.5 Metro.
+
+## dodo
+
+ The application currently supports:
+
+ - OAuth login
+ - Browsing the user's timeline, mentions, retweets and messages.
+ - settings storage - persisting the user's token between sessions
+ - diagnostics capture - so that we can log messages to the application's sandbox for debugging purposes.
+
+Other functionality which as been started on but not integrated into master includes
+
+ - Grouping tweets by relative time ("just now", "last hour")
+ - Semantic Zoom - collapse a group of tweets to see just the user's avatars
+ - User Streams - rather than querying for data periodically, Twitter can stream data down to an open connection inside the app.
+
+ 
+
+## boxkite
+
+Once boxkite is feature-complete, tested and documented, it will move to a separate repository with NuGet packages available so that people can consume the API.
+
+There are no immediate plans for boxkite to support other framework versions, as:
+
+ - it uses a number of .NET 4.5-specific features - including async/await and WebAuthenticationBroker.
+ - there are a number of [existing libraries](https://dev.twitter.com/docs/twitter-libraries#dotnet) out there for .NET apps
+ - I would prefer to focus on the dodo application itself in the short term.
+
+ If you still have the urge to check out a shiny new Twitter library, [Matt Hamilton](http://twitter.com/mabster) spent the week building a .NET 4 client called [Budgie](http://matthamilton.net/budgie) that uses the Task Parallel Library heavily.
+
+## The future of dodo
+
+Yes, that's a joke.
+
+I'm keen to continue building this application for several reasons:
+
+ - many developers have been interested/curious to learn about it - while the concept of a Twitter app are familiar, being able to see the internals is where the real educational value lies.
+ - I still have an urge to create a different experience for people to interact with Twitter. With the basics done, the next step is to focus on the UX.
+ - There is enough lead time to have something ready for when Windows 8 ships.
+ - There is still [a lot of work still to do](https://trello.com/board/dodo/4f82e9dfc10221fb0db2cff2).
+
+ And yes, others are more than welcome to get involved. Come [hang out](http://jabbr.net/#/rooms/code52).
+
diff --git a/_posts/2012-04-16-learning-week.md b/_posts/2012-04-16-learning-week.md
new file mode 100644
index 0000000..464a13a
--- /dev/null
+++ b/_posts/2012-04-16-learning-week.md
@@ -0,0 +1,54 @@
+---
+layout: post
+permalink: /show-and-tell.html
+date: 2012-04-16 23:00
+title: "show and tell"
+author: "@shiftkey"
+comments: true
+---
+
+The Code52 organisers have been bouncing around an idea over the past couple of weeks, but before we dedicate some time to getting it off the ground we want to test out our theory with a little experiment. And it involves you.
+
+## Some Background
+
+Since we kicked off Code52 at the start of the year, we've talked with many developers who are keen to get involved with OSS development but don't really have the time to dedicate a full week to working on a specific idea.
+
+Does that sound like you? Well this is your week.
+
+We want to hear about what you have been working with in your spare time. We want to hear about the cool stuff we haven't had a chance to use. We want to get jealous about hearing how you've used it and what you've learned about it.
+
+In short, we want to hear your stories.
+
+## Show and Tell
+
+We're looking for people to write short articles on stuff they've used recently or something they've built recently to share with the big wide world.
+
+We want to hear:
+
+ - what did you find that is awesome?
+ - what is awesome about it?
+ - how did you use it?
+ - what did you learn from using it?
+ - is there some code that people can have a play with?
+
+It doesn't have to be a long post. And things like pictures and code snippets are fine to help show it off.
+
+## But how?
+
+Got something you want to share? You've got a few options
+
+### I've already posted it!
+
+Already written about something cool you'd like to share? Tweet a link to the [@Code_52](http://twitter.com/Code_52) account and we'll get in touch. If we're suitably impressed by your awesomeness, we'll share it with the world.
+
+### I don't have a blog!
+
+Don't have a blog? Don't worry! You can fork [this website](http://github.com/Code52/code52.github.com) on GitHub and add your own post to the [posts folder](http://github.com/Code52/code52.github.com/tree/master/_posts). Once you've written the post, send us a pull request and we can proof-read it before pushing it live.
+
+If you haven't seen it before, the site layout and content is used as input for [Jekyll](http://github.com/mojombo/jekyll/wiki) to generate the site content.
+
+### I'm not sure where to start!
+
+The Code52 gang built a tool for editing Markdown files - called [MarkPad](http://code52.org/DownmarkerWPF). This is a great way to get started with writing your own posts (its easier than writing HTML, and you can see the rendered content as your write it).
+
+If you drop into the Code52 [chat room](http://jabbr.net/#/rooms/Code52) we can help with editing and getting the content up on the site.
\ No newline at end of file
diff --git a/_posts/2012-04-17-show-and-tell-tugberkugurlu.md b/_posts/2012-04-17-show-and-tell-tugberkugurlu.md
new file mode 100644
index 0000000..9fd2087
--- /dev/null
+++ b/_posts/2012-04-17-show-and-tell-tugberkugurlu.md
@@ -0,0 +1,35 @@
+---
+layout: post
+permalink: /show-and-tell/1/generic-repository-pattern.html
+date: 2012-04-17 23:00
+title: "Show and Tell #1 - Generic Repository Pattern series"
+author: "@shiftkey"
+comments: true
+---
+
+## Introduction
+
+When Tugberk sent me the link last night to this series, my curiousity was piqued. The generic repository pattern is something we had used for previous Code52 projects - which had also used Entity Framework as the backing store.
+
+For those who are not familiar with it, a *repository* is typically defined as (from [Edward Hieatt and Rob Mee](http://martinfowler.com/eaaCatalog/repository.html)): a component which "**mediates between the domain and data mapping layers using a collection-like interface for accessing domain objects.**"
+
+Why use the repository pattern?
+
+ - decouple the application logic from the data access logic
+ - test the application logic in isolation - swap out the database for an in-memory collections of data.
+
+ Anyway, before I go spoiling the content, Tugberk has written a series on this:
+
+ - in the [first part](http://www.tugberkugurlu.com/archive/generic-repository-pattern-entity-framework-asp-net-mvc-and-unit-testing-triangle), he discusses the pattern and why you should care.
+ - in the [second part](http://www.tugberkugurlu.com/archive/how-to-work-with-generic-repositories-on-asp-net-mvc-and-unit-testing-them-by-mocking), he explains how you can use this with Entity Framework and MVC3.
+ - and to finish, he's [released](http://www.tugberkugurlu.com/archive/entity-framework-dbcontext-generic-repository-implementation-is-now-on-nuget-and-github) NuGet packages for bringing generic repositories into your apps (and the source is on GitHub).
+
+Lots of detail, lots of code samples. I hope you enjoy it.
+
+## About the Author
+
+Tugberk Ugurlu hails from Turkey and juggles university studies with his work as a Programmer and Internet Sales Director. He blogs at [www.tugberkugurlu.com](http://www.tugberkugurlu.com/) and is [@tourismgeek](http://twitter.com/tourismgeek) on Twitter.
+
+## Addendum
+
+ - If you want to learn more on the repository pattern, Jon Galloway and Jesse Liberty did a screencast on **[Building a Repository using TDD](http://channel9.msdn.com/Series/The-Full-Stack/The-Full-Stack-Part-3-Building-a-Repository-using-TDD)** for their video series "The Full Stack". Check it out.
diff --git a/_posts/2012-04-18-show-and-tell-garfbradaz.md b/_posts/2012-04-18-show-and-tell-garfbradaz.md
new file mode 100644
index 0000000..d5ad1a7
--- /dev/null
+++ b/_posts/2012-04-18-show-and-tell-garfbradaz.md
@@ -0,0 +1,21 @@
+---
+layout: post
+permalink: /show-and-tell/2/mvc-image.html
+date: 2012-04-18 23:00
+title: "Show and Tell #2 - Learning by building MvcImage"
+author: "@shiftkey"
+comments: true
+---
+
+
+## Introduction
+
+This post is from Gareth Bradley, who found the Code52 chatroom by accident while he was checking out [JabbR](http://jabbr.net/). When we announced the "Show and Tell" week, he wrote a post about what he does for a living and what [he's been learning in his spare time](http://garfbradazweb.wordpress.com/2012/04/16/code52-show-tell-my-open-source-application/).
+
+I share the same view as Gareth in that I **learn best by building something useful** - and Gareth's put together his own OSS project as a way to demonstrate what he's learned.
+
+The project code is at [mvcimage.codeplex.com](http://mvcimage.codeplex.com/), and I hope to see more cool stuff from him in the future.
+
+## About the Author
+
+Gareth Bradley is a 4GL applications developer on OpenVMS systems by day and learning various other technologies (including C#, C++, XNA and ASP.NET) by night. You can find his blog at [garfbradazweb.wordpress.com/](http://garfbradazweb.wordpress.com/) and he's also on Twitter as [@garfbradaz](http://twitter.com/garfbradaz).
diff --git a/_posts/2012-04-19-show-and-tell-mabster.md b/_posts/2012-04-19-show-and-tell-mabster.md
new file mode 100644
index 0000000..a7a88cc
--- /dev/null
+++ b/_posts/2012-04-19-show-and-tell-mabster.md
@@ -0,0 +1,93 @@
+---
+layout: post
+permalink: /show-and-tell/3/task-parallel-library.html
+date: 2012-04-19 23:00
+title: "Show and Tell #3 - Building Budgie with the Task Parallel Library (TPL)"
+author: "@shiftkey"
+comments: true
+---
+
+## Introduction
+
+For those of you who aren't familiar with it, [Matt Hamilton](http://twitter.com/mabster) wrote a Twitter API library over a few nights last week as an experiment to better understand the Task Parallel Library.
+
+He's named it Budgie - you can [read up about it](http://matthamilton.net/budgie), browse the [source code](http://bitbucket.org/mabster/budgie), install the [NuGet packages](http://nuget.org/packages/Budgie) or try out his Twitter client [Halfwit](http://madprops.org/halfwit/) which uses it.
+
+I asked Matt if he was interested in discussing why he decided to use the TPL for his project and what was cool about it.
+
+## The problem with asynchronous code
+
+When thinking about what [Budgie's](http://matthamilton.net/budgie) surface API was going to look like, I knew one thing: it would be asynchronous only. There would be no methods like `GetHomeTimeline()` that blocked and waited for Twitter to respond.
+
+There are any number of ways to write asynchronous APIs. The one I've been most comfortable with to date (used in TweetSharp, another Twitter library that heavily informed Budgie) is to ask for a callback as a parameter to your method, and call that when your asynchronous task is done. For example:
+
+ public void DoStuff(string text, Action
+-
- {% for post in site.posts limit:10 %}
-
-
- - {% if forloop.first and post.layout == "post" %} --
{{ post.title }}
- -{{ post.date | date: "%e %B, %Y" }} -- - {{ post.content }} --
- {% for tag in post.tags %}
-
- {{ tag }} - {% endfor %} -
- Comments - {% else %} -{{ post.title }}
-{{ post.date | date: "%e %B, %Y" }} -- {{ post.content }} - - Comments - {% endif %} --
- {% for tag in post.tags %}
-
- {{ tag }} - {% endfor %} -
- {% endfor %}
-
"+ projectName +"
"); + $("#contributorTemplate").tmpl(data).appendTo("#contributors"); + } + }); + } + + + $(function() + { + $.ajax({ + url: "http://github.com/api/v2/json/repos/show/code52", + dataType: 'jsonp', + success: function(data) + { + var count = data.repositories.length; + data.repositories = data.repositories.sort(function (a, b) + { + var adate = new Date(a.created_at).getTime(); + var bdate = new Date(b.created_at).getTime(); + if (adate < bdate) return -1; + if (adate > bdate) return 1; + return 0; + }); + + for(var i = 0; i < count; i++) + { + var repo = data.repositories[i]; + + if (repo.name != "code52.github.com" + && repo.name != "NuGetGallery" + && repo.name != "markdowndeep" + && repo.name != "gh-pages-template") + getContribs(repo.name, repo.url); + } + } + }); + }); diff --git a/js/jquery.address-1.4.min.js b/js/jquery.address-1.4.min.js new file mode 100644 index 0000000..1fbeecc --- /dev/null +++ b/js/jquery.address-1.4.min.js @@ -0,0 +1,29 @@ +/* + * jQuery Address Plugin v1.4 + * http://www.asual.com/jquery/address/ + * + * Copyright (c) 2009-2010 Rostislav Hristov + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Date: 2011-05-04 14:22:12 +0300 (Wed, 04 May 2011) + */ +(function(c){c.address=function(){var v=function(a){c(c.address).trigger(c.extend(c.Event(a),function(){for(var b={},e=c.address.parameterNames(),f=0,p=e.length;f