<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Bartosz Ptaszynski</title>
	<atom:link href="http://www.bartoszptaszynski.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.bartoszptaszynski.com</link>
	<description>personal blog</description>
	<lastBuildDate>Tue, 27 Dec 2011 16:44:41 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Massively Multiplayer Online game design choices &#8211; Servers and instances</title>
		<link>http://www.bartoszptaszynski.com/2011/12/27/massively-multiplayer-online-game-design-choices-servers-and-instances/</link>
		<comments>http://www.bartoszptaszynski.com/2011/12/27/massively-multiplayer-online-game-design-choices-servers-and-instances/#comments</comments>
		<pubDate>Tue, 27 Dec 2011 16:44:41 +0000</pubDate>
		<dc:creator>Bartosz Ptaszynski</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[mmo]]></category>

		<guid isPermaLink="false">http://www.bartoszptaszynski.com/?p=294</guid>
		<description><![CDATA[Recently I&#8217;ve started playing Star Wars The Old Republic, which provoked few thoughts about MMO design in general Server instances are one of the oldest design concepts in Massively Multiplayer Online games. Although this concept long outlived its usefulness it is still widely used by new games. I believe mostly because World of Warcraft is [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I&#8217;ve started playing Star Wars The Old Republic, which provoked few thoughts about MMO design in general</p>
<p>Server instances are one of the oldest design concepts in Massively Multiplayer Online games. Although this concept long outlived its usefulness it is still widely used by new games. I believe mostly because World of Warcraft is using it and a lot of people like to copy everything WoW.<br />
Server instances solve issue of spreading the load of players and form nearly physical bounds allowing servers to handle a well defined amount of pressure. Unfortunately this pattern creates more issues than it solves. For instance a player may create a character on one server that becomes so popular that it becomes difficult to log in &#8211; as the server may put players that it cannot handle at the moment into a queue which empties when other players leave the game.<br />
Another issue is that friends of said player may start playing on other servers, making it impossible for them to play together. Some companies fight this by providing character transfers, some even charge for this. However character transfers are a workaround they raise the operation costs (support) if it is not automated.</p>
<p>A different approach, taken by only a handful of games such as Star Trek Online, is to have one server and completely invisibly to players separate them across servers. If a server becomes full, new players connect to new instance without even knowing about it. If they however want to play with their friends, by creating a group the game can put them on same server.</p>
<p>This also solves issue with inevitable server migrations &#8211; once game becomes less popular, most server&#8217;s population becomes so scarce that the company behind the game decides to merge existing servers to save costs and increase overall population per server. As with any change, it comes with mixed feelings from any communities and issues of its own &#8211; like conflicts in player character names.</p>
<p>Another solution is to have only one world &#8211; without instances. This is least used pattern as it affects other game design choices as well. For example the game world must be designed in a way that it can support hundred of thousands, even perhaps millions of players in a way that it would not create overcrowded areas.<br />
There are also other technical and design issues with this approach that I would like to discuss in future.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bartoszptaszynski.com/2011/12/27/massively-multiplayer-online-game-design-choices-servers-and-instances/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IASA Ambasadors</title>
		<link>http://www.bartoszptaszynski.com/2011/09/08/iasa-ambasadors/</link>
		<comments>http://www.bartoszptaszynski.com/2011/09/08/iasa-ambasadors/#comments</comments>
		<pubDate>Thu, 08 Sep 2011 12:36:37 +0000</pubDate>
		<dc:creator>Bartosz Ptaszynski</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.bartoszptaszynski.com/?p=287</guid>
		<description><![CDATA[Tuesday 23rd of August first organizational meeting of IASA Ambassador program took place in Irish Life &#38; Permanent building in Dublin. IASA is a non-profit organization with aim of promoting forming a profession of architects in technology sectors. As it is first ambassador program in IASA around the world it&#8217;s that much more exciting to [...]]]></description>
			<content:encoded><![CDATA[<p>Tuesday 23rd of August first organizational meeting of IASA Ambassador program took place in Irish Life &amp; Permanent building in Dublin.</p>
<p>IASA is a non-profit organization with aim of promoting forming a profession of architects in technology sectors.</p>
<p>As it is first ambassador program in IASA around the world it&#8217;s that much more exciting to be part of it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bartoszptaszynski.com/2011/09/08/iasa-ambasadors/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ArenaEngine &#8211; can I do it alone?</title>
		<link>http://www.bartoszptaszynski.com/2011/07/18/arenaengine-can-i-do-it-alone/</link>
		<comments>http://www.bartoszptaszynski.com/2011/07/18/arenaengine-can-i-do-it-alone/#comments</comments>
		<pubDate>Mon, 18 Jul 2011 14:19:48 +0000</pubDate>
		<dc:creator>Bartosz Ptaszynski</dc:creator>
				<category><![CDATA[about me]]></category>
		<category><![CDATA[ArenaEngine]]></category>

		<guid isPermaLink="false">http://www.bartoszptaszynski.com/?p=269</guid>
		<description><![CDATA[Last year an idea was born &#8211; ArenaEngine. It came to being after a pivotal change in my plans to develop yet unnamed Sci-Fi MMO. After going through some scenarios with Alexander Casassovici he suggested to focus on what I do best and have most experience in &#8211; servers/middleware. It took several months of bashing [...]]]></description>
			<content:encoded><![CDATA[<p>Last year an idea was born &#8211; <a title="ArenaEngine" href="http://arenaengine.com/">ArenaEngine</a>. It came to being after a pivotal change in my plans to develop yet unnamed Sci-Fi MMO. After going through some scenarios with <a href="http://about.me/ksso">Alexander Casassovici</a> he suggested to focus on what I do best and have most experience in &#8211; servers/middleware.</p>
<p>It took several months of bashing out ideas, prototypes, demos to iron out a plan and architecture for ArenaEngine. I&#8217;ve stopped freelancing and downsized <a title="Yazzgoth Ltd" href="http://yazzgoth.com">my company</a> in January &#8217;11 to concentrate on ArenaEngine only. One thing was certain &#8211;  this project needs sales and someone with overall experience in structuring company for scalability and I&#8217;m not fitting this requirements as I&#8217;m a techie.<br />
Fortunately there are organizations in Ireland that are made especially for people like myself. That&#8217;s how I&#8217;ve got onto the <a title="Genesis Enterprise Programme" href="http://www.gep.ie/">Genesis</a> which is a startup accelerator programme run and funded by <a title="Cork Institute of Technology" href="http://www.cit.ie/">Cork Institute of Technology</a> and <a title="Enterprise Ireland" href="http://enterprise-ireland.com/">Enterprise Ireland</a>.</p>
<p>After two months so far (out of twelve) this course is proving to be exactly what I need. That said driving a concept for a company such as this sucking a lot of energy from me. I don&#8217;t mind developing the software and whole platform for the product &#8211; it comes easy to me, but the marketing, financial analysis and predictions, structuring company etc. are not something I may say I am most proficient at. Never less Genesis works like school sometime &#8211; you have no choice but to comply.</p>
<p>So, can I do it alone? I must for now, unfortunately I had to let go one developer who worked with me on the prototyping stage as simply I&#8217;m running out of savings from last contracts. ArenaEngine is completely self funded so far and until either version 1.0 hits the online shelf or I manage to secure investment I can&#8217;t afford to hire anyone.</p>
<p>In future posts, which will be a mixture of technical heavy posts and business related posts I&#8217;ll leave a trail of progress being made. As mentioned above a lot had been done so far and the next few posts will summarize that.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bartoszptaszynski.com/2011/07/18/arenaengine-can-i-do-it-alone/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cork is obsessed with embedded technologies</title>
		<link>http://www.bartoszptaszynski.com/2011/07/18/cork-is-obsessed-with-embedded-technologies/</link>
		<comments>http://www.bartoszptaszynski.com/2011/07/18/cork-is-obsessed-with-embedded-technologies/#comments</comments>
		<pubDate>Mon, 18 Jul 2011 12:27:51 +0000</pubDate>
		<dc:creator>Bartosz Ptaszynski</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.bartoszptaszynski.com/?p=264</guid>
		<description><![CDATA[But not software&#8230; Looking around companies in Co.Cork you&#8217;ll see that all technology companies that show up on the radar are companies making/selling either: - medical devices - point of sale  / e-commerce - manufacturing/automation - training - consulting about IT - IT support - and of course web design (with blog/CMS integration) The lack [...]]]></description>
			<content:encoded><![CDATA[<p>But not software&#8230;</p>
<p>Looking around companies in Co.Cork you&#8217;ll see that all technology companies that show up on the radar are companies making/selling either:</p>
<p>- medical devices<br />
- point of sale  / e-commerce<br />
- manufacturing/automation<br />
- training<br />
- consulting about IT<br />
- IT support<br />
- and of course web design (with blog/CMS integration)</p>
<p>The lack of internet based companies, startups and pure software development is apparent. Even when trying to lead in technology development Cork is stuck one leg in physical world. Where pure virtual products and services have no limits in how quickly they can scale and grab new markets, all physical products and personal services are and always will be limited by its corporeal nature.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bartoszptaszynski.com/2011/07/18/cork-is-obsessed-with-embedded-technologies/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IASA Architect Core- Dublin, March 2011</title>
		<link>http://www.bartoszptaszynski.com/2011/03/30/iasa-architect-core-dublin-march-2011-2/</link>
		<comments>http://www.bartoszptaszynski.com/2011/03/30/iasa-architect-core-dublin-march-2011-2/#comments</comments>
		<pubDate>Wed, 30 Mar 2011 07:19:48 +0000</pubDate>
		<dc:creator>Bartosz Ptaszynski</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Iasa]]></category>
		<category><![CDATA[summary]]></category>
		<category><![CDATA[training]]></category>

		<guid isPermaLink="false">http://www.bartoszptaszynski.com/?p=221</guid>
		<description><![CDATA[Two weeks ago I&#8217;ve attended the IASA Architect Core course not certain what to expect. I&#8217;ve joined IASA just before the Irish Chapter was formed in late 2010 and haven&#8217;t had the opportunity to meet with anyone from IASA face to face. Thirteen people attended, a great mix of characters, experience and backgrounds. The course [...]]]></description>
			<content:encoded><![CDATA[<p>Two weeks ago I&#8217;ve attended the <a title="IASA Architect Core schedule" href="http://www.iasaglobal.org/assnfe/CourseView.asp?MODE=VIEW&amp;SNID=1424215487&amp;clCourseID=1&amp;csCategory=&amp;csFrom=&amp;csTo=&amp;csKeyWord=&amp;csSortBy=1&amp;clPageNumber=1">IASA Architect Core</a> course not certain what to expect. I&#8217;ve joined IASA just before the Irish Chapter was formed in late 2010 and haven&#8217;t had the opportunity to meet with anyone from IASA face to face. Thirteen people attended, a great mix of characters, experience and backgrounds.</p>
<p>The course was a good mix of lecture and hands-on workshops which helped to understand it and remember better by doing. The latter proved to be the challenge as the whole week was packed with so much information that its impossible to remember it all otherwise. Practical workshops also made bonds and friendships to form, outliving the course duration.</p>
<p>Overall the experience and knowledge were eye opener for me. It helped me to validate my skills and create an improvement path for my career. I&#8217;ve also learned more about IASA and its vision of strengthening the IT architects profession and am looking forward to be part of making it happen.</p>
<p>The course was presented by <a title="Jim Wilt" href="http://wiltjk.wordpress.com/">Jim Wilt</a>, with few sections presented by <a title="Gar Mac Críosta" href="http://toaaa.wordpress.com/">Gar Mac Críosta</a> (Gar will be leading the next Core course in Dublin).</p>

		<div class='et-image-slider' id='et-image-slider322'>
			<div class='et-image-slides'>
				<div class='et-image' style='background: url(http://www.bartoszptaszynski.com/wp-content/uploads/et_temp/191231_10150158585607780_647592779_8274085_5913242_o-437114_520x390.jpg) no-repeat; width: 520px; height: 390px;'><span class='et-image-overlay'> </span></div>

		<div class='et-image' style='background: url(http://www.bartoszptaszynski.com/wp-content/uploads/et_temp/195165_10150158590057780_647592779_8274102_2876081_o-408242_520x390.jpg) no-repeat; width: 520px; height: 390px;'><span class='et-image-overlay'> </span></div>

		<div class='et-image' style='background: url(http://www.bartoszptaszynski.com/wp-content/uploads/et_temp/195018_10150158588492780_647592779_8274096_4226676_o-473121_520x390.jpg) no-repeat; width: 520px; height: 390px;'><span class='et-image-overlay'> </span></div>

		<div class='et-image' style='background: url(http://www.bartoszptaszynski.com/wp-content/uploads/et_temp/194867_10150158589352780_647592779_8274099_5486589_o-489401_520x390.jpg) no-repeat; width: 520px; height: 390px;'><span class='et-image-overlay'> </span></div>

		<div class='et-image' style='background: url(http://www.bartoszptaszynski.com/wp-content/uploads/et_temp/194576_10150158589662780_647592779_8274100_1791741_o-366090_520x390.jpg) no-repeat; width: 520px; height: 390px;'><span class='et-image-overlay'> </span></div>

		<div class='et-image' style='background: url(http://www.bartoszptaszynski.com/wp-content/uploads/et_temp/194462_10150158586912780_647592779_8274092_4727459_o-452042_520x390.jpg) no-repeat; width: 520px; height: 390px;'><span class='et-image-overlay'> </span></div>

		<div class='et-image' style='background: url(http://www.bartoszptaszynski.com/wp-content/uploads/et_temp/192324_10150158588822780_647592779_8274097_5263036_o-397698_520x390.jpg) no-repeat; width: 520px; height: 390px;'><span class='et-image-overlay'> </span></div>

		<div class='et-image' style='background: url(http://www.bartoszptaszynski.com/wp-content/uploads/et_temp/192180_10150158586467780_647592779_8274089_2200124_o-452497_520x390.jpg) no-repeat; width: 520px; height: 390px;'><span class='et-image-overlay'> </span></div>

		<div class='et-image' style='background: url(http://www.bartoszptaszynski.com/wp-content/uploads/et_temp/192069_10150158587462780_647592779_8274093_6717725_o-468633_520x390.jpg) no-repeat; width: 520px; height: 390px;'><span class='et-image-overlay'> </span></div>

		<div class='et-image' style='background: url(http://www.bartoszptaszynski.com/wp-content/uploads/et_temp/191995_10150158585977780_647592779_8274086_4857114_o-465257_520x390.jpg) no-repeat; width: 520px; height: 390px;'><span class='et-image-overlay'> </span></div>

		<div class='et-image' style='background: url(http://www.bartoszptaszynski.com/wp-content/uploads/et_temp/191777_10150158588002780_647592779_8274095_1013429_o-460705_520x390.jpg) no-repeat; width: 520px; height: 390px;'><span class='et-image-overlay'> </span></div>
			</div>
			
			<div class='et-image-shadow'></div>
			<div class='et-image-shadowleft'></div>
			<div class='et-image-shadowright'></div>
		</div> <!-- .et-image-slider -->
		<script type='text/javascript'>
			
				 jQuery('#et-image-slider322 .et-image-slides').et_shortcodes_switcher({sliderType: 'images', auto: true, autoSpeed: '5000',useArrows: true, fx: 'slide', arrowLeft: '#et-image-slider322 a.left-arrow', arrowRight: '#et-image-slider322 a.right-arrow', linksNav: '#et-image-slider322 .controllers a.switch',findParent: false, lengthElement: 'a.switch'});
			
		</script>
]]></content:encoded>
			<wfw:commentRss>http://www.bartoszptaszynski.com/2011/03/30/iasa-architect-core-dublin-march-2011-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>When a security feature becomes security vulnerability &#8211; or why security questions suck</title>
		<link>http://www.bartoszptaszynski.com/2011/03/29/when-a-security-feature-becomes-security-vulnerability-or-why-security-questions-suck/</link>
		<comments>http://www.bartoszptaszynski.com/2011/03/29/when-a-security-feature-becomes-security-vulnerability-or-why-security-questions-suck/#comments</comments>
		<pubDate>Tue, 29 Mar 2011 09:09:16 +0000</pubDate>
		<dc:creator>Bartosz Ptaszynski</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.bartoszptaszynski.com/?p=240</guid>
		<description><![CDATA[Sometimes a great feature that by design should improve overall security can have outright negative impact on it. I&#8217;m thinking here about security questions that are used by some online services. As I&#8217;ve expressed my grief in my previous post someone got access to my Live account. After some forensics it seems like the poor [...]]]></description>
			<content:encoded><![CDATA[<p>Sometimes a great feature that by design should improve overall security can have outright negative impact on it. I&#8217;m thinking here about security questions that are used by some online services.</p>
<p>As I&#8217;ve expressed my grief in my <a title="The horror of Xbox Live account – and attempt at canceling it" href="http://www.bartoszptaszynski.com/2011/03/28/the-horror-of-xbox-live-account-and-attempt-at-canceling-it/">previous post</a> someone got access to my Live account. After some forensics it seems like the poor choice of security question was at fault.</p>
<p>We are living in Facebook and Google era where personal information is available broadly and finding details about someone is rather easy and becoming easier. Some typical security questions are: name of your first teacher, you mother maiden name, your childhood superhero, your pet name, birth date etc&#8230; When you think of it services like Facebook have that information available for anyone that is curious and determined enough to look.</p>
<p>So when a security feature becomes security vulnerability? One way at least is when you let a quasi-private data become the way to gain access to someone&#8217;s account without a password.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bartoszptaszynski.com/2011/03/29/when-a-security-feature-becomes-security-vulnerability-or-why-security-questions-suck/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Arena Engine first tech demo!</title>
		<link>http://www.bartoszptaszynski.com/2011/02/24/arena-engine-first-tech-demo/</link>
		<comments>http://www.bartoszptaszynski.com/2011/02/24/arena-engine-first-tech-demo/#comments</comments>
		<pubDate>Thu, 24 Feb 2011 15:06:05 +0000</pubDate>
		<dc:creator>Bartosz Ptaszynski</dc:creator>
				<category><![CDATA[featured]]></category>
		<category><![CDATA[mmo]]></category>
		<category><![CDATA[personal]]></category>
		<category><![CDATA[announcement]]></category>
		<category><![CDATA[AreneEngine]]></category>

		<guid isPermaLink="false">http://www.bartoszptaszynski.com/?p=216</guid>
		<description><![CDATA[I&#8217;ve announced this before last week here but I&#8217;ll mention it again &#8211; ArenaEngine will be presented for the first time in public at the next Open Coffee in Cork (that&#8217;s tomorrow!) and the Beta1 will be announced soon as well.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve announced this before last week <a href="http://blog.arenaengine.com/2011/02/18/first-tech-preview-demo-of-arena-engine/">here</a> but I&#8217;ll mention it again &#8211; <a href="http://arenaengine.com/">ArenaEngine</a> will be presented for the first time in public at the next Open Coffee in Cork (that&#8217;s tomorrow!) and the Beta1 will be announced soon as well.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bartoszptaszynski.com/2011/02/24/arena-engine-first-tech-demo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Iasa Architect Core &#8211; Dublin, March 2011</title>
		<link>http://www.bartoszptaszynski.com/2011/02/13/iasa-architect-core-dublin-march-2011/</link>
		<comments>http://www.bartoszptaszynski.com/2011/02/13/iasa-architect-core-dublin-march-2011/#comments</comments>
		<pubDate>Sun, 13 Feb 2011 14:49:51 +0000</pubDate>
		<dc:creator>Bartosz Ptaszynski</dc:creator>
				<category><![CDATA[personal]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[certification]]></category>
		<category><![CDATA[Iasa]]></category>
		<category><![CDATA[training]]></category>

		<guid isPermaLink="false">http://www.bartoszptaszynski.com/?p=111</guid>
		<description><![CDATA[This year I&#8217;m changing the way I work to be more meaningful for myself personally and for long term professional career. Aside from reserving part of my time this year for consultancy I will spend more time learning. Last year had gone very fast and drained a lot of my energy. It was rewarding in experience, [...]]]></description>
			<content:encoded><![CDATA[<p>This year I&#8217;m changing the way I work to be more meaningful for myself personally and for long term professional career.<br />
Aside from reserving part of my time this year for consultancy I will spend more time learning. Last year had gone very fast and drained a lot of my energy. It was rewarding in experience, both good and bad.</p>
<p>The first training this year that I&#8217;ll attend is the <a href="https://www.iasaglobal.org/assnfe/ev.asp?MODE=&amp;SNID=807079298&amp;ID=41">Iasa Architect Core</a> hosted by Irish Chapter of Iasa and presented by <a href="http://wiltjk.wordpress.com/">Jim Wilt</a>.</p>
<div id="_mcePaste">
<blockquote>
<div id="_mcePaste">The purpose of these two courses are to introduce students to the IT</div>
<div id="_mcePaste">Architecture skills that the IASA has determined are necessary for all</div>
<div id="_mcePaste">architects, regardless of level or specialization, and to then apply those skills</div>
<div id="_mcePaste">in a simulated business environment.</div>
</blockquote>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.bartoszptaszynski.com/2011/02/13/iasa-architect-core-dublin-march-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Routed/Switched network hybrid or migrating from switched to routed network</title>
		<link>http://www.bartoszptaszynski.com/2011/01/31/routedswitched-network-hybrid-or-migrating-from-switched-to-routed-network/</link>
		<comments>http://www.bartoszptaszynski.com/2011/01/31/routedswitched-network-hybrid-or-migrating-from-switched-to-routed-network/#comments</comments>
		<pubDate>Mon, 31 Jan 2011 19:10:20 +0000</pubDate>
		<dc:creator>Bartosz Ptaszynski</dc:creator>
				<category><![CDATA[mikrotik]]></category>
		<category><![CDATA[network]]></category>

		<guid isPermaLink="false">http://www.bartoszptaszynski.com/?p=112</guid>
		<description><![CDATA[About two years ago I&#8217;ve prepared a plan for a network which started out as a completely switched network using mix of Mikrotik, Motorola and other wireless equipment. The goal was to advise a way to switch from switched to routed network with minimal impact on SLA. Below I&#8217;m providing the guide I&#8217;ve prepared for [...]]]></description>
			<content:encoded><![CDATA[<p>About two years ago I&#8217;ve prepared a plan for a network which started out as a completely switched network using mix of Mikrotik, Motorola and other wireless equipment.</p>
<p>The goal was to advise a way to switch from switched to routed network with minimal impact on SLA.</p>
<p>Below I&#8217;m providing the guide I&#8217;ve prepared for that network with the approval of the customer who wishes to remain anonymous. The guide is very technical and prepared for that particular network but it has some useful tips on building hybrid (switched/routed) network using Mikrotik routers which on its own is quite interesting endeavor.</p>
<p>I hope this may be helpful to some of you out there&#8230;</p>
<p>=======================================</p>
<p><!-- p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 32.0px 'Helvetica Neue UltraLight'} --></p>
<h4>PPPoE &amp; Routing &#8211; migration plan from switched network</h4>
<p><!-- p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px 'Helvetica Neue'; color: #307d9f} p.p2 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px 'Helvetica Neue Light'} p.p3 {margin: 0.0px 0.0px 0.0px 0.0px; font: 7.0px 'Helvetica Neue Light'} p.p4 {margin: 0.0px 0.0px 0.0px 0.0px; font: 9.0px 'Helvetica Neue'} span.Apple-tab-span {white-space:pre} --><strong>Idea</strong></p>
<p>Migration should be done in steps, one access point at a time.</p>
<p>A routed segment needs to be built from the network’s edge down to that access point.</p>
<p>In order to keep backward compatibility with the bridged devices we’ll setup EoIP tunnels at each router.</p>
<p>After one end router of the network (router with all access points attached to it) is migrated fully to routed network, the EoIP tunnel can be disabled from that router, and the bridge interface removed completely.</p>
<p>This process needs to be repeated for each end router.</p>
<p><strong>Setting up routed network</strong></p>
<p>The nice thing about having MikroTik routers is that we can have bridged and routed network at the same time on the same equipment.</p>
<p>Each point to point will receive /29 (to cover both end of the routes and optional radio equipment). Point to point links will start on IPs 10.15.0.0 and future allocation of network ranges will be decided later.</p>
<p>If Mikrotik is used also as the wireless link /32 point-to-point addressing can be used on both ends of the link to avoid wasting IPs on broadcast and network addresses.</p>
<p>The IP addresses need to be assigned directly to the interfaces they should be accessed from. Example:</p>
<p>SiteA-mt-rb1000</p>
<blockquote><p>/ip address add address=10.15.0.17/29 interface=&#8221;ether3 &#8211; gateway&#8221;</p></blockquote>
<p>SiteA-mt-router:</p>
<blockquote><p>/ip address add address=10.15.0.18/29 interface=&#8221;ether2 &#8211; RB1000&#8243;<br />
/ip address add address=10.15.0.1/29 interface=&#8221;ether3 &#8211; to SiteB&#8221;</p></blockquote>
<p>SiteB-mt-router:</p>
<blockquote><p>/ip address add address=10.15.0.4/29 interface=&#8221;ether6 &#8211; to SiteA&#8221;<br />
/ip address add address=10.15.0.9/29 interface=&#8221;ether3 &#8211; to SiteC&#8221;</p></blockquote>
<p>SiteC-mt-router</p>
<blockquote><p>/ip address add address=10.15.0.12/29 interface=&#8221;ether1 &#8211; to SiteB&#8221;</p></blockquote>
<p>[Note: each Site has access points and links to other sites. The above example focuses on one leg of the network]</p>
<p>The IP addresses on the radio equipment between these two routers should also be changed to 10.15.0.2/29 and 10.15.0.3/29, etc. The gateway for the backhaul should be the router connected to it (ie. 10.15.0.1 for the BH with IP 10.15.0.2, then 10.15.0.4 for BH 10.15.0.3, etc).</p>
<p><strong>Next comes OSPF.</strong></p>
<p>We need to create a backbone for our network. Backbone is a network on which the information about routes is being redistributed on. Which means that the /29 links have to be on the backbone in order to share routes on both ends with each other. If it is not possible to have a direct link between backbone routers a Virtual Link needs to be created between two backbone routers, but I won’t touch that topic here (this will be explained in a different doc).</p>
<p>Example: SiteA-mt-rb1000 (10.15.1.1):</p>
<blockquote><p>/routing ospf set distribute-default=always-as-type-1 metric-bgp=20 metric-connected=20 metric-default=1 metric-rip=20 metric- static=20 mpls-te-area=unspecified mpls-te-router-id=unspecified redistribute-bgp=no redistribute-connected=as-type-1 redistribute-rip=no redistribute-static=as-type-1 router-id=10.15.1.1</p>
<p>/routing ospf network<br />
add area=backbone disabled=no network=10.15.1.8/29<br />
add area=backbone disabled=no network=10.15.1.0/29<br />
add area=backbone disabled=no network=10.15.0.16/29</p></blockquote>
<p>Note that this is the edge router so it redistributes the default route, no other router should redistribute default routes. SiteA-mt-router (10.15.0.1)</p>
<blockquote><p>/routing ospf set distribute-default=never metric-bgp=20 metric-connected=20 metric-default=1 metric-rip=20 metric- static=20 mpls-te-area=unspecified mpls-te-router-id=unspecified redistribute-bgp=no redistribute-connected=as-type-1 redistribute-rip=no redistribute-static=as-type-1 router-id=10.15.0.1</p>
<p>/routing ospf network<br />
add area=backbone disabled=no network=10.15.0.0/29<br />
add area=backbone disabled=no network=10.15.0.16/29<br />
add area=backbone disabled=yes network=10.15.0.24/29</p></blockquote>
<p>Repeat this on the whole path. This will result in a OSPF network that will automatically redistribute connected and static routes.</p>
<p>Before you proceed check that you can ping the first router (ie 10.15.1.1) from the last router. If the routes are propagated correctly you should be able to. Without this EoIP won’t be possible.</p>
<p><strong>Next step is to create EoIP bridges.</strong></p>
<p>The EoIP bridge will ensure that customers still setup for bridged network will seamlessly operate even tho we’ll remove the bridge between the routers.</p>
<p><strong>IMPORTANT NOTE: All the bridgess should use RSTP!</strong></p>
<p>All of the tunnels need to connect to the edge router (connected to the gateway). Each EoIP tunnel on one router needs to have an unique tunnel ID and MAC address. MAC address is randomly generated in latest (3.20+) firmware so the only thing to watch out for is the tunnel ID. These tunnels need to be added to bridges on both routers. These bridges need to also include the ports on which the Access Points are connected.</p>
<p>Example:</p>
<p>SiteC (10.15.0.12):</p>
<blockquote><p>/interface eoip add arp=enabled mac-address=02:56:1F:C2:84:D3 name=eoip3-SiteA remote-address=10.15.1.1 tunnel-id=3<br />
/interface bridge ports add bridge=bridge1 interface=&#8221;ether4 &#8211; to AP&#8221; add bridge=bridge1 interface=eoip3-SiteA</p></blockquote>
<p>SiteA (10.15.1.1):</p>
<blockquote><p>/interface eoip<br />
add mac-address=02:E4:16:48:3D:98 name=eoip3-SiteC remote-address=10.15.0.12 tunnel-id=3<br />
add mac-address=02:D2:D2:90:43:77 name=eoip4-SiteB remote-address=10.15.0.4 tunnel-id=4<br />
/interface bridge ports<br />
add bridge=bridge1 interface=&#8221;ether4 &#8211; gateway&#8221;<br />
add bridge=bridge1 interface=eoip3-SiteC<br />
add bridge=bridge1 interface=eoip4-SiteB</p></blockquote>
<p>Having this you can now take the interface linking the routers out of the bridge (note these interfaces are not listed in above examples as they are already taken out on the routers from which this example is exported).</p>
<p><strong>Setting up PPPoE access</strong></p>
<p>The edge router facing the gateway needs to have proxy-arp set on the interface (in this case the bridge) facing the gateway.</p>
<p>The router facing gateway needs to have an IP address that the gateway and the router can communicate with, then on the gateway a static route needs to be added for 10.0.0.0/8 range pointing at that router.</p>
<p>Example:</p>
<p>gateway: 172.16.155.1	&lt;&#8211;&gt; router: 172.16.155.134 on the gateway: route add -net 10.0.0.0/8 172.16.155.134</p>
<p>This will guarantee that all traffic to 10/8 network will go through that router. The 10.0.0.0/8 IP range is set to be used in the routed network.</p>
<p>The router closest to customers will have PPPoE Server will have two /25 IP ranges one for equipment (CPE) and one for client routers (or WAN on CPE if NAT is enabled there). Initially the IP range for equipment will start from 10.20.0.0, clients will ideally receive public IPs but for now private IPs will start 10.30.0.0.</p>
<p>Assuming that we’ll use 10.30.0.0 for the customer IPs the gateway router needs to be able to route traffic from such IPs.</p>
<p>Also make sure that router has</p>
<blockquote><p>/routing ospf set redistribute-static-routes=as-type-1</p></blockquote>
<p>The router running PPPoE (closest to the clients) needs to get that IP range assigned too:</p>
<p>Example:</p>
<blockquote><p>/ip address add address=10.30.0.1/25 interface=”ether9 &#8211; AP”</p></blockquote>
<p>Make sure that OSPF uses area range to limit the amount of routing table entries:</p>
<blockquote><p>/routing ospf area range add advertise=yes area=area-name cost=default disabled=no range=10.30.0.0/25</p></blockquote>
<p>Without this each PPPoE connection would add one entry to routing table across the OSPF network.</p>
<p><strong>PPPoE Server and authentication is the last bit.</strong></p>
<blockquote><p>/ppp profile add bridge=bridge1 change-tcp-mss=yes local-address=10.30.0.1 name=pppoe only-one=yes use- encryption=yes</p></blockquote>
<p>Note that since we still have the interface facing Access Point we need to attach the PPPoE server to the bridge.</p>
<p>Once everyone is migrated to PPPoE that interface MUST be taken out from the bridge (and EoIP removed) before you move onto other Mikrotik. This is because PPPoE handshake is Layer-2 based and does propagate over bridge, which can result in all weird results, even with customers from across the network registering with mikrotik on the other side of the network over the EoIP bridge.</p>
<blockquote><p>/interface pppoe-server server add authentication=pap default-profile=pppoe interface=bridge1 one-session-per-host=yes service-name=internet</p>
<p>/ppp aaa set accounting=yes interim-update=1m use-radius=yes</p>
<p>/radius add accounting-backup=no accounting-port=1813 address=X.X.X.X authentication-port=1812 secret=secretpassword service=ppp timeout=10s</p></blockquote>
<p>Now the RADIUS/UserManager has to be setup to allow this router to check authentication requests on the X.X.X.X address.</p>
<p>Our PPPoE server mikrotik needs to have access (either routed or via public IP) to the RADIUS/UserManager, and the IP that the UserManager will see as originator for incoming requests needs to be used as the router IP when you’re adding router to it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bartoszptaszynski.com/2011/01/31/routedswitched-network-hybrid-or-migrating-from-switched-to-routed-network/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Freedom of choice in architecture design</title>
		<link>http://www.bartoszptaszynski.com/2011/01/31/freedom-of-choice-in-architecture-design/</link>
		<comments>http://www.bartoszptaszynski.com/2011/01/31/freedom-of-choice-in-architecture-design/#comments</comments>
		<pubDate>Mon, 31 Jan 2011 11:28:14 +0000</pubDate>
		<dc:creator>Bartosz Ptaszynski</dc:creator>
				<category><![CDATA[coding]]></category>
		<category><![CDATA[design]]></category>

		<guid isPermaLink="false">http://www.bartoszptaszynski.com/?p=109</guid>
		<description><![CDATA[I&#8217;ve been part of many projects where choice of language, frameworks and libraries were imposed by the client strictly. This became so natural that even for my own projects I used to look at designing them around single language (ie. Python). Usually JavaScript creeps here and there as well regardless it seems these days of [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been part of many projects where choice of language, frameworks and libraries were imposed by the client strictly. This became so natural that even for my own projects I used to look at designing them around single language (ie. Python). Usually JavaScript creeps here and there as well regardless it seems these days of what you are developing: web app (obviously!), data base views (think: CouchDB), game (Unity3D), desktop apps (Titanium/others?).</p>
<p>Time shows that the saying &#8220;if the only tool that you have is a hammer, everything starts to look like a nail&#8221; is absolutely correct. In every system design the right tools should be used for the job. This is obvious! &#8211; you may think. Sure, but how often did you end up anyway thinking in categories of single language?</p>
<p>To be really flexible think of mixing and matching different languages for your projects.</p>
<p>Node.js is maturing and becoming serious contender when it comes to writing web apps. Throwing Objective-J to the mix may give you huge productivity boost. Using Python on the backend to utilize its great amount of libraries to glue your app with whatever you may want or wish for or to handle some more advanced logic. And Erlang for the parts of your system that need concurrency and its async nature (ie. for streaming). There&#8217;s four languages right there! And who is not to say that you&#8217;ll want to boost some performance with C or C++ modules for Python, Erlang or Node.js in the above scenario.</p>
<p>Unfortunately not every project owner will give you such freedom. But it&#8217;s your task, as a software architect/lead programmer/etc to rationalize use of every and each tool at your disposal.</p>
<p>Time is most precious asset in every project &#8211; using right tools for the job means better productivity so delivery faster.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.bartoszptaszynski.com/2011/01/31/freedom-of-choice-in-architecture-design/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

