Update Friday, 23rd of January, Anno Domini MMIX, at the hour of the Goat
[git/dscho.git] / blog.rss
blob9205a6fb21bf04bf5e5b0ad4b55f49baf6bb3fdb
1 <?xml version="1.0" encoding="utf-8"?>
2 <rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
3 <channel>
4 <title>Dscho's blog</title>
5 <link>http://repo.or.cz/w/git/dscho.git?a=blob_plain;hb=blog;f=index.html</link>
6 <atom:link href="http://repo.or.cz/w/git/dscho.git?a=blob_plain;hb=blog;f=blog.rss" rel="self" type="application/rss+xml"/>
7 <description>A few stories told by Dscho</description>
8 <lastBuildDate>Fri, 23 Jan 2009 14:07:05 +0100</lastBuildDate>
9 <language>en-us</language>
10 <item>
11 <title>The UGFWIINI contest</title>
12 <link>http://repo.or.cz/w/git/dscho.git?a=blob_plain;hb=blog;f=index.html#1232626236</link>
13 <guid>http://repo.or.cz/w/git/dscho.git?a=blob_plain;hb=blog;f=index.html#1232626236</guid>
14 <pubDate>Thu, 22 Jan 2009 13:10:36 +0100</pubDate>
15 <description><![CDATA[The UGFWIINI contest
16 </p><p>
17 Just in case somebody finds this blog, here is a challenge. Inspired by my
18 own little hack (this blog), I announce the "Using Git For What It Is Not
19 Intended" contest.
20 </p><p>
21 And it is especially cool, since the acronym sounds cool! You might miss
22 this fact if you do no know that I pronounce the "F" like an "A" so that
23 it sounds cool.
24 </p><p>
25 This will be a running contest; whenever I have 10 valid applications, I
26 will announce a winner on the Git mailing list.
27 </p><p>
28 So, what accounts for a valid application?
29 </p><p>
30 <ul>
31 <li> You must use a Git program (the term is used loosely here, GitWeb is
32 considered a Git program, for example).
33 <li> The program must be intended for something completely different than
34 what you are using it for. E.g. GitWeb -- which was intended to let
35 you browse through the history using your web browser -- is used
36 to serve a blog to the wide world.
37 <li> You must be able to prove that you actually used the Git program to
38 the purpose you claim, preferably in a live demonstration like this
39 one.
40 <li> Nobody and nothing must be harmed in the process (except your
41 laughing muscle, that's okay).
42 </ul>
43 </p><p>
44 So, how does such an abuse look like?
45 </p><p>
46 <ul>
47 <li> ... like this blog.
48 <li> Managing your mail (in maildir format) in a Git repository.
49 <li> Finding duplicate files by
50 <table
51 border=1 bgcolor=white>
52 <tr><td bgcolor=lightblue colspan=3>
53 &nbsp;
54 </td></tr>
55 <tr><td>
56 <table cellspacing=5 border=0
57 style="color:black;">
58 <tr><td>
59 <pre>
60 $ git init
61 $ git add .
62 $ git ls-files --stage | sort -k2 | uniq -d -s7 -w40
63 </pre>
64 </td></tr>
65 </table>
66 </td></tr>
67 </table>
68 <li> Abusing the Git alias mechanism to call scripts defined directly in
69 the config.
70 </ul>
71 </p><p>
72 I am really looking forward to all of your submissions... *chuckles*
73 </p><p>]]></description>
74 </item>
75 <item>
76 <title>Top-posting</title>
77 <link>http://repo.or.cz/w/git/dscho.git?a=blob_plain;hb=blog;f=index.html#1232611542</link>
78 <guid>http://repo.or.cz/w/git/dscho.git?a=blob_plain;hb=blog;f=index.html#1232611542</guid>
79 <pubDate>Thu, 22 Jan 2009 09:05:42 +0100</pubDate>
80 <description><![CDATA[Top-posting
81 </p><p>
82 Okay, last post for a while. But this is something that is nagging me
83 tremendously. I should probably just let go, but in my deepest inner self,
84 really close to my heart, I refuse to believe that any human beings could
85 be incapable of certain degrees of reason.
86 </p><p>
87 Take the example of top-posting. Everybody who read a top-posted email
88 knows that you have to scroll down, possibly weeding through tons of
89 pages to find out what the heck the author of the last reply was replying
90 to.
91 </p><p>
92 Never mind that it would take the author of the reply just a couple of
93 seconds to remove all the irrelevant stuff -- as she already knows what
94 is the relevant part, saving minutes, in case of mailing lists hours,
95 easily, to the readers who otherwise would have to discern what is
96 irrelevant and what is relevant first.
97 </p><p>
98 It is a horrible time waste. But of course not for the top-poster.
99 </p><p>
100 The problem is that I frequently run into such people, and when I write
101 them a polite mail, explaining to them that it is impolite to top-post,
102 and why, the answers I get sometimes make me check if the sky is still up
103 and the earth down. Yesterday was an example of such a dubitable
104 pleasure.
105 </p><p>
106 Most funny are the ridiculous attempts by those persons at explaining why
107 top-posting is <i>so</i> much superior to anything else.
108 </p><p>
109 Which is good, because if they were not that funny, they would be pretty sad.]]></description>
110 </item>
111 <item>
112 <title>Sverre's hat</title>
113 <link>http://repo.or.cz/w/git/dscho.git?a=blob_plain;hb=blog;f=index.html#1232607201</link>
114 <guid>http://repo.or.cz/w/git/dscho.git?a=blob_plain;hb=blog;f=index.html#1232607201</guid>
115 <pubDate>Thu, 22 Jan 2009 07:53:21 +0100</pubDate>
116 <description><![CDATA[Sverre's hat
117 </p><p>
118 The fun part about a blog is that you can talk about less technical stuff.
119 For example, Sverre's hat.
120 </p><p>
121 Let me start a bit earlier, so that you get the context.
122 </p><p>
123 Last year, at the <a href=http://git.or.cz/gitwiki/GitTogether>GitTogether</a>,
124 we had an <a href=http://en.wikipedia.org/wiki/Unconference>unconference style
125 conference</a>, which basically meant that it was our job to decide what
126 we want to talk about.
127 </p><p>
128 It turned out to be pretty hard, because there was so much we wanted to
129 discuss, and because we wanted to get to know each other, and we wanted to
130 do some hacking.
131 </p><p>
132 So to help us decide what subjects, and in which order we wanted to have
133 scheduled, Shawn opened a series on <a href=http://moderator.appspot.com/>
134 Google Moderator</a>, a nifty, yet simple application which allows a group
135 to agree quickly on an agenda.
136 </p><p>
137 It worked quite well; However, that little saboteur displayed his sense of
138 humor so overtly that some entertaining Gitter put the question "Should Sverre
139 wear a hat?" on the agenda.
140 </p><p>
141 Sure enough, the subject got voted up, and eventually, we got Sverre a hat:
142 </p><p>
143 <center><img src=dscho.git?a=blob_plain;hb=blog;f=sverre-hat.jpg></center>
144 </p><p>
145 By the way, another thing I like about this blog engine is that there are no
146 comments... Nothing is more annoying than leaving a comment on a blog,
147 forgetting about it for a few months, and then finding somebody answered
148 ages ago.
149 </p><p>
150 Update: Sverre says it was dsymonds idea.]]></description>
151 </item>
152 <item>
153 <title>Let there be images!</title>
154 <link>http://repo.or.cz/w/git/dscho.git?a=blob_plain;hb=blog;f=index.html#1232604722</link>
155 <guid>http://repo.or.cz/w/git/dscho.git?a=blob_plain;hb=blog;f=index.html#1232604722</guid>
156 <pubDate>Thu, 22 Jan 2009 07:12:02 +0100</pubDate>
157 <description><![CDATA[Let there be images!
158 </p><p>
159 One of the most important features of blogs is the ability to insert images.
160 So what would this blog be, if it could not present something that says
161 more than a thousand words?
162 </p><p>
163 So here it goes, my first picture in this blog, taken from my Google Tech
164 Talk in Mountain View:
165 </p><p>
166 <center><img src=dscho.git?a=blob_plain;hb=blog;f=all-your-rebase.png></center>
167 </p><p>
168 Now this blog starts to look like a real blog...]]></description>
169 </item>
170 <item>
171 <title>My blog has style</title>
172 <link>http://repo.or.cz/w/git/dscho.git?a=blob_plain;hb=blog;f=index.html#1232599693</link>
173 <guid>http://repo.or.cz/w/git/dscho.git?a=blob_plain;hb=blog;f=index.html#1232599693</guid>
174 <pubDate>Thu, 22 Jan 2009 05:48:13 +0100</pubDate>
175 <description><![CDATA[My blog has style
176 </p><p>
177 It is official. The blog has a style sheet now.
178 </p><p>
179 The major problem was how to design the system such that it would work
180 both locally and on <a href=http://repo.or.cz>repo.or.cz</a> via gitweb.
181 </p><p>
182 Basically, I realized that I'd need a dry run mode anyway, to prevent
183 all my failed attemp.. oops, I meant, to prevent an accidental push
184 when I am at an, ahem, intermediate state of the 'blog' branch.
185 </p><p>
186 Therefore, I could write a different file locally, which I can load
187 into my venerable Firefox.
188 </p><p>
189 The next plans with my new toy are to enable an easy way to support
190 showing images, and then maybe a table of contents. External links
191 would be cool (<a href=http://repo.or.cz>repo.or.cz</a> does not count, it is special-cased), too.
192 </p><p>
193 And later maybe a cut-off, with automatic generation of links to older
194 posts. Hmm, for those, I'll have to change the URL to include the
195 current commit name, so that the images will be found, too...
196 </p><p>
197 Which in turn means that I'll have to parse the source for new
198 images first, so that they can be in the commit that index.html
199 will link to, <u>before</u> it gets committed. Oh well, that cannot be
200 helped! &#x263a;]]></description>
201 </item>
202 <item>
203 <title>My new blog system... bloGit</title>
204 <link>http://repo.or.cz/w/git/dscho.git?a=blob_plain;hb=blog;f=index.html#1232589695</link>
205 <guid>http://repo.or.cz/w/git/dscho.git?a=blob_plain;hb=blog;f=index.html#1232589695</guid>
206 <pubDate>Thu, 22 Jan 2009 03:01:35 +0100</pubDate>
207 <description><![CDATA[My new blog system... bloGit
208 </p><p>
209 Nowadays, you got to have your blog. Or better: your blogs. Even Junio
210 blogs about Git.
211 </p><p>
212 So I felt a little left behind, having no blog to show off. But then
213 I read about this fantastic new website on the mailing list, called
214 <i>git planet</i> which was supposed to be a place where you could have your
215 Git located blog.
216 </p><p>
217 Except that you could not have your blog <u>there</u>. Instead, it is just an
218 aggregator site.
219 </p><p>
220 I was disappointed.
221 </p><p>
222 But then, I had this (in my humble opinion very cute) idea that I already used to "publish"
223 my slides from the talk "Contributing with Git (AKA All your rebase are
224 belong to us)": back then, I just created a new branch, committed the
225 file, and uploaded the result to <a href=http://repo.or.cz>repo.or.cz</a>, to be downloaded via Gitweb.
226 </p><p>
227 So I asked Pasky via IRC, if he would have any objections if I abused
228 <a href=http://repo.or.cz>repo.or.cz</a> as a blog server. He understood at once, and found it "sounds
229 like a pretty cool idea".
230 </p><p>
231 Of course, just writing plain HTML and committing that is <i>too easy</i>,
232 therefore I decided to write a shell script that would turn some sort
233 of simple text file into proper HTML, commit it, and upload the result.
234 </p><p>
235 Well, about two hours later, I finished the first version of the script
236 turning plain text with minimal markup into an HTML page, and it obviously
237 worked -- otherwise nobody would be able to read this &#x263a;]]></description>
238 </item>
239 </channel>
240 </rss>