<?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/"
	
	xmlns:georss="http://www.georss.org/georss"
	xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#"
	>

<channel>
	<title>nyssetutka Archives - Pietari Heino&#039;s personal website</title>
	<atom:link href="https://www.extreg.com/blog/tag/nyssetutka/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.extreg.com/blog/tag/nyssetutka/</link>
	<description></description>
	<lastBuildDate>Thu, 19 Oct 2017 13:45:56 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=5.9.10</generator>
<site xmlns="com-wordpress:feed-additions:1">99365322</site>	<item>
		<title>My first talk [Mistä Nyssetutka on tehty]</title>
		<link>https://www.extreg.com/blog/2017/10/first-talk-mista-nyssetutka-tehty/</link>
					<comments>https://www.extreg.com/blog/2017/10/first-talk-mista-nyssetutka-tehty/#comments</comments>
		
		<dc:creator><![CDATA[Pietari]]></dc:creator>
		<pubDate>Thu, 12 Oct 2017 13:19:53 +0000</pubDate>
				<category><![CDATA[Talks]]></category>
		<category><![CDATA[nyssetutka]]></category>
		<category><![CDATA[talks]]></category>
		<category><![CDATA[tietotekniikan yö]]></category>
		<guid isPermaLink="false">https://extreg.com/?p=223</guid>

					<description><![CDATA[<p>I had my first talk! Juhuuu! Very nice. Super. Great feeling. And what&#8217;s best, from the feedback I received I&#8217;m pretty sure the audience liked it 🙂 I presented a 30-minute talk about the architecture of my child of 2017, Nyssetutka.fi. The presentation was part of the now annual Tietotekniikan yö, IT-night, organised by students ... <span class="more"><a class="more-link" href="https://www.extreg.com/blog/2017/10/first-talk-mista-nyssetutka-tehty/">[Read more...]</a></span></p>
<p>The post <a rel="nofollow" href="https://www.extreg.com/blog/2017/10/first-talk-mista-nyssetutka-tehty/">My first talk [Mistä Nyssetutka on tehty]</a> appeared first on <a rel="nofollow" href="https://www.extreg.com">Pietari Heino&#039;s personal website</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" class="size-full wp-image-224 aligncenter" src="https://extreg.com/wp-content/uploads/2017/10/Nyssetutka-client.png" alt="" width="751" height="611" srcset="https://www.extreg.com/wp-content/uploads/2017/10/Nyssetutka-client.png 751w, https://www.extreg.com/wp-content/uploads/2017/10/Nyssetutka-client-300x244.png 300w" sizes="(max-width: 751px) 100vw, 751px" /></p>
<p>I had my first talk! Juhuuu! Very nice. Super. Great feeling. And what&#8217;s best, from the feedback I received I&#8217;m pretty sure the audience liked it <img src="https://s.w.org/images/core/emoji/13.1.0/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p>I presented a 30-minute talk about the architecture of my child of 2017, <a href="https://nyssetutka.fi">Nyssetutka.fi</a>. The presentation was part of the now annual <em><strong>Tietotekniikan yö</strong></em>, IT-night, organised by students of the <a href="http://tietoteekkarikilta.fi">Tietoteekkari guild</a> and our lab, <a href="https://pervasive.cs.tut.fi/">Pervasive Computing</a>. You may find a summary blog posting of the whole event <a href="https://pervasive.cs.tut.fi/?p=2124">here</a> (also, check out previous Tietotekniikan yö blog postings <a href="https://pervasive.cs.tut.fi/?p=826">here</a> and <a href="https://pervasive.cs.tut.fi/?p=1400">here</a>). The evening was filled with interesting talks from a couple of companies (Futurice, SWD, Solita) and both our own and Signal Processing lab&#8217;s staff. IoT, PC++, CI, AI, ML, ethics of programming, ASICs, side-channel attacks, the story of maksalaatikko and so forth.</p>
<p>I went through both the server and client-side architecture of the application and discussed the various optimizations I&#8217;ve done in order to make the experience smooth for the user (caching techniques for the server, batching DOM work, splitting computations etc.). I also talked about the MV of the MVC and the usual one-way data flow you find from current modern JS frameworks. Moreover, synchronous vs. asynchronous work was discussed and what needs to be done in order to make the app responsive when you&#8217;re dealing with single-threaded JS engines.</p>
<p>In addition to learning some new things, I hope at least a part of the students in the audience got a good grasp of the importance of little (and not-so-little) side projects. I think they&#8217;re very important and one should every once in a while hack and tinker with something that&#8217;s not given by the teachers or employers. It doesn&#8217;t have to be big, just exploring new things will make you better at everything. <strong>I always want to learn more.</strong></p>
<div id="attachment_236" style="width: 710px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-236" loading="lazy" class="wp-image-236 size-large" src="https://extreg.com/wp-content/uploads/2017/10/tietotekniikan_yö_3-1024x531.jpg" alt="" width="700" height="363" srcset="https://www.extreg.com/wp-content/uploads/2017/10/tietotekniikan_yö_3-1024x531.jpg 1024w, https://www.extreg.com/wp-content/uploads/2017/10/tietotekniikan_yö_3-300x156.jpg 300w, https://www.extreg.com/wp-content/uploads/2017/10/tietotekniikan_yö_3-768x398.jpg 768w, https://www.extreg.com/wp-content/uploads/2017/10/tietotekniikan_yö_3.jpg 1410w" sizes="(max-width: 700px) 100vw, 700px" /><p id="caption-attachment-236" class="wp-caption-text">TB104 was packed!</p></div>
<div id="attachment_237" style="width: 778px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-237" loading="lazy" class="wp-image-237 size-full" src="https://extreg.com/wp-content/uploads/2017/10/pietari_heino_tietotekniikan_yö_3.jpg" alt="" width="768" height="615" srcset="https://www.extreg.com/wp-content/uploads/2017/10/pietari_heino_tietotekniikan_yö_3.jpg 768w, https://www.extreg.com/wp-content/uploads/2017/10/pietari_heino_tietotekniikan_yö_3-300x240.jpg 300w" sizes="(max-width: 768px) 100vw, 768px" /><p id="caption-attachment-237" class="wp-caption-text">Me speaking</p></div>
<p>The diagrams here are from my slides. I used them for high(ish) level architecture illustration. As you can see, they don&#8217;t follow any formal spec. But you get the idea.</p>
<p><img loading="lazy" class="size-large wp-image-225 aligncenter" src="https://extreg.com/wp-content/uploads/2017/10/Nyssetutka-server.png" alt="" width="700" height="540" srcset="https://www.extreg.com/wp-content/uploads/2017/10/Nyssetutka-server.png 831w, https://www.extreg.com/wp-content/uploads/2017/10/Nyssetutka-server-300x231.png 300w, https://www.extreg.com/wp-content/uploads/2017/10/Nyssetutka-server-768x592.png 768w" sizes="(max-width: 700px) 100vw, 700px" /></p>
<p>The post <a rel="nofollow" href="https://www.extreg.com/blog/2017/10/first-talk-mista-nyssetutka-tehty/">My first talk [Mistä Nyssetutka on tehty]</a> appeared first on <a rel="nofollow" href="https://www.extreg.com">Pietari Heino&#039;s personal website</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.extreg.com/blog/2017/10/first-talk-mista-nyssetutka-tehty/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">223</post-id>	</item>
		<item>
		<title>&#8220;node build.js&#8221; hangs on production server</title>
		<link>https://www.extreg.com/blog/2017/06/node-build-js-hangs-production-server/</link>
					<comments>https://www.extreg.com/blog/2017/06/node-build-js-hangs-production-server/#respond</comments>
		
		<dc:creator><![CDATA[Pietari]]></dc:creator>
		<pubDate>Tue, 06 Jun 2017 15:22:25 +0000</pubDate>
				<category><![CDATA[random]]></category>
		<category><![CDATA[ec2 hangs]]></category>
		<category><![CDATA[memory]]></category>
		<category><![CDATA[nyssetutka]]></category>
		<category><![CDATA[pm2]]></category>
		<category><![CDATA[webpack build]]></category>
		<guid isPermaLink="false">https://extreg.com/?p=196</guid>

					<description><![CDATA[<p>Very short version: check that you&#8217;re not running out of RAM and/or swapping really works. Notice that swapping is completely off on EC2 Ubuntu AMIs even if it&#8217;s on everywhere else. Longer version below. Notice the gap on the graph. That&#8217;s the time when my AWS micro instance went completely janky and stopped responding to ... <span class="more"><a class="more-link" href="https://www.extreg.com/blog/2017/06/node-build-js-hangs-production-server/">[Read more...]</a></span></p>
<p>The post <a rel="nofollow" href="https://www.extreg.com/blog/2017/06/node-build-js-hangs-production-server/">&#8220;node build.js&#8221; hangs on production server</a> appeared first on <a rel="nofollow" href="https://www.extreg.com">Pietari Heino&#039;s personal website</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p>Very short version: check that you&#8217;re not running out of RAM and/or swapping really works. Notice that swapping is completely off on EC2 Ubuntu AMIs even if it&#8217;s on everywhere else. Longer version below.</p>
<div id="attachment_197" style="width: 710px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-197" loading="lazy" class="size-large wp-image-197" src="https://extreg.com/wp-content/uploads/2017/06/grafana-mem-hang-1024x481.png" alt="" width="700" height="329" srcset="https://www.extreg.com/wp-content/uploads/2017/06/grafana-mem-hang-1024x481.png 1024w, https://www.extreg.com/wp-content/uploads/2017/06/grafana-mem-hang-300x141.png 300w, https://www.extreg.com/wp-content/uploads/2017/06/grafana-mem-hang-768x361.png 768w, https://www.extreg.com/wp-content/uploads/2017/06/grafana-mem-hang.png 1357w" sizes="(max-width: 700px) 100vw, 700px" /><p id="caption-attachment-197" class="wp-caption-text">Grafana dashboard showing memory consumption reported by collectd/statsd/graphite</p></div>
<p>Notice the gap on the graph. That&#8217;s the time when my AWS micro instance went completely janky and stopped responding to everything and I had to force-reboot it from the EC2 control panel. What did I do? Very simple: running webpack build pipeline for my project&#8217;s static assets and it ate all the RAM. I suspect that it would have finished the build some time in the future (though not sure if this or the next decade) but after 10 minutes rebooting was the only option.</p>
<p>This blog post is just for those who might not notice the problem and try to google for answers as to why their perfectly working deployment tool hangs the whole production server <em><strong>from time to time</strong></em>.</p>
<p>This happened to me once last week and now for the second time. So basically 1 hang for every 40 deployments or something like that. I had no clue. But just when I was about to start googling it struck me: the server runs out of resources. This wasn&#8217;t completely obvious to me from the beginning because A the project is in early steps and I hadn&#8217;t configured any server monitoring before (if you look at the picture that tad over 16hours is when I actually started collecting the stats, no joking) and B I had made sure that the 1 GB of RAM on the server was completely enough to run the actual services I needed. It didn&#8217;t cross my mind that ~500 meg usage would rise so much when building.</p>
<p>The project in question is <a href="https://nyssetutka.fi">Nyssetutka</a> which is a Tampere area public transportation web app showing busses and stops and whatnot. It&#8217;s still in early(-ish) development stage so I haven&#8217;t had the time to build a nice deployment pipeline and put all the usual checks into place and was funnily just setting up the collectD monitoring as I discovered the reason for the hangs. The app consists of a Node backend and static front end. The backend is run by <a href="https://github.com/Unitech/pm2">PM2</a> because it works nicely and comes with customizable deployment &#8220;pipeline&#8221; (not really a pipeline). I&#8217;ve configured it so that the static assets for the front end are not stored in VC and every deployment always builds the front end files, installs all new dependencies for the server and starts the backend. This basically means a 30 second downtime for the app but that&#8217;s fine right now. This workflow gives me very fast iteration times and now that I have server monitoring in place (using Grafana) I don&#8217;t have to worry so much.</p>
<p>Hopefully this is of help for someone.</p>
<p>The post <a rel="nofollow" href="https://www.extreg.com/blog/2017/06/node-build-js-hangs-production-server/">&#8220;node build.js&#8221; hangs on production server</a> appeared first on <a rel="nofollow" href="https://www.extreg.com">Pietari Heino&#039;s personal website</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.extreg.com/blog/2017/06/node-build-js-hangs-production-server/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
		<post-id xmlns="com-wordpress:feed-additions:1">196</post-id>	</item>
	</channel>
</rss>
