<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Nicou's blog</title>
	
	<link>http://nicou.org</link>
	<description>A high school student's insights on computing and maths.</description>
	<pubDate>Mon, 09 Feb 2009 08:51:48 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/nicou" type="application/rss+xml" /><feedburner:emailServiceId>nicou</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>HN reads SICP, second meeting</title>
		<link>http://feedproxy.google.com/~r/nicou/~3/abgm6yrAikE/</link>
		<comments>http://nicou.org/2009/02/09/hn-reads-sicp-second-meeting/#comments</comments>
		<pubDate>Mon, 09 Feb 2009 02:42:34 +0000</pubDate>
		<dc:creator>Nicou</dc:creator>
		
		<category><![CDATA[Blog]]></category>

		<category><![CDATA[hn reads sicp]]></category>

		<guid isPermaLink="false">http://nicou.org/?p=56</guid>
		<description><![CDATA[The meeting for section 1.2 has just finished, we checked all the exercises from 1.9 to 1.28 in about two and a half hours. You can grab the logs from here.
The next meeting, for section 1.3, will take place in two weeks, that is: February 22nd. See the Google group for more information.
]]></description>
			<content:encoded><![CDATA[<p>The meeting for section 1.2 has just finished, we checked all the exercises from 1.9 to 1.28 in about two and a half hours. You can grab the logs from <a href="http://nicou.org/files/sicp-log-0802.txt">here</a>.<br />
The next meeting, for section 1.3, will take place in two weeks, that is: February 22nd. See the <a href="http://groups.google.com/group/hacker-news-reads-sicp">Google group</a> for more information.</p>
<img src="http://feeds.feedburner.com/~r/nicou/~4/abgm6yrAikE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://nicou.org/2009/02/09/hn-reads-sicp-second-meeting/feed/</wfw:commentRss>
		<feedburner:origLink>http://nicou.org/2009/02/09/hn-reads-sicp-second-meeting/</feedburner:origLink></item>
		<item>
		<title>CSS for layout</title>
		<link>http://feedproxy.google.com/~r/nicou/~3/2ibxAo2hK60/</link>
		<comments>http://nicou.org/2009/02/03/css-for-layout/#comments</comments>
		<pubDate>Tue, 03 Feb 2009 21:33:09 +0000</pubDate>
		<dc:creator>Nicou</dc:creator>
		
		<category><![CDATA[Blog]]></category>

		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://nicou.org/?p=45</guid>
		<description><![CDATA[As you probably have noticed, it seems that the CSS vs. Tables war has begun once again. Ron Garret started it with his CSS rant yesterday, and overnight Reddit and Hacker News got cluttered with posts on this issue. So, I figured I&#8217;d drop my two cents.
The key to managing complexity in a system is [...]]]></description>
			<content:encoded><![CDATA[<p>As you probably have noticed, it seems that the CSS vs. Tables war has begun once again. Ron Garret started it with <a href="http://www.flownet.com/ron/css-rant.html">his CSS rant</a> yesterday, and overnight Reddit and Hacker News got cluttered with posts on this issue. So, I figured I&#8217;d drop my two cents.</p>
<p>The key to managing complexity in a system is modularity, you should know. That&#8217;s why you keep those MySQL databases separate from the PHP code that generates the dynamic content in your site. That&#8217;s why you don&#8217;t just compile all of your webpages into a single C program that interfaces directly with incoming connections. That&#8217;s why you can go to the computer store and buy 2 GB of memory, instead of just a new computer with more RAM. So, separating content from presentation does make a lot of sense. As Abelson and Sussman say in Structure and Interpretation of Computer Programs, small changes in a specification correspond to small changes in the program, and if I suddenly decide I want to use a new background picture for each of the pages on my site, I don&#8217;t modify the (X)HTML of all of them, I just edit the CSS file they include.</p>
<p>So, we can clearly see separating content from presentation does make a lot of sense. The problem, I believe, is that CSS doesn&#8217;t do that quite fully. Ron Garret makes a great point in explaining this in a more detailed way, the order in which the sections of the page appear in the file alters the way they are displayed. We haven&#8217;t achieved to isolate layout and style into CSS only. Another point that is usually discussed is that CSS is hard to learn, but it&#8217;s also powerful, we can make great designs with CSS that would take a lot of work by nesting tables.</p>
<p>What makes these web issues difficult to handle is the abundance of technologies that are actually in use, and that we want to make our sites available to as much people as possible. As a result, we become very permissive with users of IE6, for example. Not only permissive, we also make a huge effort to work around the many flaws of that browser by employing hacky techniques. That makes our code much more complicated that it should be, maybe we have to use a Javascript feature to fix a CSS bug, and the utopic modularity of websites fall to pieces.</p>
<p>We will not be able to manage this problem in the near future. Not unless we start abandoning broken technologies in favor of new standards. If we start using CANVAS but only display it after we detect the browser through Javascript and we make sure it supports this element, otherwise we load a special JS file that enables us to use CANVAS through VML, or Flash, suddenly all the technologies are intertwined in a complicated manner, and we are not making any progress because we are greedy about the number of visits.</p>
<p>Maybe if we stop caring so much about our daily hits, and gently restrict our site to be viewed by standards-compliant browsers only, or just don&#8217;t try to support those that aren&#8217;t, we&#8217;ll start moving forward. That&#8217;s evolution: what&#8217;s willing to improve survives, what is stuck will not. It&#8217;s a natural phenomenon. Once we stop worrying about the past, we&#8217;ll be able to focus on the future, and work towards a better way to separate content from presentation.</p>
<img src="http://feeds.feedburner.com/~r/nicou/~4/2ibxAo2hK60" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://nicou.org/2009/02/03/css-for-layout/feed/</wfw:commentRss>
		<feedburner:origLink>http://nicou.org/2009/02/03/css-for-layout/</feedburner:origLink></item>
		<item>
		<title>HN reads SICP, first meeting</title>
		<link>http://feedproxy.google.com/~r/nicou/~3/YnwGlOk6kUY/</link>
		<comments>http://nicou.org/2009/01/25/hn-reads-sicp-first-meeting/#comments</comments>
		<pubDate>Mon, 26 Jan 2009 01:37:56 +0000</pubDate>
		<dc:creator>Nicou</dc:creator>
		
		<category><![CDATA[Blog]]></category>

		<category><![CDATA[hn reads sicp]]></category>

		<guid isPermaLink="false">http://nicou.org/?p=32</guid>
		<description><![CDATA[So today the ##SICP meetings on Freenode took off. If you want to join us, here&#8217;s a bunch of links you might find useful:

Official SICP site
Full text online (freely available)
Buy the book
MIT/GNU Scheme interpreter
DrScheme interpreter
Original video lectures
Hacker News reads SICP Google group
Hacker News reads SICP wiki
Another wiki with solutions to the exercises
Speeded-up SICP course

Working through [...]]]></description>
			<content:encoded><![CDATA[<p>So today the ##SICP meetings on Freenode took off. If you want to join us, here&#8217;s a bunch of links you might find useful:</p>
<ul>
<li><a href="http://mitpress.mit.edu/sicp/">Official SICP site</a></li>
<li><a href="http://mitpress.mit.edu/sicp/full-text/book/book.html">Full text online (freely available)</a></li>
<li><a href="http://www.amazon.com/Structure-Interpretation-Computer-Programs-Engineering/dp/0262011530/">Buy the book</a></li>
<li><a href="http://www.gnu.org/software/mit-scheme/">MIT/GNU Scheme interpreter</a></li>
<li><a href="http://download.plt-scheme.org/drscheme/">DrScheme interpreter</a></li>
<li><a href="http://groups.csail.mit.edu/mac/classes/6.001/abelson-sussman-lectures/">Original video lectures</a></li>
<li><a href="http://groups.google.com/group/hacker-news-reads-sicp">Hacker News reads SICP Google group</a></li>
<li><a href="http://hn-sicp.pbwiki.com/">Hacker News reads SICP wiki</a></li>
<li><a href="http://sicp.org.ua/sicp/FrontPage">Another wiki with solutions to the exercises</a></li>
<li><a href="http://web.mit.edu/alexmv/6.001/">Speeded-up SICP course</a></li>
</ul>
<p>Working through the whole SICP course (lectures, book, exercises) is a very rewarding experience during which we&#8217;ll learn about a lot of different topics: how to manage complexity, programming language design and implementation, logic programming, stream processing, compilers and interpreters, the Scheme programming language itself, lambda calculus, etc. So far, I&#8217;ve watched all of the lectures and done all of the exercises up to 2.39. I will later on post code for the solutions and notes on the book and the lectures when I&#8217;m done.</p>
<p>I think today&#8217;s meeting was quite successful overall. We discussed our solutions to exercises from 1.1 to 1.8 in about one hour. The following meeting will probably take a bit longer since there are more than twice as many exercises and the difficulty is increasing. It will take place in two weeks, February 8th. The exact time is yet to be determined, taking into consideration that we are in different time zones. I&#8217;ll post some kind of poll in the mailing list in order to know what time is convenient for most people.</p>
<p>You can find the log of today&#8217;s meeting <a href="http://nicou.org/files/sicp-log-2501.txt">here</a>, in case you have missed it. Feel free to post it anywhere you&#8217;d like.</p>
<img src="http://feeds.feedburner.com/~r/nicou/~4/YnwGlOk6kUY" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://nicou.org/2009/01/25/hn-reads-sicp-first-meeting/feed/</wfw:commentRss>
		<feedburner:origLink>http://nicou.org/2009/01/25/hn-reads-sicp-first-meeting/</feedburner:origLink></item>
		<item>
		<title>So, what the hell, here’s a blog</title>
		<link>http://feedproxy.google.com/~r/nicou/~3/7IuN6wbKnxg/</link>
		<comments>http://nicou.org/2009/01/25/so-what-the-hell-heres-a-blog/#comments</comments>
		<pubDate>Sun, 25 Jan 2009 04:52:18 +0000</pubDate>
		<dc:creator>Nicou</dc:creator>
		
		<category><![CDATA[Blog]]></category>

		<category><![CDATA[asdf]]></category>

		<guid isPermaLink="false">http://nicou.org/?p=8</guid>
		<description><![CDATA[Hello, everybody, as you can see this is my first post. That&#8217;s usually the one nobody ever sees unless the blog gets really famous (no, I don&#8217;t expect that for mine) but there has to be a first post, right? So, let me say the following:
FIRST!!!!!11
Stupid overused Internet memes aside, I want to celebrate, um, [...]]]></description>
			<content:encoded><![CDATA[<p>Hello, everybody, as you can see this is my first post. That&#8217;s usually the one nobody ever sees unless the blog gets really famous (no, I don&#8217;t expect that for mine) but there has to be a first post, right? So, let me say the following:</p>
<p>FIRST!!!!!11</p>
<p>Stupid overused Internet memes aside, I want to celebrate, um, for the successful installation of Wordpress. I was pretty scared of doing anything wrong that could jeopardize my online security (and that&#8217;s a big deal). I even dreamed that my site was vulnerable to XSS attacks. Quite a nightmare. Contrary to my expectations, Wordpress turned out to be incredibly easy to install and customize. I had to upload it a couple of times, fool around with the plug-ins, break it, reinstall, you know how it is. I&#8217;ve kept all of my passwords really long and hard to guess, but easy to remember, since Firefox does all of the remembering for me, and I&#8217;ve written them down in a sheet of paper that I use as mousepad. No, that isn&#8217;t insecure at all since neither my parents or brothers will try to hack nicou.org. I&#8217;d like to program my own CMS / blog software someday, but I&#8217;ll stick with Wordpress for a while, I have other stuff going on now.</p>
<p>The next thing I have to do is explain the reason of this blog. There are tons of blogs in the Internet, why would I start one myself? Well, I&#8217;m currently working through SICP, and I&#8217;ve had a bunch of cool ideas I thought I had to make public somewhere. A blog is the perfect place for that, right? So, what the hell, here&#8217;s a blog. It won&#8217;t be the great-looking site, nor the AJAXiest (that word does exist!), I won&#8217;t be posting often, I want to make clear that my level of commitment to nicou.org is really low.</p>
<p>So if you like what you see, you can subscribe to <a href="http://feeds2.feedburner.com/nicou">my feed</a>, leave a comment, send me an email, whatever.</p>
<p>Thanks for stopping by,<br />
Nicolás Canevali</p>
<p><img src="http://nicou.org/email.png" alt="my email" /></p>
<img src="http://feeds.feedburner.com/~r/nicou/~4/7IuN6wbKnxg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://nicou.org/2009/01/25/so-what-the-hell-heres-a-blog/feed/</wfw:commentRss>
		<feedburner:origLink>http://nicou.org/2009/01/25/so-what-the-hell-heres-a-blog/</feedburner:origLink></item>
	</channel>
</rss>
