<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link rel="hub" href="http://tumblr.superfeedr.com/" xmlns:atom="http://www.w3.org/2005/Atom"/><description></description><title>Nodal Point</title><generator>Tumblr (3.0; @berkus)</generator><link>http://blog.exquance.com/</link><item><title>Museum of Endangered Sounds</title><description>&lt;a href="http://savethesounds.info/"&gt;Museum of Endangered Sounds&lt;/a&gt;: &lt;p&gt;Hehe, this is truly amazing museum! The best I’ve seen lately.&lt;/p&gt;</description><link>http://blog.exquance.com/post/24321534309</link><guid>http://blog.exquance.com/post/24321534309</guid><pubDate>Sun, 03 Jun 2012 12:32:41 +0300</pubDate></item><item><title>New classes</title><description>&lt;p&gt;I took three more classes (actually, I took a lot more this time, but they all fell off, still hope to at least watch the videos).&lt;/p&gt;

&lt;p&gt;So here&amp;#8217;s the breakdown:&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.udacity.com/course/cs212" target="_blank"&gt;Udacity CS212&lt;/a&gt; - Design of Computer Programs - a bit boring for me, I usually do all the same stuff as my daily job. Might be interesting to people new in the craft.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.udacity.com/course/cs387" target="_blank"&gt;Udacity CS387&lt;/a&gt; - Applied Cryptography - very interesting one, enjoying the theory and application equally.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://coursera.org/compilers" target="_blank"&gt;Coursera Compilers&lt;/a&gt; - Compilers (ha!) - extremely interesting, very practical and exciting course. I&amp;#8217;m kinda skipping the quizzes - they are too theoretical and not very interesting, but spend most of my time on actually implementing the lexer and parser and in the future hopefully some code generation and optimizations as well. So far, my favourite course.&lt;/p&gt;</description><link>http://blog.exquance.com/post/23049966044</link><guid>http://blog.exquance.com/post/23049966044</guid><pubDate>Mon, 14 May 2012 22:11:37 +0300</pubDate></item><item><title>Sending network packets</title><description>&lt;p&gt;A little sidetrack into the world of PCI probing and NE2000 network card emulation.&lt;/p&gt;

&lt;p&gt;Wanted to have a taste of sending and receiving network packets inside my little OS, so I went and implemented PCI scanning (extremely simple) and NE2000 card driver (fairly simple too, their doc is quite good although misses some crucial points).&lt;/p&gt;

&lt;p&gt;So, after some fiddling I was able to send a packet and receive it through the bochs virtual network card. I&amp;#8217;ve then connected bochs to the host network card and stared at network packets for a while. Cool stuff.&lt;/p&gt;

&lt;p&gt;Here&amp;#8217;s the screen dump of the sent and then received broadcast packet.&lt;/p&gt;

&lt;pre&gt;IRQ11 enabled.
Finished initializing NE2000 with MAC b0:c4:20:00:00:00.
Received irq: 0x0000000b
Packet transmitted.
Packet received.
Received packet with status 33 of length 68, next packet at 82

0x004f0064  ff ff ff ff ff ff 28 cf  da 00 99 f5 00 10 48 65  ......(.......He
0x004f0074  6c 6c 6f 20 6e 65 74 20  77 6f 72 6c 64 21 00 00  llo net world!..
0x004f0084  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................
0x004f0094  00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  ................&lt;/pre&gt;</description><link>http://blog.exquance.com/post/22839571735</link><guid>http://blog.exquance.com/post/22839571735</guid><pubDate>Fri, 11 May 2012 16:35:43 +0300</pubDate></item><item><title>sjlj and exception handling</title><description>&lt;p&gt;Of course, the clang&amp;#8217;s implementation of setjmp is very generic and uses quite an abstraction of program state, which makes it hardly suitable for the ad-hoc local exception support I&amp;#8217;m using. Since my requirements for setjmp were quite simple (just give me back my damn registers and stack frame), I went and implemented a very custom-tailored versions __sjljeh_setjmp and __sjljeh_longjmp which do just what I need.&lt;/p&gt;

&lt;p&gt;With &lt;a href="http://metta.exquance.com/browser/src/runtime/setjmp.s" target="_blank"&gt;that stuff&lt;/a&gt; out of the way, my entire boot sequence now works and I can finally fiddle with more interesting stuff. Type system and introspection, here we go.&lt;/p&gt;</description><link>http://blog.exquance.com/post/20708676335</link><guid>http://blog.exquance.com/post/20708676335</guid><pubDate>Sun, 08 Apr 2012 14:42:58 +0300</pubDate><category>metta</category><category>Clang</category><category>llvm</category><category>longjmp</category><category>exceptions</category></item><item><title>CS373 finished</title><description>&lt;p&gt;I&amp;#8217;m done with CS373, having implemented some quite nice algorithms that can be used to real-life robot navigation and after a surprisingly well done final exam (my hopes weren&amp;#8217;t so high after the AI class, so I&amp;#8217;m positively surprised).&lt;/p&gt;

&lt;p&gt;It was so fun I signed up for two more classes starting April 16. - Applied Cryptography and Design of Computer Programs. Can&amp;#8217;t wait to have moar edjuukation.&lt;/p&gt;</description><link>http://blog.exquance.com/post/20708501102</link><guid>http://blog.exquance.com/post/20708501102</guid><pubDate>Sun, 08 Apr 2012 14:34:28 +0300</pubDate><category>Udacity</category><category>education</category><category>CS373</category></item><item><title>Bret Victor's Kill Math</title><description>&lt;a href="http://worrydream.com/KillMath/"&gt;Bret Victor's Kill Math&lt;/a&gt;: &lt;p&gt;How to stop worrying and love your visualization tools.&lt;/p&gt;</description><link>http://blog.exquance.com/post/20342212530</link><guid>http://blog.exquance.com/post/20342212530</guid><pubDate>Mon, 02 Apr 2012 12:25:33 +0300</pubDate></item><item><title>Education opportunities</title><description>&lt;p&gt;One chat started talking about various online education opportunities. Here&amp;#8217;s a short summary of the available options, for reference.&lt;/p&gt;

&lt;p&gt;First, of course, is &lt;a href="http://www.khanacademy.org/" target="_blank"&gt;http://www.khanacademy.org/&lt;/a&gt; - a set of online lectures about many many many different subjects.&lt;/p&gt;

&lt;p&gt;A free, live machine learning course from Caltech in U.S.: &lt;a href="http://www.work.caltech.edu/telecourse.html" target="_blank"&gt;http://www.work.caltech.edu/telecourse.html&lt;/a&gt; (thanks to Brad for pointing this one out).
Note at the bottom of the page the different start times depending on location.&lt;/p&gt;

&lt;p&gt;Also MIT video lectures on various subjects, see the whole list here: &lt;a href="http://ocw.mit.edu/courses/" target="_blank"&gt;http://ocw.mit.edu/courses/&lt;/a&gt; (thanks to Dennis).&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.coursera.org/" target="_blank"&gt;https://www.coursera.org/&lt;/a&gt; is a company set up by Andrew Ng and Daphne Koller for providing free online education. They have a selection of great free courses already running and more is coming this year.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.udacity.com/" target="_blank"&gt;http://www.udacity.com/&lt;/a&gt; is a company set up by Sebastian Thrun (of google self-driving car and Intro to AI classes fame) for providing free stanford-grade education online. I&amp;#8217;m in cs373 and totally enjoying it.&lt;/p&gt;

&lt;p&gt;(Both these are less of &amp;#8220;just lectures&amp;#8221; and more of the interactive study class approach)&lt;/p&gt;</description><link>http://blog.exquance.com/post/19914625033</link><guid>http://blog.exquance.com/post/19914625033</guid><pubDate>Mon, 26 Mar 2012 00:12:11 +0300</pubDate><category>education</category></item><item><title>Optimizations</title><description>&lt;p&gt;The reason for not booting was simple - Clang, seeing that target is Pentium 4 and above, optimized some memmoves into SSE operations. Bochs didn&amp;#8217;t expect that.&lt;/p&gt;

&lt;p&gt;Now everything boots up until exceptions, at which point I believe the __builtin_longjmp primitive fails. Debugging it.&lt;/p&gt;</description><link>http://blog.exquance.com/post/19888761299</link><guid>http://blog.exquance.com/post/19888761299</guid><pubDate>Sun, 25 Mar 2012 15:10:52 +0300</pubDate><category>Clang</category><category>metta</category><category>llvm</category><category>sse</category><category>longjmp</category></item><item><title>CS373 homework 5</title><description>&lt;p&gt;Homework 5 done. Don&amp;#8217;t know the grades yet, but it was pretty fun practical experience.&lt;/p&gt;

&lt;p&gt;I love this course a lot more than introduction to AI, but credit where credit is due - Thrun and Norvig did an amazing job in Intro to AI to prepare me for this class, I certainly believe this is due to their previous class that I feel this class is so easy.&lt;/p&gt;

&lt;p&gt;With the material provided I&amp;#8217;m basically ready to build a small self-navigating robot, so I hope my Pololu 3pi will get some use soon.&lt;/p&gt;</description><link>http://blog.exquance.com/post/19850334238</link><guid>http://blog.exquance.com/post/19850334238</guid><pubDate>Sat, 24 Mar 2012 22:06:00 +0200</pubDate><category>cs373</category><category>udacity</category><category>education</category></item><item><title>Clanged now</title><description>&lt;p&gt;Anyway, I&amp;#8217;ve done doing the craziest port of recent times - at the same time GCC to Clang &lt;em&gt;and&lt;/em&gt; from waf 1.5 to 1.6.&lt;/p&gt;

&lt;p&gt;Quite a bit of quirks to work around.&lt;/p&gt;

&lt;p&gt;waf has changed a lot internally, and from occasional backtraces I still see that I&amp;#8217;m using compatibility mode somewhere. Oh well, one day when I&amp;#8217;m bored&amp;#8230;&lt;/p&gt;

&lt;p&gt;Clang is also full of quirks. First, I had to build a cross-gcc for it anyway, because otherwise it totally refuses to link or assemble anything. Second, the freestanding standard C headers are not quite finished it seems - stdint.h for example spits out about 20-30 warnings about redefined macros, so I had to disable -Werror for now just to get it to compile. Third, the generated code, obviously, doesn&amp;#8217;t run. I got only first couple functions of kickstart bootloader to work in bochs, after that it just GPFs. Now if it keeps raining tomorrow like today, I&amp;#8217;ll certainly will go and look what happens there, otherwise it might have to wait until next weekend (actually, in two weeks).&lt;/p&gt;

&lt;p&gt;I&amp;#8217;ve finished my CS373 homework 5 at Udacity - more about that in the next post.&lt;/p&gt;</description><link>http://blog.exquance.com/post/19850143399</link><guid>http://blog.exquance.com/post/19850143399</guid><pubDate>Sat, 24 Mar 2012 22:02:00 +0200</pubDate><category>metta</category><category>cross-compiling</category><category>Clang</category><category>llvm</category></item><item><title>Thanks to @pussylequeer I have probably the most amazing tumblr feed to look at when I&amp;#8217;m down....</title><description>&lt;p&gt;Thanks to @pussylequeer I have probably the most amazing tumblr feed to look at when I&amp;#8217;m down. Thanks a lot!&lt;/p&gt;</description><link>http://blog.exquance.com/post/19849829759</link><guid>http://blog.exquance.com/post/19849829759</guid><pubDate>Sat, 24 Mar 2012 21:56:46 +0200</pubDate><category>props</category></item><item><title>Clangestine</title><description>&lt;p&gt;Finally, Clang people have enabled C++11 lambda support in clang and I&amp;#8217;m busy hurrying my buildsystem into clang support for everything. I&amp;#8217;m tired of endlessly autoconfiguring and building crossgcc for a bunch of different targets. Adding a target with some include paths set up for my OS into the clang frontend seems like a much simpler idea.&lt;/p&gt;</description><link>http://blog.exquance.com/post/18448145738</link><guid>http://blog.exquance.com/post/18448145738</guid><pubDate>Tue, 28 Feb 2012 21:53:00 +0200</pubDate><category>cross-compiling</category><category>gcc</category><category>llvm</category><category>metta</category><category>Clang</category></item><item><title>Magic Ink</title><description>&lt;a href="http://worrydream.com/MagicInk/"&gt;Magic Ink&lt;/a&gt;: &lt;p&gt;Highly recommend this read to all programmers and designers. Very inspirational.&lt;/p&gt;

&lt;p&gt;It intersects with Metta’s ideas of supporting creativity freedom, and is written a lot better than I could ever dream to write myself.&lt;/p&gt;</description><link>http://blog.exquance.com/post/17086614003</link><guid>http://blog.exquance.com/post/17086614003</guid><pubDate>Sun, 05 Feb 2012 13:23:00 +0200</pubDate><category>metta</category></item><item><title>9-bits:

Menlo, a new monospace font being included in Mac OS X...</title><description>&lt;img src="http://24.media.tumblr.com/wiTflIDkmoqr6fyl6m2nhK2Oo1_500.png"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;&lt;a href="http://9-bits.com/post/123940811/menlo-font-macosx" class="tumblr_blog" target="_blank"&gt;9-bits&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;&lt;a href="http://typophile.com/node/58625" target="_blank"&gt;Menlo&lt;/a&gt;, a new monospace font being included in &lt;a href="http://www.apple.com/macosx/" target="_blank"&gt;Mac OS X Snow Leopard&lt;/a&gt;. The chart above shows Menlo being compared with the open source &lt;a href="http://dejavu-fonts.org/wiki/index.php?title=Main_Page" target="_blank"&gt;DejaVu Sans Mono&lt;/a&gt; (a personal favorite).&lt;/p&gt;&lt;/blockquote&gt;</description><link>http://blog.exquance.com/post/16973101546</link><guid>http://blog.exquance.com/post/16973101546</guid><pubDate>Fri, 03 Feb 2012 15:17:47 +0200</pubDate></item><item><title>Photo</title><description>&lt;img src="http://25.media.tumblr.com/tumblr_lv9dpd0qPg1qgquvwo1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;</description><link>http://blog.exquance.com/post/13377561046</link><guid>http://blog.exquance.com/post/13377561046</guid><pubDate>Sun, 27 Nov 2011 04:10:49 +0200</pubDate></item><item><title>An iOS Developer Takes on Android</title><description>&lt;p&gt;&lt;a href="http://nfarina.com/post/8239634061/ios-to-android" class="tumblr_blog" target="_blank"&gt;nfarina&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p style="text-align:center"&gt;
    &lt;img src="http://cl.ly/34182G3F1r1L2r0K1M0N/Untitled-1.png" style="margin-right: 16px; margin-bottom: -20px;"/&gt;&lt;/p&gt;

&lt;p&gt;Recently, we released the &lt;a href="https://market.android.com/details?id=meridian.app" target="_blank"&gt;Android version&lt;/a&gt; of &lt;a href="http://www.meridianapps.com" target="_blank"&gt;Meridian&lt;/a&gt;, our platform for building location-based apps.&lt;/p&gt;

&lt;p&gt;We didn’t use one of these “Cross Platform!” tools like &lt;a href="http://www.appcelerator.com" target="_blank"&gt;Titanium&lt;/a&gt;. We wrote it, from scratch, in Java, like you do in Android.&lt;/p&gt;

&lt;p&gt;We decided it was important to keep the native stuff native, and to respect each platform’s conventions as much as possible. Some conventions are easy to follow, like putting our tabs on the top. Other conventions go deep into the Android Way, like handling &lt;code&gt;Intents&lt;/code&gt;, closing old &lt;code&gt;Activities&lt;/code&gt;, implementing Search Providers, and being strict about references to help the garbage collector.&lt;/p&gt;

&lt;p&gt;Now, our platform leverages HTML5 (buzzword, sorry) in many places for branding and content display, so we got a fair amount of UI for free. But there was much platform code written in Objective-C that needed translation into Java, such as map navigation, directions, and location switching.&lt;/p&gt;

&lt;p&gt;So, we rolled up our sleeves, downloaded the Android SDK, and got to work.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://nfarina.com/post/8239634061/ios-to-android" target="_blank"&gt;Read More&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;</description><link>http://blog.exquance.com/post/13113717551</link><guid>http://blog.exquance.com/post/13113717551</guid><pubDate>Mon, 21 Nov 2011 18:14:49 +0200</pubDate></item><item><title>Uncharted 3</title><description>&lt;p&gt;Uncharted 3: Drake&amp;#8217;s Deception is so far the best game of the whole trilogy. With just enough puzzling, action, cinematics mixed in a very well measured proportion the game keeps player engaged from the first flashback to the last screenful of pixels. There&amp;#8217;s love, horror, friendship and betrayals, like in a good novel. Amazing graphics will make you want stay around forever and look at the desert sands, wonderfully formidable ocean waters or pillars and towers of Iram. And once you&amp;#8217;ve found all the treasures in the single player campaign, there&amp;#8217;s absolutely phenomenal multiplayer - you will have to try each mode at least once, they all are an amazing experience and a lot of fun with friends and foes alike.&lt;/p&gt;

&lt;p&gt;Highly recommended.&lt;/p&gt;</description><link>http://blog.exquance.com/post/13104431677</link><guid>http://blog.exquance.com/post/13104431677</guid><pubDate>Mon, 21 Nov 2011 09:26:47 +0200</pubDate></item><item><title>assocfs note</title><description>&lt;a href="http://forum.osdev.org/viewtopic.php?f=15&amp;t=24417#p199467"&gt;assocfs note&lt;/a&gt;: &lt;p&gt;A little writeup on my assocfs, pretty small but I think I captured a few interesting points there.&lt;/p&gt;</description><link>http://blog.exquance.com/post/12875641944</link><guid>http://blog.exquance.com/post/12875641944</guid><pubDate>Wed, 16 Nov 2011 10:39:50 +0200</pubDate></item><item><title>Font rasterization theory and techniques</title><description>&lt;a href="https://freddie.witherden.org/pages/font-rasterisation/"&gt;Font rasterization theory and techniques&lt;/a&gt;</description><link>http://blog.exquance.com/post/10980534711</link><guid>http://blog.exquance.com/post/10980534711</guid><pubDate>Mon, 03 Oct 2011 17:58:14 +0300</pubDate></item><item><title>Spelt Number to Decimal (Updated)</title><description>&lt;p&gt;&lt;a href="http://j.mearie.org/post/7462182919/spelt-number-to-decimal" target="_blank"&gt;arachneng&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;This post is last updated in 2011-07-11 13:20 UTC.&lt;/p&gt;
&lt;p&gt;I certainly like a code obfuscation and golfing: the recent example includes &lt;a href="http://j.mearie.org/post/1181041789/brainfuck-interpreter-in-2-lines-of-c" target="_blank"&gt;this&lt;/a&gt; and &lt;a href="http://cosmic.mearie.org/2010/12/ika5k/" target="_blank"&gt;this&lt;/a&gt;. The today’s project is more like the former, where very short code takes much time to explain. Without further ado, here it is: (&lt;a href="https://gist.github.com/1074852" target="_blank"&gt;Gist&lt;/a&gt;)&lt;/p&gt;
&lt;script src="https://gist.github.com/1074852.js?file=spokennum-long.c"&gt;&lt;/script&gt;&lt;p&gt;This little program reads a spelt number from the standard input and writes the corresponding number to the standard output. It supports numbers up to 10&lt;sup&gt;15&lt;/sup&gt;-1 and still weighs only &lt;del&gt;256&lt;/del&gt; &lt;strong&gt;243&lt;/strong&gt; bytes of C, if you ignore the backslash at the end of line which just wraps the line. (There is also a &lt;a href="https://gist.github.com/1074852#file_spokennum_short.c" target="_blank"&gt;shorter version&lt;/a&gt; that can handle up to 19,999,999 and does not use &lt;code&gt;long long&lt;/code&gt;.) The input should be correct, although it will handle “a” and “and” correctly and ignore some invalid words.&lt;/p&gt;
&lt;p&gt;It assumes the ASCII character set and 2’s complement representation, and requires &lt;code&gt;int&lt;/code&gt; and &lt;code&gt;long long&lt;/code&gt; to be at least 32 and 64 bits long, but that’s all they expect from the compiler. For example, it does not matter whether &lt;code&gt;char&lt;/code&gt; is signed or unsigned, EOF does not have to be -1, and so on. (Yes, I &lt;em&gt;did&lt;/em&gt; keep it in mind while writing this program.)&lt;/p&gt;
&lt;p&gt;While I left the explanation of the BF interpreter as a reader’s exercise, in this time I’ll give a detailed explanation of the program. Keep in mind that there are two versions of the program; the explanation is primarily for the longer version.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://j.mearie.org/post/7462182919/spelt-number-to-decimal" target="_blank"&gt;Read More&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Yippie!&lt;/p&gt;</description><link>http://blog.exquance.com/post/7492154520</link><guid>http://blog.exquance.com/post/7492154520</guid><pubDate>Mon, 11 Jul 2011 16:41:09 +0300</pubDate></item></channel></rss>

