<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3713635942384988451</id><updated>2011-07-30T19:06:59.483+02:00</updated><category term='LO'/><category term='ICL'/><category term='Mac OsX'/><category term='MySQL'/><category term='CSS'/><category term='AJAX'/><category term='youtube'/><category term='Web 2.0'/><category term='NeoOffice'/><category term='chronochrono'/><category term='Speech Recognition'/><category term='download video'/><category term='Tomcat'/><category term='audio'/><category term='iphone'/><category term='technical stuff'/><category term='Vancouver'/><category term='LMS'/><category term='sushi'/><category term='www.chronochrono.com'/><category term='video'/><category term='Php'/><category term='Apache'/><category term='QuickTime for Java'/><category term='LO Metadata'/><category term='mod_jk'/><category term='conferences'/><category term='ED-MEDIA'/><category term='video-lectures'/><category term='IWB'/><title type='text'>Marco Ronchetti</title><subtitle type='html'>I keep this blog for myself - for saving notes on things related to my work I want to remember. This includes:
- papers and conferences (mostly on e-learning)
- machine and software configuration (mostly Mac)</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://marcoronchetti.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3713635942384988451/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://marcoronchetti.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Marco Ronchetti</name><uri>http://www.blogger.com/profile/15839838248770762666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://latemar.science.unitn.it/segue_userfiles/ronchet/MarcoRonchettiSmall.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>29</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3713635942384988451.post-6216987351449854016</id><published>2008-10-06T09:19:00.003+02:00</published><updated>2008-10-06T11:59:49.935+02:00</updated><title type='text'>Working with mediawiki</title><content type='html'>How to change user password&lt;ul&gt;&lt;li&gt;&lt;a href="http://people.planetpostgresql.org/greg/index.php?/archives/74-Reset-a-user-password-on-MediaWiki.html"&gt;http://people.planetpostgresql.org/greg/index.php?/archives/74-Reset-a-user-password-on-MediaWiki.html&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;How to remove a user&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.infocopter.com/know-how/mediawiki-reference/user-management.html"&gt;http://www.infocopter.com/know-how/mediawiki-reference/user-management.html&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3713635942384988451-6216987351449854016?l=marcoronchetti.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcoronchetti.blogspot.com/feeds/6216987351449854016/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3713635942384988451&amp;postID=6216987351449854016' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3713635942384988451/posts/default/6216987351449854016'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3713635942384988451/posts/default/6216987351449854016'/><link rel='alternate' type='text/html' href='http://marcoronchetti.blogspot.com/2008/10/working-with-mediawiki.html' title='Working with mediawiki'/><author><name>Marco Ronchetti</name><uri>http://www.blogger.com/profile/15839838248770762666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://latemar.science.unitn.it/segue_userfiles/ronchet/MarcoRonchettiSmall.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3713635942384988451.post-1079113998369721277</id><published>2008-07-02T16:02:00.002+02:00</published><updated>2008-07-02T16:10:47.701+02:00</updated><title type='text'>ED-MEDIA 2008 act II</title><content type='html'>Vienna, July 2.&lt;br /&gt;&lt;br /&gt;Dimitris Alimisis presented the &lt;a href="www.terecop.eu"&gt;TERECoP Project&lt;/a&gt; - an EU project on using LEGO Mindstorms as a teaching tool. They are developing a series of modules for teachers, so that they learn how to use robots to teach students various things (like e.g. principles of programming). A web site of their is&lt;br /&gt;&lt;a href="eclass.gunet.gr"&gt;eclass.gunet.gr&lt;/a&gt;. Among the project's partners also some Italians: the Museo civico di Rovereto  and University of Padova.&lt;br /&gt;&lt;br /&gt;I could not choose many other talks to listen because I had 2 presentations:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Requirements for videolectures: which system is the best for you?&lt;/li&gt;&lt;li&gt;A Web 2.0 Enabled Digital Library&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3713635942384988451-1079113998369721277?l=marcoronchetti.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcoronchetti.blogspot.com/feeds/1079113998369721277/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3713635942384988451&amp;postID=1079113998369721277' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3713635942384988451/posts/default/1079113998369721277'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3713635942384988451/posts/default/1079113998369721277'/><link rel='alternate' type='text/html' href='http://marcoronchetti.blogspot.com/2008/07/ed-media-2008-act-ii.html' title='ED-MEDIA 2008 act II'/><author><name>Marco Ronchetti</name><uri>http://www.blogger.com/profile/15839838248770762666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://latemar.science.unitn.it/segue_userfiles/ronchet/MarcoRonchettiSmall.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3713635942384988451.post-7065487543974559481</id><published>2008-07-01T15:44:00.003+02:00</published><updated>2008-07-01T16:04:26.957+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='conferences'/><title type='text'>ED-MEDIA 2008</title><content type='html'>Some notes from EDMEDIA&lt;br /&gt;&lt;br /&gt;Here we are, in Vienna.&lt;br /&gt;Today one interesting talk:&lt;br /&gt;Stéphane Jacquemart of the &lt;a href="http://palette.ercim.org/"&gt;Palette project&lt;/a&gt; presented some ingredients useful for Personal Learning Environments. Among them:&lt;br /&gt;Open Identificaton:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://openid.net/"&gt;OpenID&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://oauth.net/"&gt;OAuth&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;Quotability, reusability of content:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://en.wikipedia.org/wiki/Representational_State_Transfer"&gt;REST&lt;/a&gt; principles&lt;/li&gt;&lt;li&gt;Atom Publishing Protocol&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.w3.org/TR/widgets/"&gt;W3C widget &lt;/a&gt;API&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Presence information&lt;br /&gt;&lt;ul&gt;&lt;li&gt;XMPP (jabber)&lt;/li&gt;&lt;/ul&gt;He also quoted &lt;a href="http://www.dataportability.org/"&gt;dataportability.org&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3713635942384988451-7065487543974559481?l=marcoronchetti.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcoronchetti.blogspot.com/feeds/7065487543974559481/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3713635942384988451&amp;postID=7065487543974559481' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3713635942384988451/posts/default/7065487543974559481'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3713635942384988451/posts/default/7065487543974559481'/><link rel='alternate' type='text/html' href='http://marcoronchetti.blogspot.com/2008/07/ed-media-2008.html' title='ED-MEDIA 2008'/><author><name>Marco Ronchetti</name><uri>http://www.blogger.com/profile/15839838248770762666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://latemar.science.unitn.it/segue_userfiles/ronchet/MarcoRonchettiSmall.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3713635942384988451.post-8619891444821208243</id><published>2008-05-28T00:00:00.008+02:00</published><updated>2008-10-17T21:57:46.885+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mac OsX'/><category scheme='http://www.blogger.com/atom/ns#' term='NeoOffice'/><title type='text'>Converting ppt to pdf (and many others) from Java</title><content type='html'>&lt;a href="http://www.artofsolving.com/opensource/jodconverter"&gt;JODConverter&lt;/a&gt; is a nice project that deploys OpenOffice to obtain services. It allows converting files from Office to OpenOffice, to pdf, to flash etc.&lt;br /&gt;It can be embedded in a Webservice, in a Website, or driven from a Java program. The JODConverter site offers the possibility to perform online conversion.&lt;br /&gt;&lt;br /&gt;Since NeoOffice is a branch of OpenOffice, it works also with it.&lt;br /&gt;&lt;br /&gt;Here is a simple example (taken from the JODConverter website and completed by adding the right imports etc. - sorry the indentation is killed from Blogger's editor).&lt;br /&gt;&lt;br /&gt;To use it (on a Mac) you need:&lt;br /&gt;- to install &lt;a href="http://www.neooffice.org/"&gt;NeoOffice&lt;/a&gt;&lt;br /&gt;- to download the &lt;a href="http://sourceforge.net/project/showfiles.php?group_id=91849"&gt;JODConverter jars&lt;/a&gt;&lt;br /&gt;- to start NeoOffice as a service (in a shell, execute:&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;/Applications/NeoOffice.app/Contents/MacOS/soffice.bin -headless -accept="socket,port=8100;urp;"&lt;/span&gt;)&lt;br /&gt;- compile and run the following java program (make sure that you include the jars in the library!)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;package jod;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;import java.io.File;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;import com.artofsolving.jodconverter.openoffice.connection.OpenOfficeConnection;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;import com.artofsolving.jodconverter.openoffice.connection.SocketOpenOfficeConnection;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;import com.artofsolving.jodconverter.DocumentConverter;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;import com.artofsolving.jodconverter.openoffice.converter.OpenOfficeDocumentConverter;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;import java.net.ConnectException;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;import java.util.logging.Level;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;import java.util.logging.Logger;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;public class Main {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    public static void main(String[] args) {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  new Main();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    Main(){&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        //put here the name of your source file        &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        File inputFile = new File("/Users/ronchet/Desktop/3.5.ppt"); &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        //put here the name of your destination file        &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        File outputFile = new File("/Users/ronchet/Desktop/3.5.pdf");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        //Note that for determining which conversion must be applied, JODConverter will use the files'extensions&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        // connect to an OpenOffice.org instance running on port 8100&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        OpenOfficeConnection connection = new SocketOpenOfficeConnection(8100);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        try {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            connection.connect();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        } catch (ConnectException ex) {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;            Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        // convert&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        DocumentConverter converter = new OpenOfficeDocumentConverter(connection);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        converter.convert(inputFile, outputFile);&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        // close the connection&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        connection.disconnect();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    }&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Just a note: an alternative way to convert slides is to use (within ppt) a VBA script to export the slides into a bunch of jpgs. &lt;a href="http://skp.mvps.org/vb/vbppt002.htm"&gt;Here&lt;/a&gt; is a such script, and &lt;a href="http://skp.mvps.org/ppt00036.htm#2"&gt;here&lt;/a&gt; another version of the same.&lt;br /&gt;Also, for exporting all text, here is &lt;a href="http://skp.mvps.org/ppt00037.htm#export"&gt;another VBA script.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3713635942384988451-8619891444821208243?l=marcoronchetti.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcoronchetti.blogspot.com/feeds/8619891444821208243/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3713635942384988451&amp;postID=8619891444821208243' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3713635942384988451/posts/default/8619891444821208243'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3713635942384988451/posts/default/8619891444821208243'/><link rel='alternate' type='text/html' href='http://marcoronchetti.blogspot.com/2008/05/converting-ppt-to-pdf-and-many-others.html' title='Converting ppt to pdf (and many others) from Java'/><author><name>Marco Ronchetti</name><uri>http://www.blogger.com/profile/15839838248770762666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://latemar.science.unitn.it/segue_userfiles/ronchet/MarcoRonchettiSmall.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3713635942384988451.post-2071900535583527989</id><published>2008-05-27T09:13:00.005+02:00</published><updated>2008-05-28T00:24:33.693+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mac OsX'/><category scheme='http://www.blogger.com/atom/ns#' term='NeoOffice'/><title type='text'>Office on Mac - without M$</title><content type='html'>OpenOffice has been for long time a free alternative to MS Office.&lt;br /&gt;On the Mac it needs to install X11 - which can be a bit annoying. There is though an interesting alternative: &lt;a href="http://www.neooffice.org/"&gt;NeoOffice&lt;/a&gt;. It is an OpenOffice independent branch dedicated to the Mac and based on Aqua. It also opens the new MS formats (e.g. ppx) - OpenOffice does not yet! It also has an interface to Databases (can access a database through JDBC).&lt;br /&gt;&lt;br /&gt;&lt;a href="http://nomu.singr.org/"&gt;NoMu&lt;/a&gt; is a nice add on that installs a menu in the finder for launching NeoOffice in a different mode (e.g. as presentation or spreadsheet tool).&lt;br /&gt;&lt;br /&gt;Alternatively, you can launch it from the shell as&lt;br /&gt;/Applications/NeoOffice.app/Contents/MacOS/soffice.bin file.doc&lt;br /&gt;/Applications/NeoOffice.app/Contents/MacOS/soffice.bin -impress file.ppt&lt;br /&gt;/Applications/NeoOffice.app/Contents/MacOS/soffice.bin -calc file.xls&lt;br /&gt;&lt;br /&gt;NeoOffice is scriptable (in several languages: Basic, Java, Javascript, Python). I found it difficult to find documentation - it took me a lot of frustrating googling hours - until I realized that OpenOffice and StarOffice documentation apply also to NeoOffice - maybe with some differences.&lt;br /&gt;Here are some resources:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://docs.sun.com/app/docs/doc/819-1329?l=it"&gt;Basic programming language documentation&lt;/a&gt; (StarOffice)&lt;/li&gt;&lt;li&gt;&lt;a href="http://wiki.services.openoffice.org/wiki/Main_Page"&gt;OpenOffice wiki&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.oooforum.org/forum/"&gt;OpenOffice forum&lt;/a&gt; with a section on Macros and APIs&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3713635942384988451-2071900535583527989?l=marcoronchetti.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcoronchetti.blogspot.com/feeds/2071900535583527989/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3713635942384988451&amp;postID=2071900535583527989' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3713635942384988451/posts/default/2071900535583527989'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3713635942384988451/posts/default/2071900535583527989'/><link rel='alternate' type='text/html' href='http://marcoronchetti.blogspot.com/2008/05/office-on-mac.html' title='Office on Mac - without M$'/><author><name>Marco Ronchetti</name><uri>http://www.blogger.com/profile/15839838248770762666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://latemar.science.unitn.it/segue_userfiles/ronchet/MarcoRonchettiSmall.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3713635942384988451.post-8217298653349722085</id><published>2008-05-22T22:48:00.003+02:00</published><updated>2008-05-22T22:59:43.334+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='QuickTime for Java'/><title type='text'>Bugged setting Dialog in quicktime java!</title><content type='html'>I've been fighting this bug for days... When calling &lt;tt&gt;SGSettingsDialog()&lt;/tt&gt; from java (the dialog that allows you to choose source, codec etc) I got a strange behavior. The dialog does not accept mouse-downs on the video codec selection popup menu, and the appearence of the dialog looks here and there a bit corrupted. But I did remember that at one time I had been able to select  a MP4 codec, so it had to be possible...&lt;br /&gt;I googled for days, without much luck. Yes, qtjava is great but its documentation is soooo poor...&lt;br /&gt;Finally today I accidentally stumbled in the solution:&lt;br /&gt;"&lt;tt&gt;We've had sporadic reports from customers of corrupted settings   dialogs since QT 7 -- deleting the QuickTime preferences seems to   clear it."&lt;br /&gt;&lt;/tt&gt;Yes, yes, yes: it works! Deleting the preferences (/Users/&lt;span style="font-style: italic;"&gt;yourname&lt;/span&gt;/Library/Preferences/Quicktime Preferences) fixes it!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3713635942384988451-8217298653349722085?l=marcoronchetti.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcoronchetti.blogspot.com/feeds/8217298653349722085/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3713635942384988451&amp;postID=8217298653349722085' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3713635942384988451/posts/default/8217298653349722085'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3713635942384988451/posts/default/8217298653349722085'/><link rel='alternate' type='text/html' href='http://marcoronchetti.blogspot.com/2008/05/bugged-setting-dialog-in-quicktime-java.html' title='Bugged setting Dialog in quicktime java!'/><author><name>Marco Ronchetti</name><uri>http://www.blogger.com/profile/15839838248770762666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://latemar.science.unitn.it/segue_userfiles/ronchet/MarcoRonchettiSmall.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3713635942384988451.post-5142957602620913543</id><published>2008-05-16T23:35:00.012+02:00</published><updated>2008-06-07T10:50:00.558+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='QuickTime for Java'/><title type='text'>Building with qtjava a video recorder that allows previewing while recording</title><content type='html'>&lt;a href="http://developer.apple.com/quicktime/qtjava/"&gt;QuickTime for Java&lt;/a&gt; is a set of cross-platform APIs which allows Java developers to build multimedia, including streaming audio and video, into applications and applets.&lt;br /&gt;That's quite nice, and to learn using it there is a &lt;a href="http://www.oreilly.com/catalog/9780596008222/"&gt;book written by  Chris Adamson and published by O'Reilly&lt;/a&gt;, available also in &lt;a href="http://commons.oreilly.com/wiki/index.php/QuickTime_for_Java:_A_Developer%27s_Notebook"&gt;electronic form though O'reilly commons&lt;/a&gt;.  The book goes through a series of examples. A basic example in chapter 6 shows how to record a video on disk. There is a problem though: while the machine records, the video stream is NOT shown on the PC screen. Obviously one would like instead to get a preview of what is being recorded while recording (so that e.g. you know how to move  the camera).&lt;br /&gt;It looks like a very basic requirement, so I started hunting for solutions on the net.  Several  hours of googling with various keywords produced more or less an empty set...&lt;br /&gt;&lt;br /&gt;The best I could find was some sort of hint on an &lt;a href="http://www.oreillynet.com/mac/blog/2005/11/capturing_to_the_screen_with_q.html"&gt;O'Reilly's Mac Dev Center&lt;/a&gt; -  but still it was a bit vague - I wanted a fully developed example. At the bottom of the page I noticed an unanswered question by Amit Zohar: "&lt;span style="color: rgb(255, 102, 102);"&gt;So how do I capture video and audio in Java and save it into a movie file while allowing for a preview as well&lt;/span&gt;?" - Yes, this is what I also wanted to know.&lt;br /&gt;The question was more that two years old... I decided to write to Amit to see if in the meantime he had been able to solve the problem - and yes he did! He was so kind to send me his OpenGL based code. THANKS AMIT!&lt;br /&gt;&lt;br /&gt;Unfortunately over the last two years OpenGL has undergone some radical transformation - repackaging the classes, changing some methods' signatures etc. - so I had to update the code a bit - but it wasn't too much work. So in case someone has the same problem, here I publish here the solution. To run the code (on a Mac) you need to make sure that:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;you installed QuickTime - this will also install the qtjava library as QTjava.zip in /System/Library/Java/Extensions;&lt;/li&gt;&lt;li&gt;you download the current release build of the &lt;a href="https://jogl.dev.java.net/"&gt;Java OpenGL library&lt;/a&gt; - you must unzip the downloaded file;&lt;/li&gt;&lt;li&gt;your compile-time libraries must include QTJava.zip, the two jars of jogl: jogl.jar and gluegen-rt.jar&lt;/li&gt;&lt;li&gt;you put the directory containing the jnilib files that were downloaded with jogl in the runtime library path (e.g. by specifying the switch -Djava.library.path=&lt;span style="font-style: italic;"&gt;/path/of/your/jnilib/files&lt;/span&gt; in your java command)&lt;/li&gt;&lt;/ul&gt;I think you need QuickTime Pro to be able to record - QuickTimeViewer is not enough - but I'm not 100% sure.&lt;br /&gt;&lt;br /&gt;In principle it should work also on Windows - but I did not check.&lt;br /&gt;&lt;br /&gt;The program "MiniRecorder" will first show you a window where you can play with various params (you can leave them as they are or change some of the options - e.g. change the default compressor to MPEG-4 and adapt its video quality to the level you like) - when you click ok  you'll have an empty window with some buttons.&lt;br /&gt;Video recording will begin when you click on "start" - you'll have a preview of what is being recorded. Click on "stop" to interrupt capturing, then "preview" to review the captured video, and "accept" or "discard" to keep/delete the file containing the saved video. Closing the window to quit.&lt;br /&gt;&lt;br /&gt;The video is saved in a file named as you specify in the code. In the code you can also choose the directory where it will be located.&lt;br /&gt;&lt;br /&gt;The code is composed by two classes: QTSessionFactory for initialization (adapted from Adamson's book) and MiniRecorded (essentially the code that Amit sent me with some modifications).&lt;br /&gt;&lt;br /&gt;Here is the code:&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;br /&gt;//------ Class QTSessionFactory&lt;br /&gt;package QT;&lt;br /&gt;import quicktime.*;&lt;br /&gt;public class QTSessionFactory {&lt;br /&gt;private Thread shutdownHook;&lt;br /&gt;private static QTSessionFactory instance;&lt;br /&gt;private QTSessionFactory( ) throws QTException {&lt;br /&gt;super( );&lt;br /&gt;// init&lt;br /&gt;QTSession.open( );&lt;br /&gt;// create shutdown handler&lt;br /&gt;shutdownHook = new Thread( ) {&lt;br /&gt;        public void run( ) {&lt;br /&gt;            QTSession.close( );&lt;br /&gt;        }&lt;br /&gt;    };&lt;br /&gt;Runtime.getRuntime( ).addShutdownHook(shutdownHook);&lt;br /&gt;}&lt;br /&gt;private static QTSessionFactory getInstance( ) throws QTException {&lt;br /&gt;if (instance == null)&lt;br /&gt;    instance = new QTSessionFactory( );&lt;br /&gt;return instance;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;public static void setupQTSsession( ) throws QTException {&lt;br /&gt;// gets instance.  if a new one needs to be created,&lt;br /&gt;// it calls QTSession.open( ) and creates a shutdown hook&lt;br /&gt;// to call QTSession.close( )&lt;br /&gt;getInstance( );&lt;br /&gt;}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;//---- Class MiniRecorder&lt;br /&gt;&lt;br /&gt;package QT;&lt;br /&gt;import javax.swing.JComponent;&lt;br /&gt;import javax.swing.JPanel;&lt;br /&gt;import javax.swing.JButton;&lt;br /&gt;import javax.swing.JFrame;&lt;br /&gt;import javax.swing.JLabel;&lt;br /&gt;/* ----------------- */&lt;br /&gt;import java.awt.BorderLayout;&lt;br /&gt;import java.awt.Color;&lt;br /&gt;import java.awt.Component;&lt;br /&gt;import java.awt.Dimension;&lt;br /&gt;import java.awt.Toolkit;&lt;br /&gt;import java.awt.event.ActionEvent;&lt;br /&gt;import java.awt.event.ActionListener;&lt;br /&gt;/* ----------------- */&lt;br /&gt;import java.nio.IntBuffer;&lt;br /&gt;/* ----------------- */&lt;br /&gt;import com.sun.opengl.util.Animator;&lt;br /&gt;/* ----------------- */&lt;br /&gt;import javax.media.opengl.GL;&lt;br /&gt;import javax.media.opengl.GLCanvas;&lt;br /&gt;import javax.media.opengl.GLCapabilities;&lt;br /&gt;import javax.media.opengl.GLEventListener;&lt;br /&gt;import javax.media.opengl.GLAutoDrawable;&lt;br /&gt;/* ----------------- */&lt;br /&gt;import quicktime.QTException;&lt;br /&gt;import quicktime.QTNullPointerException;&lt;br /&gt;import quicktime.QTSession;&lt;br /&gt;import quicktime.app.view.MoviePlayer;&lt;br /&gt;import quicktime.app.view.QTFactory;&lt;br /&gt;import quicktime.app.view.QTJComponent;&lt;br /&gt;import quicktime.io.OpenMovieFile;&lt;br /&gt;import quicktime.io.QTFile;&lt;br /&gt;import quicktime.qd.QDGraphics;&lt;br /&gt;import quicktime.qd.QDRect;&lt;br /&gt;import quicktime.std.StdQTConstants;&lt;br /&gt;import quicktime.std.StdQTException;&lt;br /&gt;import quicktime.std.movies.Movie;&lt;br /&gt;import quicktime.std.sg.SGSoundChannel;&lt;br /&gt;import quicktime.std.sg.SGVideoChannel;&lt;br /&gt;import quicktime.std.sg.SequenceGrabber;&lt;br /&gt;import quicktime.util.QTBuild;&lt;br /&gt;&lt;br /&gt;public class MiniRecorder implements StdQTConstants {&lt;br /&gt; // The directory where files are saved&lt;br /&gt; String activeDirectory = "/Users/ronchet/tmp/";&lt;br /&gt; String fileName="movie";&lt;br /&gt; // quicktime&lt;br /&gt; SequenceGrabber sg;&lt;br /&gt; QDGraphics gWorld;&lt;br /&gt; QTFile qtFile;&lt;br /&gt; Movie movie;&lt;br /&gt; MoviePlayer moviePlayer;&lt;br /&gt; JComponent qtc;&lt;br /&gt; GLCanvas canvas;&lt;br /&gt; int taskingDelay = 20;&lt;br /&gt; int maxFrameRate = 30;  // increasing may degrade preview speed&lt;br /&gt; int compressorType = StdQTConstants.kComponentVideoCodecType;&lt;br /&gt; int IMAGEWIDTH=640;&lt;br /&gt; int IMAGEHEIGHT=480;&lt;br /&gt; // camera flags&lt;br /&gt; boolean cameraReady = false;&lt;br /&gt; boolean isRecording = false;&lt;br /&gt; boolean isPreviewing = true;&lt;br /&gt; // image buffers&lt;br /&gt; //MR int pixelData, newPixelData;&lt;br /&gt; IntBuffer pixelData, newPixelData;&lt;br /&gt; int WIDTH, HEIGHT;&lt;br /&gt; // stats&lt;br /&gt; int paintCount = 0;&lt;br /&gt; long startMilli, endMilli;&lt;br /&gt; // ui&lt;br /&gt; JFrame frame;&lt;br /&gt; Component imagePanel;&lt;br /&gt; JPanel centerPanel, emptyPanel,buttonsPanel;&lt;br /&gt; JButton startButton, stopButton, previewButton, acceptButton, discardButton;&lt;br /&gt; final String START_RECORDING = "Start";&lt;br /&gt; final String STOP_RECORDING = "Stop";&lt;br /&gt; final String PREVIEW_RECORDING = "Preview Recorded Video";&lt;br /&gt; final String ACCEPT_RECORDING = "Accept Recorded Video";&lt;br /&gt; final String DISCARD_RECORDING = "Discard Recorded Video";&lt;br /&gt; final String TITLE = "miniRecorder";&lt;br /&gt; final Color BACKGROUND = Color.WHITE;&lt;br /&gt; /**&lt;br /&gt;  * constructor.&lt;br /&gt;  */&lt;br /&gt; public MiniRecorder() {&lt;br /&gt;         try {&lt;br /&gt;                 QTSessionFactory.setupQTSsession();&lt;br /&gt;                 getQTinfo();&lt;br /&gt;                 initSequenceGrabber();&lt;br /&gt;         } catch (Exception ex) {&lt;br /&gt;                 log("Unable to initialize camera");&lt;br /&gt;                 QTSession.close();&lt;br /&gt;         }&lt;br /&gt;         initUI();&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; private void getQTinfo() {&lt;br /&gt;         log("java.library.path: " + System.getProperty("java.library.path"));&lt;br /&gt;         log ("VERSIONS:");&lt;br /&gt;         log("OpenGL : " + javax.media.opengl.glu.GLU.versionString);&lt;br /&gt;         log("QT     : " + QTSession.getMajorVersion( ) + "." + QTSession.getMinorVersion( ));&lt;br /&gt;         log("QTJ    : " +QTBuild.getVersion( )+"." +QTBuild.getSubVersion( ));&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt; private void initSequenceGrabber() throws Exception {&lt;br /&gt;         sg = new SequenceGrabber();&lt;br /&gt;         SGVideoChannel vc = new SGVideoChannel(sg);&lt;br /&gt;         // init pixelData&lt;br /&gt;         QDRect cameraImageSize = new QDRect(IMAGEWIDTH ,IMAGEHEIGHT);&lt;br /&gt;         gWorld = new QDGraphics(cameraImageSize);&lt;br /&gt;         WIDTH = gWorld.getPixMap().getPixelData().getRowBytes() / 4;&lt;br /&gt;         HEIGHT = cameraImageSize.getHeight();&lt;br /&gt;         pixelData=IntBuffer.allocate(WIDTH * HEIGHT);        &lt;br /&gt;         newPixelData=IntBuffer.allocate(WIDTH * HEIGHT);&lt;br /&gt;&lt;br /&gt;         sg.setGWorld(gWorld, null);&lt;br /&gt;&lt;br /&gt;         vc.setBounds(cameraImageSize);&lt;br /&gt;         vc.setUsage(quicktime.std.StdQTConstants.seqGrabRecord&lt;br /&gt;                         | quicktime.std.StdQTConstants.seqGrabPlayDuringRecord);&lt;br /&gt;         vc.setFrameRate(maxFrameRate);&lt;br /&gt;         vc.setCompressorType(compressorType);&lt;br /&gt;         vc.settingsDialog( );&lt;br /&gt;         SGSoundChannel sc = new SGSoundChannel (sg);&lt;br /&gt;         sc.setUsage(StdQTConstants.seqGrabRecord);&lt;br /&gt;&lt;br /&gt;         // init bufferedImage&lt;br /&gt;         int intsPerRow = gWorld.getPixMap().getPixelData().getRowBytes() / 4;&lt;br /&gt;         pixelData = IntBuffer.allocate(intsPerRow * cameraImageSize.getHeight());&lt;br /&gt;&lt;br /&gt;         cameraReady = true;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; private void initUI() {&lt;br /&gt;&lt;br /&gt;         frame = new JFrame(TITLE);&lt;br /&gt;         frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);&lt;br /&gt;         frame.setBackground(BACKGROUND);&lt;br /&gt;&lt;br /&gt;         // buttons panel&lt;br /&gt;         buttonsPanel = new JPanel();&lt;br /&gt;         buttonsPanel.setBackground(BACKGROUND);&lt;br /&gt;         startButton = new JButton(START_RECORDING);&lt;br /&gt;         buttonsPanel.add(startButton);&lt;br /&gt;         startButton.addActionListener(new ActionListener() {&lt;br /&gt;                 public void actionPerformed(ActionEvent event) {&lt;br /&gt;                         try {&lt;br /&gt;                                 startRecording();&lt;br /&gt;                         } catch (Exception e) {&lt;br /&gt;                                 e.printStackTrace();&lt;br /&gt;                         }&lt;br /&gt;                 }&lt;br /&gt;         });&lt;br /&gt;&lt;br /&gt;         stopButton = new JButton(STOP_RECORDING);&lt;br /&gt;         stopButton.setEnabled(false);&lt;br /&gt;         buttonsPanel.add(stopButton);&lt;br /&gt;         stopButton.addActionListener(new ActionListener() {&lt;br /&gt;                 public void actionPerformed(ActionEvent event) {&lt;br /&gt;                         stopRecording();&lt;br /&gt;                 }&lt;br /&gt;         });&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;         previewButton = new JButton(PREVIEW_RECORDING);&lt;br /&gt;         previewButton.setEnabled(false);&lt;br /&gt;         buttonsPanel.add(previewButton);&lt;br /&gt;         previewButton.addActionListener(new ActionListener() {&lt;br /&gt;                 public void actionPerformed(ActionEvent event) {&lt;br /&gt;                         previewRecording();&lt;br /&gt;                 }&lt;br /&gt;         });&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;         acceptButton = new JButton(ACCEPT_RECORDING);&lt;br /&gt;         acceptButton.setEnabled(false);&lt;br /&gt;         buttonsPanel.add(acceptButton);&lt;br /&gt;         acceptButton.addActionListener(new ActionListener() {&lt;br /&gt;                 public void actionPerformed(ActionEvent event) {&lt;br /&gt;                         acceptRecording();&lt;br /&gt;                 }&lt;br /&gt;         });&lt;br /&gt;&lt;br /&gt;         discardButton = new JButton(DISCARD_RECORDING);&lt;br /&gt;         discardButton.setEnabled(false);&lt;br /&gt;         buttonsPanel.add(discardButton);&lt;br /&gt;         discardButton.addActionListener(new ActionListener() {&lt;br /&gt;                 public void actionPerformed(ActionEvent event) {&lt;br /&gt;                         discardRecording();&lt;br /&gt;                 }&lt;br /&gt;         });&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;         // bottom panel - for buttons&lt;br /&gt;         JLabel space = new JLabel("  ");&lt;br /&gt;         buttonsPanel.add(space);&lt;br /&gt;         frame.add(BorderLayout.SOUTH, buttonsPanel);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;         // image panel&lt;br /&gt;         centerPanel = new JPanel();&lt;br /&gt;         centerPanel.setBackground(BACKGROUND);&lt;br /&gt;&lt;br /&gt;         emptyPanel = new JPanel();&lt;br /&gt;         emptyPanel.setPreferredSize(new Dimension(IMAGEWIDTH, IMAGEHEIGHT));&lt;br /&gt;         emptyPanel.setBackground(Color.ORANGE);&lt;br /&gt;&lt;br /&gt;         if (cameraReady) {&lt;br /&gt;                 imagePanel = buildOpenGLCameraView();&lt;br /&gt;                 centerPanel.add(imagePanel);&lt;br /&gt;         } else {&lt;br /&gt;                 centerPanel.add(emptyPanel);&lt;br /&gt;         }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;         frame.add(BorderLayout.CENTER, centerPanel);&lt;br /&gt;         Toolkit toolkit = java.awt.Toolkit.getDefaultToolkit ();&lt;br /&gt;         Dimension screensize = toolkit.getScreenSize ();&lt;br /&gt;         frame.setBounds(0, 0, screensize.width, screensize.height-250);&lt;br /&gt;         frame.setVisible(true);&lt;br /&gt;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; private void startRecording() {&lt;br /&gt;         log("start recording");&lt;br /&gt;         isRecording = true;&lt;br /&gt;         startButton.setEnabled(false);&lt;br /&gt;         stopButton.setEnabled(true);&lt;br /&gt;         buttonsPanel.validate();&lt;br /&gt;         startMilli = System.currentTimeMillis();&lt;br /&gt;&lt;br /&gt;         try {&lt;br /&gt;                 prepareAndStartRecord();&lt;br /&gt;         } catch (QTException e) {&lt;br /&gt;                 log("Unable to start recording");&lt;br /&gt;         } catch (QTNullPointerException e) {&lt;br /&gt;                 log("Unable to start recording");&lt;br /&gt;         }&lt;br /&gt;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; public void stopRecording() {&lt;br /&gt;         log ("stop recording");&lt;br /&gt;         try {&lt;br /&gt;                 endMilli = System.currentTimeMillis();&lt;br /&gt;                 sg.stop();&lt;br /&gt;                 log("recording stopped");&lt;br /&gt;                 double seconds = (endMilli - startMilli) / 1000;&lt;br /&gt;                 double previewFps = paintCount / seconds;&lt;br /&gt;                 log("preview stats: seconds=" + seconds + " fps=" + previewFps);&lt;br /&gt;&lt;br /&gt;         } catch (StdQTException e) {&lt;br /&gt;                 log("Unable to stop recording");&lt;br /&gt;         }&lt;br /&gt;         isRecording = false;&lt;br /&gt;         stopButton.setEnabled(false);&lt;br /&gt;         previewButton.setEnabled(true);&lt;br /&gt;         frame.validate();&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public void previewRecording() {&lt;br /&gt;         log("preview recording");&lt;br /&gt;         previewButton.setEnabled(false);&lt;br /&gt;         acceptButton.setEnabled(true);&lt;br /&gt;         discardButton.setEnabled(true);&lt;br /&gt;&lt;br /&gt;         // replace previewPanel with movie player&lt;br /&gt;         qtc = getQuicktimeMovieComponent(qtFile);&lt;br /&gt;         qtc.setPreferredSize(new Dimension(IMAGEWIDTH ,IMAGEHEIGHT));&lt;br /&gt;         setCenterComponent(qtc);&lt;br /&gt;&lt;br /&gt;         // Start playing the movie&lt;br /&gt;         try {&lt;br /&gt;                 movie.start();&lt;br /&gt;                 log("movie playing");&lt;br /&gt;         } catch (Exception e) {&lt;br /&gt;                 e.printStackTrace();&lt;br /&gt;         }&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public void acceptRecording() {&lt;br /&gt;         log("accept recording " + qtFile.getName());&lt;br /&gt;         acceptButton.setEnabled(false);&lt;br /&gt;         discardButton.setEnabled(false);&lt;br /&gt;         startButton.setEnabled(true);&lt;br /&gt;         setCenterComponent(imagePanel);&lt;br /&gt;         try {&lt;br /&gt;                 movie.stop();&lt;br /&gt;                 log("movie stopped");&lt;br /&gt;         } catch (StdQTException e) {&lt;br /&gt;                 e.printStackTrace();&lt;br /&gt;         }&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public void discardRecording() {&lt;br /&gt;         log("discard recording " + qtFile.getName());&lt;br /&gt;         acceptButton.setEnabled(false);&lt;br /&gt;         discardButton.setEnabled(false);&lt;br /&gt;         startButton.setEnabled(true);&lt;br /&gt;         setCenterComponent(imagePanel);&lt;br /&gt;         try {&lt;br /&gt;                 movie.stop();&lt;br /&gt;                 log("movie stopped");&lt;br /&gt;         } catch (StdQTException e) {&lt;br /&gt;                 e.printStackTrace();&lt;br /&gt;         }&lt;br /&gt;         discardQTFile();&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; private void setCenterComponent(Component component) {&lt;br /&gt;         centerPanel.removeAll();&lt;br /&gt;         centerPanel.add("Center", component);&lt;br /&gt;         frame.validate();&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; /**&lt;br /&gt;  * Initializes the SequenceGrabber. Gets it's source video bounds, creates a&lt;br /&gt;  * gWorld with that size. Configures the video channel for grabbing,&lt;br /&gt;  * previewing and playing during recording.&lt;br /&gt;  */&lt;br /&gt;&lt;br /&gt; private void prepareAndStartRecord() throws QTException {&lt;br /&gt;         QTFile movieFile = getQTFile();&lt;br /&gt;         sg.setDataOutput(movieFile,&lt;br /&gt;                         quicktime.std.StdQTConstants.seqGrabToDisk);&lt;br /&gt;         sg.prepare(false, true);&lt;br /&gt;         sg.startRecord();&lt;br /&gt;&lt;br /&gt;         // setting up a thread, to idle the sequence grabber&lt;br /&gt;         Runnable idleCamera = new Runnable() {&lt;br /&gt;&lt;br /&gt;                 public void run() {&lt;br /&gt;                         try {&lt;br /&gt;                                 while (sg != null &amp;amp;&amp;amp; isRecording) {&lt;br /&gt;                                         Thread.sleep(taskingDelay);&lt;br /&gt;                                         synchronized (sg) {&lt;br /&gt;                                                 sg.idleMore();&lt;br /&gt;                                                 sg.update(null);&lt;br /&gt;                                         }&lt;br /&gt;                                 }&lt;br /&gt;                         } catch (Exception ex) {&lt;br /&gt;                                 ex.printStackTrace();&lt;br /&gt;                         }&lt;br /&gt;                 }&lt;br /&gt;         };&lt;br /&gt;         (new Thread(idleCamera)).start();&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; /**&lt;br /&gt;  * This creates a Panel, which displays the camera image using OpenGL&lt;br /&gt;  */&lt;br /&gt; public Component buildOpenGLCameraView() {&lt;br /&gt;         GLEventListener glEventListener = new GLEventListener() {&lt;br /&gt;&lt;br /&gt;                 // Called by the drawable immediately after the OpenGL context is initialized.&lt;br /&gt;                 public void init(GLAutoDrawable drawable) {&lt;br /&gt;                         log("init OpenGL");&lt;br /&gt;                         GL gl = drawable.getGL();&lt;br /&gt;                         gl.glClearColor(1.0f, 1.0f, 1.0f, 0.0f);&lt;br /&gt;                         gl.glShadeModel(GL.GL_FLAT);&lt;br /&gt;                         gl.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT);&lt;br /&gt;                 }&lt;br /&gt;&lt;br /&gt;                 // Called by the drawable to initiate OpenGL rendering by the client.&lt;br /&gt;                 public void display(GLAutoDrawable drawable) {&lt;br /&gt;                         if (!isRecording) {&lt;br /&gt;                                 return;&lt;br /&gt;                         }&lt;br /&gt;                         GL gl = drawable.getGL();&lt;br /&gt;                         gl.glClear(GL.GL_COLOR_BUFFER_BIT | GL.GL_DEPTH_BUFFER_BIT);&lt;br /&gt;                         gl.glPixelStorei(GL.GL_UNPACK_ALIGNMENT, 1);&lt;br /&gt;                         gWorld.getPixMap().getPixelData().copyToArray(0, pixelData.array(), 0,&lt;br /&gt;                                         WIDTH * HEIGHT);&lt;br /&gt;                         flipVertically(pixelData);&lt;br /&gt;                         gl.glDrawPixels(WIDTH, HEIGHT, gl.GL_BGRA,&lt;br /&gt;                                         gl.GL_UNSIGNED_INT_8_8_8_8_REV, newPixelData);&lt;br /&gt;                         paintCount++;&lt;br /&gt;                 }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                 public void flipVertically( IntBuffer pixelData ) {&lt;br /&gt;                     for ( int row=0; row&amp;lt;HEIGHT; row++ ) {&lt;br /&gt;                         System.arraycopy(pixelData.array(), row*WIDTH, newPixelData.array(), (HEIGHT-row-1)*WIDTH, WIDTH) ;&lt;br /&gt;                     }&lt;br /&gt;                 }&lt;br /&gt;                 // Called by the drawable during the first repaint after the&lt;br /&gt;                 // component has been resized.&lt;br /&gt;                 public void reshape(GLAutoDrawable drawable, int i, int x, int width,&lt;br /&gt;                                 int height) {&lt;br /&gt;&lt;br /&gt;                         GL gl = drawable.getGL();&lt;br /&gt;                         // MR GLU glu = drawable.getGLU();&lt;br /&gt;                         gl.glViewport(0, 0, WIDTH, HEIGHT);&lt;br /&gt;                         gl.glMatrixMode(GL.GL_PROJECTION);&lt;br /&gt;                         gl.glLoadIdentity();&lt;br /&gt;                         // MR glu.gluOrtho2D(0.0, (double) WIDTH, 0.0, (double) HEIGHT);&lt;br /&gt;                         gl.glMatrixMode(GL.GL_MODELVIEW);&lt;br /&gt;                         gl.glLoadIdentity();&lt;br /&gt;&lt;br /&gt;                 }&lt;br /&gt;&lt;br /&gt;                 // Called by the drawable when the display mode or the display device&lt;br /&gt;                 // associated with the GLDrawable has changed.&lt;br /&gt;                 public void displayChanged(GLAutoDrawable drawable,&lt;br /&gt;                                 boolean modeChanged, boolean deviceChanged) {&lt;br /&gt;                 }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;         };&lt;br /&gt;&lt;br /&gt;         GLCapabilities caps = new GLCapabilities();&lt;br /&gt;         canvas=new GLCanvas(caps);&lt;br /&gt;         canvas.addGLEventListener(glEventListener);&lt;br /&gt;         canvas.setBounds(0, 0, IMAGEWIDTH ,IMAGEHEIGHT);&lt;br /&gt;         Animator animator = new Animator(canvas);&lt;br /&gt;         animator.start();&lt;br /&gt;         return canvas;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public QTFile getQTFile() {&lt;br /&gt;         String path = activeDirectory + fileName;&lt;br /&gt;         int count = 0;&lt;br /&gt;         qtFile = new QTFile(path + count);&lt;br /&gt;         while (qtFile.exists()) {&lt;br /&gt;                 count++;&lt;br /&gt;                 qtFile = new QTFile(path + count);&lt;br /&gt;         }&lt;br /&gt;         log("getQTFile: " + path + count);&lt;br /&gt;         return qtFile;&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public void discardQTFile() {&lt;br /&gt;         log("discardQTFile: " + qtFile.getName());&lt;br /&gt;         qtFile.deleteOnExit();&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt; public void log(String text) {&lt;br /&gt;         System.out.println(text);&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; /**&lt;br /&gt;  * Gets a Movie component for the specified file&lt;br /&gt;  */&lt;br /&gt; protected JComponent getQuicktimeMovieComponent(QTFile qtFile) {&lt;br /&gt;         QTJComponent qtcmp = null;&lt;br /&gt;&lt;br /&gt;         try {&lt;br /&gt;                 // Create the movie&lt;br /&gt;                 movie = Movie.fromFile(OpenMovieFile.asRead(qtFile));&lt;br /&gt;                 movie.setBounds(new QDRect(IMAGEWIDTH ,IMAGEHEIGHT));&lt;br /&gt;                 moviePlayer = new MoviePlayer(movie);&lt;br /&gt;&lt;br /&gt;                 // Create the QuickTime Movie Component&lt;br /&gt;                 qtcmp = QTFactory.makeQTJComponent(moviePlayer);&lt;br /&gt;                 return qtcmp.asJComponent();&lt;br /&gt;         } catch (QTException err) {&lt;br /&gt;                 err.printStackTrace();&lt;br /&gt;                 return null;&lt;br /&gt;         }&lt;br /&gt; }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; public static void main(String args[]) {&lt;br /&gt;         new MiniRecorder();&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3713635942384988451-5142957602620913543?l=marcoronchetti.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcoronchetti.blogspot.com/feeds/5142957602620913543/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3713635942384988451&amp;postID=5142957602620913543' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3713635942384988451/posts/default/5142957602620913543'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3713635942384988451/posts/default/5142957602620913543'/><link rel='alternate' type='text/html' href='http://marcoronchetti.blogspot.com/2008/05/bulding-video-recorder-that-allows.html' title='Building with qtjava a video recorder that allows previewing while recording'/><author><name>Marco Ronchetti</name><uri>http://www.blogger.com/profile/15839838248770762666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://latemar.science.unitn.it/segue_userfiles/ronchet/MarcoRonchettiSmall.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3713635942384988451.post-2289823626477482716</id><published>2008-03-12T22:23:00.002+01:00</published><updated>2008-03-12T22:26:10.698+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iphone'/><title type='text'>I hate itunes.</title><content type='html'>I hate itunes. Instead of developing software with the user in mind – Apple has been unbeatable on this field in the past – itunes seems to be written with a different main goal: protect intellectual property, so that it be difficult for the users to “share” the tunes bought on line. I do not have anything against this goal – but the result is that simple things (like e.g. moving pictures into the iphone, or managing synchronization among multiple machines - home, office and iphone) become more difficult than necessary. Yes, I hate itunes.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3713635942384988451-2289823626477482716?l=marcoronchetti.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcoronchetti.blogspot.com/feeds/2289823626477482716/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3713635942384988451&amp;postID=2289823626477482716' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3713635942384988451/posts/default/2289823626477482716'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3713635942384988451/posts/default/2289823626477482716'/><link rel='alternate' type='text/html' href='http://marcoronchetti.blogspot.com/2008/03/i-hate-itunes.html' title='I hate itunes.'/><author><name>Marco Ronchetti</name><uri>http://www.blogger.com/profile/15839838248770762666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://latemar.science.unitn.it/segue_userfiles/ronchet/MarcoRonchettiSmall.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3713635942384988451.post-5518489789842591536</id><published>2008-03-07T16:59:00.003+01:00</published><updated>2008-03-07T17:02:44.698+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mac OsX'/><title type='text'>Comparing directories in MacOsX</title><content type='html'>I needed to check if a directory and its backup were equal.&lt;br /&gt;I found two nice ways of doing this:&lt;br /&gt;- diff -rq dir1 dir2&lt;br /&gt;and the very powerful  FileMerge  (one of the Apple Developer Tools) thac can be lauched frm the shell with "opendiff".&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3713635942384988451-5518489789842591536?l=marcoronchetti.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcoronchetti.blogspot.com/feeds/5518489789842591536/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3713635942384988451&amp;postID=5518489789842591536' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3713635942384988451/posts/default/5518489789842591536'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3713635942384988451/posts/default/5518489789842591536'/><link rel='alternate' type='text/html' href='http://marcoronchetti.blogspot.com/2008/03/comparing-directories-in-macosx.html' title='Comparing directories in MacOsX'/><author><name>Marco Ronchetti</name><uri>http://www.blogger.com/profile/15839838248770762666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://latemar.science.unitn.it/segue_userfiles/ronchet/MarcoRonchettiSmall.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3713635942384988451.post-8792196654462752046</id><published>2008-02-29T09:33:00.016+01:00</published><updated>2008-06-09T09:34:33.692+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iphone'/><title type='text'>iphone tools</title><content type='html'>I've just got my iphone from USA - thanks Alberto for your help!&lt;br /&gt;&lt;br /&gt;I'll keep here a list of useful tools I found.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Essential tools&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;First of all, install Sources/Bigboss's Recommended... !&lt;/li&gt;&lt;/ul&gt;System Stuff:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Make sure that you have BSD Subsystem&lt;/li&gt;&lt;li&gt;OpenSSH&lt;/li&gt;&lt;li&gt;Term-vt100&lt;/li&gt;&lt;li&gt;AFPd. It allows you to mount your iphone wirelessly from the mac, and view its content as three external disks. This way you can e.g. transfer the pictures taken with the iphone - they are in Mobile's Home Dir/Media/DCIM/100APPLE - That's good for exporting pictures - but not for importing (they must be referenced in some database updated by itunes, so that's not so trivial - yet).&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;ToDoList (how can a similar tool be missing from the standard distribution ?)&lt;/li&gt;&lt;li&gt;BossPrefs allows to quickly en(dis)able Edge, Wifi, BT, SSH (note that in 1.1.3 you cannot change your pwd, so having ssh always on is a real threat!)&lt;/li&gt;&lt;li&gt;1.1.3 Safari Patch allows viewing local files in Safari (therefore it allows e.g. viewing local pdfs)&lt;/li&gt;&lt;li&gt;SysInfo 1.0b - info about your hardware and processes&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;Fring&lt;/li&gt;&lt;li&gt;AVPlayer (requires Docs, which requires 1.1.3/4 Safari Patch)&lt;/li&gt;&lt;/ul&gt;&lt;ul&gt;&lt;li&gt;The Apple development kit!  &lt;a onclick="return top.js.OpenExtLink(window,event,this)" href="http://developer.apple.com/iphone/program/" target="_blank"&gt;http://developer.apple.com&lt;wbr&gt;/iphone/program/&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;Useful tools&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;HP-11C is a nice emulator of an HP scientific calculator - there are  other flavors too!&lt;/li&gt;&lt;li&gt;Contacts|HomeScreen allows having an icon on the Springboard to access directly your contacts&lt;/li&gt;&lt;li&gt;Search allows you searching into your contacts and events&lt;/li&gt;&lt;li&gt;LocateMe uses GSM cells to find your (approximate) location&lt;/li&gt;&lt;li&gt;Converter converts among a lot of different units (including clothing)&lt;/li&gt;&lt;li&gt;RemoteNote (requires JiggyRuntime)&lt;/li&gt;&lt;li&gt;Snapture&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;Not essentals, but somehow nice things&lt;/span&gt;&lt;ul&gt;&lt;li&gt;Categories (to be installed together with Poof) allows having "folders" into the Springboard&lt;/li&gt;&lt;li&gt;Summerboard enhances a bit the Springboard look&lt;/li&gt;&lt;li&gt;Sensors gives you feedback from the accelerometer.&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;Most wanted:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;It would be nice to have:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;an EDGE/GRPS modem to use the iphone as a modem for accessing the web from the laptop! There are several ways to hack this through an ad-hoc network between laptop and iphone, but setting them up requires some time and my experience with them wasn't great:&lt;/li&gt;&lt;ul&gt;&lt;li&gt;I followed without success some instructions (&lt;a href="http://nsgn.net/better_iphone_tethering/overview.htm"&gt;here&lt;/a&gt;)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;a method based on a SOCKS (see &lt;a href="http://lifehacker.com/software/feature/use-your-iphones-internet-connection-on-your-laptop-327066.php"&gt;here&lt;/a&gt;) worked with some web sites, and not with others (why?)&lt;/li&gt;&lt;li&gt;I've found a &lt;a href="http://dragonforged.com/blog/2007/09/tethering-the-iphone-for-os-x.html"&gt;third possibility&lt;/a&gt;, not tested yet.&lt;/li&gt;&lt;/ul&gt;&lt;li&gt;the possibility of accessing a BlueTooth GPS!&lt;/li&gt;&lt;li&gt;a browser that remembers the passwords and fields (Firefox is under development)&lt;/li&gt;&lt;li&gt;the possibility to do cut and paste (apple is working on it?)&lt;/li&gt;&lt;li&gt;Flash...&lt;/li&gt;&lt;li&gt;the possibility of viewing the iphone as an external disk when connected to the laptop via USB  (I've found but not yet tested a commercial solution:&lt;a href="http://www.ecamm.com/mac/megaphone/"&gt; Megaphone&lt;/a&gt; )&lt;/li&gt;&lt;li&gt;the possibility of synchronizing Calendar and Contacts over the wireless without using itunes (&lt;a href="http://www.iphoneatlas.com/2007/11/07/funambol-does-slick-wireless-contact-sync/"&gt;Funambol&lt;/a&gt; does it only for contacts right now)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;the possibility of loading music and photos without using itunes&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-weight: bold;"&gt;WebApps&lt;/span&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.apple.com/iphone/webapps/"&gt;List of webapps&lt;/a&gt; maintained by Apple&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://s4iphone.com/index_iphone.jsp"&gt;accessing Skype&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Some general info&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;here is a selection of info (mostly taken from "&lt;a href="http://www.giornale.fm/2008/01/16/la-guida-completa-su-iphonetutto-o-quasi-quello-che-vorreste-sapere-e-non-vi-hanno-mai-detto/"&gt;la guida completa su iphone&lt;/a&gt;" - in italian)&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-weight: bold;"&gt;Info about unlocking &lt;/span&gt;- see &lt;a href="http://iphone.unlock.no/"&gt;iphone.unlock.no&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="line-height: 16px;font-family:'Lucida Grande';font-size:85%;" class="Apple-style-span"  &gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&lt;strong&gt;Come faccio a controllare che Firmware ha il mio iPhone? &lt;/strong&gt;&lt;/span&gt;Basta digitare sul tastierino numerico &lt;strong&gt;*3001#12345#*&lt;/strong&gt; e premere CALL.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="line-height: 16px;font-family:'Lucida Grande';font-size:85%;" class="Apple-style-span"  &gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&lt;strong&gt;Come mai anche se ho es. 5 giga liberi sull’iPhone mi viene detto “memoria in esaurimento” oppure “spazio su disco insufficiente”?&lt;/strong&gt;&lt;/span&gt; Perchè i programmi che si scaricano dall’installer vanno ad intaccare una memoria particolarmente ridotta (quella della partizione firmware di circa 23 mb) e non quella dell’iPhone.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="line-height: 16px;font-family:'Lucida Grande';font-size:85%;" class="Apple-style-span"  &gt;&lt;/span&gt;&lt;span style="line-height: 16px;font-family:'Lucida Grande';font-size:85%;" class="Apple-style-span"  &gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&lt;strong&gt;Esiste un modo per aggirare questo ostacolo?&lt;/strong&gt;&lt;/span&gt;Sì, bisogna 1. installare Terminal - 2. digitare mv /Applications /private/var - 3. digitare &lt;span style="color: rgb(139, 0, 0);"&gt;[attenzione sono “elle” e “enne” minuscole]&lt;/span&gt; ln -s /private/var/Applications /Applications -4. Riavviate. Così facendo le applicazioni vanno in /privata/var che non è altro che la partizione degli 8 giga. &lt;span style="color: rgb(255, 0, 0);"&gt;Oppure&lt;/span&gt; spostare la cartella Applications manualmente (via ssh) in /private/var e poi da terminale digitare ln -s /Applications /private/var/Applications. Prima di riavviare controllare via ssh che il collegamento nella root ( / ) sia presente e che il collegamento ti porti effettivamente alla vera cartella Applications. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="line-height: 16px;font-family:'Lucida Grande';font-size:85%;" class="Apple-style-span"  &gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&lt;strong&gt;Quali differenze ci sono tra Attivazione, Jailbreak e Sblocco?&lt;/strong&gt;&lt;/span&gt;L’Attivazione si fa per accedere al menu principale di iPhone senza usare iTunes, per attivarlo in modo da utilizzarlo come un iPod Touch.Il Jailbreak è l’operazione che permette di scrivere il File System, dove risiede il Firmware. Necessario per consentire l’uso di applicazioni terze.Lo Sblocco è l’ultima operazione, quella che permette di accedere, con l’aiuto di applicazioni terze, alla parte telefonica di iPhone in modo che sia fruibile con qualsiasi Sim.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="line-height: 16px;font-family:'Lucida Grande';font-size:85%;" class="Apple-style-span"  &gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&lt;strong&gt;Non ho il Wi-Fi, come faccio?&lt;/strong&gt;&lt;/span&gt;Puoi utilizzare il tuo Mac come access point, andando in Preferenze di Sistema &gt;&gt; Condivisione &gt;&gt; Internet e settare come “uscita” Airport. Metti una password ed è fatta! Naturalmente se hai un Mac con Airport integrata). Una descrizione completa la trovi nel blog di &lt;a href="http://robertodacci.wordpress.com/2007/10/08/faq-usare-il-mac-come-access-point-wi-fi-per-iphone-e-ipod-touch/"&gt;APNIBI&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="line-height: 16px;font-family:'Lucida Grande';font-size:85%;" class="Apple-style-span"  &gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&lt;strong&gt;Posso mandare sms multipli?&lt;/strong&gt;&lt;/span&gt;Non direttamente da iPhone, ma con l’ausilio sempre di WeTool o SmsD questa operazione è ora fattibile. [ WeTool si ottiene scaricando la Source &lt;a onclick="javascript:urchinTracker ('/outgoing/app.weiphone.com/installer/');" href="http://app.weiphone.com/installer/" target="_blank"&gt;http://app.weiphone.com/installer/&lt;/a&gt; ]Tra parentesi WeTool può anche eliminare le chiamate singole.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="line-height: 16px;font-family:'Lucida Grande';font-size:85%;" class="Apple-style-span"  &gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&lt;strong&gt;Posso fare video con l’iPhone?&lt;/strong&gt;&lt;/span&gt;No, per il semplice motivo che l’iPhone non è dotato di una video camera, ma solo di una fotocamera da 2 mpixel. Ora hanno creato un piccolo programma (Drunknbass) che registra, tramite fotocamera, video della durata di 5 secondi; esiste la possibilità di rivederli, ma non di registrarli.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="line-height: 16px;font-family:'Lucida Grande';font-size:85%;" class="Apple-style-span"  &gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&lt;strong&gt;Posso leggere/modificare documenti Word, Excel, Pdf?&lt;/strong&gt;&lt;/span&gt;Li puoi leggere se allegati alle mail che ti mandano, ma non puoi modificarli. Esiste poi un programma che si chiama PdfViewer che permette di leggere i file pdf che vengono inseriti tramite SSH in un’apposita cartella interna dell’iPhone.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="line-height: 16px;font-family:'Lucida Grande';font-size:85%;" class="Apple-style-span"  &gt;&lt;/span&gt;&lt;span style="line-height: 16px;font-family:'Lucida Grande';font-size:85%;" class="Apple-style-span"  &gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&lt;strong&gt;E posso scaricarli dalle mail?&lt;/strong&gt;&lt;/span&gt;All’inizio no, così come per le foto, potevano essere visualizzati solamente nelle mail. Ad oggi si è aggiunto un programma che si chiama MNPLight ( &lt;a onclick="javascript:urchinTracker ('/outgoing/movenplay.gforge.inria.fr/iphone');" href="http://movenplay.gforge.inria.fr/iphone" target="_blank"&gt;http://movenplay.gforge.inria.fr/iphone&lt;/a&gt; ) che permette di scaricarli e visualizzarli anche off-line.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="line-height: 16px;font-family:'Lucida Grande';font-size:85%;" class="Apple-style-span"  &gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&lt;strong&gt;Posso inserire allegati nelle mie Mail in uscita?&lt;/strong&gt;&lt;/span&gt;Sì se si tratta di foto che hai sincronizzato con iPhoto e se si tratta di foto scattate direttamente da iPhone. Per allegare documenti, devono essere presenti nelle cartelle interne di iPhone (cioè inseriti preventivamente tramite ssh).&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="line-height: 16px;font-family:'Lucida Grande';font-size:85%;" class="Apple-style-span"  &gt;&lt;/span&gt;&lt;span style="line-height: 16px;font-family:'Lucida Grande';font-size:85%;" class="Apple-style-span"  &gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&lt;strong&gt;Posso allegarne uno solo alla volta?&lt;/strong&gt;&lt;/span&gt;Per quello che riguarda iPhone sì. Con SendFile (programma terzo) puoi aggiungerne anche fino a tre (testato) attraverso un abbastanza laborioso lavoro a ritroso dopo aver salvato ogni volta la Mail.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="line-height: 16px;font-family:'Lucida Grande';font-size:85%;" class="Apple-style-span"  &gt;&lt;span style="color: rgb(0, 0, 255);"&gt;&lt;strong&gt;iPhone apre i siti Flash?&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="line-height: 16px;font-family:'Lucida Grande';font-size:85%;" class="Apple-style-span"  &gt;No, al momento non è possibile.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="line-height: 16px;font-family:'Lucida Grande';font-size:85%;" class="Apple-style-span"  &gt;&lt;span style="color: rgb(0, 0, 153); font-weight: bold;"&gt;EDGE configuration in Italy&lt;/span&gt; - see &lt;a href="http://appleiphoneplanet.blogspot.com/2007/10/configurazione-edge-per-liphone.html"&gt;configurazione EDGE&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="line-height: 16px;font-family:'Lucida Grande';font-size:85%;" class="Apple-style-span"  &gt;&lt;span style="font-weight: bold;"&gt;Logging in via terminal &lt;/span&gt;- Using username root and password alpine does not work - here is why: &lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;When vt100 launches it runs the login command with a flag to login as root. The mobile user is not allowed to login as root. You basically have to launch vt100 with root permissions. Big Boss has a package that fixes this. Install SUID Lib Fix under 1.1.3 tweaks. That sets the suid bit on login which will fix the problem. Now you will be able to use the root password to login when terminal prompts you. You might also want to install the BSD Subsystem 2.0 Term fix under Tweaks. This fixes the problem where backspace submits a space instead.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3713635942384988451-8792196654462752046?l=marcoronchetti.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcoronchetti.blogspot.com/feeds/8792196654462752046/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3713635942384988451&amp;postID=8792196654462752046' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3713635942384988451/posts/default/8792196654462752046'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3713635942384988451/posts/default/8792196654462752046'/><link rel='alternate' type='text/html' href='http://marcoronchetti.blogspot.com/2008/02/iphone-tools.html' title='iphone tools'/><author><name>Marco Ronchetti</name><uri>http://www.blogger.com/profile/15839838248770762666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://latemar.science.unitn.it/segue_userfiles/ronchet/MarcoRonchettiSmall.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3713635942384988451.post-481371255508963749</id><published>2008-01-31T17:19:00.001+01:00</published><updated>2008-05-28T00:30:01.365+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='download video'/><category scheme='http://www.blogger.com/atom/ns#' term='iphone'/><category scheme='http://www.blogger.com/atom/ns#' term='youtube'/><title type='text'>Downloading videos from Youtube</title><content type='html'>(and saving them on your HD). There are web sites providing such service. See e.g.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://get2pc.com/post.php"&gt;http://get2pc.com/post.php&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://keepvid.com/"&gt;http://keepvid.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;On the iphone this can be done with MyMedia (to get it, add to the iphone installer the source &lt;em&gt;http://studio-psk.com/app&lt;/em&gt;).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3713635942384988451-481371255508963749?l=marcoronchetti.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcoronchetti.blogspot.com/feeds/481371255508963749/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3713635942384988451&amp;postID=481371255508963749' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3713635942384988451/posts/default/481371255508963749'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3713635942384988451/posts/default/481371255508963749'/><link rel='alternate' type='text/html' href='http://marcoronchetti.blogspot.com/2008/01/downloading-videos-from-youtube.html' title='Downloading videos from Youtube'/><author><name>Marco Ronchetti</name><uri>http://www.blogger.com/profile/15839838248770762666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://latemar.science.unitn.it/segue_userfiles/ronchet/MarcoRonchettiSmall.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3713635942384988451.post-8645686681718931751</id><published>2008-01-21T12:53:00.000+01:00</published><updated>2008-01-21T12:59:58.770+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='video'/><category scheme='http://www.blogger.com/atom/ns#' term='Mac OsX'/><category scheme='http://www.blogger.com/atom/ns#' term='audio'/><title type='text'>Extracting an audio track from a video on a Mac</title><content type='html'>I was looking for a free software for extracting an audio track from a movie.&lt;br /&gt;&lt;br /&gt;I found one that does much more: it's called &lt;span style="font-weight: bold;"&gt;MPEG Streamclip&lt;/span&gt;, and it is produced by an italian company called &lt;a href="http://www.squared5.com/"&gt;Squared5&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;It is a powerful video converter, player, editor for Mac and Windows. It can play many movie files, not only MPEGs; it can convert MPEG files between muxed/demuxed formats for authoring; it can encode movies to many formats, including iPod; it can cut, trim and join movies.&lt;br /&gt;&lt;br /&gt;MPEG Streamclip can also download videos from YouTube and Google by entering the page URL.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3713635942384988451-8645686681718931751?l=marcoronchetti.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcoronchetti.blogspot.com/feeds/8645686681718931751/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3713635942384988451&amp;postID=8645686681718931751' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3713635942384988451/posts/default/8645686681718931751'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3713635942384988451/posts/default/8645686681718931751'/><link rel='alternate' type='text/html' href='http://marcoronchetti.blogspot.com/2008/01/xtracting-audio-track-from-video-on-mac.html' title='Extracting an audio track from a video on a Mac'/><author><name>Marco Ronchetti</name><uri>http://www.blogger.com/profile/15839838248770762666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://latemar.science.unitn.it/segue_userfiles/ronchet/MarcoRonchettiSmall.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3713635942384988451.post-3654430727232619134</id><published>2007-12-19T08:00:00.000+01:00</published><updated>2008-02-04T10:56:56.797+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='www.chronochrono.com'/><category scheme='http://www.blogger.com/atom/ns#' term='iphone'/><category scheme='http://www.blogger.com/atom/ns#' term='chronochrono'/><title type='text'>Chronicle of buying an Apple iphone from chronochrono.</title><content type='html'>&lt;span style="font-style: italic;"&gt;Last update of this report: Feb. 1, 2008.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;This is the story of my attempt of buying an iphone from a small Boulder based company called chronochono (&lt;a href="http://www.chronochrono.com/"&gt;www.chronochrono.com&lt;/a&gt;). It might be of interest for other people considering to to the same.&lt;br /&gt;&lt;br /&gt;Chronochrono sells iphones with several options (locked, unlocked, activated with a stealthsim).&lt;br /&gt;&lt;br /&gt;On &lt;span style="font-weight: bold;"&gt;Dec 13&lt;/span&gt; I bought an iphone with a stealthsim from them. On their web site they wrote they would be shipping within the day, but my unfortunate experience is that after several days they kept saying that they were waiting for the stealthsim to arrive (therefore at least their statement  about immediate availability is not true!).&lt;br /&gt;&lt;br /&gt;On &lt;span style="font-weight: bold;"&gt;Dec 19&lt;/span&gt; I had a mail exchange with Chris Wentz (probably the only person behind this company) and he tried to reassure me. We agreed that he would have shipped the iphone immediately, and the stealth sim when available. On &lt;span style="font-weight: bold;"&gt;Dec 20&lt;/span&gt; I did get a message form USPS - but it was only to say that Chris had requested a shipping - I never got the confirmation from USPS that they actually got the shipment.&lt;br /&gt;&lt;br /&gt;On &lt;span style="font-weight: bold;"&gt;Dec.23&lt;/span&gt; still the USPS site did not give any sign of having received the shipment (you can still see &lt;a href="http://trkcnfrm1.smi.usps.com/PTSInternetWeb/InterLabelInquiry.do?origTrackNum=EC929988024US"&gt;here&lt;/a&gt; the current status...). It might be that USPS is sloppy in updating its site, but that's a bit hard to believe... Chris sent me an email: &lt;span style="font-style: italic;"&gt;"I don't know what else I can do to convince you it was sent.  I will try to have usps cancel the shipment. If you get the phone please send it back to me.  I gave you a refund through Google Checkout so you would not be worried, and I don't want to risk any legal hassles."&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;On the evening of the same day Chris sent me another mind-boggling message: &lt;span style="font-style: italic;"&gt;"Marco,&lt;/span&gt;&lt;span style="font-style: italic;"&gt; I wanted to make sure you have your USPS #- ec 930 079 600 US. It should update with new information once your package is in Greece at customs.  One of my assistants put in the wrong number when entering it into Google.  I guarantee it will be there By new years, and if not I will refund you $40 for the delay.  I appreciate your business and if there is anything I can do to make it better please let me know."&lt;br /&gt;&lt;/span&gt;Now - if he actually sent me a refund - and requested to cancel the previous shipment as he said in the morning - why was he shipping once more? (btw, I'm not living in Greece...)&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;I had another element of suspicion: on their home page they have a PayPal logo. However when you buy from them , you do not really have the option to go through PayPal, but can only go through the Google Checkout option (which does not really fully protect you from fraud like Paypal does). Unfortunately I did notice that only after buying, when I became suspicious...  I also told Chris that if that's the case he should remove the Paypal logo - but he never did. (Note: after the whole story ended I've got an explanation for this - see the Addendum below).&lt;br /&gt;&lt;br /&gt;&lt;span&gt;&lt;span style="font-weight: bold;"&gt;January 6, status update, end of the story&lt;/span&gt;. After coming back from a short ski vacation (Jan 2-6, in Stubai Tal, Austria), I had the news from our offices that &lt;span style="font-weight: bold;"&gt;Chronochrono fully refunded us on Dec. 24.&lt;/span&gt; That's good. About the &lt;/span&gt;shipments&lt;span&gt; of Dec 19 and Dec 23, there are no other traces on USPS, you can check on your own by using the link above and the code.&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;br /&gt;What did I learn?&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;All is well that ends well. Well, sort of. I did not get the iphone but &lt;/span&gt;&lt;span&gt;at least I've got the money back.&lt;br /&gt;It looks like some people have been luckier:  &lt;/span&gt;I found a &lt;a href="http://www.iphonefr.com/viewtopic.php?id=7734&amp;amp;action=new"&gt;forum&lt;/a&gt; where a French guy says he  bought an iphone from them. On the other hand, if you take a look at the comments to this posting, and you'll find that other people went through the same troubles I had (they did not get the iphone - but in the end both of them had their money back as I did).&lt;br /&gt;&lt;br /&gt;&lt;span&gt;Well, I might have been paranoid. &lt;/span&gt;&lt;span&gt;But to me, the bottom line is that if you write "we ship the same day" you have to do it. Or at least, you should immediately take the initiative and explain to your customer why you did not. Especially if you run a small, little know business without an established reputation.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;February 1, 2008 - Addendum&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I've got an e-mail from Chris:&lt;br /&gt;&lt;/span&gt;&lt;div style="font-style: italic;"&gt;At your suggestion I have done two things- I have added a current stock status to the top of most products. Also, I have added a business line for customers to call and ask questions or leave messages.&lt;/div&gt;&lt;span style="font-style: italic;"&gt;I looked into having the paypal logo removed, but since the webstore is made with a template, it is there permanently.  Paypal pays my hosting company to put it on all the webstores.  Because of this I am unable to edit the logo from the site.  I would also ask you to remember my communication with you and prompt refund when I realized I could not deliver the product well.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;Good to see that things can somehow improve. The text on the chronochrono's website is also clearer now about the fact that the you can only pay via Google Checkout (or bank transfer for larger orders).&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3713635942384988451-3654430727232619134?l=marcoronchetti.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcoronchetti.blogspot.com/feeds/3654430727232619134/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3713635942384988451&amp;postID=3654430727232619134' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3713635942384988451/posts/default/3654430727232619134'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3713635942384988451/posts/default/3654430727232619134'/><link rel='alternate' type='text/html' href='http://marcoronchetti.blogspot.com/2007/12/do-not-buy-apple-iphone-from.html' title='Chronicle of buying an Apple iphone from chronochrono.'/><author><name>Marco Ronchetti</name><uri>http://www.blogger.com/profile/15839838248770762666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://latemar.science.unitn.it/segue_userfiles/ronchet/MarcoRonchettiSmall.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3713635942384988451.post-5814703706602836443</id><published>2007-12-05T15:38:00.000+01:00</published><updated>2007-12-05T16:15:53.513+01:00</updated><title type='text'>Trieste, Workshop on Rich-Media Technologies for Science Dissemination</title><content type='html'>Ismael Peña-López presented hiw view of how to use Web 2.0 tools: &lt;a href="http://ictlogy.net/"&gt;http://ictlogy.net/&lt;/a&gt;&lt;br /&gt;I learned about Scott Wilson and his &lt;a href="http://www.cetis.ac.uk/members/ple"&gt;Personal Learning Environment&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3713635942384988451-5814703706602836443?l=marcoronchetti.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcoronchetti.blogspot.com/feeds/5814703706602836443/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3713635942384988451&amp;postID=5814703706602836443' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3713635942384988451/posts/default/5814703706602836443'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3713635942384988451/posts/default/5814703706602836443'/><link rel='alternate' type='text/html' href='http://marcoronchetti.blogspot.com/2007/12/trieste-workshop-on-rich-media.html' title='Trieste, Workshop on Rich-Media Technologies for Science Dissemination'/><author><name>Marco Ronchetti</name><uri>http://www.blogger.com/profile/15839838248770762666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://latemar.science.unitn.it/segue_userfiles/ronchet/MarcoRonchettiSmall.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3713635942384988451.post-2869716497259212223</id><published>2007-10-20T11:20:00.000+02:00</published><updated>2007-10-20T11:22:19.321+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Mac OsX'/><title type='text'>ffmpeg on Mac OsX</title><content type='html'>ffmpegX is a nice solution - but if you need to use ffmpeg from a script or from the shell, then yo must install ffmpeg and probably also lame. See &lt;a href="http://stephenjungels.com/jungels.net/articles/ffmpeg-howto.html"&gt;Stephen Jungles blog&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3713635942384988451-2869716497259212223?l=marcoronchetti.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcoronchetti.blogspot.com/feeds/2869716497259212223/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3713635942384988451&amp;postID=2869716497259212223' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3713635942384988451/posts/default/2869716497259212223'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3713635942384988451/posts/default/2869716497259212223'/><link rel='alternate' type='text/html' href='http://marcoronchetti.blogspot.com/2007/10/ffmpeg-on-mac-osx.html' title='ffmpeg on Mac OsX'/><author><name>Marco Ronchetti</name><uri>http://www.blogger.com/profile/15839838248770762666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://latemar.science.unitn.it/segue_userfiles/ronchet/MarcoRonchettiSmall.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3713635942384988451.post-4427516594784395190</id><published>2007-10-12T10:55:00.000+02:00</published><updated>2007-10-17T08:22:13.318+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='conferences'/><title type='text'>e-learning conferences - calls for papers</title><content type='html'>&lt;div style="text-align: center; font-weight: bold;"&gt;&lt;span lang="EN-GB"&gt;IADIS INTERNATIONAL CONFERENCE &lt;/span&gt;&lt;span style="text-transform: uppercase;"&gt;&lt;span lang="EN-GB"&gt;MOBILE&lt;/span&gt;&lt;/span&gt;&lt;span style="text-transform: uppercase;" lang="EN-GB"&gt; LEARNING &lt;/span&gt;&lt;span lang="EN-GB"&gt;2008&lt;/span&gt;&lt;/div&gt; &lt;p style="margin: 0cm 0cm 0pt; text-align: center;" align="center"&gt;Algarve, Portugal, 11 to 13 April 2008&lt;/p&gt; &lt;p style="margin: 0cm 0cm 0pt; text-align: center;" align="center"&gt;&lt;a href="http://www.mlearning-conf.org/" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"&gt;http://www.mlearning-conf.org/&lt;/a&gt;&lt;span lang="EN-GB"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0cm 0cm 0pt; text-align: center;" align="center"&gt;&lt;span lang="EN-GB"&gt;Deadline for submissions: &lt;/span&gt;&lt;span lang="EN-GB"&gt;16 November 2007&lt;/span&gt;&lt;span lang="EN-GB"&gt;&lt;/span&gt;&lt;/p&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;"&gt;EISTA 2008&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;a onclick="return top.js.OpenExtLink(window,event,this)" href="http://www.socioinfocyber.org/eista2008" target="_blank"&gt;http://www.socioinfocyber.org&lt;wbr&gt;/eista2008&lt;/a&gt;.&lt;br /&gt;June 29th to July 2nd, 2008&lt;br /&gt;Orlando, Florida,USA&lt;br /&gt;Submissions: November  14th, 2007&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center; font-weight: bold;"&gt;INTED2008&lt;/div&gt;&lt;div style="text-align: center;"&gt;International Technology, Education and Development Conference&lt;br /&gt;&lt;a onclick="return top.js.OpenExtLink(window,event,this)" href="http://www.iated.org/inted2008" target="_blank"&gt;http://www.iated.org/inted2008&lt;/a&gt;&lt;br /&gt;3 to 5 March 2008&lt;br /&gt;Valencia, Spain&lt;br /&gt;The deadline for abstracts/proposals is 15 November 2007.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;span style="font-weight: bold;"&gt;WEBIST 2008&lt;/span&gt; &lt;/div&gt;&lt;div style="text-align: center;"&gt;International Conference on Web Information Systems and Technologies&lt;br /&gt;&lt;a onclick="return top.js.OpenExtLink(window,event,this)" href="http://www.webist.org/" target="_blank"&gt;http://www.webist.org&lt;/a&gt;&lt;br /&gt;Full paper submission: November 2, 2007&lt;br /&gt;Funchal, Madeira, 4 - 7 May, 2008&lt;br /&gt;(has a track on e-learning)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3713635942384988451-4427516594784395190?l=marcoronchetti.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcoronchetti.blogspot.com/feeds/4427516594784395190/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3713635942384988451&amp;postID=4427516594784395190' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3713635942384988451/posts/default/4427516594784395190'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3713635942384988451/posts/default/4427516594784395190'/><link rel='alternate' type='text/html' href='http://marcoronchetti.blogspot.com/2007/10/e-learning-conferences-calls-for-papers.html' title='e-learning conferences - calls for papers'/><author><name>Marco Ronchetti</name><uri>http://www.blogger.com/profile/15839838248770762666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://latemar.science.unitn.it/segue_userfiles/ronchet/MarcoRonchettiSmall.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3713635942384988451.post-6568134400291774245</id><published>2007-10-05T10:12:00.000+02:00</published><updated>2007-10-05T10:15:40.590+02:00</updated><title type='text'>TechCrunch40: Lots of new ideas...</title><content type='html'>Benjamin Dandoy pointed me to &lt;a href="http://www.techcrunch40.com/2007/"&gt;techcrunch40&lt;/a&gt; : it's a mine of new ideas! A series of really innovative services.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3713635942384988451-6568134400291774245?l=marcoronchetti.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcoronchetti.blogspot.com/feeds/6568134400291774245/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3713635942384988451&amp;postID=6568134400291774245' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3713635942384988451/posts/default/6568134400291774245'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3713635942384988451/posts/default/6568134400291774245'/><link rel='alternate' type='text/html' href='http://marcoronchetti.blogspot.com/2007/10/techcrunch40-lots-of-new-ideas.html' title='TechCrunch40: Lots of new ideas...'/><author><name>Marco Ronchetti</name><uri>http://www.blogger.com/profile/15839838248770762666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://latemar.science.unitn.it/segue_userfiles/ronchet/MarcoRonchettiSmall.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3713635942384988451.post-6991529847501582730</id><published>2007-09-28T21:42:00.000+02:00</published><updated>2007-10-05T09:28:46.315+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IWB'/><category scheme='http://www.blogger.com/atom/ns#' term='ICL'/><category scheme='http://www.blogger.com/atom/ns#' term='conferences'/><title type='text'>ICL conference in Villach - part 2: Talks</title><content type='html'>The talks were organized in parallel sessions - although the organizers did their best to make sure that all the papers were presented there was a non negligible number of no-show, which messed up the program by changing the timing mand making it difficult to jump from one session to the other. So I surely missed many good talks - parallel sessions are always a problem. Of those I attended to, some did not give me much, others were interesting. Here is a short note of those that I found worth listening.&lt;br /&gt;&lt;br /&gt;- &lt;span style="font-weight: bold;"&gt;Claudia Steinberger &lt;/span&gt;from Klagenfurt gave a nice talk on her experience in running a course using web 1.5 (i.e. some web 2.0 techniques without a complete and satisfactory integration). I heard her talking about mobile learning a few years ago, I always like her talk. Simple stuff but well grounded, without nonsense.&lt;br /&gt;&lt;br /&gt;- &lt;span style="font-weight: bold;"&gt;Matjaz Debeve&lt;/span&gt;, a slovenian PhD student, presented &lt;a href="http://www.blogger.com/eqweb.uni-mb.sl"&gt;yet another system &lt;/a&gt;for recording videolectures. he mentioned a number of commercial system, I have to look at them in detail:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.virage.com/"&gt;virage&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.blogger.com/www.goodmood.fi/"&gt;good mood&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.horizonline.com/"&gt;horizonLine&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.on24.com/index.html"&gt;On24&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.streamedit.nl/"&gt;StreamEdit&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.anystream.com/"&gt;AnyStream&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;The main point of his work was to have a cart with all the necessary mounted on it (Camera, pc, microphones) and to provide subtitles and gesture language for deaf people.&lt;br /&gt;He mentioned that they plan to conduct a usability evaluation using &lt;a href="http://sumi.ucc.ie/"&gt;SUMI&lt;/a&gt; questionnaires and &lt;a href="http://en.wikipedia.org/wiki/Semi-structured_interview"&gt;semistructured interviews&lt;/a&gt; (see also the &lt;a href="http://www.fao.org/docrep/x5307e/x5307e08.htm"&gt;FAO site&lt;/a&gt; on this).&lt;br /&gt;They also plan to be compliant with the &lt;a href="http://www.ebu.ch/"&gt;EBU&lt;/a&gt; reccomendations, event though they are for TV.&lt;br /&gt;&lt;br /&gt;- &lt;span style="font-weight: bold;"&gt;Frantisek Schauer&lt;/span&gt; and &lt;span style="font-weight: bold;"&gt;Miroslava Ozvoldova&lt;/span&gt; presented a system for accessing and steering physics experiments on line. Experiments are built with the &lt;a href="http://www.ises.info/"&gt;ISES&lt;/a&gt; system. Cute, but I'm not so convinced of their advantage with respect to real experiments or simulations.&lt;br /&gt;&lt;br /&gt;Someone (maybe Balacheff?) mentioned applications of neuroscience to learning - &lt;span style="font-weight: bold;"&gt;Natural learning by Zulls&lt;/span&gt; - also quoted &lt;a href="http://www.blogger.com/ges.galileo.edu/fs/download/EC-TEL_2006-02.pdf?file_id=22460"&gt;here&lt;/a&gt;: it looks like a theory that describes learning as a process that (to me) sonds very similar to the scientific method. Also &lt;a href="http://www.businessballs.com/kolblearningstyles.htm"&gt;Kolb's learning styles&lt;/a&gt; is something I should look a bit into (see also &lt;a href="http://www.nwlink.com/%7Edonclark/hrd/history/kolb.html"&gt;this&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;BTW, following some pointers on Web 2.0 I found a site that looks juicy: &lt;a href="http://web2.socialcomputingmagazine.com/"&gt;social computing magazine&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The whole &lt;span style="font-weight: bold;"&gt;special track on Schools and ICT&lt;/span&gt; was good.  Here are the talks:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Erika Hummer &lt;/span&gt;presented a report on supporting the introduction of ICT (and in particolar LMS) in Austrian classes (&lt;a href="http://elsa.schule.at/"&gt;elsa.schule.at&lt;/a&gt;). One of the points in the project was to allocate money to teachers for doing extra work in the form of pairing to coach and mentor a colleague (&lt;a href="http://ecoaching.schule.at/"&gt;ecoaching.schule.at&lt;/a&gt;). Another point was trying to relief the problema connected with the management of HW and SW by hosting Moodle instances in a centralized location (&lt;a href="http://www.edumoodle.at/"&gt;www.edumoodle.at&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Anton Knierzinger and Marianne Ebenhofer&lt;/span&gt; presented their initial work on intercultural integration in the primary schools. It seems that ICT can be really effective on this crucial issue.&lt;br /&gt;&lt;br /&gt;Then came my talk on&lt;span style="font-weight: bold;"&gt; Interactive Whiteboards&lt;/span&gt;. The slides are available on Slideshare: &lt;a href="http://www.slideshare.net/ronchet/villach07/"&gt;Introducing interactive whiteboards in the schools: an experience report&lt;/a&gt; (paper written together with Benjamin Dandoy).&lt;br /&gt;Unlukily my talk was at the same time as the one by &lt;span style="font-weight: bold;"&gt;Enrique Canessa and Marco Zennaro&lt;/span&gt;, that presented their fully automated lecture recording EyA system that I saw last week in Trieste, but we had the time to talk and exchange ideas couple of times in these days.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Stevens Scott &lt;/span&gt;(Carnegie Mellon University) presented a work aimed at helping novice Physics teachers.: the PATHWAY project. It is based upon the informedia project that extracts metadata from movies by creating transcripts and analysing them. They also have a question-answering system that analyses the query and provids a pre-digested response in the form of a movie (&lt;a href="http://www.infsearch.cs.cmu.edu/idvl.htm"&gt;www.infsearch.cs.cmu.edu/idvl.htm&lt;/a&gt;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3713635942384988451-6991529847501582730?l=marcoronchetti.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcoronchetti.blogspot.com/feeds/6991529847501582730/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3713635942384988451&amp;postID=6991529847501582730' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3713635942384988451/posts/default/6991529847501582730'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3713635942384988451/posts/default/6991529847501582730'/><link rel='alternate' type='text/html' href='http://marcoronchetti.blogspot.com/2007/09/icl-conference-in-villach-part-2-talks.html' title='ICL conference in Villach - part 2: Talks'/><author><name>Marco Ronchetti</name><uri>http://www.blogger.com/profile/15839838248770762666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://latemar.science.unitn.it/segue_userfiles/ronchet/MarcoRonchettiSmall.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3713635942384988451.post-322518572630149015</id><published>2007-09-27T12:23:00.001+02:00</published><updated>2007-10-05T09:55:45.950+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ICL'/><category scheme='http://www.blogger.com/atom/ns#' term='conferences'/><title type='text'>ICL conference in Villach</title><content type='html'>Villach, Kaernten, Austria. &lt;a href="http://www.icl-conference.org/"&gt;ICL conference&lt;/a&gt; (Interactive Computer-aided Learning).&lt;br /&gt;&lt;br /&gt;Running a conference (or better, many) can be a business. There are associations that charge you a lot for participating and then they give you minimal support. I remember going to a IASTED conference, and for 600 Euro we almost did not even have coffee during coffee breaks. They had promised printed proceedings - but then they discovered that shipping them to a Greek island (the conference was in Rhodes) coasted too much - so we never got them. The conference was good - in the end a conference is as good as its participants make it - but I felt ripped off. (BTW, there were also "special" hotel prices that were higher than I could find - in the very same hotel - in a travel agency...).&lt;br /&gt;&lt;br /&gt;This conference is not of that sort. The organizers made a remarkable job in finding sponsors and covering some lunches and dinners, even at a lower-than-average participation fee. I do have some experience in organizing events, and I know how that can be difficult.&lt;br /&gt;&lt;br /&gt;I wish they did the same good job in the selection of the keynote speakers. Well, on paper they made reasonable choices, but in practice the start wasn't that good, and the end was even worse..&lt;br /&gt;The first three keynote speeches were... well, depressing. I’ll omit their names here.&lt;br /&gt;&lt;br /&gt;The first stated that XML allows to address the issue of having semantic indexing of the content, and to make the content machines understandable. Well, maybe if you add a couple of other layers on top of XML it might be true… Embarrassing, maybe he should go back and take a look at the &lt;a href="http://www.w3.org/2001/12/semweb-fin/w3csw"&gt;layers of the Semantic Web&lt;/a&gt;. He also said that with mathML you can do calculations - e.g. take derivatives of a function. I believe it's only a markup language, not an engine...&lt;br /&gt;&lt;br /&gt;Another keynote gave a talk about the evolution of e-learning, from web pages to Learning Management System (LMS), to Managed Learning Environments (MLE), to Personal Learning Environments (PLE) to a future Collaboration Environments. These last should be based on the emergine of web applications (like the &lt;a href="http://www.blogger.com/docs.google.com"&gt;google office&lt;/a&gt; suite). Well, the whole issue was very much technology-oriented and rather blurred . He did not comment on the how and why this technology should deliver more efficient collaboration models, and spent his time demonstrating that you can edit a document, or even open a browser, in a browser's window. Well, fun and exciting, we know that network computing will probably be the next big thing, and that Bill has nightmares about that, but terribly out of focus.&lt;br /&gt;&lt;br /&gt;The third keynote was supposed give a talk on how Web 2.0 will enhance e-learning.&lt;br /&gt;The first statement was a sign of the confusion that is often present when people speak about Web 2.0. When comparing the two approaches, he mentioned that “Web 1.0 is static while Web 2.0 is dynamic”. Ouch, CGI? He continued saying that “Web 1.0 is based on client-server paradigm, and Web 2.0 is based on Web Services”. Irritating, why do people talk about things they do not know? And this nonsense was more or less all he had to say about Web 2.0. The rest of the talk was a quick run through what they do in their labs, including an applet-based (web 2.0?)  collaborative environment  and a virtual reality system (in a joke (?) defined as Web 3.0).&lt;br /&gt;&lt;br /&gt;Luckily then the series of weak keynote speaches was interrupted. &lt;a href="http://www-didactique.imag.fr/Balacheff/"&gt;Nicholas Balacheff&lt;/a&gt; gave a good talk. among his points was that &lt;span style="font-weight: bold;"&gt;learning is a change of behavior, but real learning is in the rationale of the change of behavior&lt;/span&gt;. Among the things he has worked on there is &lt;a href="http://aplusix.imag.fr/"&gt;Aplusix&lt;/a&gt; , an Algebra Learning Assistant.&lt;br /&gt;&lt;br /&gt;The fifth keynote, &lt;span style="font-weight: bold;"&gt;Di Paolo &lt;/span&gt;from Stanford, gave a very good talk about the transformations that a University has to go through to support LongLifeLearning. His slides are available at &lt;a href="http://www.blogger.com/scpd.stanford.edu"&gt;scpd.stanford.edu&lt;/a&gt;. The parameters that are important according to him are:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;provide a quick response&lt;/li&gt;&lt;li&gt;students expect to work in a workgroup&lt;/li&gt;&lt;li&gt;availability 24/7/365&lt;/li&gt;&lt;li&gt;learning by searching&lt;/li&gt;&lt;li&gt;from connectivity to collectivity&lt;/li&gt;&lt;li&gt;provide customized learning&lt;/li&gt;&lt;li&gt;be aware that there is a strong interest in international interactions&lt;/li&gt;&lt;li&gt;provide challenges&lt;/li&gt;&lt;li&gt;give the prossibiliy to preview courses and read students evaluation before registering&lt;/li&gt;&lt;li&gt;view students as customers: eliminate delays and inefficiencies&lt;/li&gt;&lt;li&gt;be ready to deliver technology smarter,smaller, faster, anywhere&lt;/li&gt;&lt;li&gt;always give up-to-date information (time stamp every token of information you provide)&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;Next a movie about &lt;span style="font-weight: bold;"&gt;shifthappens&lt;/span&gt; (&lt;a href="http://shifthappens.wikispaces.com/Various+Versions+of+the+Presentation"&gt;shifthappens.wikispaces.com&lt;/a&gt;) was given. It was of the "Information Anxiety" series :-) but it was certainly interesting.&lt;br /&gt;&lt;br /&gt;On the following day, the next keynote was for me  &lt;span style="font-weight: bold;"&gt;the worst surprise&lt;/span&gt; (&lt;span style="font-style: italic; font-weight: bold;"&gt;but wait, read also the long discussion in the comments to this posting!&lt;/span&gt;).&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Taisir Subhi Yamin&lt;/span&gt;’s talk (Ulm University, Germany) was pushing the idea that e-learning’s mission is to help the “&lt;span style="font-weight: bold;"&gt;talented and gifted students&lt;/span&gt;”. There is even a pedagogical method and a system that has been put in place to pursue this idea: the Renzulli Learning. Sounds odd to me… My experience is that (at least at the University level) there is not much you can do to help very good students: they find their own way. Sure, advising helps, but I do not believe e-learning can effectively do that. And after all it’s only 10% of the students, and it is a joy to wok with them…&lt;br /&gt;Also with very bad students (e.g. students with serious problems in their background knowledge) there is little hope to have an impact. Where the teacher (or e-learning) can really make a difference is in between: with the large mass of average students.&lt;br /&gt;Ok, things may be a little different in primary and secondary school, BUT Yamin pushed his argument to say that “&lt;span style="font-weight: bold;"&gt;gifted students should be grouped in special classes&lt;/span&gt;”. I &lt;span style="font-weight: bold;"&gt;VIOLENTLY OBJECT TO THIS VIEW&lt;/span&gt;! The next step would be to create special classes for students with problems, and it took us the last 50 years to understand this is &lt;span style="font-weight: bold;"&gt;WRONG&lt;/span&gt;. The road outlined by Yamin  is more than wrong: it’s frightening, and to me it even evokes bad memories from the fist half of the last century…&lt;br /&gt;&lt;br /&gt;The last keynote (&lt;a href="http://www.ulf-ehlers.de/"&gt;Ulf Daniel Ehlers&lt;/a&gt;, Vice President of the European Foundation for Quality Elearning) was -of course- on quality in e-learning. Good part of Ehlers' talk was on serendipity, continuous innovation, perpetual beta. Most of the content of the talk can be found in form of a summary &lt;a href="http://onlinefacilitation.wikispaces.com/Ulf-Daniel+Ehlers?"&gt;here&lt;/a&gt;. It wasn't the kind of talk that changes your life but it was a honest and reasonable talk. Among the things I found interesting was the notion of transition from &lt;span style="font-weight: bold;"&gt;Transmissive Learning&lt;/span&gt; (distribution of learning material) to &lt;span style="font-weight: bold;"&gt;Expansive Learning&lt;/span&gt; (collaboration and reflection). Kind of obvious but nicely wrapped!&lt;br /&gt;On the same line, he was quoting Schulmeister 2005 - but I was not able to find document he was referring to, not even through &lt;a href="http://www.izhd.uni-hamburg.de/paginae/personal/schulmeister/kontakt.html"&gt;Schulmeister's home page&lt;/a&gt;. During my search through Schulmeister's publications however I found an interesting classification of &lt;a href="http://www.e-teaching.org/didaktik/gestaltung/interaktiv/InteraktivitaetSchulmeister.pdf"&gt;Interactivity in Multimedia&lt;/a&gt; (in German!).&lt;br /&gt;Later on I discovered that Ulf Daniel Ehlers maintains a &lt;a href="http://lernqualitaet.twoday.net/"&gt;blog on quality in e-learning&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3713635942384988451-322518572630149015?l=marcoronchetti.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcoronchetti.blogspot.com/feeds/322518572630149015/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3713635942384988451&amp;postID=322518572630149015' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3713635942384988451/posts/default/322518572630149015'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3713635942384988451/posts/default/322518572630149015'/><link rel='alternate' type='text/html' href='http://marcoronchetti.blogspot.com/2007/09/icl-conference-in-villach.html' title='ICL conference in Villach'/><author><name>Marco Ronchetti</name><uri>http://www.blogger.com/profile/15839838248770762666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://latemar.science.unitn.it/segue_userfiles/ronchet/MarcoRonchettiSmall.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3713635942384988451.post-6647135053388084782</id><published>2007-09-24T08:30:00.000+02:00</published><updated>2007-09-27T13:04:23.948+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='video-lectures'/><title type='text'>Teaching a crash course on Java in Trieste</title><content type='html'>Last friday and saturday I was in Trieste to teach a &lt;span style="font-style: italic;"&gt;quick&lt;/span&gt; course on Java (11 hours). I was invited by Giorgio Pastore and Maria Peressi of the Università di Trieste.&lt;br /&gt;&lt;br /&gt;My appox. 20 students were high-school teachers. Their background was some programming in other languages (mostly Delphi-Pascal, someone C, someone FORTRAN).&lt;br /&gt;The challenge was to give them the main concepts of Object Oriented programming, programming with events, and to give them the basic ability to write some Java and hints about how to proceed on their own. Their final goal was to use the language to build applications useful for teaching (e.g. some simulated experiment).&lt;br /&gt;&lt;br /&gt;The lectures were video-recorded with &lt;a href="http://sdu.ictp.it/eya/index.html"&gt;the EyA &lt;/a&gt;&lt;a href="http://sdu.ictp.it/eya/index.html"&gt;system&lt;/a&gt; built by Enrique Canessa and coworkers at the ICTP's &lt;a href="http://sdu.ictp.it/eya/index.html"&gt;Science Dissemination Unit&lt;/a&gt;, and were &lt;a href="http://sdu.ictp.it/dl/2007/0921_dft/index.html"&gt;available&lt;/a&gt; on the web.&lt;br /&gt;&lt;br /&gt;NOTE ADDED LATER: After a few days a student complained because the system had recorded also the breaks, and asked the videos to be removed from on-line access. It's a pity...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3713635942384988451-6647135053388084782?l=marcoronchetti.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcoronchetti.blogspot.com/feeds/6647135053388084782/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3713635942384988451&amp;postID=6647135053388084782' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3713635942384988451/posts/default/6647135053388084782'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3713635942384988451/posts/default/6647135053388084782'/><link rel='alternate' type='text/html' href='http://marcoronchetti.blogspot.com/2007/09/teaching-crach-course-on-java.html' title='Teaching a crash course on Java in Trieste'/><author><name>Marco Ronchetti</name><uri>http://www.blogger.com/profile/15839838248770762666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://latemar.science.unitn.it/segue_userfiles/ronchet/MarcoRonchettiSmall.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3713635942384988451.post-8699754863428170955</id><published>2007-09-18T09:31:00.001+02:00</published><updated>2007-09-18T09:34:43.923+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='technical stuff'/><category scheme='http://www.blogger.com/atom/ns#' term='Mac OsX'/><title type='text'>Recover lost administrator password on Mac OsX</title><content type='html'>Easier than I expected...&lt;br /&gt;Use the installation disk, and reboot the machine pressing the the C key whet the machine starts.&lt;br /&gt;Proceed to a new OS installation, but not all the way! just go ahead until you have a menu bar on the top. In the menu bar choose "Utilities" and "Reset password".&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3713635942384988451-8699754863428170955?l=marcoronchetti.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcoronchetti.blogspot.com/feeds/8699754863428170955/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3713635942384988451&amp;postID=8699754863428170955' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3713635942384988451/posts/default/8699754863428170955'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3713635942384988451/posts/default/8699754863428170955'/><link rel='alternate' type='text/html' href='http://marcoronchetti.blogspot.com/2007/09/recover-lost-administrator-password-on.html' title='Recover lost administrator password on Mac OsX'/><author><name>Marco Ronchetti</name><uri>http://www.blogger.com/profile/15839838248770762666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://latemar.science.unitn.it/segue_userfiles/ronchet/MarcoRonchettiSmall.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3713635942384988451.post-3070725273517676949</id><published>2007-09-18T09:14:00.003+02:00</published><updated>2010-10-10T18:19:32.643+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='technical stuff'/><category scheme='http://www.blogger.com/atom/ns#' term='Mac OsX'/><title type='text'>Adding a user to a group on a mac</title><content type='html'>Mac OsX does not use the usual Unix user and group administration tools. It has it's own application - called &lt;span style="font-weight: bold;"&gt;netinfo&lt;/span&gt; (see &lt;span style="font-family:courier new;"&gt;man netinfo&lt;/span&gt;) and a gui for that, called &lt;span style="font-weight: bold;"&gt;Netinfo Manager&lt;/span&gt; and located in /Applications/Utilities. You need to have administrator privileges to use it for modification.&lt;br /&gt;&lt;br /&gt;When you open Netinfo Manager, you can browse a set of items, among which &lt;span style="font-weight: bold;"&gt;users&lt;/span&gt; and &lt;span style="font-weight: bold;"&gt;groups&lt;/span&gt;. When you select a user or a group, you'll see a set of properties and values. Each grup is identified by a gid number, and each user by a uid number - and a gid that refers to its default group.&lt;br /&gt;If you want a user to belong also to other groups (say e.g. to group www), you need to &lt;span style="font-weight: bold;"&gt;add the name&lt;/span&gt; (not the gid) of the user to group www's &lt;span style="font-weight: bold;"&gt;"users"&lt;/span&gt; propertiy. If the "users" property (in groups -&gt; www) does not exist - by default it's not there - , you need to create it by using the "new" icon top left.&lt;br /&gt;&lt;br /&gt;If instead you want to do it from command line, take a look &lt;a href="http://krypted.com/mac-os-x/more-group-management-with-dseditgroup/"&gt;here&lt;/a&gt;. An example is&lt;br /&gt;dseditgroup -o edit -a username -t user groupname&lt;br /&gt;(you may have to sudo this!)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3713635942384988451-3070725273517676949?l=marcoronchetti.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcoronchetti.blogspot.com/feeds/3070725273517676949/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3713635942384988451&amp;postID=3070725273517676949' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3713635942384988451/posts/default/3070725273517676949'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3713635942384988451/posts/default/3070725273517676949'/><link rel='alternate' type='text/html' href='http://marcoronchetti.blogspot.com/2007/09/adding-user-to-group-on-mac.html' title='Adding a user to a group on a mac'/><author><name>Marco Ronchetti</name><uri>http://www.blogger.com/profile/15839838248770762666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://latemar.science.unitn.it/segue_userfiles/ronchet/MarcoRonchettiSmall.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3713635942384988451.post-3038639617738107330</id><published>2007-09-14T00:09:00.000+02:00</published><updated>2007-10-02T22:24:03.939+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MySQL'/><category scheme='http://www.blogger.com/atom/ns#' term='technical stuff'/><category scheme='http://www.blogger.com/atom/ns#' term='Php'/><category scheme='http://www.blogger.com/atom/ns#' term='Mac OsX'/><category scheme='http://www.blogger.com/atom/ns#' term='mod_jk'/><category scheme='http://www.blogger.com/atom/ns#' term='Tomcat'/><category scheme='http://www.blogger.com/atom/ns#' term='Apache'/><title type='text'>MySQL, Apache2, PHP5 and Tomcat (with mod_jk) on Mac OsX</title><content type='html'>&lt;span style="font-family:times new roman;"&gt;For &lt;/span&gt;&lt;span style="font-weight: bold;font-family:times new roman;" &gt;MySQL, Apache and Php5&lt;/span&gt;&lt;span style="font-family:times new roman;"&gt; there are a couple of web pages describing how to do it, and some package does automagically everything (e.g. &lt;/span&gt;&lt;a style="font-family: times new roman;" href="http://www.blogger.com/www.mamp.info/"&gt;MAMP&lt;/a&gt;&lt;span style="font-family:times new roman;"&gt;).  However, in such way you are bound to certain versions - sometimes old.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:times new roman;"&gt;A better option is to be able to do it yourself, so that you can upgrade when you want and choose the version you want. Avery good description of how to do that is given in  &lt;/span&gt;&lt;span style="font-weight: bold;font-family:times new roman;" &gt;Richard Valk&lt;/span&gt;&lt;span style="font-family:times new roman;"&gt;'s blog.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:times new roman;"&gt;Here are the links:&lt;/span&gt;&lt;br /&gt;&lt;ul style="font-family: times new roman;"&gt;&lt;li style="text-align: left;"&gt;&lt;a href="http://switch.richard5.net/isp-in-a-box-v2/installing-mysql-on-mac-os-x/"&gt;Installing MySQL&lt;/a&gt;&lt;span style="font-family:times new roman;"&gt;  (after that you might also want to install the &lt;/span&gt;&lt;a style="font-family: times new roman;" href="http://dev.mysql.com/downloads/gui-tools/5.0.html"&gt;MySQL GUI Tools&lt;/a&gt;&lt;span style="font-family:times new roman;"&gt; for administration and interaction with the DB).&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://switch.richard5.net/isp-in-a-box-v2/installing-apache-on-mac-os-x/"&gt;Compiling and installing Apache 2&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://switch.richard5.net/isp-in-a-box-v2/installing-php-on-mac-os-x/"&gt;Compiling and installing PHP 5&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-family:times new roman;"&gt;What is &lt;/span&gt;&lt;span style="font-style: italic;font-family:times new roman;" &gt;really good &lt;/span&gt;&lt;span style="font-family:times new roman;"&gt;in these pages is that Richard describes the way to install these softwares in a way that is somehow independent on the actual version.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:times new roman;"&gt;For instance, by carefully following step by step the instructions, I was able to successfully install the current versions: httpd 2.2.6, mysql 5.0.45, php 5.2.4 even though his instructions refer to earlier versions.&lt;br /&gt;At the end of the process described in these pages you'll have Apache and MySql starting automatically at boot time.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:times new roman;"&gt;Delicate points in the process are:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:times new roman;"&gt;- make sure that you choose the script for the right architecture (ppc or intel)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:times new roman;"&gt;- make sure that you carefully read and follow the section about the  MySQL libraries.&lt;br /&gt;&lt;br /&gt;One point not mentioned in Richard's php page  is the fact that  probably you also want to add  &lt;span style="font-weight: bold;"&gt;index.php&lt;/span&gt; as a file automatically used when you access a directory (as index.html is). To do it you have to edit Apache2/conf/httpd.config, and modify the DirectoryIndex statement as follows:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;lt;ifmodule&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;    DirectoryIndex index.html index.php&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;lt;/ifmodule&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;To check that it works,  create the file index.php in your deployment directory (default is the Apache's htdocs) with the following content&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;lt;html&gt;&amp;lt;body&amp;gt;&amp;lt;h1&amp;gt;It works!&amp;lt;/h1&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&amp;lt;h2&amp;gt;&amp;lt;?php&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;echo("php also works!");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;phpinfo();&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;?&amp;gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&amp;lt;/h2&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;and then point at http://localhost/index.php.&lt;br /&gt;&lt;br /&gt;Another point is that when you invoke apachectl (to start and stop Apache) probably it still resolves to the preinstalled Apache (try to issue the  &lt;span style="font-family:courier new;"&gt;which apachectl&lt;/span&gt; command in a shell, you will probably find out that this points to /usr/sbin/apachectl). This can generate problems. I solved this by renaming /usr/sbin/apachectl to /usr/sbin/apachectl_orig (just to be able to restore the original setting if needed!), and creating a link from /usr/sbin/apachectl to /Library/Apache2/bin/apachectl:&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;ln -s /Library/Apache2/bin/apachectl /usr/sbin/apachectl&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;Let's now move on to Tomcat: its installation is very simple, and is well&lt;span style="font-family:times new roman;"&gt; described on the &lt;/span&gt;&lt;a style="font-family: times new roman;" href="http://wiki.apache.org/tomcat/TomcatOnMacOS"&gt;apache wiki&lt;/a&gt;&lt;span style="font-family:times new roman;"&gt;: essentially you download, unpack, and set the JAVA_HOME environment variable. I easily installed 5.5.25 ( I unpacked it in /Library/Tomcat - note that later there will be references to this directory - so if yours is different adapt the commands to your configuration).&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:times new roman;"&gt;At this point Tomcat responds on port 8080 while Apache responds on port 80. It would be better to have both of them responding on port 80. This can be done by registering Tomcat as an Apache service, so that Apache recognizes certain URLs and forwards them to Tomcat. Doing so (through the &lt;/span&gt;&lt;span style="font-weight: bold;font-family:times new roman;" &gt;mod_jk&lt;/span&gt;&lt;span style="font-family:times new roman;"&gt; module) is a bit more complex - because I was not able to find reliable instructions, and the &lt;/span&gt;&lt;a style="font-family: times new roman;" href="http://tomcat.apache.org/connectors-doc/webserver_howto/apache.html"&gt;official documentation page&lt;/a&gt;&lt;span style="font-family:times new roman;"&gt; does not describe clearly all steps.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:times new roman;"&gt;So here is how I did it:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:times new roman;"&gt;1) define the TOMCAT_HOME environment variable pointing at the place where Tomcat was unpacked;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:times new roman;"&gt;2) get the mac binary  &lt;/span&gt;&lt;span style="font-weight: bold;font-family:times new roman;" &gt;mod_jk.so&lt;/span&gt;&lt;span style="font-family:times new roman;"&gt; (the actual name will be something like mod_jk-1.2.25-httpd-2.2.4.so) from the &lt;/span&gt;&lt;a style="font-family: times new roman;" href="http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/macosx/"&gt;Tomcat site&lt;/a&gt;&lt;span style="font-family:times new roman;"&gt;, rename it mod_jk.so and drop it into APACHE2_HOME/modules, where APACHE2_HOME stays for the place where Apache2 was installed.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:times new roman;"&gt;3) edit  conf/server.xml in your TOMCAT_HOME, find the line&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&amp;lt;/Engine&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:times new roman;"&gt;and add right before that:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt; &amp;lt;Listener className="org.apache.jk.config.ApacheConfig" modJk="/Library/Apache2/modules/mod_jk.so" /&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:times new roman;"&gt;(assuming that /Library/Apache2 is your Apache2 home).&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:times new roman;"&gt;4) Create a new file containing the following lines:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;# Setup for Mac OS X&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;# Define the homes&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;workers.tomcat_home=/Library/Tomcat&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;workers.java_home=/Library/Java/Home&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;# Define the file separator&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;ps=/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;# Define the worker's names&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;worker.list=ajp13&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;# Definition for worker&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;#&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;worker.ajp13.port=8009&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;worker.ajp13.host=127.0.0.1&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;worker.ajp13.type=ajp13&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:times new roman;"&gt;and save it with the name &lt;/span&gt;&lt;span style="font-weight: bold;font-family:times new roman;" &gt;workers.properties&lt;/span&gt;&lt;span style="font-family:times new roman;"&gt; in the directory  TOMCAT_HOME/conf/jk (if the directory does not exist, create it).&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:times new roman;"&gt;5) edit conf/httpd.config in Apache2, adding  at the end of the file:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;# Tomcat bridge auto configuration&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;Include /Library/Tomcat/conf/auto/mod_jk.conf&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:times new roman;"&gt;(assuming that your TOMCAT_HOME is &lt;/span&gt;&lt;span style="font-family:times new roman;"&gt;/Library/Tomcat)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:times new roman;"&gt;6) restart Tomcat (&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;sudo $TOMCAT_HOME/bin/shutdown.sh&lt;/span&gt; an then &lt;span style="font-family:courier new;"&gt;sudo $TOMCAT_HOME/bin/startup.sh&lt;/span&gt;&lt;span style="font-family:times new roman;"&gt;). At this point the file called  /Library/Tomcat/conf/auto/mod_jk.conf is automatically created.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:times new roman;"&gt;7) restart Apache (&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;sudo $APACHE_HOME/bin/apachectl restart&lt;/span&gt;&lt;span style="font-family:times new roman;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:times new roman;"&gt;8) open a browser, and point it to http://127.0.0.1/servlets-examples/&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:times new roman;"&gt;You should see page coming from your TOMCAT_HOME/webapps/servlets-examples. You can try to execute the hello world, everything should be now fine.&lt;br /&gt;&lt;br /&gt;The next problem is what happens if you want all this to work with your machine name instead of localhost.&lt;br /&gt;In fact opening &lt;/span&gt;&lt;span style="font-family:times new roman;"&gt;http://&lt;/span&gt;&lt;span style="font-family:times new roman;"&gt;your_machine.your.domain&lt;/span&gt;&lt;span style="font-family:times new roman;"&gt;/servlets-examples/ in your browser will give a "Not Found"&lt;/span&gt;. To fix this,&lt;span style="font-family:times new roman;"&gt; you'll have to change in conf/xml the following lines:&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;engine name="Standalone" defaulthost="localhost" jvmroute="jvm1"&gt;&lt;/engine&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&amp;lt;Engine name="Standalone" defaultHost="&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;localhost&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;" jvmRoute="jvm1"&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;...&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&amp;lt;Engine name="Catalina" defaultHost="&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;localhost&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;"&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&lt;br /&gt;...&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&amp;lt;Host name="localhost" appBase="webapps"&lt;br /&gt;    unpackWARs="true" autoDeploy="true"&lt;br /&gt;    xmlValidation="false" xmlNamespaceAware="false"&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="font-family:courier new;"&gt;   &lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:times new roman;"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;host name=""&gt;&lt;span style="font-family:times new roman;"&gt;&lt;br /&gt;In all three cases you need to change "localhost" with "your_machine.your.domain" where &lt;/span&gt;&lt;span style="font-family:times new roman;"&gt;your_machine.your.domain is of course the name of your machine.&lt;br /&gt;Restart Tomcat first and then restart Apache: point at &lt;/span&gt;&lt;span style="font-family:times new roman;"&gt;http://&lt;/span&gt;&lt;span style="font-family:times new roman;"&gt;your_machine.your.domain&lt;/span&gt;&lt;span style="font-family:times new roman;"&gt;/servlets-examples/ in your browser and it should work. Note that now http://127.0.0.1/servlets-examples/ will give a Not Found!&lt;br /&gt;If you want both localhost (127.0.01) and &lt;/span&gt;&lt;/host&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:times new roman;"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;span style="font-family:times new roman;"&gt;your_machine.your.domain&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:times new roman;"&gt;&lt;span style="font-family:times new roman;"&gt;&lt;host name=""&gt;&lt;span style="font-family:times new roman;"&gt;, you'll have to go though the Virtual Hosts setting - but I'll not cover that here.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:times new roman;"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;IMPORTANT NOTICE: &lt;/span&gt;when you deploy a new webapp, always first restart Tomcat and then restart Apache (so that the automatic configuration is first regenerated by Tomcat and then read by Apache).&lt;br /&gt;&lt;br /&gt;The next step would be to have &lt;span style="font-weight: bold;"&gt;Tomcat starting automatically at boot time&lt;/span&gt;.&lt;br /&gt;An example and some explanation can be found &lt;a href="http://www.macdevcenter.com/pub/a/mac/2003/10/21/startup.html"&gt;here&lt;/a&gt;.&lt;br /&gt;In short, here is what is needed (assuming that you already have Apache starting at boot):&lt;br /&gt;a) create a directory &lt;span style="font-weight: bold;"&gt;Tomcat&lt;/span&gt; in /System/Library/StartupItems/&lt;br /&gt;b) create a file called &lt;span style="font-weight: bold;"&gt;Tomcat&lt;/span&gt; in that directory. This is its content (of course reference to the directory where Tomcat is installed should be modified according to you system):&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;#!/bin/sh&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;. /etc/rc.common&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;StartService ()&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  if [ "${TOMCAT}" = "-YES-" ]; then&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    ConsoleMessage "Starting Tomcat Servlet/JSP Server"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    /Library/Tomcat/bin/startup.sh&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  fi&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;StopService ()&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    ConsoleMessage "Stopping Tomcat Servlet/JSP Server"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    echo "Stopping Apache web server"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    /Library/Tomcat/bin/shutdown.sh&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;RestartService ()&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    ConsoleMessage "Restarting Tomcat Servlet/JSP Server"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    echo "Restarting Apache web server"&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    /Library/Tomcat/bin/shutdown.sh&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    /Library/Tomcat/bin/startup.sh&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;JAVA_HOME=/Library/Java/Home; export JAVA_HOME&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;RunService "$1"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;and make it executable&lt;br /&gt;(&lt;span style="font-family:courier new;"&gt;sudo chmod a+x   &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:times new roman;"&gt;&lt;span style="font-family:courier new;"&gt;/System/Library/StartupItems/Tomcat/Tomcat&lt;/span&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:times new roman;"&gt;&lt;br /&gt;c) Next create a file called &lt;span style="font-weight: bold;"&gt;StartupParameters.plist&lt;/span&gt; into the same Tomcat directory. The content should be:&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    Description     = "Tomcat Servlet/JSP Server";&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    Provides        = ("Tomcat");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    Requires        = ("Resolver");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    OrderPreference = "None";&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    Messages =&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    {&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        start = "Starting Tomcat Servlet/JSP Server";&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;        stop  = "Stopping Tomcat Servlet/JSP Server";&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    };&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}  &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;d) The last step is to make sure that Apache will wait for Tomcat to start. We can do that by changing the&lt;br /&gt;StartupParameters.plist in the &lt;/span&gt;&lt;span style="font-family:times new roman;"&gt;/System/Library/StartupItems/&lt;/span&gt;&lt;span style="font-family:times new roman;"&gt;Apache directory in the following way:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  Description     = "Apache web server";&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  Provides        = ("Web Server");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  Requires        = ("Tomcat");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  Uses            = ("Disks", "NFS");&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;(essentially we added the line that declares that Apache "Requires Tomcat").&lt;br /&gt;&lt;br /&gt;For further info on Tomcat and on how to deploy servlets and JSPs. see the &lt;a href="http://developer.apple.com/internet/java/tomcat1.html"&gt;article on Apple Developer's Connection&lt;/a&gt;.&lt;br /&gt;&lt;/span&gt;&lt;/host&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3713635942384988451-3038639617738107330?l=marcoronchetti.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcoronchetti.blogspot.com/feeds/3038639617738107330/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3713635942384988451&amp;postID=3038639617738107330' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3713635942384988451/posts/default/3038639617738107330'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3713635942384988451/posts/default/3038639617738107330'/><link rel='alternate' type='text/html' href='http://marcoronchetti.blogspot.com/2007/09/installing-mysql-apache2-and-php5-on.html' title='MySQL, Apache2, PHP5 and Tomcat (with mod_jk) on Mac OsX'/><author><name>Marco Ronchetti</name><uri>http://www.blogger.com/profile/15839838248770762666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://latemar.science.unitn.it/segue_userfiles/ronchet/MarcoRonchettiSmall.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3713635942384988451.post-2888621759016086652</id><published>2007-07-04T09:28:00.000+02:00</published><updated>2007-10-05T13:16:32.312+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='technical stuff'/><category scheme='http://www.blogger.com/atom/ns#' term='Mac OsX'/><title type='text'>Some Mac tricks</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Changing the default app on a Mac&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I needed to change the default app for a certain file type on Mac. Found a good guide &lt;a href="http://www.askdavetaylor.com/how_do_i_change_file_icons_and_the_default_application_on_my_mac.html"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Changing the default mail reader/writer on a Mac&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;see &lt;a href="http://lifehacker.com/software/email-apps/ask-lifehacker-gmail-as-default-mail-program-129818.php"&gt;here&lt;/a&gt;  (Google notifier) and &lt;a href="http://www.askdavetaylor.com/how_do_i_set_my_default_email_program_on_mac_os_x.html"&gt;here&lt;/a&gt; (changing e-mail preferences on the Mac)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Lots of hint&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;in &lt;a href="http://www.askdavetaylor.com/"&gt;&lt;span style="text-decoration: underline;"&gt;dave taylor's&lt;/span&gt;&lt;/a&gt; site.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3713635942384988451-2888621759016086652?l=marcoronchetti.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcoronchetti.blogspot.com/feeds/2888621759016086652/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3713635942384988451&amp;postID=2888621759016086652' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3713635942384988451/posts/default/2888621759016086652'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3713635942384988451/posts/default/2888621759016086652'/><link rel='alternate' type='text/html' href='http://marcoronchetti.blogspot.com/2007/07/changing-default-app-on-mac.html' title='Some Mac tricks'/><author><name>Marco Ronchetti</name><uri>http://www.blogger.com/profile/15839838248770762666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://latemar.science.unitn.it/segue_userfiles/ronchet/MarcoRonchettiSmall.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3713635942384988451.post-3227049786081083558</id><published>2007-06-30T03:39:00.001+02:00</published><updated>2007-10-02T23:26:46.291+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IWB'/><category scheme='http://www.blogger.com/atom/ns#' term='ED-MEDIA'/><category scheme='http://www.blogger.com/atom/ns#' term='Web 2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='LO Metadata'/><category scheme='http://www.blogger.com/atom/ns#' term='conferences'/><title type='text'>ED-MEDIA 2007, final day</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Today's &lt;/span&gt; keynote was also excellent. &lt;a href="http://www.bebowhite.com/"&gt;Bebo White&lt;/a&gt; from Stanford (alias Santa Claus :-) ) presented a view on the so-called Web 2.0. Very nice! (I'll point here to his slides when they'll be available).&lt;br /&gt;&lt;br /&gt;It was nice to hear the talk by &lt;a href="http://www.dcu.ie/info/staff_member.php?id_no=935"&gt;Miriam Judge&lt;/a&gt; (Dublin City University) on the Interactive Whiteboards (IWB - Clair Bhana Idirghniomhacha in Gaelic...)&lt;br /&gt;&lt;br /&gt;The work by the Leuven group (Erik Duval, Michael Meire,  Xavier Ochoa presenter ) on their &lt;a href="http://ariadne.cs.kuleuven.ac.be/amg/Intro.php"&gt;SAmgI&lt;/a&gt; system for automatic metadata generation for LOs was damn good! Exactly what I wanted to do - made in a better way than I had probably done it!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3713635942384988451-3227049786081083558?l=marcoronchetti.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcoronchetti.blogspot.com/feeds/3227049786081083558/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3713635942384988451&amp;postID=3227049786081083558' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3713635942384988451/posts/default/3227049786081083558'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3713635942384988451/posts/default/3227049786081083558'/><link rel='alternate' type='text/html' href='http://marcoronchetti.blogspot.com/2007/06/ed-media-2007-final-day.html' title='ED-MEDIA 2007, final day'/><author><name>Marco Ronchetti</name><uri>http://www.blogger.com/profile/15839838248770762666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://latemar.science.unitn.it/segue_userfiles/ronchet/MarcoRonchettiSmall.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3713635942384988451.post-7283381468033977670</id><published>2007-06-30T03:34:00.000+02:00</published><updated>2007-09-24T08:50:12.501+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IWB'/><category scheme='http://www.blogger.com/atom/ns#' term='ED-MEDIA'/><category scheme='http://www.blogger.com/atom/ns#' term='CSS'/><category scheme='http://www.blogger.com/atom/ns#' term='Web 2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='conferences'/><title type='text'>ED-MEDIA 2007, act III</title><content type='html'>June 28, 2007&lt;br /&gt;&lt;br /&gt;The keynote speech by &lt;a href="http://www.athabascau.ca/html/staff/academic/terrya.html"&gt;Terry Anderson&lt;/a&gt;,  Athabasca University was quite good: Teaching and learning in a networked world. He made it available on slideshare.com, so &lt;a href="http://www.slideshare.net/terrya/educational-social-software-edmedia-2007/"&gt;here&lt;/a&gt; it is. Main concept: the &lt;span style="font-weight: bold;"&gt;taxonomy of the many&lt;/span&gt;, with transition from &lt;span style="color: rgb(255, 0, 0);"&gt;group&lt;/span&gt; to &lt;span style="color: rgb(255, 0, 0);"&gt;network&lt;/span&gt; to &lt;span style="color: rgb(255, 0, 0);"&gt;collective&lt;/span&gt; - see also &lt;a href="http://communitiesofinquiry.com/"&gt;communities of inquiry&lt;/a&gt;.&lt;br /&gt;Interesting the &lt;a href="http://www.avanoo.com/"&gt;Avanoo&lt;/a&gt; idea of asking info to the user as a return for users inquiries.&lt;br /&gt;Among other examples of networking sites he mentioned&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.citeulike.org/"&gt;citeulike&lt;/a&gt; (A free online service to organise references to academic papers of interest and share them with others),  &lt;/li&gt;&lt;li&gt;&lt;a href="http://technorati.com/"&gt;technorati&lt;/a&gt; (Real-time search for user-generated media (including weblogs) by tag or keyword),&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://slashdot.org/"&gt;slashdot&lt;/a&gt; (Source for technology related news with a heavy slant towards Linux and Open Source issues), &lt;/li&gt;&lt;li&gt;&lt;a href="http://www.meetingwizard.com/"&gt;meeting wizard&lt;/a&gt; (Online meeting and event invitation hosted software program).&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.facebook.com/"&gt;Facebook&lt;/a&gt; (a social utility that connects people with friends and others who work, study and live around them).&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;The rest of the day I was busy with my talks:&lt;br /&gt;- &lt;a href="http://www.slideshare.net/ronchet/searching-information-in-a-collection-of-videolectures"&gt;Searching information in a collection of video-lectures&lt;/a&gt;,&lt;br /&gt;- &lt;a href="http://www.slideshare.net/joesant/c3poa-domainaware-course-authoring-tool"&gt;C3PO: a domain-aware course planning and publishing tool&lt;/a&gt;, presented by Joe Sant&lt;br /&gt;- &lt;a href="http://www.slideshare.net/ronchet/case-study-evaluation-of-a-tool-for-searching-inside-a-collection-of-multimodal-electures/"&gt;Case study: evaluation of a tool for searching inside a collection of multimodal e-lectures&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;So  I missed the talk by Li-Ling Chen on IWB and the one by Sandy Schuck and Matthew Kearney on the same topic.&lt;br /&gt;&lt;br /&gt;Joe pointed me to the &lt;a href="http://meyerweb.com/eric/tools/s5/"&gt;S5&lt;/a&gt; system: a set of CSS for running a PPT-like presentation out of XHTML - cool. Thanks Joe!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3713635942384988451-7283381468033977670?l=marcoronchetti.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcoronchetti.blogspot.com/feeds/7283381468033977670/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3713635942384988451&amp;postID=7283381468033977670' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3713635942384988451/posts/default/7283381468033977670'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3713635942384988451/posts/default/7283381468033977670'/><link rel='alternate' type='text/html' href='http://marcoronchetti.blogspot.com/2007/06/ed-media-2007-act-iii.html' title='ED-MEDIA 2007, act III'/><author><name>Marco Ronchetti</name><uri>http://www.blogger.com/profile/15839838248770762666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://latemar.science.unitn.it/segue_userfiles/ronchet/MarcoRonchettiSmall.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3713635942384988451.post-346776110419259960</id><published>2007-06-30T03:32:00.000+02:00</published><updated>2007-09-24T08:51:10.241+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Speech Recognition'/><category scheme='http://www.blogger.com/atom/ns#' term='ED-MEDIA'/><category scheme='http://www.blogger.com/atom/ns#' term='LO'/><category scheme='http://www.blogger.com/atom/ns#' term='conferences'/><title type='text'>ED-MEDIA 2007 - part II</title><content type='html'>June 27, 2007&lt;br /&gt;&lt;br /&gt;Not a great day at the conference.&lt;br /&gt;&lt;br /&gt;A few things to be remembered.&lt;br /&gt;&lt;br /&gt;The &lt;a href="http://www.academy.gcal.ac.uk/cd-lor/"&gt;CD-LOR project&lt;/a&gt; aims at identifying and analysing the factors that influence practical uptake and implementation of learning object (LO) repositories within a range of different learning communities.&lt;br /&gt;&lt;br /&gt;Had a nice talk with &lt;a href="http://www.ecs.soton.ac.uk/people/mw"&gt;Mike Wald&lt;/a&gt;, who had a presentation on using Speech Recognition to caption multimedia.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3713635942384988451-346776110419259960?l=marcoronchetti.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcoronchetti.blogspot.com/feeds/346776110419259960/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3713635942384988451&amp;postID=346776110419259960' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3713635942384988451/posts/default/346776110419259960'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3713635942384988451/posts/default/346776110419259960'/><link rel='alternate' type='text/html' href='http://marcoronchetti.blogspot.com/2007/06/ed-media-2007-part-ii.html' title='ED-MEDIA 2007 - part II'/><author><name>Marco Ronchetti</name><uri>http://www.blogger.com/profile/15839838248770762666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://latemar.science.unitn.it/segue_userfiles/ronchet/MarcoRonchettiSmall.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3713635942384988451.post-8616426139288456644</id><published>2007-06-30T03:31:00.001+02:00</published><updated>2007-09-24T08:50:35.607+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Vancouver'/><category scheme='http://www.blogger.com/atom/ns#' term='ED-MEDIA'/><category scheme='http://www.blogger.com/atom/ns#' term='video-lectures'/><category scheme='http://www.blogger.com/atom/ns#' term='LMS'/><category scheme='http://www.blogger.com/atom/ns#' term='Web 2.0'/><category scheme='http://www.blogger.com/atom/ns#' term='sushi'/><category scheme='http://www.blogger.com/atom/ns#' term='conferences'/><title type='text'>ED-MEDIA 2007</title><content type='html'>June 26, 2007&lt;br /&gt;&lt;br /&gt;So I'm in Vancouver now. Beautiful surroundings - for what I've seen from the airplane. Unfortunately no time to visit them. Thanks to Joe Sant, I found an incredibly nice, good and inexpensive sushi place, called Tsunami (it's at Burrard and Robson). Joe also showed me downtown Vancouver. We had a nice walk on the west part.&lt;br /&gt;&lt;br /&gt;I'm here for a conference - &lt;a href="http://www.aace.org/CONF/Cities/Vancouver/default.htm"&gt;ED-MEDIA 2007&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;First impression: lot of emphasis on Blogs  and Podcasts as educational tools.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Best thing &lt;/span&gt;was a two-hours symposium on "Getting beyond centralized technologies in higher education", organized by Sebastian Fiedler.&lt;br /&gt;The main issue was the death of Learning Management Systems (LMS), since they replicate functionalities that already exist on the web in a clumsly and closed way. The idea was that students should be able to use whatever tool they like. No more university-provided e-mail accounts and sites, but aggregation of several heterogeneous sources - see e.g. the concept of mesh-ups in the presentation by &lt;a href="http://wiki.elearning.ubc.ca/edMedia"&gt;??&lt;/a&gt;.&lt;br /&gt;George Siemens made several good points: among them "the LMS should explode into a L + MS" separating the administrative management from the learning.&lt;br /&gt;&lt;br /&gt;I learned about ManyEyes, Worldmapper, Quintura, Tagclouds, Elgg, &lt;a href="http://www.teqlo.com/files/Intro_To_Teqlo.html"&gt;Teqlo&lt;/a&gt;.  Following that up I found a nice &lt;a href="http://p6.hostingprod.com/@www.ventureblog.com/articles/indiv/2006/001239.html"&gt;Web 2.0 tools list&lt;/a&gt;, and then a &lt;a href="http://www.seomoz.org/web2.0"&gt;second one&lt;/a&gt;, then &lt;a href="http://www.go2web20.net/"&gt;a third&lt;/a&gt;... how many are out there?&lt;br /&gt;&lt;br /&gt;Learned the concept of "&lt;a href="http://newali.apple.com/ali_sites/ali/exhibits/1000328/Advanced_Organizers.html"&gt;advance organizer&lt;/a&gt;" (&lt;span style="font-family:Georgia,Times New Roman,Times,serif;"&gt;Ausubel, D.P. (1960). The    use of  advance organizers in the learning and retention of meaningful verbal    material. &lt;i&gt;Journal of Educational Psychology&lt;/i&gt;, 51, 267-272.)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Other things:&lt;/span&gt;&lt;br /&gt;- Found a neat tool for creating educatonal podcasts: &lt;a href="http://www.profcast.com/"&gt;Profcast&lt;/a&gt; (shareware for mac). &lt;a href="http://www.camstudio.org/"&gt;Camstudio&lt;/a&gt; can be useful on Windows for recording whatever happens on screen and replay it later, or cerate a podcast out of it.&lt;br /&gt;&lt;br /&gt;- A symposium on creating podcasts in courses was held by Li-Ling Chen. It was informative. Tools suggested were Audacity and Garageband to create audio mp3, movieMaker or iMovie to create .mov or .avi, xilisoft (shareware) to convert into mp4 (ffmpegX might do the same). Quicktime professional was also used. feedburn might be useful in the process. During the symposium Damien Koemans mentioned a &lt;a href="http://www.amazon.com/Success-Story-04-home-page/b?ie=UTF8&amp;amp;node=193160011&amp;amp;me=A36L942TSJ2AJA"&gt;new service by Amazon&lt;/a&gt; to create a transcript of a speech. It is done by a mix of machine and human processing (&lt;a href="http://castingwords.com/"&gt;castingwords.com&lt;/a&gt;).&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;- I also went to a symposium on Second Life as educational tool: too many people, too blah blah.  Did not like it.&lt;br /&gt;&lt;br /&gt;- Had a chat with German Nemirovskij - he has a project on using Semantic Web techniques to  extract info from study module description (Bologna-agreement compliant description of university courses) for automatic comparison. Interesting, maybe overly ambitious?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3713635942384988451-8616426139288456644?l=marcoronchetti.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcoronchetti.blogspot.com/feeds/8616426139288456644/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3713635942384988451&amp;postID=8616426139288456644' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3713635942384988451/posts/default/8616426139288456644'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3713635942384988451/posts/default/8616426139288456644'/><link rel='alternate' type='text/html' href='http://marcoronchetti.blogspot.com/2007/06/ed-media-2007.html' title='ED-MEDIA 2007'/><author><name>Marco Ronchetti</name><uri>http://www.blogger.com/profile/15839838248770762666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://latemar.science.unitn.it/segue_userfiles/ronchet/MarcoRonchettiSmall.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3713635942384988451.post-2517692775115123372</id><published>2007-06-30T03:25:00.000+02:00</published><updated>2007-09-24T08:48:33.668+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='technical stuff'/><category scheme='http://www.blogger.com/atom/ns#' term='AJAX'/><title type='text'>AJAX frameworks</title><content type='html'>Got an e-mail from the Server Side with a list of Ajax frameworks - I'll keep a note here since they might be useful for some student projects in near future.&lt;br /&gt;&lt;br /&gt;================================================================&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;** Dojo 0.9 - Get an overview of the recently released, leaner, faster version of the Ajax powerhouse framework directly from the co-creator;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;** DWR - Hear about advanced features for Reverse Ajax programming in the new release and more from creator Joe Walker;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;** jQuery - Get information on how jQuery can specifically assist designers, and get both an introductory overview and an advanced session from creator John Resig;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;** Prototype - Hear an overview on Prototype, and learn how to take full advantage of Prototype's unique features;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;** Scriptaculous - See first hand how this framework can be used to help build larger Ajax applications;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;** qooxdoo - Not ringing a bell? Only TAE features a session on this innovative new open source - and well documented - framework;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;** Google Web Toolkit - Learn about one of the most popular frameworks for developers looking to build Ajax applications with Java - yes, Java;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;** sympfony - Learn about rapid application development with this PHP5 platform;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;** jMaki - Sun's Ajax architect dives into this client-server framework and how it can help build more extensible applications that are easier to integrate with your current environment;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;** Xaja - Get insight into the first PHP Reverse Ajax framework from Xaja's lead develope&lt;/span&gt;r;&lt;br /&gt;================================================================&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3713635942384988451-2517692775115123372?l=marcoronchetti.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://marcoronchetti.blogspot.com/feeds/2517692775115123372/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=3713635942384988451&amp;postID=2517692775115123372' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3713635942384988451/posts/default/2517692775115123372'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3713635942384988451/posts/default/2517692775115123372'/><link rel='alternate' type='text/html' href='http://marcoronchetti.blogspot.com/2007/06/ajax-frameworks.html' title='AJAX frameworks'/><author><name>Marco Ronchetti</name><uri>http://www.blogger.com/profile/15839838248770762666</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='26' src='http://latemar.science.unitn.it/segue_userfiles/ronchet/MarcoRonchettiSmall.jpg'/></author><thr:total>0</thr:total></entry></feed>
