Building a multiplayer game server and keeping (most of) your hair

Mar 24, 2017 by Madalina Botez in  Announcements
Enjoy the following series of interviews with the speakers, top-notch software crafters from across Europe, joining  I T.A.K.E Unconference, Bucharest, 11-12 May. Discover the lessons learned and what drives them to challenge the known path in their field.

 

Opher Vishnia, Creative Developer at Interlude, is a multidisciplinary creator, invested in many different and often unrelated fields at the same time: computer science, art, music, design, math, game development and more. He is going to share at #itakeunconf more about building a multiplayer game server.

 

 

#1. Please share with us 5 things you did that helped you grow & become the professional you are today

√ Invest in personal projects. Think of a project that you think is fun to make and just start hacking at it. Developing something for yourself, where you make all the decisions rather than for a company you work for, is an amazing tool for learning and growing.
√ Join in the conversation. Is there an online group or a meetup for your area of development? That’s a great way to make new personal connections and learn along the way
√ Find an open source project that you like and start contributing. A good place to start would be a tool or library that you already know and use. Your contribution doesn’t have to be code – you can open an issue, improve the documentation or write a tutorial.
√ Take initiative. Is there something in your workplace that can be done better and sounds interesting to play with? Step up and do it. Suggest researching a new topic, or introducing a new tool the workflow. It’ll provide an interesting new challenge and a break from the daily routine. Plus it’ll make you look cool.
√ Stay optimistic. Sometimes these challenges are frustrating, and there are days you won’t make any progress, but the moment you have that “a-ha” moment is worth it all.

#2. What challenges will the participants find solutions to during your session at I T.A.K.E Unconference 2017?

Participants will learn about why making synchronized multiplayer games in the browser is so hard and what solutions do we have at our disposal to tackle those.

 

#3. Recommend for the participants 3 sources you find inspiration from and would help them better understand you

 
√ Codepen.io is a wonderful tool for inspiration on the web
√ Games in general. Just get Steam and play something!
√  Multiplayer Game Programming: Architecting Networked Game by Josh Glazer & Sanjay Madhav – A very comprehensive book on all things multiplayer

Want to meet Opher, +30 international speakers and ~300 software crafters from around Europe?

Register now for I T.A.K.E Unconference 2017!

Covariance and contra variance. Say what ?!

May 09, 2017

Enjoy the following series of interviews with the speakers, top-notch software crafters from across Europe, joining  I T.A.K.E Unconference, Bucharest, 11-12 May. Discover the lessons learned and what drives them to challenge the known path in their field.

Alin Pandichi, Software Developer at MozaicLabs and facilitator of the monthly Coding Dojo meeting that is part of the largerBucharest Agile Sofware Meetup Group, will share during his talk at I T.A.K.E Unconference more about Covariance and contravariance.

 

#1. Please share with us 5 things you did that helped you grow & become the professional you are today

I’ll answer this with a little bit of story telling about how I became a software developer. The first two things that helped me were attending the computer science oriented high school and college. There, I learned the basics of computers and programming languages. I also noticed how effortlessly I was solving CS related problems, so maybe I was onto something.

Number three: I got my first job straight out of college, developing a Swing rich client application saving data with JPA. This put me face to face with real world problems. I was faced with the fact that continuous learning is a must in this industry.

Therefore, number four on the list is learning. For the first few couple of years, I kept devouring every Java-related article I could find on DZone. With each one, I found out something new: a useful tool, a Linux terminal command, a development methodology, etc.

Last, but not least, is getting involved with local software development communities. I started attending meetups such as The Bucharest Agile Software Meetup Group and the Bucharest Java User Group. Gradually, I became an active member of both, giving a helping hand in organizing their events. On top of that, I also got involved in the wider community of Global Day of Coderetreat. My talk at I TAKE 2017 is one of the occasional opportunities I get to share what I know.

 

#2. What challenges will the participants find solutions to during your session at I T.A.K.E Unconference 2017?

They will find it easier to understand the concepts of covariance and contravariance, and how they are applied in the world of programming. In my experience, it was very easy to forget what these two words meant. Not anymore.

 

#3. Recommend for the participants 3 sources you find inspiration from and would help them better understand you

I dream big, so my biggest source of inspiration is science fiction. My first serious SF encounter was with Frank Herbert’s Dune series. Out of the contemporary authors, I enjoy Neil Gaiman’s work very much.

Whenever I get a chance, I tune into Nick Francis’ podcast called Quiet Music. It is a blend of low beat music of various genres: electronic, jazz, instrumental, folk, light rock, and so on.

Cinema is one of my other hobbies. I am very much interested in following every film festival happening in Bucharest. Also, the Romanian cinema of the past two decades has offered many gems so far, and it continues to do so.

 

Want to join Alin and ~300 software crafters from around Europe?

Register now for I T.A.K.E Unconference 2017!

Programming contest @I T.A.K.E Unconference

May 05, 2017

As for every I TAKE Unconference edition, we want to give a chance to the software crafters from the audience to showcase their skills and learn more in the process. And because we appreciate passion, we offer a prize to those who convince a jury of well-known international developers that they are the most skilled in the room.

This contest is not meant to be easy. It will require you to practice beforehand, so please read the instructions carefully.

It will also require you to register before the event.

Mechanics

  • IMPORTANT: Register to the contest latest one day before I TAKE Unconference by sending an email to steliana.moraru@mozaicworks.com 
  • On the first day of the event, after lunch, you have max 15′ to do a performing kata in front of the jury.
  • The winner will be announced at the end of the second day

Constraints

To simplify the jury’s decision, the performing kata has to conform to the following constraints:

  • Only the following programming languages are accepted: Java, C, C++, C#, Python, Visual Basic .NET, PHP, Javascript, Swift or Ruby
  • Only solo contestants are accepted. Sorry, no pair programming this time
  • The kata has to showcase refactoring skills.
  • The kata has to last max. 15′

How we will judge

The jury will judge your refactoring skills.

The ideal kata looks like this – you will get maximum point if you:

  • clearly state the smells you see in the code
  • pick one of the smells
  • clearly state your plan to fix the smell
  • fix it in small, safe steps
  • run tests after each step to prove you didn’t break anything
  • commit after each step with a clear message explaining why you made the change
  • fix as many smells as possible within the time constraint

You will loose points if you:

  • make big or unsafe changes to the code
  • break the behaviour after changing the code
  • don’t improve the code a lot
  • don’t improve the design by the end of the kata (hint: we judge design using SOLID principles and the four elements of simple design)

Recommendations

To help you, we’ve thought out what we would do if we participated to such a contest. Here’s what we recommend.

1) Use one of the following codebases for the kata:

2)  Practice beforehand on the structure we presented for the ideal kata. Ideally find someone to practice with.

3) Watch other people refactoring. YouTube has many videos on the topic, including using the recommended code bases.

Glossary

A programming kata is a repeatable exercise used to practice specific skills.
Performing kata means doing a kata in front of an audience.
Refactoring means changing the internal structure of the code without changing its behaviour.

In-Process or Inter-Processes Communication at Deploy Time

Mar 03, 2017

Enjoy the following series of interviews with the speakers, top-notch software crafters from across Europe, joining  I T.A.K.E Unconference, Bucharest, 11-12 May. Discover the lessons learned and what drives them to challenge the known path in their field.

Florin Coroș, Co-Founder and Partner iQuarc, is a passionate software architect and developer who has been working for more than 10 years in a wide variety of business applications using Microsoft technologies. At #itakeunconf, Florin is sharing more about In-Process or Inter-Processes Communication at Deploy Time.

 

speaker-badge-professional-status-florin-coros

 

 

#1. Please share with us 5 things you did that helped you grow & become the professional you are today

 

There might be a fortunate series of events, which fit nicely with my personality and abilities.

One of the things that helped me a great deal, was the fact that I changed the contexts and projects often. Even if I worked for the same company and the same technologies for about 10 years, I have changed the projects, the clients and my role at least once in two years. It wasn’t something that I had planned, but I always wanted to learn and experience new things.

Change is always challenging and creates opportunity for learning and for professional growth.

Another important thing for me, I think it was the fact that I always look for professional models. First, I discovered Uncle Bob, then there were Martin Fowler, J.B. Rainsberger, Roy Osherove, Kent Beck, Juval Lowe, Jurgen Appelo, Richard Campbel, and many others (I remember having a slide with some of these guy’s pictures in one of my first talks I’ve given at a conference ☺ ). Reading their books and articles, and then trying to apply their ideas in my day to day work, inspired and helped me.

Attending to training and conferences is another important thing. The TDD workshop with J.B. Rainsberger, which I attended back in 2010 was a few years jump ahead in my career. After, there were many other high-quality training I had the opportunity to attend, like the IDesign Master Class with Richard Campbel, a workshop with Dan North, or a Requirements course with Kay and Tom Gilb.

Coding just to practice is another thing that makes a difference. I learned this at the Code Retreats and I’ve kept this good habit. From time to time I take a few hours and I just write code with the purpose of learning or practicing. It always pays back.

 

#2. What challenges will the participants find solutions to during your session at I T.A.K.E Unconference 2017?

 

In large enterprise applications, there is always the challenge of decomposing the system. From performance considerations we may end up loading all the services in one or two processes, ending up with a monolith, which doesn’t scale and it is costly to maintain. At the other end, we have one process for each service resulting in too many inter-process call hops to handle one user request, which is bad for performance and it may be costly to maintain.

I’ll show a way, which I’ve applied in some projects I’ve architected, on how to separate this communication concern from implementing the business functionality.

#3. Recommend for the participants 3 sources you find inspiration from and would help them better understand you

  • My blog of course ☺ onCodeDesign.com . There, it is more about me and my thoughts
  • .NET Rocks (https://www.dotnetrocks.com/) is a podcast I recommend especially to .NET developers, and also to any geeks
  • As a hobby, I recommend learning and playing GO. Even if it a time-consuming game, it is a very good exercise for the mind.

 

ITAKE_2017

Want to meet Florin, +30 international speakers and ~300 software crafters from around Europe?

Register now for I T.A.K.E Unconference 2017!

Leave a Reply