all repos — h3rald @ 6204ae4dee4202b75815495b6681956443e872ab

The source code of the h3rald.com web site.

Merge branch 'master' of git@git.sr.ht:~h3rald/h3rald
h3rald h3rald@h3rald.com
Mon, 10 Aug 2026 15:15:35 +0200
commit

6204ae4dee4202b75815495b6681956443e872ab

parent

df5415741cb4c939eacf0ca8e98d8dcbc461361a

43 files changed, 361 insertions(+), 349 deletions(-)

jump to
M assets/styles/style.cssassets/styles/style.css

@@ -640,4 +640,63 @@ /* Used only in Glyph Book */

.line-numbers { display: none; +} + +/* Classes created to remove inline styles */ + +.padding-left-2 { + padding-left: 2rem; +} + +.text-align-center { + text-align: center; +} + +.text-decoration-underline { + text-decoration: underline; +} + +.color-blue { + color: blue; +} + +.color-green { + color: green; +} + +.color-red { + color: red; +} + +.color-cyan { + color: cyan; +} + +.color-yellow { + color: yellow; +} + +.width-100 { + width: 100%; +} + +.width-30 { + width: 30%; +} + +.padding-top-20-block { + padding-top: 20px; + display: block; +} + +.margin-left-30 { + margin-left: 30px; +} + +.quote-indent { + margin-left: 3rem; +} + +.monospace { + font-family: monospace; }
M contents/articles/10-programming-languages.htmlcontents/articles/10-programming-languages.html

@@ -33,7 +33,7 @@ consuming curiosity, and facility with intellectual abstractions. Also, most hackers are ‘neophiles',

stimulated by and appreciative of novelty (especially intellectual novelty). Most are also relatively individualistic and anti-conformist.&#8221;</p> </blockquote> -<p style="padding-left:2rem;">&ndash; Eric S. Raymond, <cite><a href="http://catb.org/jargon/html/personality.html">The +<p class="padding-left-2">&ndash; Eric S. Raymond, <cite><a href="http://catb.org/jargon/html/personality.html">The Jargon File</a></cite></p> <p>Even if you're particularly devoted to one of the languages mentioned above, it is normal to be curious about what else is out there. As the end of the year approaches, I find myself thinking about learning &ndash; or at least

@@ -282,7 +282,7 @@ named variables (or function calls, which name their variables). Factor is the opposite of this. A lot of code tends

to be written in a functional style, and even more jarringly, variables are rare, only referenced in a small fraction of words. Nobody intends to change any of this; it's a feature, not a bug!&#8221;</p> </blockquote> -<p style="padding-left:2rem;">&ndash; Daniel Ehrenberg, <cite><a +<p class="padding-left-2">&ndash; Daniel Ehrenberg, <cite><a href="http://useless-factor.blogspot.com/2008/01/learning-factor.html">Learning Factor</a></cite></p> <p>Like Haskell, Factor demands a completely different programming approach to what you may be used to, but once you get past that, it can be as useful as any other language, if not more. The <a
M contents/articles/10.htmlcontents/articles/10.html

@@ -4,7 +4,7 @@ content-type: article

timestamp: 1144560780 tags: "italy|politics" ----- -<p class="float-right"><img src="http://www.berluscastop.it/v_imag/sodom1.gif" alt="" /></p> +<p class="float-right"><img src="/images/ortolani-elections.gif" alt="" /></p> <p>Another five years have passed and here we go again: General Elections time!<br /> Today and tomorrow Italy <del>must</del> should vote for a new government, and the choice is <em>again</em> between two main contenders to the Prime Minister's <del>throne</del> chair:</p>

@@ -16,7 +16,6 @@ Silvio's Show?'</em></a> in which the author examines the possibility that Berlusconi's five years of subtle

pseudo-dictatorship may end in favour the former president of European Commission Romano Prodi.</p> <p><em>Who are they?</em></p> <h3>Silvio Berlusconi</h3> -<img src="http://www.consapevolezza.it/notizie/gen-mar-2002/imgs/berlusconi_corna_5.jpg" alt="" /> <p>I can't imagine someone asking this question, at least I can't think of anyone who doesn't know Silvio Berlusconi as the icon of the latest <em>national oddity</em>. <br /> Forthose who need their memory refreshed, here's a small collection of links featuring him:</p>

@@ -49,7 +48,6 @@ </ul>

<p>Nice, isn't it? Of course he had to give those societies to some trusted administrators before becoming Prime Minister&#8230; but let's not talk about this&#8230;</p> <h3>Romano Prodi</h3> -<img src="http://upload.wikimedia.org/wikipedia/en/thumb/0/04/Prodi.jpg/200px-Prodi.jpg" alt="" /> <p>Perhaps not as well known abroad as Silvio, but was recently the President of the European Commission for a while. Here are some (more serious) links about him:</p> <ul>

@@ -76,7 +74,6 @@ new currency, back in the day, and also the one who was blamed for than after a few months when the <em>Euro

effect</em> occurred: prices went higher and didn't seem to be an <em>exact conversion</em> from Lire to Euro. He was chubby enough (&#8220;mortadella&#8221; is one of his most recurring nicknames) to be quickly appointed as scapegoat for the unpleasant situation.</p> -<p class="float-left"><img src="http://www.dsmirandola.it/sg/img/berlusconi_corna.jpg" alt="" /></p> <p>Besides that, if someone asks me what's the difference between the two candidates, I'll answer: one is a politician and devoted all his life to Politics, while the other partly devoted only the last 10-years-or-so to politics because it seemed to be <em>a cool and worthwhile investment</em>&#8230;</p>
M contents/articles/11-07-2009.htmlcontents/articles/11-07-2009.html

@@ -271,10 +271,6 @@ <p>&#8230;And we still have our other half of the honeymoon, too! Probably Miami Beach and Bahamas, next November.</p>

<h3 id="photos">Photos</h3> <p>Our wedding photos were taken by <a href="http://www.patmccoole.ie/">Pat McCoole</a>, who did a truly amazing job portraying the magic of our special day.</p> -<p><embed type="application/x-shockwave-flash" src="http://picasaweb.google.com/s/c/bin/slideshow.swf" width="600" - height="400" - flashvars="host=picasaweb.google.com&hl=en_US&feat=flashalbum&RGB=0x000000&feed=http%3A%2F%2Fpicasaweb.google.com%2Fdata%2Ffeed%2Fapi%2Fuser%2Fh3rald%2Falbumid%2F5359762418204291649%3Falt%3Drss%26kind%3Dphoto%26hl%3Den_US" - pluginspage="http://www.macromedia.com/go/getflashplayer"></embed></p> <h3 id="trivia">Trivia</h3> <ul> <li>On the wedding day, it rained non-stop from 12 am to 7 pm.</li>
M contents/articles/11.htmlcontents/articles/11.html

@@ -54,7 +54,6 @@ component</a><br />

<a href="http://rossoft.wordpress.com/2006/03/16/image-auth-component/">Image Auth &#8211; <span class="caps">CAPTCHA</span> component</a> </p> -<p class="float-right"><img src="http://xcite-online.de/spliceit/themes/SpliceIt/logo.png" alt="" /></p> <p><a href="http://www.thinkingphp.org/">ThinkingPHP</a> is another &#8220;technical&#8221; Cake blog, with interesting code snippets and thoughts about our favourite <span class="caps">PHP</span> framework. For those who don't know or don't remember him (yes, like me&#8230;), he's the author of <a

@@ -70,7 +69,6 @@ &#8211; and most notabily: Modularization of often used Code Segments</p>

</blockquote> <p>i.e. something I should have checked before recoding this website. I'll definitely keep this in mind for the next release of h3rald.com.</p> -<p class="float-left"><img src="http://rdos.rd11.com/img/rd11/rdlogo.gif" alt="" /></p> <p><a href="http://rd11.com/posts">Posts@ rd11</a> a.k.a. gwoo [and seth]&#8216;s blog. Moment of silence. Gwoo is CakePHP's project manager (respect+) and one of the lead developers of CakePHP and he also actually uses Cake for his website and blog instead of WordPress :)<br />
M contents/articles/academic.htmlcontents/articles/academic.html

@@ -20,7 +20,7 @@ otherwise.</p>

<p>It may be a senseless rant, but my opinion of the Italian Education System is still the same: If I'll have a child who wants to study anything technical someday, I'll tell him/her to get the hell out of Italy and go abroad to study in a <em>real</em> university.</p> - <p style="padding-left:2rem;"><strong>Fabio Cevasco</strong> &#8212; <em>Saturday, July 31st 2010</em></p> + <p class="padding-left-2"><strong>Fabio Cevasco</strong> &#8212; <em>Saturday, July 31st 2010</em></p> <section class="section"> <header> <h1 id="h_1" class="toc">The Pre-computer Age</h1>
M contents/articles/distributed-programming-with-ruby-review.htmlcontents/articles/distributed-programming-with-ruby-review.html

@@ -25,7 +25,7 @@ little or no attention (or documentation). This has led to a lot of <span class="caps">FUD</span> (fear,

uncertainty, and doubt) about what these libraries can and cannot do, and when they are appropriate to use (if at all).</p> </blockquote> - <p style="padding-left:2rem;">&#8212; Mark Bates, <em><a + <p class="padding-left-2">&#8212; Mark Bates, <em><a href="http://www.informit.com/store/product.aspx?isbn=0321638360">Distributed Programming with Ruby</a></em></p> <p>But there's more. This book gives the reader a complete overview of what's out there, in the Ruby
M contents/articles/efficient-ruby-code-shortcut-review.htmlcontents/articles/efficient-ruby-code-shortcut-review.html

@@ -33,7 +33,7 @@ </blockquote>

<p>This makes Ruby extremely flexible, but also more complex. Whever you use a name to refer to an object, Ruby has to search for the object it refers to, and this costs in terms of processing time.</p> <p>As a matter of fact, one of the most recurring tips in the book to improve code performance is the following:</p> -<p style="text-align:center;"><strong>Method calls are expensive, use variables directly when possible.</strong></p> +<p class="text-align-center"><strong>Method calls are expensive, use variables directly when possible.</strong></p> <p>Keep this in mind: <code>self.something</code> is <em>not</em> the same as <code>@something</code>. The end result is the same, but the first way costs more in terms of performance because Ruby has to look up the method name.<br /> Similarly, <strong>local variables <em>should</em> be introduced as a way to &#8220;cache&#8221; the result of
M contents/articles/firefox3-revealed.htmlcontents/articles/firefox3-revealed.html

@@ -19,8 +19,8 @@ <p>In the end, they decided to pack my &#8220;article&#8221; into a 30-pages <span class="caps">PDF</span> eBook which

can be downloaded <em>absolutely free of charge</em> from SitePoint web site as well, so here it is:</p> <p class="float-left"><img src="/images/ff3-revealed.png" alt="" /></p> <p><br /><br /> - <span style="font-size: 1.5em;"> <strong><a href="http://firefox.s3.sitepoint.com/ff3-revealed.zip">Firefox 3 - Revealed</a></strong> </span> + <strong><a href="http://firefox.s3.sitepoint.com/ff3-revealed.zip">Firefox 3 + Revealed</a></strong> </p> <p>If you prefer though, you can still read the article directly on SitePoint, <a href="http://www.sitepoint.com/article/firefox-3-whats-new-whats-hot">here</a>.</p>
M contents/articles/holiday-house-for-rent.htmlcontents/articles/holiday-house-for-rent.html

@@ -14,6 +14,5 @@ <p>The house is fully furnished, it has been recently renovated, and offers all major comforts and services (utilities,

TV, internet, phone, etc.). It can be ideal as a holiday house for writers, programmers, or anyone who would like to take a break from the chaotic city life without giving up all the commodities of modern life, such as the Internet. </p> -<div style="padding: 30px"></div> <p><strong>For more information, feel free to <a href="/about">contact me</a> if you want to book your stay or you needmore details!</strong></p>
M contents/articles/inline-introduction.htmlcontents/articles/inline-introduction.html

@@ -56,7 +56,8 @@

end</code></pre> </div> <p>A pretty harmless little thing. Try to run it and press some keys, and see what you get:</p> -<div style="font-family: Monospace"> +<div class="monospace"> + <p>Press a key to view the corresponding <span class="caps">ASCII</span> code(s) (or <span class="caps">CTRL</span>-X to exit).</p> <p>=&gt; a <sup class="footnote" id="fnr96"><a href="#fn96">96</a></sup> (hex: 61)</p>
M contents/articles/introducing-ruby-compendium.htmlcontents/articles/introducing-ruby-compendium.html

@@ -22,8 +22,8 @@ href="http://creativecommons.org/licenses/by-sa/3.0/">Creative Commons Attribution-ShareAlike 3.0 Unported

License</a>, and you can help improving it! It was written using my very own <a href="/glyph">Glyph Framework</a>, and the entire source code is available on <a href="https://github.com/h3rald/ruby-compendium">GitHub</a>, for anyone to fork.</p> - <div style="text-align:center;margin:20px; auto;font-size: 18px; font-weight:bold;"><a + <p>&lrarr; <a href="https://github.com/downloads/h3rald/ruby-compendium/ruby-compendium.pdf">Download (<span - class="caps">PDF</span>)</a></div> + class="caps">PDF</span>)</a></p> </section>
M contents/articles/journotwit-review.htmlcontents/articles/journotwit-review.html

@@ -36,7 +36,7 @@ In under 24 hours I put together a twitter client that functioned enough for me to call it my one and only. A

few more days and I added in enough features that I felt it was good enough for public consumption. It is however, not perfect and I have plenty of improvements on my to do list for it.</p> </blockquote> -<p style="padding-left:2rem;"><cite><a +<p class="padding-left-2"><cite><a href="http://www.spodesabode.com/discussion/280/journotwit-the-twitter-client-thats-not-just-for-journalists/">JournoTwit's introductory post</a></cite> by Andrew Spode Miller (<a href="http://twitter.com/spode">@spode</a>)</p> <p>After months of <em>public consumption</em>, JournoTwit became a feature-packed Twitter client able to compete with a
M contents/articles/komodo-edit-review.htmlcontents/articles/komodo-edit-review.html

@@ -197,6 +197,3 @@ ActiveState to &#8220;[&#8230;] create an open source platform for building developer environments. ActiveState has

open-sourced elements of Komodo Edit, a free multi-language editor for dynamic languages based on Komodo <span class="caps">IDE</span>, to create the Open Komodo code base&#8221;. A new competitor for Eclipse and Netbeans will be available soon?</p> -<p><a href="http://digg.com/programming/A_closer_look_at_Komodo_Edit"><br /> - <img src="http://digg.com/img/badges/180x35-digg-button.png" width="180" height="35" alt="Digg!" /><br /> - </a></p>
M contents/articles/magnolia.htmlcontents/articles/magnolia.html

@@ -44,7 +44,7 @@ (free) account. Right? Wrong. For non-committers, or casual, let's-try-it-and-see-what-happens users there's a (free)

trial account. You can start using fully functional ma.gnolia right away, but unless you register, nothing you do will be permanent. This seems to be a new Web 2.0 trend as well; before, you needed to make everything free to get people's attention, now it must be free <em>and</em> not require registration. Makes perfect sense.<br /><br /><em><span - style="text-decoration:underline;">Adding bookmarks</span></em><br />Trial or not, you can start adding + class="text-decoration-underline">Adding bookmarks</span></em><br />Trial or not, you can start adding bookmarks right away through the form on the front page, which is simple enough. As long as you didn't discover bookmarks (or <em>favorites</em> for the browser-impaired) the day before yesterday, you probably already have your little collection of bookmarks meticulously catalogued in many different folders. Well, you can import them into

@@ -60,12 +60,10 @@ </em><br /></blockquote><br /><br />This makes sense to me: Web 2.0 seems to be more user friendly, simply because a

lot of non-geeks are browsing the web everyday and clicking on adverts.<br /><br />Once you import all your bookmarks, you'll have an almost exact copy of your bookmarks collection, now available online! If you don't want to share them, because you believe in anti-social bookmarking or you just want to have a backup, you can import all your bookmarks as -"private", and you can toggle the status by clicking <img src="http://ma.gnolia.com/images/icons/privacy-on.gif" - alt="" /> or <img src="http://ma.gnolia.com/images/icons/privacy-off.gif" alt="" />, whenever you like: the magic of +"private", and you can toggle the status by clicking the appropriate buttons, whenever you like: the magic of Ajax[14] will do the rest. <br />You can also rate your bookmarks from one to five stars, but <em>only</em> yours: ma.gnolia is not a pointless competition to be the one who links the most and best websites.<br /><br /><em>What if I - want to delete a bookmark?</em> Quick hint: <img src="http://ma.gnolia.com/images/icons/delete.gif" - alt="" /><br /><br /><em><span style="text-decoration:underline;">Yes, you can tag as much as you + want to delete a bookmark?</em> Sure you can, by clicking the delete button.<br /><br /><em><span class="text-decoration-underline">Yes, you can tag as much as you like</span></em><br />No, there are no folders. Forget it. For me it started with Gmail[15] and it was shocking enough: there are no folders, but you can tag your messages. This can be disorienting for some, but once you have overcome the initial trauma, you will realize that tags can be better than folders in some cases. At any rate, Web 2.0

@@ -74,17 +72,15 @@ here, a bookmark - to make it belong to a defined group. Tags normally don't have a hierarchy like folders, and each

item can have more than one tag. Simple. <br /><br />Unfortunately, you can't directly tag (or rate) bookmarks that you add from the main page, but since you'll normally be using some sort of <em>bookmarklet</em> for Ma.gnolia, it doesn't really matter. Also, at the moment, once you create a tag you can't rename it, but this feature will be added -soon.<br /><br /><br /><em><span style="text-decoration:underline;">Connecting people</span></em><br />If you tried some +soon.<br /><br /><br /><em><span class="text-decoration-underline">Connecting people</span></em><br />If you tried some other social bookmarking services before and you really enjoy the philosophy behind it, you'll be pleased to know that Ma.gnolia is even more social than others. When you register an account you can optionally disclose your real name, age, and gender, add an avatar, a webpage and so on, and you can create your own profile, just like anywhere else on the Internet.<br />Furthermore, Ma.gnolia allows <em>groups</em>: you can create, join, and leave a group of bookmarkers who share the same interests as you. Why would you want to do this? The answer to that question is simple and self-evident: because what is enjoyed by one person will likely be enjoyed by other people who share the same interests. Once you are -part of a group you can send a bookmark to that particular group (<img - src="http://ma.gnolia.com/images/icons/send-to-group.gif" alt="" />), or at least that's that ideal; if you just -want to send a particular address to only one person you can do so (<img - src="http://ma.gnolia.com/images/icons/send-to-contact.gif" alt="" />), provided that that person is already in your +part of a group you can send a bookmark to that particular group, or at least that's that ideal; if you just +want to send a particular address to only one person you can do so, provided that that person is already in your contact list, and to do so there's a specific button (not icon this time) in everyone's profile. <br />You'll notice a <em>Messages</em> link in the main navigation panel, and that's exactly where the bookmark (and only the bookmark) will go once you send it to your friend. At the moment you <em>cannot</em> send a traditional message to someone, unless you

@@ -92,7 +88,7 @@ send it along with a bookmark. This might change in the future, depending on user feedback, as well as the addition of

some place to actually have some sort of discussion and comments - or so I've been told.<br />I'd be happy to see more community-specific functionalities being implemented, but there are some inevitable risks if Ma.gnolia decides to take this road. I'll let them decide, but for now, Ma.gnolia is more social than other services, but less social than, say, a -discussion board.<br /><br /><em><span style="text-decoration:underline;">Pages, stats and +discussion board.<br /><br /><em><span class="text-decoration-underline">Pages, stats and search</span></em><br />Perhaps one of the coolest features Ma.gnolia offers is the possibility of saving pages online. When you bookmark a web page, Ma.gnolia attempts to save an exact copy of that page on its server, so that you can access that resource even if it is deleted at the source, like an improved personal version of the WayBack

@@ -122,7 +118,7 @@ someone searching for Microsoft - provided that we don't show duplicate links anymore, will find a link to zZine

Magazine as one of the first results, and it would not be relevant. This is due to the fact that the system searches tags, titles, and descriptions even if the URL is the same, or known. Still, I'd try to limit the number of identical results, at least by grouping together entries which have the same URL and title, or something along these -lines.<br /><br /><br /><em><span style="text-decoration:underline;">Tools to play with</span></em><br />There's a whole +lines.<br /><br /><br /><em><span class="text-decoration-underline">Tools to play with</span></em><br />There's a whole section of the site devoted to <em>Support and Tools</em>, to make the whole thing even more user friendly. Regarding the support part, even the greenest of visitors to a social bookmarking site will have no problems, as everything is explained in very simple terms, and full of examples and tutorials. This can be an annoying read if you already know how
M contents/articles/making-it-big-in-software.htmlcontents/articles/making-it-big-in-software.html

@@ -122,7 +122,7 @@ <blockquote>

<p>&#8220;Leadership is communicating to people their worth and potential so clearly that they come to see it in themselves.&#8221;</p> </blockquote> - <p style="margin-left: 4em">&ndash; Stephen Covey</p> + <p class="quote-indent">&ndash; Stephen Covey</p> <p>Again, this chapter teaches you the basics on leadership and management. If you didn't take a course on the subject yet, it's definitely worth a read.</p>

@@ -170,7 +170,7 @@ following Monday and said, &#8220;Hey, this is cool! I just wrote a program and I want to run it.&#8221;

The sales guy was so impressed that he found me an open computer to work on where I could teach myself how to keypunch, program, and debug for what I still recall as a delightful summer.</p> </blockquote> - <p style="margin-left: 4em">&ndash; Grady Booch, <span class="caps">IBM</span> Fellow and Chief Scientist for + <p class="quote-indent">&ndash; Grady Booch, <span class="caps">IBM</span> Fellow and Chief Scientist for Software Engineering, <span class="caps">IBM</span> Research</p> <p>Every interview provides at least a good piece of advice for newcomers to the field. The last chapter of the book summarizes the interviews attempting to draw the profile of the successful IT professional: some
M contents/articles/project-gutenberg.htmlcontents/articles/project-gutenberg.html

@@ -53,7 +53,7 @@ </p>

<p> The mission of the project can be summarized as follows[4]: </p> -<div style="text-align: center;"><em> "To encourage the creation and distribution of eBooks."<br /> </em></div> +<div class="text-align-center"><em> "To encourage the creation and distribution of eBooks."<br /> </em></div> <p> In order to achieve this, Project Gutenberg is set up such that <em>anyone</em> can contribute to it, in many different ways. It is run completely by volunteers, hundreds of people around the world who share the same ideals
M contents/articles/project-windstone.htmlcontents/articles/project-windstone.html

@@ -92,22 +92,22 @@ process and then retrieve some information; the server will reply accordingly to the client's command strings with its

own responses wrapped in command strings. Let's suppose a Windstone Agent is being used to perform the following actions:<br /><br />- Initialize the system<br />- perform a login<br />- retrieve user profile from the Windstone server <br /><br />In this simulation I will not use the actual command strings but just the codes for the various -commands.<br /><br /><em><span style="text-decoration:underline;">Agent</span>: 0000 :: SETUP_INITIALIZE</em> - The +commands.<br /><br /><em><span class="text-decoration-underline">Agent</span>: 0000 :: SETUP_INITIALIZE</em> - The Windstone agent sends a request to the server to initialize the authentication process, supplying the software identifier, the software type ("PC-Based" or "Web-Based"), the command landing URL and the URL to redirect logins -to.<br /><br /><em><span style="text-decoration:underline;">Server</span>: 0002 :: SETUP_COMPLETE </em>- Everything +to.<br /><br /><em><span class="text-decoration-underline">Server</span>: 0002 :: SETUP_COMPLETE </em>- Everything looks good to the server, which replies with the following information: Unique agent identifier, primary authentication token, secondary authentication token, activation key, security code, shared encryption key (255 random characters, non-binary), registration completion date and time (epoch). These parameters will be used by the agent afterwards and are necessary to identify the agent on the Windstone server.<br /><br /><em><span - style="text-decoration:underline;">Agent</span>: 1102 :: USER_LOGIN_REDIRECT</em> - The agent requests to start + class="text-decoration-underline">Agent</span>: 1102 :: USER_LOGIN_REDIRECT</em> - The agent requests to start the authentication process and sends the email address of the user to the server along with the URL where the user's -password will be entered.<br /><br /><br /><em><span style="text-decoration:underline;">Server</span>: 1105 :: +password will be entered.<br /><br /><br /><em><span class="text-decoration-underline">Server</span>: 1105 :: USER_AUTH_SAVE</em> - User credentials are checked by the Windstone server. Everything is fine, so the server sends this response to the agent. The response contains the authentication token which will be used to authenticate the user during the session, as well as the user's display name.<br /><br /><em><span - style="text-decoration:underline;">Agent</span>: 1107 :: USER_INFO</em> - The agent can now request the user's -profile from the Windstone Server.<br /><br /><em><span style="text-decoration:underline;">Server</span>: 1108 :: + class="text-decoration-underline">Agent</span>: 1107 :: USER_INFO</em> - The agent can now request the user's +profile from the Windstone Server.<br /><br /><em><span class="text-decoration-underline">Server</span>: 1108 :: USER_PROFILE</em> - After checking the user's authentication token, the server can now send the following information to the agent: Email address, display name, user "About Me" text, last login date and time, account created date and time, online status.<br /><br />This is just a simple example of how the Windstone protocol can be used; as
M contents/articles/redbook-020-released.htmlcontents/articles/redbook-020-released.html

@@ -70,5 +70,5 @@ <p>That's all folks! As usual, if you have any comment or suggestion feel free to reply to this post or email me. For a

list of the planned features and releases, check out the <a href="http://www.assembla.com/spaces/milestones/index/bWE7NkzCqr3k25abIlDkbG?spaces_tool_id=ceS8UazCqr3k25abIlDkbG">Milestones</a> page.</p> -<p style="text-align:center;"><strong><a href="http://www.assembla.com/spaces/files/bWE7NkzCqr3k25abIlDkbG"><span +<p class="text-align-center"><strong><a href="http://www.assembla.com/spaces/files/bWE7NkzCqr3k25abIlDkbG"><span class="caps">DOWNLOAD</span> <span class="caps">HERE</span></a></strong></p>
M contents/articles/redbook-030-released.htmlcontents/articles/redbook-030-released.html

@@ -48,7 +48,7 @@ and then I thought of using it to replace RedBook's standard <span class="caps">README</span> file (which was made

in a hurry and was kinda cryptical). Now a brand new &#8220;manual.html&#8221; ships with RedBook &#8212; 308 KB (30 of actual docs and 278 of Javascript/<span class="caps">HTML</span>/<span class="caps">CSS</span> magic) with everything you need to know about it. Additionally, an online version is available at the following address:</p> -<p style="text-align:center;"><strong><a href="http://redbook.h3rald.com">redbook.h3rald.com</a></strong></p> +<p class="text-align-center"><strong><a href="http://redbook.h3rald.com">redbook.h3rald.com</a></strong></p> <h3>Removed Win32::Console Library</h3> <p>OK this is not good news for people (like me) who use RedBook on Windows, but I promise you'll forgive me when you read about the other new features below. I discovered by chance that the Win32::Console library (which was used to

@@ -89,5 +89,5 @@ href="http://www.gnu.org/software/libiconv/"><span class="caps">GNU</span> libiconv</a>) which can convert

strings between different character sets. The character sets needs to be configured via the <a href="http://redbook.h3rald.com/#rbconfig.yml">rbconfig.yml</a> file.</p> <p>For more information, check out the <a href="http://redbook.h3rald.com/#ChangeLog">ChangeLog</a></p> -<p style="text-align:center;"><strong><a href="http://www.assembla.com/spaces/files/bWE7NkzCqr3k25abIlDkbG">Download +<p class="text-align-center"><strong><a href="http://www.assembla.com/spaces/files/bWE7NkzCqr3k25abIlDkbG">Download RedBook</a></strong></p>
M contents/articles/redbook-040-released.htmlcontents/articles/redbook-040-released.html

@@ -114,6 +114,6 @@ <p>Finally, I registered a new <a href="http://rubyforge.org/projects/redbook/">RubyForge Project</a> for RedBook, which

include a public <span class="caps">SVN</span> repository updated every week (Assembla doesn't allow anonymous checkouts, unfortunately).<br /> This project will also host the official RedBook Gem, scheduled for the 1.0 release.</p> -<p style="text-align:center;"><strong><a href="http://www.assembla.com/spaces/files/redbook"><span +<p class="text-align-center"><strong><a href="http://www.assembla.com/spaces/files/redbook"><span class="caps">DOWNLOAD</span></a> | <a href="http://redbook.h3rald.com/"><span class="caps">MANUAL</span></a></strong></p>
M contents/articles/redbook-050-released.htmlcontents/articles/redbook-050-released.html

@@ -51,7 +51,7 @@ directory, by using a simple <code>start.bat</code> batch file to set the <span><span

class="caps">INPUTRC</span></span> and <span><span class="caps">HOME</span></span> variables temporarily to the path to the .inputrc file and the directory of RedBook executable. This makes RedBook 100% portable and suitable to be used on <span class="caps">USB</span> sticks &amp;similar.</p> -<p style="text-align:center;"><strong><a href="http://redbook.googlecode.com/files/RedBook-0.5_Win32-portable.zip">Get +<p class="text-align-center"><strong><a href="http://redbook.googlecode.com/files/RedBook-0.5_Win32-portable.zip">Get RedBook Portable</a></strong></p> <h3>New Development Page</h3> <p>I decided to move the primary RedBook repository from <a href="http://www.assembla.org">Assembla</a> to Google Code.

@@ -63,7 +63,7 @@ <li>Simple-to-use issue tracker</li>

<li>Very nicely developed downloads section, with download counts, and &#8220;normal&#8221; filenames.</li> </ul> <p>So here's the new RedBook Development Home:</p> -<p style="text-align:center;"><strong><a +<p class="text-align-center"><strong><a href="http://code.google.com/p/redbook/">http://code.google.com/p/redbook/</a></strong></p> <p>Additionally I also setup a <a href="http://groups.google.com/group/redbook-support/">RedBook Support Google Group</a>, so if you have any question concerning the program, you know where to go!</p>
M contents/articles/redbook.htmlcontents/articles/redbook.html

@@ -69,56 +69,56 @@ <p>Let's assume you are able to run RedBook on your system by now (if you can't find some of the gems which are required

for it, you can download them packed in a <span class="caps">ZIP</span> file from <a href="http://www.assembla.com/spaces/files/redbook">here</a>).</p> <p>Here's what happens when you start the program:</p> -<p><span style="font-family: 'Bitstream Vera Sans Mono', Monaco, 'Courier New'; font-size: 10px"><br /> +<p><span class="monospace"><br /> <del>-</del><br /> RedBook v0.1 &#8211; Copyright &#169; 2007, Fabio Cevasco<br /> <del>-</del><br /> - <span style="color:blue">&gt;&gt;</span> Loading config file&#8230;<br /> - <span style="color:green">&gt;&gt;</span> Config file loaded.<br /> - <span style="color:blue">&gt;&gt;</span> Loading log file&#8230;<br /> - <span style="color:green">&gt;&gt;</span> Log file loaded.<br /> - <span style="color:blue">&gt;&gt;</span> Ready.<br /> - <span style="color:red">Red</span>Book &gt;&gt;<br /> + <span class="color-blue">&gt;&gt;</span> Loading config file&#8230;<br /> + <span class="color-green">&gt;&gt;</span> Config file loaded.<br /> + <span class="color-blue">&gt;&gt;</span> Loading log file&#8230;<br /> + <span class="color-green">&gt;&gt;</span> Log file loaded.<br /> + <span class="color-blue">&gt;&gt;</span> Ready.<br /> + <span class="color-red">Red</span>Book &gt;&gt;<br /> </code><br /> </span></p> <p>Good. Let's start logging something then. Just use the <strong>&#58;log</strong> keyword, followed by a message, and then you can also add the <strong>&#58;tags</strong> keyword followed by space-separated tags, like this:</p> -<p><span style="font-family: 'Bitstream Vera Sans Mono', Monaco, 'Courier New'; font-size: 10px"><br /> - <span style="color:red">Red</span>Book &gt;&gt; &#58;log My first message &#58;tags test<br /> - <span style="color:green">&gt;&gt;</span> Logged.<br /> - <span style="color:red">Red</span>Book &gt;&gt; &#58;log This is another message<br /> - <span style="color:green">&gt;&gt;</span> Logged.<br /> - <span style="color:red">Red</span>Book &gt;&gt; &#58;log This is another message &#58;tags test +<p><span class="monospace"><br /> + <span class="color-red">Red</span>Book &gt;&gt; &#58;log My first message &#58;tags test<br /> + <span class="color-green">&gt;&gt;</span> Logged.<br /> + <span class="color-red">Red</span>Book &gt;&gt; &#58;log This is another message<br /> + <span class="color-green">&gt;&gt;</span> Logged.<br /> + <span class="color-red">Red</span>Book &gt;&gt; &#58;log This is another message &#58;tags test another_test<br /> - <span style="color:green">&gt;&gt;</span> Logged.<br /> + <span class="color-green">&gt;&gt;</span> Logged.<br /> </span></p> <p>Try waiting a few seconds between each message. These three messages will be appended to the log file. You could open it in an editor, but it's normally easier to display them directly inside RedBook, like this:</p> -<p><span style="font-family: 'Bitstream Vera Sans Mono', Monaco, 'Courier New'; font-size: 10px"><br /> - <span style="color:red">Red</span>Book &gt;&gt; &#58;select<br /> - <span style="color:yellow">1</span> <span style="color:blue">Sat Sep 29 2007 &#8211; 09:09:32 PM</span> My first - message <span style="color:cyan">[</span><span style="color:yellow">test</span><span - style="color:cyan">]</span><br /> - <span style="color:yellow">2</span> <span style="color:blue">Sat Sep 29 2007 &#8211; 09:10:51 PM</span> This is +<p><span class="monospace"><br /> + <span class="color-red">Red</span>Book &gt;&gt; &#58;select<br /> + <span class="color-yellow">1</span> <span class="color-blue">Sat Sep 29 2007 &#8211; 09:09:32 PM</span> My first + message <span class="color-cyan">[</span><span class="color-yellow">test</span><span + class="color-cyan">]</span><br /> + <span class="color-yellow">2</span> <span class="color-blue">Sat Sep 29 2007 &#8211; 09:10:51 PM</span> This is another message<br /> - <span style="color:yellow">3</span> <span style="color:blue">Sat Sep 29 2007 &#8211; 09:11:45 PM</span> This is - another message <span style="color:cyan">[</span><span style="color:yellow">test</span><span - style="color:cyan">]</span><span style="color:cyan">[</span><span - style="color:yellow">another_test</span><span style="color:cyan">]</span><br /> - <span style="color:green">&gt;&gt;</span> 3 messages loaded.<br /> + <span class="color-yellow">3</span> <span class="color-blue">Sat Sep 29 2007 &#8211; 09:11:45 PM</span> This is + another message <span class="color-cyan">[</span><span class="color-yellow">test</span><span + class="color-cyan">]</span><span class="color-cyan">[</span><span + class="color-yellow">another_test</span><span class="color-cyan">]</span><br /> + <span class="color-green">&gt;&gt;</span> 3 messages loaded.<br /> </span></p> <p>Easy. What if you have hundreds of messages? Well, the &#58;select operation can take an optional search string, or you can tell RedBook to load only those messages tagged with one or more specific tags, like this:</p> -<p><span style="font-family: 'Bitstream Vera Sans Mono', Monaco, 'Courier New'; font-size: 10px"><br /> - <span style="color:red">Red</span>Book &gt;&gt; &#58;select &#58;tags test<br /> - <span style="color:yellow">1</span> <span style="color:blue">Sat Sep 29 2007 &#8211; 09:09:32 PM</span> My first - message <span style="color:cyan">[</span><span style="color:yellow">test</span><span - style="color:cyan">]</span><br /> - <span style="color:yellow">3</span> <span style="color:blue">Sat Sep 29 2007 &#8211; 09:11:45 PM</span> This is - another message <span style="color:cyan">[</span><span style="color:yellow">test</span><span - style="color:cyan">]</span><span style="color:cyan">[</span><span - style="color:yellow">another_test</span><span style="color:cyan">]</span><br /> - <span style="color:green">&gt;&gt;</span> 2 messages loaded.<br /> +<p><span class="monospace"><br /> + <span class="color-red">Red</span>Book &gt;&gt; &#58;select &#58;tags test<br /> + <span class="color-yellow">1</span> <span class="color-blue">Sat Sep 29 2007 &#8211; 09:09:32 PM</span> My first + message <span class="color-cyan">[</span><span class="color-yellow">test</span><span + class="color-cyan">]</span><br /> + <span class="color-yellow">3</span> <span class="color-blue">Sat Sep 29 2007 &#8211; 09:11:45 PM</span> This is + another message <span class="color-cyan">[</span><span class="color-yellow">test</span><span + class="color-cyan">]</span><span class="color-cyan">[</span><span + class="color-yellow">another_test</span><span class="color-cyan">]</span><br /> + <span class="color-green">&gt;&gt;</span> 2 messages loaded.<br /> </span></p> <p>Or you can use the &#58;from and/or &#58;to keywords to specify a certain time frame, like this:</p> <p>&#58;select &#58;tags test <strong>&#58;from ten minutes ago</strong></p>

@@ -140,39 +140,39 @@ <strong>&#58;calc</strong> and <strong>&#58;save</strong>.</p>

<p>&#58;calc calculates the exact amount of time elapsed between two or more tasks. Do you remember the numbers on the far left of each message? Think them as temporary IDs for the actual messages, and you can use them to select specific tasks when executing the &#58;calc operation:</p> -<p><span style="font-family: 'Bitstream Vera Sans Mono', Monaco, 'Courier New'; font-size: 10px"><br /> - <span style="color:red">Red</span>Book &gt;&gt; &#58;calc 1 3<br /> - <span style="color:yellow">1</span> <span style="color:blue">Sat Sep 29 2007 &#8211; 09:09:32 PM</span> My first - message <span style="color:cyan">[</span><span style="color:yellow">test</span><span - style="color:cyan">]</span><br /> +<p><span class="monospace"><br /> + <span class="color-red">Red</span>Book &gt;&gt; &#58;calc 1 3<br /> + <span class="color-yellow">1</span> <span class="color-blue">Sat Sep 29 2007 &#8211; 09:09:32 PM</span> My first + message <span class="color-cyan">[</span><span class="color-yellow">test</span><span + class="color-cyan">]</span><br /> <del>-</del> 2 minutes and 13 seconds.<br /> - <span style="color:yellow">3</span> <span style="color:blue">Sat Sep 29 2007 &#8211; 09:11:45 PM</span> This is - another message <span style="color:cyan">[</span><span style="color:yellow">test</span><span - style="color:cyan">]</span><span style="color:cyan">[</span><span - style="color:yellow">another_test</span><span style="color:cyan">]</span><br /> + <span class="color-yellow">3</span> <span class="color-blue">Sat Sep 29 2007 &#8211; 09:11:45 PM</span> This is + another message <span class="color-cyan">[</span><span class="color-yellow">test</span><span + class="color-cyan">]</span><span class="color-cyan">[</span><span + class="color-yellow">another_test</span><span class="color-cyan">]</span><br /> </span></p> <p>Similarly, if no IDs are specified, &#58;calc calculates the time difference between each message and the previous: </p> -<p><span style="font-family: 'Bitstream Vera Sans Mono', Monaco, 'Courier New'; font-size: 10px"><br /> - <span style="color:red">Red</span>Book &gt;&gt; &#58;calc<br /> - <span style="color:yellow">1</span> <span style="color:blue">Sat Sep 29 2007 &#8211; 09:09:32 PM</span> My first - message <span style="color:cyan">[</span><span style="color:yellow">test</span><span - style="color:cyan">]</span><br /> <br /> +<p><span class="monospace"><br /> + <span class="color-red">Red</span>Book &gt;&gt; &#58;calc<br /> + <span class="color-yellow">1</span> <span class="color-blue">Sat Sep 29 2007 &#8211; 09:09:32 PM</span> My first + message <span class="color-cyan">[</span><span class="color-yellow">test</span><span + class="color-cyan">]</span><br /> <br /> <del>-</del> 1 minute and 19 seconds.<br /> <br /> - <span style="color:yellow">2</span> <span style="color:blue">Sat Sep 29 2007 &#8211; 09:10:51 PM</span> This is + <span class="color-yellow">2</span> <span class="color-blue">Sat Sep 29 2007 &#8211; 09:10:51 PM</span> This is another message<br /> <br /> <del>-</del> 54 seconds.<br /> <br /> - <span style="color:yellow">3</span> <span style="color:blue">Sat Sep 29 2007 &#8211; 09:11:45 PM</span> This is - another message <span style="color:cyan">[</span><span style="color:yellow">test</span><span - style="color:cyan">]</span><span style="color:cyan">[</span><span - style="color:yellow">another_test</span><span style="color:cyan">]</span><br /> + <span class="color-yellow">3</span> <span class="color-blue">Sat Sep 29 2007 &#8211; 09:11:45 PM</span> This is + another message <span class="color-cyan">[</span><span class="color-yellow">test</span><span + class="color-cyan">]</span><span class="color-cyan">[</span><span + class="color-yellow">another_test</span><span class="color-cyan">]</span><br /> </span></p> <p>Finally, you can save loaded messages to a <span class="caps">TXT</span>, <span class="caps">YAML</span> or <span class="caps">CSV</span> file, as follows:</p> -<p><span style="font-family: 'Bitstream Vera Sans Mono', Monaco, 'Courier New'; font-size: 10px"><br /> - <span style="color:red">Red</span>Book &gt;&gt; &#58;save log.txt<br /> - <span style="color:blue">&gt;&gt;</span> Saving&#8230;<br /> - <span style="color:green">&gt;&gt;</span> Saved dataset to &#8220;log.txt&#8221;<br /> +<p><span class="monospace"><br /> + <span class="color-red">Red</span>Book &gt;&gt; &#58;save log.txt<br /> + <span class="color-blue">&gt;&gt;</span> Saving&#8230;<br /> + <span class="color-green">&gt;&gt;</span> Saved dataset to &#8220;log.txt&#8221;<br /> </span><br /> h<br /> If you want to backup your log, you can load all messages and then save them to a <span class="caps">YAML</span>

@@ -181,6 +181,6 @@ that messages won't be displayed on the screen.</p>

<h3>Conclusion</h3> <p>RedBook is just a simple program: it suits my needs for now, but of course there's roo for improvement. If you have some useful suggestions, or you want to contribute in some way, feel free to contact me!</p> -<p style="text-align:center;"><a href="http://redbook.h3rald.com">Home Page</a> | <a +<p class="text-align-center"><a href="http://redbook.h3rald.com">Home Page</a> | <a href="http://code.google.com/p/redbook/">Development</a> | <a href="http://code.google.com/p/redbook/downloads/list">Download</a></p>
M contents/articles/ruby-compendium-020.htmlcontents/articles/ruby-compendium-020.html

@@ -19,8 +19,7 @@ href="http://creativecommons.org/licenses/by-sa/3.0/">Creative Commons Attribution-ShareAlike 3.0 Unported

License</a>, and you can help improving it! It was written using my very own <a href="/glyph">Glyph Framework</a>, and the entire source code is available on <a href="https://github.com/h3rald/ruby-compendium">GitHub</a>, for anyone to fork.</p> - <div style="text-align:center;margin:20px; auto;font-size: 18px; font-weight:bold;"><a - href="https://github.com/downloads/h3rald/ruby-compendium/ruby-compendium.pdf">Download <span - class="caps">PDF</span></a> | <a href="/ruby-compendium/book">Read Online</a></div> + <p>&larr; <a href="https://github.com/downloads/h3rald/ruby-compendium/ruby-compendium.pdf">Download <span + class="caps">PDF</span></a> | <a href="/ruby-compendium/book">Read Online</a></p> </section>
M contents/articles/simply-on-rails-1-concepts-map.htmlcontents/articles/simply-on-rails-1-concepts-map.html

@@ -14,22 +14,8 @@ liking.</p>

<p>So I decided to try something different: bubbles! <a href="http://www.bubbl.us/">Bubbl.us</a> is an interesting online flash application which lets you create bubbles. You can create bubbles and relationships between them, change their color, their dimensions etc. And above all it's absolutely fun to use. I created two bubble - sheets, the first one to define how content will be organized in the next version of ItalySimply:</p> -<p><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" - codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="450" - height="340" id="bblviewer"><br /> - <param name="movie" value="http://bubbl.us/sys/view.swf?sid=26306&pw=yaeyI.megNtZcMTh3azVsVjhwVEt0TQ" /><br /> - <param name="quality" value="high" /><br /> - <param name="SeamlessTabbing" value="false" /><br /> - <param name="AllowScriptAccess" value="always" /><br /> - <param name="FlashVars" - value="_sid=26306&_title=ItalySimply%20v3%20-%20Content&_z=75&_pw=yaeyI.megNtZcMTh3azVsVjhwVEt0TQ" /><br /> - <embed src="http://bubbl.us/sys/view.swf?sid=26306&pw=yaeyI.megNtZcMTh3azVsVjhwVEt0TQ" - FlashVars="_sid=26306&_title=ItalySimply%20v3%20-%20Content&_z=75&_pw=yaeyI.megNtZcMTh3azVsVjhwVEt0TQ" - quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" - type="application/x-shockwave-flash" width="450" height="340" allowscriptaccess="always" - SeamlessTabbing="false" name="bblviewer"></embed><br /> - </object></p> + sheets, the first one to define how content will be organized in the next version of ItalySimply.</p> +<p><em>Diagram no longer available</em></p> <p>The diagram identifies three main types of content:</p> <ul> <li>Houses &#8211; basically what the site is about: house listing with information and pictures about houses for

@@ -44,22 +30,6 @@ <li>Categories</li>

<li>An internal search engine, allowing people to filter houses according to some criteria.</li> </ul> <p>The other sheet focuses on relationships between content and users.</p> -<p><object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" - codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="450" - height="340" id="bblviewer"><br /> - <param name="movie" value="http://bubbl.us/sys/view.swf?sid=26307&pw=yaeyI.megNtZcMTgxeUw0S0FSNzhFNg" /><br /> - <param name="quality" value="high" /><br /> - <param name="SeamlessTabbing" value="false" /><br /> - <param name="AllowScriptAccess" value="always" /><br /> - <param name="FlashVars" - value="_sid=26307&_title=ItalySimply%20v3%20-%20Communication&_z=75&_pw=yaeyI.megNtZcMTgxeUw0S0FSNzhFNg" /> - <br /> - <embed src="http://bubbl.us/sys/view.swf?sid=26307&pw=yaeyI.megNtZcMTgxeUw0S0FSNzhFNg" - FlashVars="_sid=26307&_title=ItalySimply%20v3%20-%20Communication&_z=75&_pw=yaeyI.megNtZcMTgxeUw0S0FSNzhFNg" - quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" - type="application/x-shockwave-flash" width="450" height="340" allowscriptaccess="always" - SeamlessTabbing="false" name="bblviewer"></embed><br /> - </object></p> <p>At the far sides we have users and administrators, and in the middle how they interact between themselves or with content, in particular:</p> <ul>
M contents/articles/simply-on-rails-3-shared-controller.htmlcontents/articles/simply-on-rails-3-shared-controller.html

@@ -46,7 +46,7 @@ <li>Put all the <span class="caps">CRUD</span> logic into one controller</li>

<li>Create only one set of views</li> </ul> <p>Here's the controller:</p> -<p><span style="color:red;"><strong>app/controllers/admin/lite_controller.rb</strong></span><br /> +<p><span class="color-red"><strong>app/controllers/admin/lite_controller.rb</strong></span><br /> <div class='ruby'> <pre><br /> <div class='ruby'><pre><code>class Admin::LiteController &amp;lt; ApplicationController</p>

@@ -102,7 +102,7 @@ </div>

</notextile> </p> <p>Then all I need to do is create eight controllers with just a few lines of code in each:</p> -<p><span style="color:red;"><strong>app/controllers/admin/statuses_controller.rb</strong></span><br /> +<p><span class="color-red"><strong>app/controllers/admin/statuses_controller.rb</strong></span><br /> <div class='ruby'> <pre><code>class Admin::StatusesController &lt; Admin::LiteController def model

@@ -113,7 +113,7 @@ </div>

</p> <p>Basically, I just need to specify which model the specific controller takes care of, Ruby's inheritance does the rest. The model name will be passed to the views like this:</p> -<p><span style="color:red;"><strong>app/controllers/admin/lite_controller.rb</strong></span><br /> +<p><span class="color-red"><strong>app/controllers/admin/lite_controller.rb</strong></span><br /> <div class='ruby'> <pre><code>def prepare @item_name = model.to_s

@@ -121,7 +121,7 @@ end</code></pre>

</div> </p> <p>And each method uses the <code>model</code> method to access the model, like this:</p> -<p><span style="color:red;"><strong>app/controllers/admin/lite_controller.rb</strong></span><br /> +<p><span class="color-red"><strong>app/controllers/admin/lite_controller.rb</strong></span><br /> <div class='ruby'> <pre><code>def create @item = model.new(params[:"#{@item_name.downcase}"])

@@ -142,7 +142,7 @@ <p><code>params[:"#{</code>item_name.downcase}&quot;]@ at runtime becomes <code>params[:status]</code> or

<code>params[:role]</code> etc. etc., depending on which controller is called. Sweet. </p> <p>The views? Modified accordingly:</p> -<p><span style="color:red;"><strong>app/views/lite/edit.rb</strong></span><br /> +<p><span class="color-red"><strong>app/views/lite/edit.rb</strong></span><br /> <div class='ruby'> <pre><code>&lt;h1&gt;Editing <br /> <div class='ruby'><pre><code>&amp;lt;h1&amp;gt;Editing &lt;%= @item_name %&gt;&amp;lt;/h1&amp;gt;</p>

@@ -155,7 +155,7 @@ &lt;</span>= link_to &#8216;Back', :action =&gt; &#8216;list' %&gt;</code></pre>

</div> </notextile> </p> -<p><span style="color:red;"><strong>app/views/lite/_form.rb</strong></span><br /> +<p><span class="color-red"><strong>app/views/lite/_form.rb</strong></span><br /> <div class='ruby'> <pre><code><%= error_messages_for 'item' %> &lt;!--[form:lite]--&gt;
M contents/articles/slax.htmlcontents/articles/slax.html

@@ -89,12 +89,12 @@ which allows - even if until reboot - read/write access. Although this limitation can be overcome at least through using

some of the cheatcodes described before, having the application already installed could be much easier.<br /><br />That's why Slax developers decided to start creating different <em>flavors</em> of Slax. Some of them are not available at the moment (the current slax version at the time of writing is 5.0.6), and others can be already -downloaded from the official site[15].<br /><br /><span style="text-decoration:underline;">Slax "Kill Bill"</span> - +downloaded from the official site[15].<br /><br /><span class="text-decoration-underline">Slax "Kill Bill"</span> - This is the first Slax customization which became available, and came out more or less at the same time as Tarantino's movie. <em>Bill</em> Gates didn't seem to mind at all, even if this version actually allows users to run <em>some</em> Windows applications like notepad on linux. Basically Wine[15] dosbox[16] and qemu[17] can make this possible, with limitations... nothing too exciting but, definitely fun to try out.<br /><br /><br /><span - style="text-decoration:underline;">Slax "Server"</span><br /> + class="text-decoration-underline">Slax "Server"</span><br /> <blockquote>SLAX SRV is a pocket operating system with many internet services ready to use. Includes DNS, DHCP, SMB, HTTP, FTP, MySQL, SMTP, POP3, IMAP, SSH.</blockquote><br />Unfortunately, this flavor of Slax is not yet available for download, but some updates concerning its status are available on the developer's TODO list[18]:<br /><br /><em>SE:

@@ -105,12 +105,12 @@ running</em><br /><br />This is definitely going to be an interesting project, and I'm really looking forward to it.

In the meantime, there are two server-oriented live distribution available, which is also based on Slax: Slampp[19] and in particular Slampp Lite[20]. I tried Slampp Lite and I was really satisfied with its features: support for PHP, Perl, Python on Apache (basically includes XAMPP for Linux[21]), xfce desktop environment, the latest Firefox browser, -antivirus, firewall, and more.<br /><br /><span style="text-decoration:underline;">Slax "Popcorn"</span><br />This Slax +antivirus, firewall, and more.<br /><br /><span class="text-decoration-underline">Slax "Popcorn"</span><br />This Slax flavor is more minimalist, and substantially different from the Standard Edition. For a start it features the more lightweight xfce Desktop Environment[22], and thus removes all KDE-based applications making more room for Firefox browser and Abiword, which are not included in the Standard version due to the presence of their <em>KDE counterparts</em> (Konqueror and Kword). <br />Very fast, simple, and fits 128MB: suitable for small USB keys more -than anything. <br /><br /><span style="text-decoration:underline;">Slax "Frodo"</span><br />As the name implies, this +than anything. <br /><br /><span class="text-decoration-underline">Slax "Frodo"</span><br />As the name implies, this version is smaller again (47MB), and it's basically the base for all other flavors as it includes just a Linux console and some scripts for hardware detection and setting up the live environment.<br /><br /><strong>Make your own!</strong><br /><em>Nice! But I'd have included X instead of Y, then added Z as well, perhaps...</em><br />That's
M contents/articles/succeeding-with-agile-review.htmlcontents/articles/succeeding-with-agile-review.html

@@ -12,7 +12,7 @@ <p>&#8220;This is not a book for those who are completely new to <em>Scrum</em> or <em>agile</em>. There are

other books, classes, and even websites for that. If you are completely new to <em>Scrum</em>, start with one of those.&#8221;</p> </blockquote> - <p style="padding-left:2rem;">&#8212; Mike Cohn, <em>Succeeding with Agile</em></p> + <p class="padding-left-2">&#8212; Mike Cohn, <em>Succeeding with Agile</em></p> <p>Great. That's just great. Good job I started with the <em>Introduction</em> first, otherwise the first chapters of this book would have been way too overwhelming!</p> <p><a href="http://www.succeedingwithagile.com/"><em>Succeeding with Agile</em></a> is a book that
M contents/articles/the-rails3-way-review.htmlcontents/articles/the-rails3-way-review.html

@@ -66,7 +66,7 @@ <blockquote>

<p>Even though Rails 3 is less opinionated than early versions, in that it allows for easy reconfiguration of Rails assumptions, this book is more opinionated than ever.</p> </blockquote> - <p style="margin-left: 4em">&ndash; Obie Fernandez, <cite>Introduction to <em>The Rails Way</em></cite></p> + <p class="quote-indent">&ndash; Obie Fernandez, <cite>Introduction to <em>The Rails Way</em></cite></p> <p>In other words, you won't find an ERb view in the whole book (Haml rulez!) and if you don't like RSpec&#8230; well, you'd better skip Chapter 18 altogether.</p> <p>The other big difference with traditional Ruby and Rails books is the amount of reference to third-party
M contents/articles/too-many-cooks-take-3.htmlcontents/articles/too-many-cooks-take-3.html

@@ -25,7 +25,7 @@ <blockquote>

<p>&#8220;Cake 3.0, on the other hand, is pretty different from the existing core code in a few notable ways. Mainly, it's been re-written from the ground up for <span class="caps">PHP</span> 5.3.&#8221;</p> </blockquote> -<p style="padding-right:6em;">from <a +<p class="quote-indent">from <a href="http://debuggable.com/posts/Cake_3_interview_with_Nate_Abele:4a665a5e-5bfc-4e42-96ee-6d284834cda3">Cake 3 interview with Nate Abele</a>, debuggable.com</p> <p>Of course, in these three years of my full immersion in the Ruby language, I almost completely forgot about <span
M contents/glyph/book/macros/macros_block.htmlcontents/glyph/book/macros/macros_block.html

@@ -34,9 +34,9 @@ <section class="section">

<header> <h3 id="h_218" class="notoc">Parameters</h1> </header> - <table style="width:100%;"> + <table class="width-100"> <tr> - <th style="width:30%">Parameter</th> + <th class="width-30">Parameter</th> <th>Description</th> </tr> <tr>

@@ -87,9 +87,9 @@ <section class="section">

<header> <h3 id="h_221" class="notoc">Parameters</h1> </header> - <table style="width:100%;"> + <table class="width-100"> <tr> - <th style="width:30%">Parameter</th> + <th class="width-30">Parameter</th> <th>Description</th> </tr> <tr>

@@ -144,9 +144,9 @@ <section class="section">

<header> <h3 id="h_225" class="notoc">Parameters</h1> </header> - <table style="width:100%;"> + <table class="width-100"> <tr> - <th style="width:30%">Parameter</th> + <th class="width-30">Parameter</th> <th>Description</th> </tr> <tr>

@@ -168,9 +168,9 @@ <section class="section">

<header> <h3 id="h_226" class="notoc">Attributes</h1> </header> - <table style="width:100%;"> + <table class="width-100"> <tr> - <th style="width:30%">Attribute</th> + <th class="width-30">Attribute</th> <th>Description</th> </tr> <tr>

@@ -215,9 +215,9 @@ <section class="section">

<header> <h3 id="h_229" class="notoc">Parameters</h1> </header> - <table style="width:100%;"> + <table class="width-100"> <tr> - <th style="width:30%">Parameter</th> + <th class="width-30">Parameter</th> <th>Description</th> </tr> <tr>

@@ -233,9 +233,9 @@ <section class="section">

<header> <h3 id="h_230" class="notoc">Attributes</h1> </header> - <table style="width:100%;"> + <table class="width-100"> <tr> - <th style="width:30%">Attribute</th> + <th class="width-30">Attribute</th> <th>Description</th> </tr> <tr>

@@ -265,9 +265,9 @@ <section class="section">

<header> <h3 id="h_232" class="notoc">Parameters</h1> </header> - <table style="width:100%;"> + <table class="width-100"> <tr> - <th style="width:30%">Parameter</th> + <th class="width-30">Parameter</th> <th>Description</th> </tr> <tr>

@@ -296,9 +296,9 @@ <section class="section">

<header> <h3 id="h_234" class="notoc">Parameters</h1> </header> - <table style="width:100%;"> + <table class="width-100"> <tr> - <th style="width:30%">Parameter</th> + <th class="width-30">Parameter</th> <th>Description</th> </tr> <tr>

@@ -329,9 +329,9 @@ <section class="section">

<header> <h3 id="h_236" class="notoc">Parameters</h1> </header> - <table style="width:100%;"> + <table class="width-100"> <tr> - <th style="width:30%">Parameter</th> + <th class="width-30">Parameter</th> <th>Description</th> </tr> <tr>
M contents/glyph/book/macros/macros_core.htmlcontents/glyph/book/macros/macros_core.html

@@ -33,9 +33,9 @@ <section class="section">

<header> <h3 id="h_142" class="notoc">Parameters</h1> </header> - <table style="width:100%;"> + <table class="width-100"> <tr> - <th style="width:30%">Parameter</th> + <th class="width-30">Parameter</th> <th>Description</th> </tr> <tr>

@@ -71,9 +71,9 @@ <section class="section">

<header> <h3 id="h_144" class="notoc">Parameters</h1> </header> - <table style="width:100%;"> + <table class="width-100"> <tr> - <th style="width:30%">Parameter</th> + <th class="width-30">Parameter</th> <th>Description</th> </tr> <tr>

@@ -108,9 +108,9 @@ <section class="section">

<header> <h3 id="h_146" class="notoc">Parameters</h1> </header> - <table style="width:100%;"> + <table class="width-100"> <tr> - <th style="width:30%">Parameter</th> + <th class="width-30">Parameter</th> <th>Description</th> </tr> <tr>

@@ -140,9 +140,9 @@ <section class="section">

<header> <h3 id="h_148" class="notoc">Parameters</h1> </header> - <table style="width:100%;"> + <table class="width-100"> <tr> - <th style="width:30%">Parameter</th> + <th class="width-30">Parameter</th> <th>Description</th> </tr> <tr>

@@ -177,9 +177,9 @@ <section class="section">

<header> <h3 id="h_150" class="notoc">Parameters</h1> </header> - <table style="width:100%;"> + <table class="width-100"> <tr> - <th style="width:30%">Parameter</th> + <th class="width-30">Parameter</th> <th>Description</th> </tr> <tr>

@@ -218,9 +218,9 @@ <section class="section">

<header> <h3 id="h_153" class="notoc">Parameters</h1> </header> - <table style="width:100%;"> + <table class="width-100"> <tr> - <th style="width:30%">Parameter</th> + <th class="width-30">Parameter</th> <th>Description</th> </tr> <tr>

@@ -271,9 +271,9 @@ <section class="section">

<header> <h3 id="h_156" class="notoc">Parameters</h1> </header> - <table style="width:100%;"> + <table class="width-100"> <tr> - <th style="width:30%">Parameter</th> + <th class="width-30">Parameter</th> <th>Description</th> </tr> <tr>

@@ -302,9 +302,9 @@ <section class="section">

<header> <h3 id="h_158" class="notoc">Parameters</h1> </header> - <table style="width:100%;"> + <table class="width-100"> <tr> - <th style="width:30%">Parameter</th> + <th class="width-30">Parameter</th> <th>Description</th> </tr> <tr>

@@ -349,9 +349,9 @@ <section class="section">

<header> <h3 id="h_161" class="notoc">Parameters</h1> </header> - <table style="width:100%;"> + <table class="width-100"> <tr> - <th style="width:30%">Parameter</th> + <th class="width-30">Parameter</th> <th>Description</th> </tr> <tr>

@@ -385,9 +385,9 @@ <section class="section">

<header> <h3 id="h_163" class="notoc">Parameters</h1> </header> - <table style="width:100%;"> + <table class="width-100"> <tr> - <th style="width:30%">Parameter</th> + <th class="width-30">Parameter</th> <th>Description</th> </tr> <tr>

@@ -416,9 +416,9 @@ <section class="section">

<header> <h3 id="h_165" class="notoc">Parameters</h1> </header> - <table style="width:100%;"> + <table class="width-100"> <tr> - <th style="width:30%">Parameter</th> + <th class="width-30">Parameter</th> <th>Description</th> </tr> <tr>

@@ -453,9 +453,9 @@ <section class="section">

<header> <h3 id="h_167" class="notoc">Parameters</h1> </header> - <table style="width:100%;"> + <table class="width-100"> <tr> - <th style="width:30%">Parameter</th> + <th class="width-30">Parameter</th> <th>Description</th> </tr> <tr>

@@ -487,9 +487,9 @@ <section class="section">

<header> <h3 id="h_169" class="notoc">Parameters</h1> </header> - <table style="width:100%;"> + <table class="width-100"> <tr> - <th style="width:30%">Parameter</th> + <th class="width-30">Parameter</th> <th>Description</th> </tr> <tr>

@@ -526,9 +526,9 @@ <section class="section">

<header> <h3 id="h_171" class="notoc">Parameters</h1> </header> - <table style="width:100%;"> + <table class="width-100"> <tr> - <th style="width:30%">Parameter</th> + <th class="width-30">Parameter</th> <th>Description</th> </tr> <tr>

@@ -569,9 +569,9 @@ <section class="section">

<header> <h3 id="h_173" class="notoc">Parameters</h1> </header> - <table style="width:100%;"> + <table class="width-100"> <tr> - <th style="width:30%">Parameter</th> + <th class="width-30">Parameter</th> <th>Description</th> </tr> <tr>

@@ -641,9 +641,9 @@ <section class="section">

<header> <h3 id="h_177" class="notoc">Parameters</h1> </header> - <table style="width:100%;"> + <table class="width-100"> <tr> - <th style="width:30%">Parameter</th> + <th class="width-30">Parameter</th> <th>Description</th> </tr> <tr>

@@ -672,9 +672,9 @@ <section class="section">

<header> <h3 id="h_179" class="notoc">Parameters</h1> </header> - <table style="width:100%;"> + <table class="width-100"> <tr> - <th style="width:30%">Parameter</th> + <th class="width-30">Parameter</th> <th>Description</th> </tr> <tr>

@@ -704,9 +704,9 @@ <section class="section">

<header> <h3 id="h_181" class="notoc">Parameters</h1> </header> - <table style="width:100%;"> + <table class="width-100"> <tr> - <th style="width:30%">Parameter</th> + <th class="width-30">Parameter</th> <th>Description</th> </tr> <tr>

@@ -743,9 +743,9 @@ <section class="section">

<header> <h3 id="h_183" class="notoc">Parameters</h1> </header> - <table style="width:100%;"> + <table class="width-100"> <tr> - <th style="width:30%">Parameter</th> + <th class="width-30">Parameter</th> <th>Description</th> </tr> <tr>

@@ -781,9 +781,9 @@ <section class="section">

<header> <h3 id="h_185" class="notoc">Parameters</h1> </header> - <table style="width:100%;"> + <table class="width-100"> <tr> - <th style="width:30%">Parameter</th> + <th class="width-30">Parameter</th> <th>Description</th> </tr> <tr>

@@ -833,9 +833,9 @@ <section class="section">

<header> <h3 id="h_188" class="notoc">Parameters</h1> </header> - <table style="width:100%;"> + <table class="width-100"> <tr> - <th style="width:30%">Parameter</th> + <th class="width-30">Parameter</th> <th>Description</th> </tr> <tr>

@@ -898,9 +898,9 @@ <section class="section">

<header> <h3 id="h_192" class="notoc">Parameters</h1> </header> - <table style="width:100%;"> + <table class="width-100"> <tr> - <th style="width:30%">Parameter</th> + <th class="width-30">Parameter</th> <th>Description</th> </tr> <tr>

@@ -930,9 +930,9 @@ <section class="section">

<header> <h3 id="h_194" class="notoc">Parameters</h1> </header> - <table style="width:100%;"> + <table class="width-100"> <tr> - <th style="width:30%">Parameter</th> + <th class="width-30">Parameter</th> <th>Description</th> </tr> <tr>

@@ -962,9 +962,9 @@ <section class="section">

<header> <h3 id="h_196" class="notoc">Parameters</h1> </header> - <table style="width:100%;"> + <table class="width-100"> <tr> - <th style="width:30%">Parameter</th> + <th class="width-30">Parameter</th> <th>Description</th> </tr> <tr>

@@ -1019,9 +1019,9 @@ <section class="section">

<header> <h3 id="h_199" class="notoc">Parameters</h1> </header> - <table style="width:100%;"> + <table class="width-100"> <tr> - <th style="width:30%">Parameter</th> + <th class="width-30">Parameter</th> <th>Description</th> </tr> <tr>

@@ -1075,9 +1075,9 @@ <section class="section">

<header> <h3 id="h_202" class="notoc">Parameters</h1> </header> - <table style="width:100%;"> + <table class="width-100"> <tr> - <th style="width:30%">Parameter</th> + <th class="width-30">Parameter</th> <th>Description</th> </tr> <tr>

@@ -1133,9 +1133,9 @@ <section class="section">

<header> <h3 id="h_206" class="notoc">Parameters</h1> </header> - <table style="width:100%;"> + <table class="width-100"> <tr> - <th style="width:30%">Parameter</th> + <th class="width-30">Parameter</th> <th>Description</th> </tr> <tr>

@@ -1164,9 +1164,9 @@ <section class="section">

<header> <h3 id="h_208" class="notoc">Parameters</h1> </header> - <table style="width:100%;"> + <table class="width-100"> <tr> - <th style="width:30%">Parameter</th> + <th class="width-30">Parameter</th> <th>Description</th> </tr> <tr>

@@ -1255,9 +1255,9 @@ <section class="section">

<header> <h3 id="h_214" class="notoc">Parameters</h1> </header> - <table style="width:100%;"> + <table class="width-100"> <tr> - <th style="width:30%">Parameter</th> + <th class="width-30">Parameter</th> <th>Description</th> </tr> <tr>
M contents/glyph/book/macros/macros_filters.htmlcontents/glyph/book/macros/macros_filters.html

@@ -29,9 +29,9 @@ <section class="section">

<header> <h3 id="h_252" class="notoc">Parameters</h1> </header> - <table style="width:100%;"> + <table class="width-100"> <tr> - <th style="width:30%">Parameter</th> + <th class="width-30">Parameter</th> <th>Description</th> </tr> <tr>

@@ -78,9 +78,9 @@ <section class="section">

<header> <h3 id="h_255" class="notoc">Parameters</h1> </header> - <table style="width:100%;"> + <table class="width-100"> <tr> - <th style="width:30%">Parameter</th> + <th class="width-30">Parameter</th> <th>Description</th> </tr> <tr>

@@ -96,9 +96,9 @@ <section class="section">

<header> <h3 id="h_256" class="notoc">Attributes</h1> </header> - <table style="width:100%;"> + <table class="width-100"> <tr> - <th style="width:30%">Attribute</th> + <th class="width-30">Attribute</th> <th>Description</th> </tr> <tr>

@@ -145,9 +145,9 @@ <section class="section">

<header> <h3 id="h_258" class="notoc">Parameters</h1> </header> - <table style="width:100%;"> + <table class="width-100"> <tr> - <th style="width:30%">Parameter</th> + <th class="width-30">Parameter</th> <th>Description</th> </tr> <tr>

@@ -194,9 +194,9 @@ <section class="section">

<header> <h3 id="h_261" class="notoc">Parameters</h1> </header> - <table style="width:100%;"> + <table class="width-100"> <tr> - <th style="width:30%">Parameter</th> + <th class="width-30">Parameter</th> <th>Description</th> </tr> <tr>

@@ -212,9 +212,9 @@ <section class="section">

<header> <h3 id="h_262" class="notoc">Attributes</h1> </header> - <table style="width:100%;"> + <table class="width-100"> <tr> - <th style="width:30%">Attribute</th> + <th class="width-30">Attribute</th> <th>Description</th> </tr> <tr>

@@ -273,9 +273,9 @@ <section class="section">

<header> <h3 id="h_265" class="notoc">Parameters</h1> </header> - <table style="width:100%;"> + <table class="width-100"> <tr> - <th style="width:30%">Parameter</th> + <th class="width-30">Parameter</th> <th>Description</th> </tr> <tr>
M contents/glyph/book/macros/macros_inline.htmlcontents/glyph/book/macros/macros_inline.html

@@ -20,9 +20,9 @@ <section class="section">

<header> <h3 id="h_242" class="notoc">Parameters</h1> </header> - <table style="width:100%;"> + <table class="width-100"> <tr> - <th style="width:30%">Parameter</th> + <th class="width-30">Parameter</th> <th>Description</th> </tr> <tr>

@@ -58,9 +58,9 @@ <section class="section">

<header> <h3 id="h_244" class="notoc">Parameters</h1> </header> - <table style="width:100%;"> + <table class="width-100"> <tr> - <th style="width:30%">Parameter</th> + <th class="width-30">Parameter</th> <th>Description</th> </tr> <tr>

@@ -90,9 +90,9 @@ <section class="section">

<header> <h3 id="h_246" class="notoc">Parameters</h1> </header> - <table style="width:100%;"> + <table class="width-100"> <tr> - <th style="width:30%">Parameter</th> + <th class="width-30">Parameter</th> <th>Description</th> </tr> <tr>

@@ -128,9 +128,9 @@ <section class="section">

<header> <h3 id="h_248" class="notoc">Parameters</h1> </header> - <table style="width:100%;"> + <table class="width-100"> <tr> - <th style="width:30%">Parameter</th> + <th class="width-30">Parameter</th> <th>Description</th> </tr> <tr>
M contents/glyph/book/macros/macros_structure.htmlcontents/glyph/book/macros/macros_structure.html

@@ -43,9 +43,9 @@ <section class="section">

<header> <h3 id="h_268" class="notoc">Parameters</h1> </header> - <table style="width:100%;"> + <table class="width-100"> <tr> - <th style="width:30%">Parameter</th> + <th class="width-30">Parameter</th> <th>Description</th> </tr> <tr>

@@ -61,9 +61,9 @@ <section class="section">

<header> <h3 id="h_269" class="notoc">Attributes</h1> </header> - <table style="width:100%;"> + <table class="width-100"> <tr> - <th style="width:30%">Attribute</th> + <th class="width-30">Attribute</th> <th>Description</th> </tr> <tr>

@@ -142,9 +142,9 @@ <section class="section">

<header> <h3 id="h_271" class="notoc">Parameters</h1> </header> - <table style="width:100%;"> + <table class="width-100"> <tr> - <th style="width:30%">Parameter</th> + <th class="width-30">Parameter</th> <th>Description</th> </tr> <tr>

@@ -160,9 +160,9 @@ <section class="section">

<header> <h3 id="h_272" class="notoc">Attributes</h1> </header> - <table style="width:100%;"> + <table class="width-100"> <tr> - <th style="width:30%">Attribute</th> + <th class="width-30">Attribute</th> <th>Description</th> </tr> <tr>

@@ -237,9 +237,9 @@ <section class="section">

<header> <h3 id="h_274" class="notoc">Parameters</h1> </header> - <table style="width:100%;"> + <table class="width-100"> <tr> - <th style="width:30%">Parameter</th> + <th class="width-30">Parameter</th> <th>Description</th> </tr> <tr>

@@ -269,9 +269,9 @@ <section class="section">

<header> <h3 id="h_276" class="notoc">Parameters</h1> </header> - <table style="width:100%;"> + <table class="width-100"> <tr> - <th style="width:30%">Parameter</th> + <th class="width-30">Parameter</th> <th>Description</th> </tr> <tr>

@@ -317,9 +317,9 @@ <section class="section">

<header> <h3 id="h_279" class="notoc">Parameters</h1> </header> - <table style="width:100%;"> + <table class="width-100"> <tr> - <th style="width:30%">Parameter</th> + <th class="width-30">Parameter</th> <th>Description</th> </tr> <tr>

@@ -335,9 +335,9 @@ <section class="section">

<header> <h3 id="h_280" class="notoc">Attributes</h1> </header> - <table style="width:100%;"> + <table class="width-100"> <tr> - <th style="width:30%">Attribute</th> + <th class="width-30">Attribute</th> <th>Description</th> </tr> <tr>

@@ -380,9 +380,9 @@ <section class="section">

<header> <h3 id="h_282" class="notoc">Parameters</h1> </header> - <table style="width:100%;"> + <table class="width-100"> <tr> - <th style="width:30%">Parameter</th> + <th class="width-30">Parameter</th> <th>Description</th> </tr> <tr>

@@ -411,9 +411,9 @@ <section class="section">

<header> <h3 id="h_284" class="notoc">Parameters</h1> </header> - <table style="width:100%;"> + <table class="width-100"> <tr> - <th style="width:30%">Parameter</th> + <th class="width-30">Parameter</th> <th>Description</th> </tr> <tr>
M contents/glyph/book/ref_commands.htmlcontents/glyph/book/ref_commands.html

@@ -47,9 +47,9 @@ <section class="section">

<header> <h3 id="h_119" class="notoc">Parameters</h1> </header> - <table style="width:100%;"> + <table class="width-100"> <tr> - <th style="width:30%">Parameter</th> + <th class="width-30">Parameter</th> <th>Description</th> </tr> <tr>

@@ -73,9 +73,9 @@ <section class="section">

<header> <h3 id="h_121" class="notoc">Parameters</h1> </header> - <table style="width:100%;"> + <table class="width-100"> <tr> - <th style="width:30%">Parameter</th> + <th class="width-30">Parameter</th> <th>Description</th> </tr> <tr>

@@ -97,9 +97,9 @@ <section class="section">

<header> <h3 id="h_122" class="notoc">Options</h1> </header> - <table style="width:100%;"> + <table class="width-100"> <tr> - <th style="width:30%">Option</th> + <th class="width-30">Option</th> <th>Description</th> </tr> <tr>

@@ -158,9 +158,9 @@ <section class="section">

<header> <h3 id="h_125" class="notoc">Options</h1> </header> - <table style="width:100%;"> + <table class="width-100"> <tr> - <th style="width:30%">Option</th> + <th class="width-30">Option</th> <th>Description</th> </tr> <tr>

@@ -179,9 +179,9 @@ <section class="section">

<header> <h3 id="h_126" class="notoc">Parameters</h1> </header> - <table style="width:100%;"> + <table class="width-100"> <tr> - <th style="width:30%">Parameter</th> + <th class="width-30">Parameter</th> <th>Description</th> </tr> <tr>

@@ -222,9 +222,9 @@ <section class="section">

<header> <h3 id="h_129" class="notoc">Parameters</h1> </header> - <table style="width:100%;"> + <table class="width-100"> <tr> - <th style="width:30%">Parameter</th> + <th class="width-30">Parameter</th> <th>Description</th> </tr> <tr>

@@ -254,9 +254,9 @@ <section class="section">

<header> <h3 id="h_132" class="notoc">Options</h1> </header> - <table style="width:100%;"> + <table class="width-100"> <tr> - <th style="width:30%">Option</th> + <th class="width-30">Option</th> <th>Description</th> </tr> <tr>

@@ -333,9 +333,9 @@ <section class="section">

<header> <h3 id="h_136" class="notoc">Options</h1> </header> - <table style="width:100%;"> + <table class="width-100"> <tr> - <th style="width:30%">Option</th> + <th class="width-30">Option</th> <th>Description</th> </tr> <tr>
M contents/glyph/book/troubleshooting/errors_command.htmlcontents/glyph/book/troubleshooting/errors_command.html

@@ -6,9 +6,9 @@ <nav class="navigation"><a href="/glyph/book/troubleshooting/errors_parser.html">← Parsing Errors</a> | <a

href="/glyph/book/index.html">Contents</a> | <a href="/glyph/book/troubleshooting/errors_macro.html">Macro Errors →</a></nav> -<table style="width:100%;"> +<table class="width-100"> <tr> - <th style="width:30%">Error Message</th> + <th class="width-30">Error Message</th> <th>Description</th> </tr> <tr>
M contents/glyph/book/troubleshooting/errors_generic.htmlcontents/glyph/book/troubleshooting/errors_generic.html

@@ -6,9 +6,9 @@ <nav class="navigation"><a href="/glyph/book/extending/command.html">← Defining Custom Commands</a> | <a

href="/glyph/book/index.html">Contents</a> | <a href="/glyph/book/troubleshooting/errors_parser.html">Parsing Errors →</a></nav> -<table style="width:100%;"> +<table class="width-100"> <tr> - <th style="width:30%">Error Message</th> + <th class="width-30">Error Message</th> <th>Description</th> </tr> <tr>
M contents/glyph/book/troubleshooting/errors_macro.htmlcontents/glyph/book/troubleshooting/errors_macro.html

@@ -22,9 +22,9 @@ <li><em>macro_value</em> is the value of the macro (shown only if Glyph is running in <a

href="/glyph/book/ref_commands.html#debug_switch">debug mode</a>).</li> </ul> -<table style="width:100%;"> +<table class="width-100"> <tr> - <th style="width:30%">Error Message</th> + <th class="width-30">Error Message</th> <th>Description</th> </tr> <tr>
M contents/glyph/book/troubleshooting/errors_parser.htmlcontents/glyph/book/troubleshooting/errors_parser.html

@@ -6,9 +6,9 @@ <nav class="navigation"><a href="/glyph/book/troubleshooting/errors_generic.html">← Generic Errors</a> | <a

href="/glyph/book/index.html">Contents</a> | <a href="/glyph/book/troubleshooting/errors_command.html">Command Errors →</a></nav> -<table style="width:100%;"> +<table class="width-100"> <tr> - <th style="width:30%">Error Message</th> + <th class="width-30">Error Message</th> <th>Description</th> </tr> <tr>
M contents/ruby-compendium/book/rubyists.htmlcontents/ruby-compendium/book/rubyists.html

@@ -7,12 +7,12 @@ href="/ruby-compendium/book/index.html">Contents</a> | </nav>

<section class="section"> - <span style="padding-top: 20px;display: block;"> + <span class="padding-top-20-block"> <a id="chad"></a><strong><a href="http://chadfowler.com/">Chad Fowler</a></strong> &ndash; <a href="http://twitter.com/chadfowler">@chadfowler</a> </span> - <div style="margin-left: 30px;"> + <div class="margin-left-30"> Pragmatic Programmer, published author, Ruby core committer. </div>

@@ -20,12 +20,12 @@

</section> <section class="section"> - <span style="padding-top: 20px;display: block;"> + <span class="padding-top-20-block"> <a id="matz"></a><strong><a href="http://www.rubyist.net/~matz/">Yukihiro Matsumoto</a></strong> &ndash; <a href="http://twitter.com/yukihiro_matz">@yukihiro_matz</a> </span> - <div style="margin-left: 30px;"> + <div class="margin-left-30"> The creator of the Ruby Programming Language. </div>

@@ -33,12 +33,12 @@

</section> <section class="section"> - <span style="padding-top: 20px;display: block;"> + <span class="padding-top-20-block"> <a id="davethomas"></a><strong><a href="http://pragdave.pragprog.com/">Dave Thomas</a></strong> &ndash; <a href="http://twitter.com/pragdave">@pragdave</a> </span> - <div style="margin-left: 30px;"> + <div class="margin-left-30"> Pragmatic Programmer, published author, Ruby core committer. </div>

@@ -46,12 +46,12 @@

</section> <section class="section"> - <span style="padding-top: 20px;display: block;"> + <span class="padding-top-20-block"> <a id="dhh"></a><strong><a href="http://www.loudthinking.com/">David Heinemeier Hansson</a></strong> &ndash; <a href="http://twitter.com/dhh">@dhh</a> </span> - <div style="margin-left: 30px;"> + <div class="margin-left-30"> Creator of the Ruby on Rails framework. </div>

@@ -59,12 +59,12 @@

</section> <section class="section"> - <span style="padding-top: 20px;display: block;"> + <span class="padding-top-20-block"> <a id="_why"></a><strong><a href="http://viewsourcecode.org/why/">why the lucky stiff</a></strong> &ndash; <a href="http://twitter.com/_why">@_why</a> </span> - <div style="margin-left: 30px;"> + <div class="margin-left-30"> Semi-legendary, prolific Ruby developer, core committer, blogger, book author. Mysteriously disappeared in August 2009.

@@ -73,12 +73,12 @@

</section> <section class="section"> - <span style="padding-top: 20px;display: block;"> + <span class="padding-top-20-block"> <a id="wycatz"></a><strong><a href="http://www.yehudakatz.com/">Yehuda Katz</a></strong> &ndash; <a href="http://twitter.com/wycatz">@wycatz</a> </span> - <div style="margin-left: 30px;"> + <div class="margin-left-30"> Rails core committer, lead developer of the Merb project. </div>

@@ -86,12 +86,12 @@

</section> <section class="section"> - <span style="padding-top: 20px;display: block;"> + <span class="padding-top-20-block"> <a id="jm"></a><strong><a href="http://www.jeremymcanally.com/">Jeremy McAnally</a></strong> &ndash; <a href="http://twitter.com/jm">@jm</a> </span> - <div style="margin-left: 30px;"> + <div class="margin-left-30"> Published author, blogger. Known for the Little Humble Ruby Book. </div>

@@ -99,12 +99,12 @@

</section> <section class="section"> - <span style="padding-top: 20px;display: block;"> + <span class="padding-top-20-block"> <a id="obie"></a><strong><a href="http://obiefernandez.com/">Obie Fernandez</a></strong> &ndash; <a href="http://twitter.com/obie">@obie</a> </span> - <div style="margin-left: 30px;"> + <div class="margin-left-30"> Published author, editor of Addison-Wesley's Professional Ruby Series, enterpreneur. </div>

@@ -112,12 +112,12 @@

</section> <section class="section"> - <span style="padding-top: 20px;display: block;"> + <span class="padding-top-20-block"> <a id="olabini"></a><strong><a href="http://olabini.com/blog">Ola Bini</a></strong> &ndash; <a href="http://twitter.com/olabini">@olabini</a> </span> - <div style="margin-left: 30px;"> + <div class="margin-left-30"> JRuby core committer, published author, blogger. </div>

@@ -125,12 +125,12 @@

</section> <section class="section"> - <span style="padding-top: 20px;display: block;"> + <span class="padding-top-20-block"> <a id="peterc"></a><strong><a href="http://peterc.org/">Peter Cooper</a></strong> &ndash; <a href="http://twitter.com/peterc">@peterc</a> </span> - <div style="margin-left: 30px;"> + <div class="margin-left-30"> Published author, blogger, enterpreneaur. Creator of Ruby Inside. </div>

@@ -138,12 +138,12 @@

</section> <section class="section"> - <span style="padding-top: 20px;display: block;"> + <span class="padding-top-20-block"> <a id="acangiano"></a><strong><a href="http://antoniocangiano.com/">Antonio Cangiano</a></strong> &ndash; <a href="http://twitter.com/acangiano">@acangiano</a> </span> - <div style="margin-left: 30px;"> + <div class="margin-left-30"> Technical Evangelist, blogger, published author, and Ruby's unofficial benchmarker. </div>

@@ -151,12 +151,12 @@

</section> <section class="section"> - <span style="padding-top: 20px;display: block;"> + <span class="padding-top-20-block"> <a id="andyhunt"></a><strong><a href="http://blog.toolshed.com/">Andy Hunt</a></strong> &ndash; <a href="http://twitter.com/pragmaticandy">@pragmaticandy</a> </span> - <div style="margin-left: 30px;"> + <div class="margin-left-30"> Pragmatic Programmer, published author. </div>

@@ -164,12 +164,12 @@

</section> <section class="section"> - <span style="padding-top: 20px;display: block;"> + <span class="padding-top-20-block"> <a id="satish"></a><strong><a href="http://satishtalim.com/">Satish Talim</a></strong> &ndash; <a href="http://twitter.com/indianguru">@indianguru</a> </span> - <div style="margin-left: 30px;"> + <div class="margin-left-30"> Creator of RubyLearning.com, one of the best resources for learning Ruby. </div>

@@ -177,12 +177,12 @@

</section> <section class="section"> - <span style="padding-top: 20px;display: block;"> + <span class="padding-top-20-block"> <a id="dablack"></a><strong><a href="http://dablog.rubypal.com/">David A. Black</a></strong> &ndash; <a href="http://twitter.com/david_a_black">@david_a_black</a> </span> - <div style="margin-left: 30px;"> + <div class="margin-left-30"> Ruby core committer, published. </div>

@@ -190,12 +190,12 @@

</section> <section class="section"> - <span style="padding-top: 20px;display: block;"> + <span class="padding-top-20-block"> <a id="jeg2"></a><strong><a href="http://blog.grayproductions.net/">James Edward Gray II</a></strong> &ndash; <a href="http://twitter.com/jeg2">@jeg2</a> </span> - <div style="margin-left: 30px;"> + <div class="margin-left-30"> Ruby core committer, conference organizer, published author and blogger. </div>

@@ -203,12 +203,12 @@

</section> <section class="section"> - <span style="padding-top: 20px;display: block;"> + <span class="padding-top-20-block"> <a id="luislavena"></a><strong><a href="http://blog.mmediasys.com/">Luis Lavena</a></strong> &ndash; <a href="http://twitter.com/luislavena">@luislavena</a> </span> - <div style="margin-left: 30px;"> + <div class="margin-left-30"> Ruby core committer, maintainer of RubyInstaller for Windows. </div>

@@ -216,12 +216,12 @@

</section> <section class="section"> - <span style="padding-top: 20px;display: block;"> + <span class="padding-top-20-block"> <a id="tenderlove"></a><strong><a href="http://tenderlovemaking.com/">Aaron Petterson</a></strong> &ndash; <a href="http://twitter.com/tenderlove">@tenderlove</a> </span> - <div style="margin-left: 30px;"> + <div class="margin-left-30"> Ruby core committer, blogger. </div>

@@ -229,12 +229,12 @@

</section> <section class="section"> - <span style="padding-top: 20px;display: block;"> + <span class="padding-top-20-block"> <a id="greggpollack"></a><strong><a href="http://envylabs.com/">Gregg Pollack</a></strong> &ndash; <a href="http://twitter.com/greggpollack">@greggpollack</a> </span> - <div style="margin-left: 30px;"> + <div class="margin-left-30"> Founder of EnvyLabs, creator of many Ruby and Rails-related podcasts, including Ruby5. </div>

@@ -242,12 +242,12 @@

</section> <section class="section"> - <span style="padding-top: 20px;display: block;"> + <span class="padding-top-20-block"> <a id="danbenjamin"></a><strong><a href="http://danbenjamin.com/">Dan Benjamin</a></strong> &ndash; <a href="http://twitter.com/danbenjamin">@danbenjamin</a> </span> - <div style="margin-left: 30px;"> + <div class="margin-left-30"> Founder of 5by5 Studios, creator and host of The Ruby Show podcast. </div>

@@ -255,12 +255,12 @@

</section> <section class="section"> - <span style="padding-top: 20px;display: block;"> + <span class="padding-top-20-block"> <a id="jseifer"></a><strong><a href="http://jasonseifer.com/">Jason Seifer</a></strong> &ndash; <a href="http://twitter.com/jseifer">@jseifer</a> </span> - <div style="margin-left: 30px;"> + <div class="margin-left-30"> Co-host of The Ruby Show podcast. </div>

@@ -268,12 +268,12 @@

</section> <section class="section"> - <span style="padding-top: 20px;display: block;"> + <span class="padding-top-20-block"> <a id="wayneeseguin"></a><strong><a href="http://beginrescueend.com/">Wayne E. Seguin</a></strong> &ndash; <a href="http://twitter.com/wayneeseguin">@wayneeseguin</a> </span> - <div style="margin-left: 30px;"> + <div class="margin-left-30"> Creator of Ruby Version Manager (RVM). </div>

@@ -281,12 +281,12 @@

</section> <section class="section"> - <span style="padding-top: 20px;display: block;"> + <span class="padding-top-20-block"> <a id="steveklabnik"></a><strong><a href="http://www.steveklabnik.com/">Steve Klabnik</a></strong> &ndash; <a href="http://twitter.com/steveklabnik">@steveklabnik</a> </span> - <div style="margin-left: 30px;"> + <div class="margin-left-30"> Maintainer of Hackety Hack, creator of rstat.us. </div>
M contents/xyw.mdcontents/xyw.md

@@ -5,10 +5,10 @@ home: /xyw/

site: "https://xyw.2c.fyi" title: "xyw" subtitle: "A minimal virtual machine and assembler targeting terminals, inspired by Uxn." -summary: "xyw is a simple and minimal virtual machine and assembler inspured by Uxn, that aims at providing a low-level, future-proof way to create terminal applications." +summary: "xyw is a simple and minimal virtual machine and assembler inspired by Uxn, that aims at providing a low-level, future-proof way to create terminal applications." content-type: project active: true -version: 300-7 +version: 352-0 conver: true branch: master changelog: true

@@ -16,7 +16,7 @@ stage: prototype

license: MIT ----- -xyw is a specification for a minimalist virtual machine programmable via a concatenative, assembly-like language. It is implemented primarily as a [stack machine](https://en.wikipedia.org/wiki/Stack_machine), but it also provides four "registers" that can be used by most instructions by specifying dedicated modes, to reduce the need of stack juggling operations common to languages like Forth. +xyw is a minimalist virtual machine programmable via a concatenative, assembly-like language. It is implemented primarily as a [stack machine](https://en.wikipedia.org/wiki/Stack_machine), but it also provides four "registers" that can be used by most instructions by specifying dedicated modes, to reduce the need of stack juggling operations common to languages like Forth. ### Rationale

@@ -41,4 +41,4 @@ - Up to a maximum of 16 memory-mapped devices, each with up to 16 reserved bytes (like Uxn).

- Event-based operation, similar to Uxn. - Direct page accessible via a single byte, set by default to the device page, that can be moved to different locations in memory. - A few assembly-inspired directives, which are also used to implement labels. -- Support for integers expressed in hexadecimal or binary notation.+- Support for integers expressed in hexadecimal or binary notation.