<?xml version="1.0" encoding="utf-8"?>
<feed version="0.3" xmlns="http://purl.org/atom/ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xml:lang="en">
<title>Chaos Geordend</title>
<link rel="alternate" type="text/html" href="http://www.chaosgeordend.nl/mt-blog-cg/" />
<modified>2012-01-11T12:28:07Z</modified>
<tagline></tagline>
<id>tag:www.chaosgeordend.nl,2012:/mt-blog-cg//2</id>
<generator url="http://www.movabletype.org/" version="3.12">Movable Type</generator>
<copyright>Copyright (c) 2011, Johan</copyright>
<entry>
<title>Mileage script</title>
<link rel="alternate" type="text/html" href="http://www.chaosgeordend.nl/mt-archives-cg/2009/05/mileage_script.html" />
<modified>2012-01-11T12:30:13Z</modified>
<issued>2009-05-12T21:09:57Z</issued>
<id>tag:www.chaosgeordend.nl,2009:/mt-blog-cg//2.33</id>
<created>2009-05-12T21:09:57Z</created>
<summary type="text/plain"> A small Applescript application (.zip 445KB) to keep track of your car or motorbike usage in a Numbers spreadsheet. It shows a small pop-up to enter date, mileage, fuel and amount paid....</summary>
<author>
<name>Johan</name>

<email>jovo@knoware.nl</email>
</author>
<dc:subject>AppleScript</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.chaosgeordend.nl/mt-blog-cg/">
<![CDATA[<div id="entry_img">
<a href="http://www.chaosgeordend.nl/mt-blog-cg/images/mileage.png">
<img alt="mileage.png" src="http://www.chaosgeordend.nl/mt-blog-cg/images/thumbnails/mileage.png" /></a>
</div>
<p>A small <a href="http://www.chaosgeordend.nl/documents/Mileage.zip">Applescript</a> application (.zip 445KB) to keep track of your car or motorbike usage in a Numbers spreadsheet. It shows a small pop-up to enter date, mileage,  fuel and amount paid.</p>
]]>

</content>
</entry>
<entry>
<title>Lilypond</title>
<link rel="alternate" type="text/html" href="http://www.chaosgeordend.nl/mt-archives-cg/2009/05/lilypond.html" />
<modified>2010-10-22T19:26:25Z</modified>
<issued>2009-05-19T20:25:46Z</issued>
<id>tag:www.chaosgeordend.nl,2009:/mt-blog-cg//2.32</id>
<created>2009-05-19T20:25:46Z</created>
<summary type="text/plain"> Make engraved music sheets with Lilypond. A typical workflow to create a sheet looks like this: create a textdocument, e.g. myFirstSheet.ly, with texteditor; run Lilypond check the Postscript and, if any, Midi files if not ok, edit the textdocument...</summary>
<author>
<name>Johan</name>

<email>jovo@knoware.nl</email>
</author>
<dc:subject>Music/Muziek</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.chaosgeordend.nl/mt-blog-cg/">
<![CDATA[<div id="entry_img"><a href="http://www.chaosgeordend.nl/mt-blog-cg/images/roodborstje.png"><img alt="roodborstje.png" src="http://www.chaosgeordend.nl/mt-blog-cg/images/thumbnails/roodborstje.png"/></a></div>

<p>Make engraved music sheets with <a href="http://lilypond.org/">Lilypond</a>. A typical workflow to create a sheet looks like this:
<ol>
<li>create a textdocument, e.g. myFirstSheet.ly, with texteditor;
<li>run Lilypond
<li>check the Postscript and, if any, Midi files
<li>if not ok, edit the textdocument and go back to step 2.
</ol>
</p>
<p>This <a href="http://www.chaosgeordend.nl/documents/lilypond.command">shellscript</a> supports the process. It shows a dialog to select the Lilypond source-document and subsequently asks to redo or stop.</p>

<p>The script uses X11 <a href="http://xdialog.free.fr/">XDialog</a> which was installed using <a href="http://www.macports.org/">MacPorts</a>.</p>

<p>Btw, you can embed music engravings in Open Office with <a href="http://ooolilypond.sourceforge.net/">OOOLilypond</a>. <br />
</p>]]>

</content>
</entry>
<entry>
<title>De jonge blokfluiter</title>
<link rel="alternate" type="text/html" href="http://www.chaosgeordend.nl/mt-archives-cg/2009/06/de_jonge_blokfl.html" />
<modified>2012-01-11T12:30:44Z</modified>
<issued>2009-06-07T04:58:17Z</issued>
<id>tag:www.chaosgeordend.nl,2009:/mt-blog-cg//2.39</id>
<created>2009-06-07T04:58:17Z</created>
<summary type="text/plain"> In mei begonnen met muziek, dat wil zeggen noten leren lezen en blofluit spelen. Te beginnen met De Jonge Blokfluiter van James Arden. Een van de vele pseudoniemen waaronder Theo Ettema z&apos;n lesboeken schreef. Inmiddels ook met bladmuziek in...</summary>
<author>
<name>Johan</name>

<email>jovo@knoware.nl</email>
</author>
<dc:subject>Music/Muziek</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.chaosgeordend.nl/mt-blog-cg/">
<![CDATA[<div id="entry_img"><img alt="mesh.png" src="http://www.chaosgeordend.nl/mt-blog-cg/images/deJongeBlokfluiter.jpg" /></div>
<p>In mei begonnen met muziek, dat wil zeggen noten leren lezen en blofluit spelen. Te beginnen met <em>De Jonge Blokfluiter</em> van James Arden. Een van de vele pseudoniemen waaronder <a href="http://nl.wikipedia.org/wiki/Theo_Ettema">Theo Ettema</a> z'n lesboeken schreef.</p>

<p>Inmiddels ook met bladmuziek in de weer. Met behulp van <a href="http://lilypond.org/">LilyPond</a> kunnen nu ook stukjes electronisch worden bewaard en zonodig omgezet naar MIDI.</p>

<p>Bladmuziek:</p>
<ul>
<li><a href="http://www.chaosgeordend.nl/documents/OudeMelodie.pdf">Oude Melodie</a> (PDF 80KB)
<li><a href="http://www.chaosgeordend.nl/documents/Hornpipe.pdf">Hornpipe</a> (PDF 56KB)
<li><a href="http://www.chaosgeordend.nl/documents/Sarabande.pdf">Sarabande</a> (PDF 67KB)
</ul> ]]>

</content>
</entry>
<entry>
<title>Digital Storage Oscilloscope on iMac</title>
<link rel="alternate" type="text/html" href="http://www.chaosgeordend.nl/mt-archives-cg/2009/07/digital_storage.html" />
<modified>2012-05-03T09:29:00Z</modified>
<issued>2009-07-01T17:11:03Z</issued>
<id>tag:www.chaosgeordend.nl,2009:/mt-blog-cg//2.27</id>
<created>2009-07-01T17:11:03Z</created>
<summary type="text/plain"> For the few who consider using a USB Digital Storage Oscilloscope on Mac OS X. The Voltcraft (i.e. Hantek) model 2090 DSO can be used on the Mac in combination with Oleg Khudyakov&apos;s HantekDSO (Linux) software....</summary>
<author>
<name>Johan</name>

<email>jovo@knoware.nl</email>
</author>
<dc:subject>Electronics/Electronica</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.chaosgeordend.nl/mt-blog-cg/">
<![CDATA[<div id="entry_img"><a href="http://www.chaosgeordend.nl/mt-blog-cg/images/HantekDSO.png">
<img alt="QCad.png" src="http://www.chaosgeordend.nl/mt-blog-cg/images/thumbnails/HantekDSO.png"/></a></div>
<p>
For the few who consider using a USB Digital Storage Oscilloscope on Mac OS X.  The Voltcraft (i.e. Hantek) model 2090 DSO can be used on the Mac in combination with Oleg Khudyakov's HantekDSO (Linux) software.</p>]]>
<![CDATA[<p>Having KDE installed anyway, here is an example of what KDE looks like on the iMac.</p>

<p><a href="http://www.chaosgeordend.nl/mt-blog-cg/images/HantekDSO_KDE.jpg"><br />
<img alt="QCad.png" src="http://www.chaosgeordend.nl/mt-blog-cg/images/thumbnails/HantekDSO_KDE.jpg" border="0" align="left" hspace="6"/></a></p>

<p><a href="http://www.syscompdesign.com/DSO101.html">Syscompdesign</a> has a simple DSO and OSS software that works on OS X. The 2MHz bandwith I consider too low for my use though.</p>
<p>
In search for other suitable DSO's I found none other. What I did find was the <a href="http://freshmeat.net/projects/hantekdso">HantekDSO</a> package from Oleg K. This opens up the <a href="http://www.hantek.com.cn/english/produce.asp?classid=12">Hantek</a> (Voltcraft and the like) DSO for use under Linux. In short, I managed to compile HantekDSO under OS X (10.5.7) and tested it with the Hantek 2090 (40Mhz) model.</p>

</p>2012-05-02 Update: installation details for HantekDSO 0.5.4 on OS X 10.6.8</p>

<blockquote>
<span class="code">

<p>	$ sudo port install kde      ## dependency (would kdelibs3 and kdeutils3 suffice?)<br />
	$ sudo port install binutils ## due to libbfd dependency</p>

<p>	$ sudo tar xvfz HantekDSO-0.5.4.tar.gz<br />
	$ cd HantekDSO<br />
	$ sudo ./configure \<br />
 --prefix=/opt/local/HantekDSO \<br />
 --include=/opt/local/include/ \<br />
 --with-extra-libs=/opt/local/lib/x86_64 \ ## my libiberty location<br />
 --with-qt-includes=/opt/local/include/ \<br />
 --with-qt-libraries=/opt/local/lib/ \<br />
 --without-arts<br />
...<br />
Warning: you chose to install this package in /opt/local/HantekDSO,<br />
but KDE was found in /opt/local.<br />
For this to work, you will need to tell KDE about the new prefix, by ensuring<br />
that KDEDIRS contains it, e.g. export KDEDIRS=/opt/local/HantekDSO:/opt/local<br />
Then restart KDE.<br />
Good - your configure finished. Start make now</p>

<p>## -I/opt/local/include added to DEFAULT_INCLUDES in dsoextractfw/Makefile.in ## http://avahi.org/ticket/194<br />
## -I/opt/local/include added to DEFAULT_INCLUDES in dsoextractfw/Makefile.in<br />
## dsoextractfw_LDADD = -lbfd -liberty -lintl added to dsoextractfw/Makefile.in<br />
## include &lt;malloc.h&gt; commented out and added<br />
 #include &lt;stdlib.h&gt; in dsoextractfw/dsoextractfw.c ##  http://developer.apple.com/technotes/tn2002/tn2071.html</p>

<p>	$ sudo make<br />
	$ sudo make install</p>

<p>Test in X11 terminal:<br />
	$ cd /opt/local/HantekDSO/bin<br />
	$ ./hantekdso<br />
=> Ok</p>

<p>Optionally generate documentation using (MacPorts) Doxygen:<br />
	$ cd /opt/local/HantekDSO/HantekDSO<br />
	$ sudo doxygen -g ## generate template configuration file (in Doxyfile)<br />
	$ sudo vi Doxyfile<br />
## set projectname and doc options:<br />
EXTRACT_ALL=YES<br />
EXTRACT_PRIVATE=YES<br />
RECURSIVE=YES<br />
INLINE_SOURCES=YES</p>

<p>	$ sudo doxygen ## generate documentation (in ./html)<br />
=> Open ./html/index.html in Safari</p>

<p>Extract firmware from the Voltcraft Driver CD:<br />
	$ cd /opt/local/HantekDSO/bin<br />
	$ sudo cp /Volumes/DSO-2090\ USB/Driver/DSO20901.sys .<br />
	$ sudo cp /Volumes/DSO-2090\ USB/Driver/DSO20902.sys .<br />
	$ sudo mv DSO20901.sys DSO20901.SYS ## want extractfw zoekt met uppercase extensie<br />
	$ sudo mv DSO20902.sys DSO20902.SYS<br />
	$ sudo ./dsoextractfw<br />
...</p>

<p>Load firmware using <a href="http://github.com/nall/nexys2-osx/tree/master">fxload-osx</a> (built with xcode):<br />
	$ ./fxload-osx -t fx2 -I DSO2090_firmware.hex -s DSO2090_loader.hex -D 04b4:2090<br />
And, finally, run HantekDSO:<br />
	$ ./hantekdso</p>

<p>You can create a shell- or Applescript to load the FW and start HantekDSO.</p>

</blockquote>
</span>
]]>
</content>
</entry>
<entry>
<title>Nanotec stepperdriver breakout</title>
<link rel="alternate" type="text/html" href="http://www.chaosgeordend.nl/mt-archives-cg/2009/08/nanotec_stepper.html" />
<modified>2012-01-11T12:32:11Z</modified>
<issued>2009-08-02T18:26:06Z</issued>
<id>tag:www.chaosgeordend.nl,2009:/mt-blog-cg//2.31</id>
<created>2009-08-02T18:26:06Z</created>
<summary type="text/plain"> Now working on a small breakout board for the Nanotec microsteppercontroller. To be used in the RepRap 3D Printer. For those interested, you can download the Eagle files (.zip 291 KB) The parts-list you can find on Thingiverse....</summary>
<author>
<name>Johan</name>

<email>jovo@knoware.nl</email>
</author>
<dc:subject>Electronics/Electronica</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.chaosgeordend.nl/mt-blog-cg/">
<![CDATA[<div id="entry_img"><a href="http://www.chaosgeordend.nl/mt-blog-cg/images/nanotec_breakout.png">
<img alt="nanotec_breakout.png" src="http://www.chaosgeordend.nl/mt-blog-cg/images/thumbnails/nanotec_breakout.png"/></a></div>

<p>Now working on a small breakout board for the <a href="http://en.nanotec.com/steppermotor_driver_smc11.html">Nanotec</a> microsteppercontroller. To be used in the RepRap 3D Printer.</p>

<p>For those interested, you can download the <a href="http://www.cadsoft.de/download.htm">Eagle</a> <a href="http://members.ziggo.nl/chaosgeordend/images/Nanotech%20StepperBoard.zip">files</a> (.zip 291 KB)
The parts-list you can find on <a href="http://www.thingiverse.com/thing:1660">Thingiverse</a>.</p>
]]>
<![CDATA[<div id="entry_img">
<a href="http://www.chaosgeordend.nl/mt-blog-cg/images/nanotec_stripboard.jpg">
<img alt="nanotec_stripboard.jpg" src="http://www.chaosgeordend.nl/mt-blog-cg/images/thumbnails/nanotec_stripboard.jpg"/></a>
<a href="http://www.chaosgeordend.nl/mt-blog-cg/images/nanotec_pcb.jpg">
<img alt="nanotec_pcb.jpg" src="http://www.chaosgeordend.nl/mt-blog-cg/images/thumbnails/nanotec_pcb.jpg"/></a>
</div>
<p>
For the stripboard version: if you don't use stripboard, remove the holes and move all top tracks cq wires to the bottom layer, or ripup and autoroute all over again.</p>]]>
</content>
</entry>
<entry>
<title>Draaibank</title>
<link rel="alternate" type="text/html" href="http://www.chaosgeordend.nl/mt-archives-cg/2009/09/draaibank.html" />
<modified>2012-01-11T12:33:05Z</modified>
<issued>2009-09-25T03:45:50Z</issued>
<id>tag:www.chaosgeordend.nl,2009:/mt-blog-cg//2.37</id>
<created>2009-09-25T03:45:50Z</created>
<summary type="text/plain"> Voor het ontwikkelwerk aan de RepRap printerkop een draaibankje gekocht bij VDH in Utrecht. Wat handige links: Draaisnelheid berekenen Metrische schroefdraad afmetingen volgens ISO Mini lathe tuning Grinding your own lathe tools Tool bits ISO Passingstelsel...</summary>
<author>
<name>Johan</name>

<email>jovo@knoware.nl</email>
</author>
<dc:subject>Lathe/Draaibank</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.chaosgeordend.nl/mt-blog-cg/">
<![CDATA[<div id="entry_img"><a href="http://www.chaosgeordend.nl/mt-blog-cg/images/emcoCompact5.jpg">
<img alt="emcoCompact5.jpg" src="http://www.chaosgeordend.nl/mt-blog-cg/images/thumbnails/emcoCompact5.jpg" /></a></div>
<p>Voor het ontwikkelwerk aan de RepRap printerkop een draaibankje gekocht bij <a href="http://www.vdhbv.nl/">VDH</a> in Utrecht.</p>
<p>Wat handige links:</p>
<ul>
<li><a href="http://crispyn.homestead.com/flyer.html">Draaisnelheid berekenen</a>
<li><a href="http://www.tribologie.nl/calculators/metric-iso.htm">Metrische schroefdraad afmetingen volgens ISO</a>
<li><a href="http://www.mini-lathe.com/Mini_lathe/Tuning/tuning.htm#adjust_gibs">Mini lathe tuning</a>
<li><a href="http://www.sherline.com/grinding.htm">Grinding your own lathe tools</a>
<li><a href="http://en.wikipedia.org/wiki/Tool_bit">Tool bits</a>
<li><a href="http://www.stoompagina.nl/Werkplaats/ISO%20Passingstelsel.htm">ISO Passingstelsel</a>
</ul>]]>

</content>
</entry>
<entry>
<title>3D Printer</title>
<link rel="alternate" type="text/html" href="http://www.chaosgeordend.nl/mt-archives-cg/2009/12/3d_printer_1.html" />
<modified>2012-01-11T12:36:14Z</modified>
<issued>2009-12-31T18:09:15Z</issued>
<id>tag:www.chaosgeordend.nl,2009:/mt-blog-cg//2.29</id>
<created>2009-12-31T18:09:15Z</created>
<summary type="text/plain"> In november I ordered a MakerBot Cupcake printer, to have at least some results with a 3D Printer this year ;-) Last week the package arrived and this week I started assembling the MB body....</summary>
<author>
<name>Johan</name>

<email>jovo@knoware.nl</email>
</author>
<dc:subject>3D</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.chaosgeordend.nl/mt-blog-cg/">
<![CDATA[<div id="entry_img">
<a href="http://www.chaosgeordend.nl/mt-blog-cg/images/MakerBot.jpg">
<img alt="MakerBot.jpg" src="http://www.chaosgeordend.nl/mt-blog-cg/images/thumbnails/MakerBot.jpg"/></a>
<a href="http://www.chaosgeordend.nl/mt-blog-cg/images/IMG_9949b%20Gear_44_7.JPG">
<img alt="Gear_44.jpg" src="http://www.chaosgeordend.nl/mt-blog-cg/images/thumbnails/IMG_9949b%20Gear_44_7.JPG" /></a>
</div>
<p>
In november I ordered a <a href="http://makerbot.com/">MakerBot</a> Cupcake printer, to have at least some results with a 3D Printer this year ;-) Last week the package arrived and this week I started assembling the MB body.</p>
]]>

</content>
</entry>
<entry>
<title>Finite Element Modeling</title>
<link rel="alternate" type="text/html" href="http://www.chaosgeordend.nl/mt-archives-cg/2010/02/finite_element.html" />
<modified>2011-07-06T21:14:40Z</modified>
<issued>2010-02-11T17:59:00Z</issued>
<id>tag:www.chaosgeordend.nl,2010:/mt-blog-cg//2.28</id>
<created>2010-02-11T17:59:00Z</created>
<summary type="text/plain"> My first, modest, steps in modeling the heaterbarrel of my RepRap 3D Printer. Starting with a 2D model. Not taking into account real-life stuff such as convection, radiation and other effects (I am probably not even aware of :-)...</summary>
<author>
<name>Johan</name>

<email>jovo@knoware.nl</email>
</author>
<dc:subject>OSS</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.chaosgeordend.nl/mt-blog-cg/">
<![CDATA[<div id="entry_img"><a href="http://www.chaosgeordend.nl/mt-blog-cg/images/mesh.png">
<img alt="mesh.png" src="http://www.chaosgeordend.nl/mt-blog-cg/images/thumbnails/mesh.png" /></a></div>
<p>
My first, modest, steps in modeling the heaterbarrel of my <a href="http://reprap.org/wiki/Main_Page">RepRap</a> 3D Printer. Starting with a 2D model. Not taking into account real-life stuff such as convection, radiation and other effects (I am probably not even aware of :-)
</p>]]>
<![CDATA[<p><a href="http://www.chaosgeordend.nl/mt-blog-cg/images/heat.png"><br />
<img alt="heat.png" src="http://www.chaosgeordend.nl/mt-blog-cg/images/thumbnails/heat.png" border="0" align="left" hspace="6"/></a></p>

<p>First tried to get <a href="http://www.csc.fi/english/pages/elmer">ElmerFEM</a> to compile on Intel Mac to find out it crashed anyway. Then recently I found <a href="http://www.freefem.org/">FreeFEM++</a> which is perfectly suited for this purpose.
</p>
<p>Before I can add some more sensible comments to this post I have to re-read some old math and physics textbooks first. Partial differential equations, thermal diffusivitiy. All this may take some time ;-)
</p>

<p>
Todays' update; 3D image (FreeFEM3D icw <a href="http://www.ann.jussieu.fr/~frey/software.html">medit</a>) of the heaterbarrel and NiCr Heater coil model.
Now reading my way through the "Finite Element Method" by Michael R.Gosz, ISBN 0-8493-3407-1. An excellent introduction on FEM.
</p>]]>
</content>
</entry>
<entry>
<title>Formulas</title>
<link rel="alternate" type="text/html" href="http://www.chaosgeordend.nl/mt-archives-cg/2010/09/formulas.html" />
<modified>2011-07-06T21:16:20Z</modified>
<issued>2010-09-04T07:26:31Z</issued>
<id>tag:www.chaosgeordend.nl,2010:/mt-blog-cg//2.35</id>
<created>2010-09-04T07:26:31Z</created>
<summary type="text/plain"> Again the FEM study leads to unexpected interesting stuff, such as Sage, a wonderful Math package. If you want to explore Math and you are not (yet) prepared to buy Maple or Mathematica, start with Sage....</summary>
<author>
<name>Johan</name>

<email>jovo@knoware.nl</email>
</author>
<dc:subject>Math/Wiskunde</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.chaosgeordend.nl/mt-blog-cg/">
<![CDATA[<div id="entry_img">
<a href="http://www.sagemath.org/index.html">
<img alt="sage_logo.png" src="http://www.chaosgeordend.nl/mt-blog-cg/images/sage_logo.png"/></a>
</div>
<p>
Again the FEM study leads to unexpected interesting stuff, such as <a href="http://www.sagemath.org/index.html">Sage</a>, a wonderful Math package. If you want to explore Math and you are not (yet) prepared to buy <a href="http://www.maplesoft.com/products/maple/">Maple</a> or <a href="http://www.wolfram.com/">Mathematica</a>, start with Sage.
</p>
<div id="entry_img">
<!-- a href="http://www.chaosgeordend.nl/mt-blog-cg/images/sage_lnx.png">
<img alt="sage_logo.png" src="http://www.chaosgeordend.nl/mt-blog-cg/images/thumbnails/sage_lnx.png"/></a -->
<a href="http://www.chaosgeordend.nl/mt-blog-cg/images/sage_limit.png">
<img alt="sage_logo.png" src="http://www.chaosgeordend.nl/mt-blog-cg/images/thumbnails/sage_limit.png"/></a>
<a href="http://www.chaosgeordend.nl/mt-blog-cg/images/lorentz.png">
<img alt="sage_logo.png" src="http://www.chaosgeordend.nl/mt-blog-cg/images/thumbnails/lorentz.png"/></a>
</div>]]>

</content>
</entry>
<entry>
<title>Formulas in OpenOffice</title>
<link rel="alternate" type="text/html" href="http://www.chaosgeordend.nl/mt-archives-cg/2010/09/formulas_in_ope.html" />
<modified>2012-01-11T12:28:55Z</modified>
<issued>2010-09-26T06:04:59Z</issued>
<id>tag:www.chaosgeordend.nl,2010:/mt-blog-cg//2.34</id>
<created>2010-09-26T06:04:59Z</created>
<summary type="text/plain">Studying the Finite Element Method, I ran into a booklet with some math exercises. Just for the fun of finally using OOO formulas ;-), I created this OOO calc document for exercise 1.2. &quot;Exploratory Examples - for Real Analysis&quot;, by...</summary>
<author>
<name>Johan</name>

<email>jovo@knoware.nl</email>
</author>
<dc:subject>Math/Wiskunde</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.chaosgeordend.nl/mt-blog-cg/">
<![CDATA[<p>Studying the Finite Element Method, I ran into a booklet with some math exercises.
Just for the fun of finally using OOO formulas ;-), I created this <a href="http://www.chaosgeordend.nl/documents/1.2 Boundedness.ods">OOO calc document</a> for exercise 1.2.</p>
<p>"Exploratory Examples - for Real Analysis", by J.E. Snow and K.E. Weller, ISBN 0-88385-734-0, <a href="https://www.maa.org/EbusPPRO/Bookstore/ProductDetail/tabid/170/Default.aspx?ProductId=717">The Mathematical Association of America</a></p>
]]>

</content>
</entry>
<entry>
<title>3D Scanner POC</title>
<link rel="alternate" type="text/html" href="http://www.chaosgeordend.nl/mt-archives-cg/2010/11/3d_scanner.html" />
<modified>2012-03-29T16:37:26Z</modified>
<issued>2010-11-02T10:05:21Z</issued>
<id>tag:www.chaosgeordend.nl,2010:/mt-blog-cg//2.43</id>
<created>2010-11-02T10:05:21Z</created>
<summary type="text/plain"> Proof of concept, inspired by S. Baker&apos;s excellent simple 3D scanner article. Hardware turntable (geared stepper) videocamera (keycam) laserpointer and glass rod Software ImageMagick (ffmpeg etc.) c-scan scan-extract MakerScanner (cyclops?) Blender MeshLab Workflow scan movie convert to individual frames...</summary>
<author>
<name>Johan</name>

<email>jovo@knoware.nl</email>
</author>
<dc:subject>3D</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.chaosgeordend.nl/mt-blog-cg/">
<![CDATA[<div id="entry_img"> 
<img alt="frame" src="http://www.chaosgeordend.nl/mt-blog-cg/images/scan42.jpg" />  
<img alt="preprocessed frame" src="http://www.chaosgeordend.nl/mt-blog-cg/images/scan42_pre.jpg" />  
</div>
<p>Proof of concept, inspired by S. Baker's excellent <a href="http://www.sjbaker.org/wiki/index.php?title=A_Simple_3D_Scanner">simple 3D scanner</a> article.</p>

<p>Hardware</p>
<ul>
<li>turntable (geared stepper)
<li>videocamera (keycam)
<li>laserpointer and glass rod
</ul>

<p>Software</p>
<ul>
<li>ImageMagick (ffmpeg etc.)
<li>c-scan
<li>scan-extract
<li>MakerScanner (cyclops?)
<li>Blender
<li>MeshLab
</ul>

<p>Workflow</p>
<ul>
<li>scan movie
<li>convert to individual frames
<li>derive point cloud with scan_extract
<li>create surface with Blender
<li>check mesh with MeshLab
<li>create g-code with Skeinforge
<li>final 3D Print result
</ul>
]]>

</content>
</entry>
<entry>
<title>FEM O.C. Zienkiewicz et al.</title>
<link rel="alternate" type="text/html" href="http://www.chaosgeordend.nl/mt-archives-cg/2011/06/fem_oc_zienkiew.html" />
<modified>2012-02-05T20:24:08Z</modified>
<issued>2011-06-06T09:48:35Z</issued>
<id>tag:www.chaosgeordend.nl,2011:/mt-blog-cg//2.45</id>
<created>2011-06-06T09:48:35Z</created>
<summary type="text/plain"> the Finite Element Method, its basis &amp; fundamentals, O.C. Zienkiewicz, R.L. Taylor, J.Z. Zhu, 6th edition ISBN 0-7506-6320-0....</summary>
<author>
<name>Johan</name>

<email>jovo@knoware.nl</email>
</author>
<dc:subject>FEM</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.chaosgeordend.nl/mt-blog-cg/">
<![CDATA[<div id="entry_img"><a href="http://www.chaosgeordend.nl/mt-blog-cg/images/Problem_1.4.png">
<img alt="Problem_1.4.png" src="http://www.chaosgeordend.nl/mt-blog-cg/images/thumbnails/Problem_1.4.jpg" /></a></div>

<p>the Finite Element Method, its basis & fundamentals, O.C. Zienkiewicz, R.L. Taylor, J.Z. Zhu, 6th edition ISBN 0-7506-6320-0.</p>]]>
<![CDATA[<p>Here is the <a href="../../../documents/iProblem_1.4">FEAP inputfile for problem 1.4</a> (1KB) as a basic example of how you can verify your solution.</p>

<p>The <a href="../../../documents/iExample_2.3">inputfile for example 2.3</a> (3KB) and <a href="../../../documents/iExample_2.4">example 2.4</a> (3KB). A beam subjected to end shear and a circular beam subjected to end shear, respectively. </p>
<div id="entry_img"><a href="http://www.chaosgeordend.nl/mt-blog-cg/images/Example_2.3.png">
<img alt="Example_2.3.png" src="http://www.chaosgeordend.nl/mt-blog-cg/images/thumbnails/Example_2.3.jpg" /></a>
<a href="http://www.chaosgeordend.nl/mt-blog-cg/images/Example_2.4.png">
<img alt="Example_2.4.png" src="http://www.chaosgeordend.nl/mt-blog-cg/images/thumbnails/Example_2.4.jpg" /></a></div>

<p>See the <a href="http://www.ce.berkeley.edu/projects/feap/">FEAP</a> site for documentation on the  Finite Element Analysis Program and the personal version (FEAPpv).</p>
<p>This is my <a href="http://www.chaosgeordend.nl/documents/makefile.in">Makefile</a> (1KB) version to compile FEAPpv 2.2. On an Intel Macbook with OS X 10.6 (Leopard) and using the <a href="http://www.macports.org">MacPorts</a> gcc package Fortran compiler.</p>
<p>You can use <a href="http://www.gnu.org/software/octave/">Octave</a> as a Matlab substitute to work out the problems.</p>
<p>In addition you can use <a href="http://www.sagemath.org/">Sage</a> to work out the problems. These are my Sage (version 4.6.2) worksheets for the problems in the first chapter:
<a href="../../../documents/FEM Problem 1.1-1.4.sws">1.1-1.4</a>, 
<a href="../../../documents/FEM Problem 1.5-1.6.sws">1.5-1.6</a>, 
<a href="../../../documents/FEM Problem 1.7.sws">1.7</a>.</p>]]>
</content>
</entry>
<entry>
<title>Wake on LAN</title>
<link rel="alternate" type="text/html" href="http://www.chaosgeordend.nl/mt-archives-cg/2011/08/wake_on_lan.html" />
<modified>2012-04-13T20:46:54Z</modified>
<issued>2011-08-02T10:32:50Z</issued>
<id>tag:www.chaosgeordend.nl,2011:/mt-blog-cg//2.47</id>
<created>2011-08-02T10:32:50Z</created>
<summary type="text/plain">To enable wake-on-LAN over the Internet, the open hardware platform Arduino is used. Not all routers support wake-on-LAN from the Internet to LAN. This depends on whether you can configure the ARP cache and send or forward a WOL broadcast...</summary>
<author>
<name>Johan</name>

<email>jovo@knoware.nl</email>
</author>
<dc:subject>Electronics/Electronica</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.chaosgeordend.nl/mt-blog-cg/">
<![CDATA[<p>To enable wake-on-LAN over the Internet, the open hardware platform <a href="http://www.arduino.cc/">Arduino</a> is used.</p>

<p>Not all routers support wake-on-LAN from the Internet to LAN. This depends on whether you can configure the <a href="http://www.petri.co.il/csc_arp_cache.htm">ARP cache</a> and send or forward a WOL broadcast package.</p>

<p>To support WOL, in this case on an Apple TimeCapsule, an <a href="http://www.sparkfun.com/products/10536">Arduino Ethernet Pro board</a> is used. Thus having a low-power device (Arduino) listening for WOL.</p>

<p>Both the Arduino board and machine to wake-up are connected via Ethernet to the TimeCapsule. The Arduino is powered using the TimeCapsule USB port. </p>
]]>
<![CDATA[<p>The Arduino is programmed to listen for wake-up packets and, if any received, send a broadcast wake-up packet.</p>

<p>Here a Perl CGI script is used to first send a WOL packet to the Arduino and then redirect to the domain of the server just woken up. Of course, this assumes the script to be on an other, on-line, server. For other applications, e.g. remote desktop, you can just send the WOL packet from a terminal session.</p>

<p>The following code is run on the <strong>Arduino</strong>:</p>

<blockquote>
<span class="code">

<p>/*<br />
 * WakeUpCube<br />
 *<br />
 * 2011-07-28 JvO, New sketch<br />
 *<br />
 * Reference links:<br />
 * http://arduino.cc/en/Reference/ServerConstructor<br />
 * http://arduino.cc/forum/index.php?topic=62185.0<br />
 *<br />
 * Derived from Arduino WakeMyPc<br />
 *   Ricardo Dias<br />
 *   http://ricardo-dias.com/<br />
 *<br />
 * This sketch sends the "magic packet" to wake up<br />
 * a PC on Local Area Network [when a push-button<br />
 * is pressed.]<br />
 */</p>

<p>#include <SPI.h>  // needed for Arduino versions later than 0018<br />
#include <Ethernet.h><br />
#include <Udp.h>  // UDP library from: bjoern@cs.stanford.edu 12/30/2008</p>

<p>// Arduino configuration<br />
byte arduinoMAC[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; // Ethernet shield MAC address<br />
byte arduinoIP[] = { 10, 0, 1, 203 };<br />
byte gatewayIP[] = { 10, 0, 1, 1 };<br />
byte subnetMask[] = { 255, 255, 255, 0 };<br />
unsigned int localPort = 9; // local port to listen on</p>

<p>// the IP broadcast and wake-up target MAC address<br />
byte targetIp[] = { 10, 0, 1, 255 }; // LAN broadcast address 10.0.1.255<br />
int targetPort = 9;<br />
byte targetMAC[] = { 0x00,0x12,0x34,0x56,0x78,0x90 }; // MAC address of the machine to wake-up</p>

<p>// these two variables are set when a packet is received<br />
byte remoteIp[4];        // holds received packet's originating IP<br />
unsigned int remotePort; // holds received packet's originating port</p>

<p>// buffers for receiving and sending data<br />
char packetBuffer[UDP_TX_PACKET_MAX_SIZE]; // buffer to hold incoming packet,<br />
char replyBuffer[] = "acknowledged";       // a string to send back</p>

<p>// serial connection speed<br />
const int serialBaudRate = 9600;</p>

<p>// Initialisation<br />
void setup() {</p>

<p>  // initialize the ethernet device<br />
  Ethernet.begin( arduinoMAC, arduinoIP, gatewayIP, subnetMask );</p>

<p>  // initialize server<br />
  Udp.begin( localPort );<br />
}</p>

<p>// Main LOOP<br />
void loop() {</p>

<p>  delay(1000);  </p>

<p>  // if there's data available, read a packet<br />
  int packetSize = Udp.available(); // note that this includes the UDP header</p>

<p>  if(packetSize) {<br />
    packetSize = packetSize - 8; // subtract the 8 byte header</p>

<p>    // read the packet into packetBufffer and get the senders IP address and Port number<br />
    Udp.readPacket( packetBuffer, UDP_TX_PACKET_MAX_SIZE, remoteIp, remotePort );</p>

<p>    // send the wake-up packet<br />
    sendPkt();<br />
  }  <br />
}</p>

<p>// Send the wake-up on LAN message (aka magic packet)<br />
void sendPkt() {</p>

<p>  byte all[102];<br />
  int i, c1, j=0;</p>

<p>  // the 'magic packet' consists of 6 times 0xFF followed<br />
  // by 16 times the hardware address (MAC)<br />
  for( i = 0; i < 6; i++, j++ ) {<br />
    all[j] = 0xFF;<br />
  }<br />
  <br />
  for( i = 0; i < 16; i++ ) {<br />
    for( c1 = 0; c1 < 6; c1++, j++ ) {<br />
      all[j] = targetMAC[c1];<br />
    }<br />
  }<br />
  <br />
  Udp.sendPacket( all, 102, targetIp, targetPort );</p>

<p>}<br />
</span><br />
</blockquote></p>

<p>The <strong>Perl CGI script</strong> to send the WOL package and redirect to the server:</p>

<blockquote>
<span class="code">

<p>#!/usr/bin/perl</p>

<p>###################################################<br />
# Send Wakeup On LAN broadcast message and redirect<br />
#<br />
# usage: http://yourURL/cgi/wakeup.cgi<br />
# test: http://yourURL/cgi/wakeup.cgi?test=1<br />
#<br />
# 25 july 2011, JvO, New script version 0.1<br />
###################################################</p>

<p>use CGI;<br />
use CGI::Carp qw( fatalsToBrowser ); # pass errors to the browser</p>

<p>use Socket;<br />
use POSIX;</p>

<p>$query = CGI::new();</p>

<p>&getParms;   # Get parameters<br />
&sendWOL;    # Send Wakeup on LAN<br />
&returnHtml; # Return result page</p>

<p>#<br />
# Set params<br />
#<br />
sub getParms {<br />
   $destAddr = "192.168.10.20";    # Destination IP Adres<br />
   $destMAC  = "de:ad:be:ef:fe:ed"; # Ethernet Pro MAC address<br />
   $hostURL = "http://your.url.here"; # the URL to redirect to<br />
   $port     = 9;</p>

<p>   # Remove colons<br />
   $destMAC =~ tr/://d;</p>

<p>   $test = $query-&gt;param("test");<br />
}</p>

<p>#<br />
# Return HTML page<br />
#<br />
sub returnHtml {<br />
   # redirect to the Cube<br />
   print "Content-type: text/html\n\n";</p>

<p>   if ($test) {<br />
      print "&lt;html&gt;&lt;head&gt;&lt;title&gt;Wake on LAN&lt;/title&gt;&lt;/head&gt;\n";<br />
      print "&lt;body bgcolor=\"#CCCCCC\"&gt;\n";<br />
      print "&lt;hr size=5 width=75%&gt;&lt;p&gt;\n";<br />
      print "&lt;center&gt;&lt;h1&gt;Server at IP adres \"$destAddr\" has been sent a wakeup msg&lt;/h1&gt;&lt;/center&gt;\n";<br />
      print "&lt;hr size=5 width=75%&gt;\n";<br />
      print "&lt;/body&gt;&lt;/html&gt;\n";<br />
      }<br />
   else {<br />
      print "&lt;meta HTTP-EQUIV=\"REFRESH\" content=\"2; url=$hostURL/gallery3\"&gt;\n";<br />
      print "&lt;html&gt;&lt;body&gt;You are being redirected to $hostURL...&lt;/body&gt;&lt;/html&gt;\n";<br />
      }<br />
}</p>

<p>sub sendWOL {</p>

<p>   # Magic packet is 6 bytes of FF followed by the MAC address 16 times<br />
   my $magic = ("\xff" x 6) . (pack('H12', $destMAC) x 16);</p>

<p>   # create socket handle and connect<br />
   socket($sh, PF_INET, SOCK_DGRAM, getprotobyname('udp')) or die "Socket could not be created. Reason: $!\n";<br />
   connect($sh, sockaddr_in($port, inet_aton($destAddr))) or die print $runlog "Socket connect failed: $! host: $destAddr port: $port\n";         </p>

<p>   # send the wakeup packet<br />
   print $sh $magic;<br />
   <br />
   close($sh);<br />
}<br />
</span><br />
</blockquote></p>

<p>The TimeCapsule is set to forward WOL packages, using the <strong>Airport configuration</strong> program "Advanced" option  (sorry for the screenprint being in Dutch):<br />
<div id="entry_img"><br />
<img alt="Airport_forward.png" src="http://www.chaosgeordend.nl/mt-blog-cg/images/Airport_forward.png" /></div></p>]]>
</content>
</entry>
<entry>
<title>A textscanning workflow</title>
<link rel="alternate" type="text/html" href="http://www.chaosgeordend.nl/mt-archives-cg/2011/12/a_textscanning_1.html" />
<modified>2012-01-11T12:27:44Z</modified>
<issued>2011-12-02T21:20:03Z</issued>
<id>tag:www.chaosgeordend.nl,2011:/mt-blog-cg//2.48</id>
<created>2011-12-02T21:20:03Z</created>
<summary type="text/plain">For a project that involved dozens of print pages to be saved as textdocuments, I used the Tesseract OCR program together with the Netpbm library. Here&apos;s what the three step workflow looks like....</summary>
<author>
<name>Johan</name>

<email>jovo@knoware.nl</email>
</author>
<dc:subject>OSS</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.chaosgeordend.nl/mt-blog-cg/">
<![CDATA[<p>For a project that involved dozens of print pages to be saved as textdocuments, I used the <a href="http://code.google.com/p/tesseract-ocr/">Tesseract OCR</a> program together with the <a href="http://netpbm.sourceforge.net/">Netpbm</a> library.<br />
Here's what the three step workflow looks like.</p>]]>
<![CDATA[<p>From print to an OpenOffice textdocument in three steps:<br />
Note that a little command-line proficiency is required here.</p>

<p>1) scan all documents<br />
The printed text consisted of A4 pages as well as small (A5) booklets.<br />
The A4 pages were scanned in full, booklets two pages at a time. <br />
Scanner settings: 300 dpi, B/W (1 bit), saved as .tif files with a  <a href="http://www.chaosgeordend.nl/mt-blog-cg/images/Example_Scan_Img_001.tif">sequencenumber suffixed filename</a>.</p>

<p>2) process the .tif files in batch with this <a href="http://www.chaosgeordend.nl/documents/Tesseract OCR.command">shell script</a>. Adjust it to your  specific needs, e.g. the pixelsize of the scan images.</p>

<p>3) heavily relying on the spellchecker, use OpenOffice to cleanup the raw .txt and save the final text as .odt</p>

<p>Et voila!</p>

<p><br />
<strong>Software used</strong><br />
Tesseract 3.00, <a href="http://www.macports.org/ports.php">Macports</a> package<br />
XDialog 2.3.1, idem</p>

<p><strong>Tesseract trained data</strong><br />
Copied to /opt/local/share/tessdata<br />
<a href="http://code.google.com/p/tesseract-ocr/downloads/detail?name=nld.traineddata.gz&can=2&q=">Dutch</a><br />
<a href="http://code.google.com/p/tesseract-ocr/downloads/detail?name=eng.traineddata.gz&can=2&q=">English</a><br />
<a href="http://code.google.com/p/tesseract-ocr/downloads/detail?name=tesseract-ocr-3.01.hin.tar.gz&can=2&q=">Hindi</a></p>

<p><strong>Sample text</strong> (dutch)<br />
The scanned original: (textsnippet taken from this <a href="https://www.home-academy.nl/Webshop/Product/34?productCategoryId=3">lecture</a>)</p>

<div id="entry_img"><img alt="Scanned original" src="http://www.chaosgeordend.nl/mt-blog-cg/images/Example_Print.jpg" /></div>

<p>Tesseract OCR result:<br />
<div id="entry_img"><img alt="Raw text" src="http://www.chaosgeordend.nl/mt-blog-cg/images/Example_TXT.png" /></div></p>

<p>The final text after editing:<br />
<div id="entry_img"><img alt="Final result" src="http://www.chaosgeordend.nl/mt-blog-cg/images/Example_ODT.png" /></div><br />
</p>]]>
</content>
</entry>
<entry>
<title>An open source alternative to Matlab</title>
<link rel="alternate" type="text/html" href="http://www.chaosgeordend.nl/mt-archives-cg/2011/12/an_open_source_1.html" />
<modified>2012-01-11T12:28:07Z</modified>
<issued>2011-12-25T21:12:51Z</issued>
<id>tag:www.chaosgeordend.nl,2011:/mt-blog-cg//2.49</id>
<created>2011-12-25T21:12:51Z</created>
<summary type="text/plain"> Another find of the FEM study is Octave, a great Math package. Octave is a reimplementation of part of Matlab developed by Professor John Eaton at the University of Texas, Austin, and later at the University of Wisconsin, Madison....</summary>
<author>
<name>Johan</name>

<email>jovo@knoware.nl</email>
</author>
<dc:subject>Math/Wiskunde</dc:subject>
<content type="text/html" mode="escaped" xml:lang="en" xml:base="http://www.chaosgeordend.nl/mt-blog-cg/">
<![CDATA[<div id="entry_img">
<a href="http://www.chaosgeordend.nl/mt-blog-cg/images/octave_sine3D.png">
<img alt="Sine 3D" src="http://www.chaosgeordend.nl/mt-blog-cg/images/thumbnails/octave_sine3D.jpg"/></a>
</div>
<p>Another find of the FEM study is <a href="http://www.gnu.org/software/octave/">Octave</a>, a great Math package.</p>
<p>Octave is a reimplementation of part of Matlab developed by Professor John Eaton at the University of Texas, Austin, and later at the University of Wisconsin, Madison.</p>
<p>If you are looking for an Open source alternative to <a href="http://www.mathworks.nl/products/matlab/">Matlab</a> you should give Octave a try.
</p>]]>
<![CDATA[<p>William Stein's article from 2007 on <a href="http://sagemath.blogspot.com/2007/12/why-isnt-sage-just-part-of-octave.html">how Octave relates to Sage</a>.</p>
<p>You can either install the <a href="http://www.macports.org/">Macports</a> Octave port or download a ready to run binary from <a href="http://octave.sourceforge.net/">Sourceforge</a>.
</p>
<p>The sine 3D example is taken from the <a href="http://www.network-theory.co.uk/docs/octave3/octave_159.html">network-theory.co.uk</a> GNU Octave Manual. Sine 3D code:</p>

<p><code><br />
tx = ty = linspace (-8, 8, 41)';<br />
[xx, yy] = meshgrid (tx, ty);<br />
r = sqrt (xx .^ 2 + yy .^ 2) + eps;<br />
tz = sin (r) ./ r;<br />
mesh (tx, ty, tz);<br />
</code></p>]]>
</content>
</entry>

</feed>
