<?xml version="1.0"?>
<rss version="2.0">
  <channel>
    <title>Advogato blog for brejc8</title>
    <link>http://www.advogato.org/person/brejc8/</link>
    <description>Advogato blog for brejc8</description>
    <language>en-us</language>
    <generator>mod_virgule</generator>
    <pubDate>Wed, 22 May 2013 05:21:16 GMT</pubDate>
    <item>
      <pubDate>Sun, 8 Jan 2006 16:52:39 GMT</pubDate>
      <title>8 Jan 2006</title>
      <link>http://www.advogato.org/person/brejc8/diary.html?start=6</link>
      <guid>http://www.advogato.org/person/brejc8/diary.html?start=6</guid>
      <description>&lt;b&gt;IM BBS: news directly to your instant messenger&lt;/b&gt;
&lt;p&gt;I have been working on this &lt;a href="http://brej.org/imbbs/" &gt;IM BBS&lt;/a&gt; idea for a couple of weeks now. Its basically a bulleting board which you can connect to using your instant messenger. Currently the most useful function is the direct RSS link delivery. Every time there is a new entry in an RSS feed you are subscribed to the thing messages you the story and a link. Much more convenient to receive an interrupt than polling by repetitively hitting refresh on the slashdot page.</description>
    </item>
    <item>
      <pubDate>Thu, 29 Dec 2005 18:34:44 GMT</pubDate>
      <title>29 Dec 2005</title>
      <link>http://www.advogato.org/person/brejc8/diary.html?start=5</link>
      <guid>http://www.advogato.org/person/brejc8/diary.html?start=5</guid>
      <description>I have had some time off recently so I concentrated on my pet projects. One of these being a "mapper" to find people who are similar and group them together. Its working quite well and the php frontend is very easy to write. So far I have just made up some little pointless questions (a lot of them were submitted by others). Strangest thing is the correlation between the different maps. 
&lt;br&gt;For example this is a map of &lt;a href="http://brej.org/mapper/question.php?question=15" &gt;Tea (blue) vs Coffee (red) &lt;img src="http://brej.org/mapper/images/questionmaps/15.png"&gt;&lt;/a&gt;
&lt;br&gt;It has a very similar layout as the &lt;a href="http://brej.org/mapper/question.php?question=14" &gt;C (red) vs Java (blue) &lt;img src="http://brej.org/mapper/images/questionmaps/14.png"&gt;&lt;/a&gt;</description>
    </item>
    <item>
      <pubDate>Tue, 15 Jul 2003 14:55:25 GMT</pubDate>
      <title>15 Jul 2003</title>
      <link>http://www.advogato.org/person/brejc8/diary.html?start=4</link>
      <guid>http://www.advogato.org/person/brejc8/diary.html?start=4</guid>
      <description>I have finally released KMD version 0.9.11 under GPL. 

&lt;p&gt; &lt;A href="http://freshmeat.net/projects/kmd/"&gt;KMD&lt;/a&gt; is a graphical debugger. It can debug hardware over 
serial ports such as the &lt;A href="http://www.cs.man.ac.uk/~brejc8/armboard.html"&gt;Manchester ARM Board&lt;/a&gt; or with software 
emulators (ARM and MIPS emulators are included in the project). Using the 
pipe option you can debug over the network or any other communication 
medium. It can load many executable formats such as ELF and display and 
follow the original source even from multiple source file programs. There 
is support for breakpoints and watchpoints which can trap specific 
instructions (such as loading or executing specific instructions). 
Support for other features such as FPGA's is also available, allowing 
loading or any control required to drive a specific hardware device. The 
project uses &lt;A href="http://freshmeat.net/projects/chump/"&gt;chump&lt;/a&gt; to allow 
disassembly and line assembly. &lt;A 
href="http://freshmeat.net/projects/chump/"&gt;Chump&lt;/a&gt; also allows 
new architectures to be easily added without the need to recompile the 
system. Communication with the backend is done using two pipes/fifos using 
a simple set of codes. Back end communication program can be created using 
very little memory on the target device.
</description>
    </item>
    <item>
      <pubDate>Sun, 9 Mar 2003 23:54:18 GMT</pubDate>
      <title>9 Mar 2003</title>
      <link>http://www.advogato.org/person/brejc8/diary.html?start=3</link>
      <guid>http://www.advogato.org/person/brejc8/diary.html?start=3</guid>
      <description>&lt;B&gt;Distributed Mirror Project&lt;/b&gt;&lt;br&gt;
I was thinking about doing this for some time and after considering some rather complex methods I decided that this one is as good as any.&lt;br&gt;&lt;a HREF="http://www.cs.man.ac.uk/~brejc8/mirror/index.html" &gt;"Distributed Mirror Project"&lt;/a&gt; is a method of creating mirrors and distributing the information that you are hosting a mirror to others. There are two main sections of it.&lt;br&gt;Firstly there is your end. Using a script you can easily make a mirror of a site and then submit the information that you have a mirror of a site or a file to the server site.&lt;br&gt;The other end is the server site which collects the information about the mirrors. It then allows users to search for mirrors of sites or files.&lt;br&gt;Its really as simple as that. The download a site and submit the information to a mirror server script is three lines. The server end is a little more complex but I am very happy about the way its working so far.&lt;br&gt;Try it out. (It won't work with some characters yet but thats next on the todo list)
</description>
    </item>
    <item>
      <pubDate>Sat, 4 Jan 2003 23:21:02 GMT</pubDate>
      <title>4 Jan 2003</title>
      <link>http://www.advogato.org/person/brejc8/diary.html?start=2</link>
      <guid>http://www.advogato.org/person/brejc8/diary.html?start=2</guid>
      <description>&lt;B&gt;chump&lt;/b&gt;&lt;p&gt;
&lt;A href="http://www.cs.man.ac.uk/~brejc8/chump.html"&gt;chump&lt;/a&gt; is currently a single line assembler and disassembler. This is fine for now when used to enter instructions on the fly into &lt;A href="http://www.cs.man.ac.uk/~brejc8/kmd.html"&gt;KMD&lt;/a&gt;. The next milestone will hopefully be able to assamble programs. This requires some additions into the system.&lt;p&gt;
Firstly the system will have to cope with lables reather than strict numbers. Numbers are easy to process because you can find and scan them quite easily but lables which might not have been defined yet could be a little more tricky.&lt;p&gt;
Forward lables (i.e. branches or loads etc. pointing to lables later in the code) are even more difficult. Many instruction sets have several branch types for different distances and consume different ammounts of space. The first pass will not be able to know how far the target is. Taking the worst case stratergy and reassembling individual lines in later passes is probably the best way to do this but this does not get over the issue of instruction sets like ARM where it is not the distance but the number of significant bits. This could lead to infinate loops.&lt;p&gt;
The first pass should recognise all lables and read all instructions into a list.&lt;p&gt;
Pass two takes the instructions and assambles them. If relative forward looking instructions need an address forward the worst case size is taken. All relative instructions are marked as "to_be_reassabmled".&lt;p&gt;
Pass three reassambles each "to_be_reassambled" instruction and when it finds a smaller version it replaces it (thus changing the address of later instructions and lables). After each optimisation all relative instructions which look over the optimised instruction (forwards only) will be reassambled (again).&lt;p&gt;
I havent started thinking about macros or preassembler operations. There are obveous places (between pass 1 and 2) where they fit in.</description>
    </item>
    <item>
      <pubDate>Mon, 30 Dec 2002 20:32:08 GMT</pubDate>
      <title>30 Dec 2002</title>
      <link>http://www.advogato.org/person/brejc8/diary.html?start=1</link>
      <guid>http://www.advogato.org/person/brejc8/diary.html?start=1</guid>
      <description>&lt;B&gt;&lt;A href="http://www.cs.man.ac.uk/~brejc8/chump.html"&gt;chump&lt;/a&gt;&lt;/b&gt;&lt;p&gt;
There have been two main additions to chump. Firstly it allows enumerations to get rid of the laboreous process of defining long consecutive lists like registers.&lt;br&gt;
&lt;pre&gt;  (enum 2 "r0" "r1" "r2" "r3")&lt;br&gt;&lt;/pre&gt;
reather than &lt;br&gt;
&lt;pre&gt;  (("r0")(OO)) (("r1")(OI)) (("r2")(OI)) (("r3")(II))&lt;br&gt;&lt;/pre&gt;
The second addition is the ability to have inline C type structuures in the assembler. Its nice to be able to have lines like:
&lt;pre&gt;  while (r1 &amp;gt; r2) sub r1, r1, r2;&lt;br&gt;&lt;/pre&gt;
Or even larger structures like:
&lt;pre&gt;
  do {add r1, r1, #1; ldrb r0, [r2, r1];}
  while (r0 != #0)&lt;/pre&gt;
These are easily defined in the chump code and generate several instructions. The disassembler can generate more C like code, but this is normally turned off.</description>
    </item>
    <item>
      <pubDate>Sun, 29 Dec 2002 19:21:32 GMT</pubDate>
      <title>29 Dec 2002</title>
      <link>http://www.advogato.org/person/brejc8/diary.html?start=0</link>
      <guid>http://www.advogato.org/person/brejc8/diary.html?start=0</guid>
      <description>Isn't perl lovely? I had a little play with it the other day and created &lt;A href="http://www.cs.man.ac.uk/~brejc8/links.html"&gt;a nice link page&lt;/a&gt;. Unfortunately coming back down to C is a little strange. I'm constantly thinking in high level languages.
I maniged to convince someone to convince someone (not a mistake) to have a go at writing a good universal schematic capture package. It should be very useful.
</description>
    </item>
  </channel>
</rss>
