Today was the first day of a brand new Belgian conference called Techorama.
After techdays called it quit, some community techies decided to join forces and organise a community driven alternative.
They have the ambition to make Techorama THE annual tech conference for the developer community in Belgium.
More details on the people behind Techorama can be found here: http://www.techorama.be/about/
Some people of Codit attended this great event, we have a set of reviews with some take-aways ready for those that were not able to attend this great initiative!
Keynote - 'The Real Deal' by Bruno Segers
To be honest - The keynote was my least favorite session for the simple reason that it was not a technical one. However Bruno was able to tell his story in a very amusing way.
He pointed out that we, as developers, know what the risk is of exposing our data on the internet but that the majority of the users are not!
Innovation is really great but we should not pay the price with our identity and data, we need better law definitions that protect the users.
Big companies are selling our data - Never forget this.
- Tom Kerkhove
What’s new in Windows Phone 8.1? by Gitte Vermeiren
In this session Gitte gave us an overview on what’s new in Windows Phone 8.1 and what’s in it for us as developers. This session was inspired by the BUILD session of a couple of weeks ago.
Gitte talked about the convergence story of Microsoft is bringing to make apps and applications easily available/convertible cross-device. Write it once, use it everywhere!!
This session was full of code examples and tons of tips and tricks on how to use the new WP 8.1 SDK and how to build better cross-device apps.
- Glenn Colpaert
Lean ALM: making software delivery flow and learning from software innovators by Dave West
This session was all about the following best practices:
Successful teams have a few things in common:
- They have smart people with a clear mission
- They have a mandate to change whatever is necessary to improve their productivity
- They automate the hell out of everything
Allow teams to plan, to do, to learn … with the right tools and practices at the team and roll that feedback back into more traditional planning and operational processes.
Encourage teams to put in place a transparent, visual process in real time that searches for the truth whilst ensuring that team measures roll-up into a broader view of the delivery.
E-mail = Evil
Enable high performance teams to focus on the currencies of collaboration within the context of the work they are doing whilst some of the team will not be in the scrum team using the same tools and practices.
- Henry Houdmont
Intro to the Google cloud by Lynn Langit
Okay, so most .NET-developers know about Microsoft Azure, right? But what about the Google Cloud? The actual difference was about to be explained to us by Lynn Langit, a former Microsoft-employee. Of course the overall concept is quite similar to the known cloud platforms, such as Microsoft Azure. So you do have a Google-equivalent to the Azure VM's or Worker roles which are called the Compute and App engines, but the main idea behind the Google cloud is high performance at low cost.
Instead of allowing the customer to set a limit on the scalability of the cloud engine, Google allows you to set a limit on the maximum price. Therefore the engine will scale automatically according to the amount of resources needed, limited to the total costs.
The idea of maximum performance, at low costs can also be found in BigQuery, the equivalent of SQL Azure storage. For this type of storage, you do not pay for the amount of data you collect, but for the amount of queries executed.
Shortly, Google cloud is definitely worth taking a look at.
- Maxim Braekman
Service Virtualization & API management on the Microsoft platform by Sam Vanhoutte
Imagine a landscape of webservices with their own authentication, monitoring,... how do we keep track of all this?
With webservice virtualization you can control all these features in one place by exposing the physical webservices over a virtualized one.
Sam introduced me to Windows Azure API Management that has been recently announced as a public preview!
It enables you to easily virtualize REST API's in a controlled way by using a Developer & Publish portal where you can create new APIs with operations, products and policies where developers can apply to use it from the developer portal.
Next to the new Microsoft Azure API Management in the cloud Sam also talked about an on-premise alternative called Sentinet, a product that Codit is an exclusive reseller of (more info here).
Once again - With this tool we can virtualize physical webservices to the consumer with our own access control, load balancing (round-robin/fail-over/...), etc.
It even has a test-section where you can tell the virtualized service to send out test messages - Imagine the physical service is not build yet but you need to test it in the consuming application?
This is no longer a problem!
Both the API Management & Sentinet were new to me, but Sam was able to explain them very easily and show me the big benefits of both platforms and illustrate how easy they are to use.
- Tom Kerkhove
(If you want to know more about the API Management, read Massimo his post here)
Zone out, check in, move on by Mark Seeman
Most programmers desire to be ‘in the zone’ as much as possible; they see it as a prerequisite to being productive. However, the reality is often one of interruptions.
As it turns out, being in the zone is a drug, and as you build up tolerance, getting the next ‘high’ becomes more and more difficult. This may explain why programmers move on to management or other pastures as they get older.
However, it’s possible to stay productive as a programmer, even in the face of frequent interruptions.
Forget the zone, and learn to work in small increments of time, this is where a distributed version control system can help greatly.
To be more productive, we need to stay focused, but how do we stay focused? As it turns out, we stay focused when we get (immediate) feedback. Mark believes that unit tests provides us the feedback we need to stay focused on the code we're writing.
A tip for avoiding interruptions: the headphone rule (as long as the headphone is on, nobody must interrupt me).
Problem: we spend too much time reading code instead of writing code because we get interrupted and we need to start over and find out where we were.
- Write less code
- Build modules instead of monolythic systems
- Work from home
- Use a distributed version control system (Git, Mercurial) and work with branches
- Check-in every five minutes (compilable code)
- Integrate often: get in, get out quickly to avoid working concurrently with a colleague on the same files to avoid merge conflicts.
- Use feature toggles to be able to check-in and ship incomplete code
One other way to keep focused is by keeping your code small (modular) and clear, so when interrupted it takes less time to pick up the thread again later.
- Wouter Seye & Henry Houdmont
Windows Azure Web Jobs – the new way to run your workloads in the Cloud by Magnus Mårtensson
The very online available Magnus started his session by setting a kitchen timer to one hour because when he starts talking cloud he’s unstoppable.
His talk of today was about “Azure Web Jobs” that recently got released as a public preview.
You can think of Azure Web Jobs as background processes that are hosted under the Azure Website where it’s deployed to and therefore share the same advantages.
Magnus gave us some very interactive demo’s showing us all the features and possibilities of Azure Web Jobs. It’s amazing how easily you can set this up.
Web Jobs is using Azure storage behind the scenes, but as a developer you literally require zero knowledge on how to code storage when using Azure Web Jobs.
Web Jobs supports many languages like C#, Python, PHP,…
Be sure to check out this new feature as this is a very powerful and cool addition to the Microsoft Azure Platform.
- Glenn Colpaert
Dude, where's my data? by Mark Rendle
What type of (cloud) storage should be used for different kinds of applications/situations. Mark Rendle enlightened us about some of the possibilities, such as several types of relational databases, NoSQL, queues and messages. Although there are many options to choose from, not all are suitable for any type of application you might build.
Some of the best practices, that were given during this session, for choosing the type of storage can be found below.
- Store as little data in SQL as possible, the more data you store, the harder it becomes to manage all data.
- If you do need storage, use the simplest storage that works, do not make it more complicated. If the data can be stored in a text-file, stick to the text-file.
- Sufficiently test the made choice in Azure! Do not test on local hardware or emulator, this is never exactly the same as Azure.
Last, but definitely not least: Experiment, learn and keep an open mind. Do not always stick to the familiar, known option.
- Maxim Braekman
Managing your Cloud Services + Continuous Integration solutions by Kurt Claeys
Imagine you have a cloud service running in production but how do we manage & monitor that? This was the main topic in this talk by Kurt.
He showed us how we can auto-scale our cloud service based on the number of messages in the queue, what the Microsoft Service Management API has to offer, the SQL database management views, how to restore/backup SQL databases to blob storage, etc.
Kurt also introduced us to the several ways to deploy your cloud service and how you can use continuous integration with Visual Studio Online that is linked to our cloud service.
This will automatically deploy a new version to Staging-phase when every time we check-in our code and everything passed the build!
Very interesting topics that will easy the development & afterlife of a cloud service!
- Tom Kerkhove
#IoT: Privacy and security considerations by Yves Goeleven
We all know that we are at dawn of what is called the Internet of Things and we are already bumping in the first serious issues - How about our privacy and securing the use of millions of sensors?
Yves opened his session by stating that everything is new for everyone and he has some ideas about those issues.
We will need to fight this on two fronts: physically & virtually where we need to secure ourselves against physical tampering, virtual tampering and think about our data, etc.
For example, small devices have low memory & CPU, how will we encrypt it and where will we do this? Are we communicating directly with the cloud or are we using gateways?
While I'm not really active in the IoT world this discussion session was still very interesting to me and I really liked Yves his approach with the Gateway-principle where devices are communicating to one gateway per location where after the gateway communicates with one backend. Also it was good to know what Yves his vision was on this topic and what very important issues need to be tackled as soon as possible! I know that this next big thing will/is happening and we need to take our precautions.
I think we can say that Yves is becoming a guru on IoT in the Belgium community and I'm very curious on his next talk!
- Tom Kerkhove
That was it for day one, stay tuned for more Techorama action tomorrow!!
Thanks for reading,
Henry, Glenn, Maxim, Wouter & Tom