<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:blogger="http://schemas.google.com/blogger/2008" xmlns:georss="http://www.georss.org/georss" xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr="http://purl.org/syndication/thread/1.0" version="2.0"><channel><atom:id>tag:blogger.com,1999:blog-6641176928157602276</atom:id><lastBuildDate>Thu, 05 Sep 2024 14:09:07 +0000</lastBuildDate><category>scheme</category><category>gnu emacs</category><category>zeromq</category><category>FSF</category><category>Facebook</category><category>Free Software Foundation</category><category>Gnu/Linux</category><category>Google</category><category>IDE</category><category>MPEG</category><category>Slackbuild</category><category>Slackware</category><category>Steve Jobs</category><category>VP8</category><category>Youtube</category><category>bsd</category><category>chicken</category><category>daemon</category><category>digital art</category><category>free audio</category><category>free video</category><category>gimp</category><category>ksh</category><category>ksh93</category><category>larceny</category><category>linux</category><category>messaging library</category><category>photo manipulation</category><category>privacy</category><category>shell</category><category>text editor</category><category>unix</category><category>zmq</category><category>ØMQ</category><title>Bitweiler&#39;s Weblog</title><description>A digital field where I think out loud.</description><link>http://bitweiler.blogspot.com/</link><managingEditor>noreply@blogger.com (Patrick X)</managingEditor><generator>Blogger</generator><openSearch:totalResults>9</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6641176928157602276.post-6322281382362119695</guid><pubDate>Fri, 04 Mar 2011 13:39:00 +0000</pubDate><atom:updated>2011-03-04T05:39:58.387-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">free audio</category><category domain="http://www.blogger.com/atom/ns#">Free Software Foundation</category><category domain="http://www.blogger.com/atom/ns#">free video</category><category domain="http://www.blogger.com/atom/ns#">FSF</category><category domain="http://www.blogger.com/atom/ns#">Google</category><category domain="http://www.blogger.com/atom/ns#">MPEG</category><category domain="http://www.blogger.com/atom/ns#">Steve Jobs</category><category domain="http://www.blogger.com/atom/ns#">VP8</category><category domain="http://www.blogger.com/atom/ns#">Youtube</category><title>Boycott companies who want to destroy a free web</title><description>&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;&lt;a href=&quot;http://static.fsf.org/nosvn/mpeg-la-boycott-300px.png&quot; imageanchor=&quot;1&quot; style=&quot;clear:right; float:right; margin-left:1em; margin-bottom:1em&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;79&quot; width=&quot;300&quot; src=&quot;http://static.fsf.org/nosvn/mpeg-la-boycott-300px.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Companies, are just to money hunger these days. Don&#39;t they have enough billions stacked &lt;br /&gt;
on top of billions of dollars? I guess not. Greed is the mother of all evil!  And we are &lt;br /&gt;
the ones who constantly suffered behind their greed.&lt;br /&gt;
&lt;br /&gt;
The Free Software Foundation is asking, &quot;In response, we&#39;re asking everyone who values a web free of restrictions and threats like this — and especially everyone who values the publication of audio and video files on the web.&quot; &lt;a href=&quot;https://crm.fsf.org/civicrm/profile/create?gid=26&amp;reset=1&quot;&gt;To Boycott MPEG LA patent pool members!&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
More information resources:&lt;br /&gt;
&lt;a href=&quot;http://www.fsf.org/news/blogs/community/google-free-on2-vp8-for-youtube&quot;&gt;Google Free on two VP8 for youtube&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.fsf.org/news/supporting-webm&quot;&gt;Free Software Foundation Supporting WebM&lt;/a&gt;&lt;br /&gt;
&lt;a href=&quot;http://arstechnica.com/apple/news/2010/04/pot-meet-kettle-a-response-to-steve-jobs-letter-on-flash.ars&quot;&gt;Steve Jobs letter on flash&lt;/a&gt;</description><link>http://bitweiler.blogspot.com/2011/03/boycott-companies-who-want-to-destroy.html</link><author>noreply@blogger.com (Patrick X)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6641176928157602276.post-3896018932889495235</guid><pubDate>Fri, 18 Feb 2011 22:27:00 +0000</pubDate><atom:updated>2011-02-18T15:07:40.029-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">chicken</category><category domain="http://www.blogger.com/atom/ns#">scheme</category><category domain="http://www.blogger.com/atom/ns#">zeromq</category><category domain="http://www.blogger.com/atom/ns#">zmq</category><title>Chicken Scheme&#39;s zmq egg</title><description>&lt;!--google_ad_section_start--&gt;&lt;br /&gt;
Well, I looked further into zeromq after watching the youtube video and reading the guide.&lt;br /&gt;
My &lt;a href=&quot;http://bitweiler.blogspot.com/2011/02/mq-with-scheme-language-bindings-are.html&quot;&gt;last post &lt;/a&gt; was just my curiosity about it. Zeromq is a messaging library with many different language bindings although I prefer to use scheme for most programming tasks. Moritz Heidkamp implemented an excellent &lt;a href=&quot;http://wiki.call-cc.org/&quot;&gt;chicken scheme&lt;/a&gt; language binding for zeromq. Zeromq eases the task of writing distributed applications so it can make our life easier and there is no need to learn erlang to accomplish writing distributed programs.&lt;br /&gt;
&lt;br /&gt;
Compared to other language bindings for this library the chicken scheme &lt;a href=&quot;http://chickadee.call-cc.org/chickadee/zmq&quot;&gt;zmq egg&lt;/a&gt; provides a much higher level of abstraction than most of the other language bindings for zeromq messaging library. In my opinion it&#39;s a much easier to use binding for working with zeromq.&lt;br /&gt;
&lt;br /&gt;
So I thought I&#39;ll try my hand at writing the example programs in scheme from the &lt;a href=&quot;http://zguide.zeromq.org/chapter:all&quot;&gt;guide&lt;/a&gt; using the zmq egg.&lt;br /&gt;
hwserver.scm&lt;br /&gt;
&lt;pre class=&quot;brush: js&quot;&gt;(use zmq format loop ports)

(define serializer (make-parameter write))
(define deserializer (make-parameter read))


(define (main)
  (let ((responder (make-socket &#39;rep))
        (reply &quot;World&quot;))
    (bind-socket responder &quot;tcp://127.0.0.1:5555&quot;)
    (loop
     (format #t &quot;Received request: ~A~%&quot;
             (with-input-from-string
                 (let goto ()
                   (let ((msg (receive-message responder)))
                     (or msg (begin
                               (thread-wait-for-i/o! (socket-fd responder) #:input)
                               (goto)))))
               (deserializer)))
    ;; Do some work
     (sleep 1)

     ;; Send reply back to client
     (send-message responder
                   (with-output-to-string (cut (serializer) reply))))))
(main)
&lt;/pre&gt;&lt;br /&gt;
hwclient.scm&lt;br /&gt;
&lt;pre class=&quot;brush: js&quot;&gt;(use zmq format ports miscmacros)

(define serializer (make-parameter write))
(define deserializer (make-parameter read))

(define (main)
  (let ((sock (make-socket &#39;req)))
    (format &quot;Connecting to hello world server...~%&quot;)
    (connect-socket sock &quot;tcp://127.0.0.1:5555&quot;)

    ;; Do 10 requests, waiting each time for a response
    (dotimes (request-cnt 10)
             (let ((request &quot;Hello&quot;))
               (format #t &quot;Sending request ~D...~%&quot; request-cnt)
               (send-message sock
                             (with-output-to-string (cut (serializer) request)))

               ;; Get the reply
              (format #t &quot;Received reply ~D: ~A~%&quot;
                        request-cnt
                        (with-input-from-string
                            (let loop ()
                              (let ((msg (receive-message sock)))
                                (or msg (begin
                                          (thread-wait-for-io! (socket-fd sock) #:input)
                                          (loop)))))
                          (deserializer)))))))
(main)
&lt;/pre&gt;&lt;br /&gt;
Networking just got a little more simpler with zeromq. Thanks to Pieter Hintjens, Moritz Heidkamp an every one on #chicken and #zeromq at irc.freenode.net.&lt;br /&gt;
&lt;!--google_ad_section_end--&gt;</description><link>http://bitweiler.blogspot.com/2011/02/chicken-schemes-zmq-egg.html</link><author>noreply@blogger.com (Patrick X)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6641176928157602276.post-4220873908242692838</guid><pubDate>Sat, 12 Feb 2011 20:38:00 +0000</pubDate><atom:updated>2011-02-12T12:38:14.133-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">messaging library</category><category domain="http://www.blogger.com/atom/ns#">scheme</category><category domain="http://www.blogger.com/atom/ns#">zeromq</category><category domain="http://www.blogger.com/atom/ns#">ØMQ</category><title></title><description>ØMQ with scheme language bindings are nice ;)&lt;br /&gt;
&lt;br /&gt;
&lt;iframe title=&quot;YouTube video player&quot; width=&quot;640&quot; height=&quot;390&quot; src=&quot;http://www.youtube.com/embed/CCBYzKfmQ4U&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt;&lt;br /&gt;
&lt;br /&gt;
 &lt;a href=&quot;http://www.zeromq.org/bindings:_start&quot;&gt;&#39;(ØMQ-language-bindings)&lt;/a&gt;&lt;br /&gt;
But just how nice? Guess I&#39;ll have to investigate further.</description><link>http://bitweiler.blogspot.com/2011/02/mq-with-scheme-language-bindings-are.html</link><author>noreply@blogger.com (Patrick X)</author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://img.youtube.com/vi/CCBYzKfmQ4U/default.jpg" height="72" width="72"/><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6641176928157602276.post-2508410859950880420</guid><pubDate>Tue, 18 Jan 2011 00:39:00 +0000</pubDate><atom:updated>2011-01-17T16:39:23.053-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Facebook</category><category domain="http://www.blogger.com/atom/ns#">privacy</category><title>Facebook giving Developer&#39;s access to user&#39;s information</title><description>Looks like Facebook is allowing developer&#39;s even more access to their users private info.&lt;br /&gt;
Now that just makes me wonder even more how the developers may try to use the info.&lt;br /&gt;
&lt;br /&gt;
In my opinion it&#39;s just a violation of every user&#39;s privacy, if John Random Hacker &lt;br /&gt;
decides they have other ideas in mind on how to use the users information. &lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.electronista.com/articles/11/01/17/move.expected.to.raise.privacy.concerns/&quot;&gt;Facebook Privacy Concerns&lt;/a&gt;</description><link>http://bitweiler.blogspot.com/2011/01/facebook-giving-developers-access-to.html</link><author>noreply@blogger.com (Patrick X)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6641176928157602276.post-2905044867928404294</guid><pubDate>Sun, 16 Jan 2011 04:38:00 +0000</pubDate><atom:updated>2011-01-15T20:47:43.020-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">Gnu/Linux</category><category domain="http://www.blogger.com/atom/ns#">Slackbuild</category><category domain="http://www.blogger.com/atom/ns#">Slackware</category><title>Automate software builds with slackbuild</title><description>My good friend Tyce once asked me, &quot;Man don&#39;t you get tired of watching software compile?&quot;&lt;br /&gt;
&lt;br /&gt;
Honestly I never look at it like that or from his state of mind.&lt;br /&gt;
Although most people claim that they don&#39;t have the time to wait&lt;br /&gt;
on software to compile, it&#39;s just my preferred way of doing things.&lt;br /&gt;
&lt;br /&gt;
So my friend statement made me think about learning how to automate&lt;br /&gt;
compiling software on Slackware GNU/Linux.  Although I knew Slack&lt;br /&gt;
had slackbuild scripts so I figure it was time I learned how to&lt;br /&gt;
write one.&lt;br /&gt;
&lt;br /&gt;
My usual method entailed using NetBSD&#39;s pkgsrc package to quickly&lt;br /&gt;
build software packages, but now it&#39;s the Slack way via &lt;a href=&quot;http://slackbuilds.org/&quot;&gt;slackbuild&lt;/a&gt;s.&lt;br /&gt;
&lt;br /&gt;
So I spent most of today reading just how to write slackbuild scripts.&lt;br /&gt;
Then once I read and understood how to write the script I commence writing one.&lt;br /&gt;
The next time I talk to my friend I&#39;ll let him I&#39;ve automated the process.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.slackwiki.org/Writing_A_SlackBuild_Script&quot;&gt;Writing a SlackBuild Scriptbu&lt;/a&gt;</description><link>http://bitweiler.blogspot.com/2011/01/automate-software-builds-with.html</link><author>noreply@blogger.com (Patrick X)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6641176928157602276.post-7059403555342368178</guid><pubDate>Wed, 12 Jan 2011 15:48:00 +0000</pubDate><atom:updated>2011-01-12T07:48:21.027-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">gnu emacs</category><category domain="http://www.blogger.com/atom/ns#">IDE</category><category domain="http://www.blogger.com/atom/ns#">larceny</category><category domain="http://www.blogger.com/atom/ns#">scheme</category><title>Emacs + Scheme IDE</title><description>Recently I just be relaxing and being lazy. Although over the last few&lt;br /&gt;
days I had been contemplating on setting up myself a more comfortable&lt;br /&gt;
environment for scheme within Emacs for &lt;a href=&quot;http://community.schemewiki.org/?scheme-faq-standards#implementations&quot;&gt;Scheme&lt;/a&gt; programming.&lt;br /&gt;
&lt;br /&gt;
Seeing that I am not a &lt;a href=&quot;http://en.wikipedia.org/wiki/WIMP_%28computing%29&quot;&gt;WIMP&lt;/a&gt; addict, so an Emacs solution will suffice for my purposes.&amp;nbsp; In the pursuit of automatic indenting on hitting the return when&lt;br /&gt;
working the REPL or with a file.&lt;br /&gt;
&lt;br /&gt;
After searching I&#39;ve ran across &lt;a href=&quot;http://www.cs.indiana.edu/proglang/scheme/iuscheme.el&quot;&gt;iuscheme&lt;/a&gt; from Indiana University. &lt;br /&gt;
&lt;br /&gt;
Now I can use Ctrl-C Ctrl-I to re-indent definitions quickly and easily and&lt;br /&gt;
it automatically indents my code properly at the REPL and within files.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I am no scheme expert just another scheme enthusiast looking for a&lt;br /&gt;
comfortable work environment with Scheme &lt;a href=&quot;http://www.larcenists.org/&quot;&gt;&#39;(Larceny)&lt;/a&gt; and Emacs.</description><link>http://bitweiler.blogspot.com/2011/01/emacs-scheme-ide.html</link><author>noreply@blogger.com (Patrick X)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6641176928157602276.post-6194280586072410079</guid><pubDate>Sat, 08 Jan 2011 19:30:00 +0000</pubDate><atom:updated>2011-01-08T11:30:02.485-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">daemon</category><category domain="http://www.blogger.com/atom/ns#">gnu emacs</category><category domain="http://www.blogger.com/atom/ns#">text editor</category><title>Me and my Text Editor</title><description>Comfortable most people are with there choice of text editor.&lt;br /&gt;
And my comfort zone when it comes to editing is gnu/Emacs.&lt;br /&gt;
Since learning to use it, Emacs never fails to surprise me.&lt;br /&gt;
&lt;br /&gt;
So I just learn what I need to know about Emacs to get done &lt;br /&gt;
what I need do. Recently while hanging out on #emacs@irc.freenode.net.&lt;br /&gt;
&lt;br /&gt;
I learned that Emacs could be run as a daemon, though I&#39;ve &lt;br /&gt;
seen it mention in the info documents. I never really messed &lt;br /&gt;
around with it much.&lt;br /&gt;
&lt;br /&gt;
Until the last couple of weeks of using it and I&#39;m loving it ;)&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://www.emacswiki.org/emacs/EmacsAsDaemon&quot;&gt;Emacs as Daemon&lt;/a&gt;</description><link>http://bitweiler.blogspot.com/2011/01/me-and-my-text-editor.html</link><author>noreply@blogger.com (Patrick X)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6641176928157602276.post-6735263000253068718</guid><pubDate>Tue, 04 Jan 2011 12:29:00 +0000</pubDate><atom:updated>2011-01-04T04:29:47.002-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">digital art</category><category domain="http://www.blogger.com/atom/ns#">gimp</category><category domain="http://www.blogger.com/atom/ns#">photo manipulation</category><title>Playing with Gimp</title><description>With 2011 here already I decided to play around with gimp more this year.&lt;br /&gt;
This is just a simple photo manipulation done with gnu gimp, enjoy and Hopefully your &lt;br /&gt;
year will be mystical.&lt;br /&gt;
 &lt;br /&gt;
&lt;object height=&quot;360&quot; width=&quot;450&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://backend.deviantart.com/embed/view.swf&quot; /&gt;&lt;param name=&quot;flashvars&quot; value=&quot;id=191502964&amp;width=1337&quot; /&gt;&lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot; /&gt;&lt;embed src=&quot;http://backend.deviantart.com/embed/view.swf&quot; type=&quot;application/x-shockwave-flash&quot; width=&quot;450&quot; flashvars=&quot;id=191502964&amp;width=1337&quot; height=&quot;360&quot; allowscriptaccess=&quot;always&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;
&lt;a href=&quot;http://www.deviantart.com/deviation/191502964/&quot;&gt;Mystical Journey&lt;/a&gt; by ~&lt;a class=&quot;u&quot; href=&quot;http://bitweiler.deviantart.com/&quot;&gt;bitweiler&lt;/a&gt; on &lt;a href=&quot;http://www.deviantart.com/&quot;&gt;deviant&lt;/a&gt;&lt;a href=&quot;http://www.deviantart.com/&quot;&gt;ART&lt;/a&gt;</description><link>http://bitweiler.blogspot.com/2011/01/playing-with-gimp.html</link><author>noreply@blogger.com (Patrick X)</author><thr:total>0</thr:total></item><item><guid isPermaLink="false">tag:blogger.com,1999:blog-6641176928157602276.post-7171863506343974264</guid><pubDate>Tue, 28 Dec 2010 14:53:00 +0000</pubDate><atom:updated>2010-12-28T06:56:13.659-08:00</atom:updated><category domain="http://www.blogger.com/atom/ns#">bsd</category><category domain="http://www.blogger.com/atom/ns#">ksh</category><category domain="http://www.blogger.com/atom/ns#">ksh93</category><category domain="http://www.blogger.com/atom/ns#">linux</category><category domain="http://www.blogger.com/atom/ns#">shell</category><category domain="http://www.blogger.com/atom/ns#">unix</category><title>My simple Ksh shell prompt</title><description>When it comes UNIX or UNIX-like operating systems a user&#39;s shell is of great&lt;br /&gt;
importance to the shell user. So the korn shell is my favorite shell of choice.&lt;br /&gt;
Mostly the &lt;a href=&quot;http://www2.research.att.com/%7Egsf/download/&quot;&gt;ksh93&lt;/a&gt; version of it that&#39;s now open source from AT&amp;amp;T that was developed by David Korn.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I finally got around to replacing /bin/ksh on my Linux box yesterday with&lt;br /&gt;
the version of the korn shell I prefer and set it up to be my login shell of course.&lt;br /&gt;
&lt;br /&gt;
What version of ksh do I have?&lt;br /&gt;
&lt;code&gt;$print ${.sh.version}&lt;br /&gt;
Version JM 93t+ 2010-06-21&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Functions that I&#39;ve found to be handy over time so I&#39;ve placed them in my .kshrc environment file.&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;# Function md - make a directory and cd to it.&lt;br /&gt;
function md {&lt;br /&gt;
mkdir $1 &amp;amp;&amp;amp; _cd $1&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
# Function _cd - changes directories, then sets the&lt;br /&gt;
# command prompt to: &quot;command-number:hostname:pathname$&quot;&lt;br /&gt;
function _cd {&lt;br /&gt;
if (($# == 0))&lt;br /&gt;
then&lt;br /&gt;
&#39;cd&#39;&lt;br /&gt;
PS1=!:`uname -n`&#39;:${PWD#$OLDPWD/}$&#39; &lt;br /&gt;
fi&lt;br /&gt;
if (($# == 1))&lt;br /&gt;
then &lt;br /&gt;
&#39;cd&#39; $1&lt;br /&gt;
PS1=!:`uname -n`:&#39;${PWD#$OLDPWD/}$&#39;&lt;br /&gt;
fi&lt;br /&gt;
if (($# == 2))&lt;br /&gt;
then&lt;br /&gt;
&#39;cd&#39; $1 $2&lt;br /&gt;
PS1=!:`uname -n`:&#39;${PWD#$OLDPWD/}$&#39;&lt;br /&gt;
fi&lt;br /&gt;
}&lt;br /&gt;
&lt;/code&gt;&lt;br /&gt;
Then my command prompt from my .profile:&lt;br /&gt;
&lt;code&gt;PS1=&#39;!:`uname -n`&#39;:${PWD#$OLDPWD/}$&#39;&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
Over my time of using the korn shell I&#39;ve always found those to very handy little functions.&amp;nbsp; This give my a command prompt that always let me know where I&#39;m&lt;br /&gt;
at within a directory and the host machine that I&#39;m connected to without cluttering to much space.&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;185:dark:/home/bitweiler$&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
Feel free to leave any comments.</description><link>http://bitweiler.blogspot.com/2010/12/my-simple-ksh-shell-prompt.html</link><author>noreply@blogger.com (Patrick X)</author><thr:total>0</thr:total></item></channel></rss>