tag:blogger.com,1999:blog-22243998823498338092024-03-13T09:54:21.004-07:00TQuerci's WebLogThis is just a place where my brain overflows, and where to do a restore from.
<BR>
This is not just my adventure in the computer world (or cyberworld?). It's more like a voyager's log.Anonymoushttp://www.blogger.com/profile/09340189393131252636noreply@blogger.comBlogger20125tag:blogger.com,1999:blog-2224399882349833809.post-74733834797137077202015-09-12T00:27:00.001-07:002015-09-12T00:27:48.708-07:00My PS3 seems to be dead. Long live to PS3<div style="text-align: justify;">
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;">Some days ago, my children have problem with our PS3.
They tried to restart the console but when the device restarted, an error message came up asking to check the storage. </span></div>
<div style="text-align: justify;">
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;">Obviusly we answered <b>yes</b> and we started to wait .... a long wait. .... long ...</span></div>
<div style="text-align: justify;">
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;">The day after (yes this operation was very slow and was necessary one whole day) finally the check disk was finished but PS3 was telling us that the system was corrupted so we had to insert an USB stick with latest firmware.</span></div>
<div style="text-align: justify;">
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;">No problem, we had it, so we inserted USB stick and reflash our PS3 (yes all games progress was lost). When flash process was finished we restarted the console and .... nothing happened on the screen. The screen was blank.</span></div>
<div style="text-align: justify;">
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;">We tried to start recovery console but nothing. The screen still was blank.</span></div>
<div style="text-align: justify;">
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;">We checked all connections: power cord, HDMI cord;but nothing, the screen still was blank.</span></div>
<div style="text-align: justify;">
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;"><br /></span></div>
<div style="text-align: justify;">
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;">Some days later I tried to remove the internal HD from PS3 and when I power on it an error screen came up on the screen. Wow, I thought, so no hardware problem on video card and motherboard, probably the problem is the communication with HardDisk.</span></div>
<div style="text-align: justify;">
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;"><br /></span></div>
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;">In the office I had an 2.5" HD so I took it and when I come back at home I tried to insert in the PS3 and ... opla ... recovery console now came up.</span><br />
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;">Now with a new HD my PS3 is like new.</span><br />
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;"><br /></span>
<span style="font-family: "Helvetica Neue",Arial,Helvetica,sans-serif;">I can understand that HD is critical for console but Sony could simply show an error message on the screen. In this was we though that it was dead but that wasn't true.</span>Anonymoushttp://www.blogger.com/profile/09340189393131252636noreply@blogger.com0tag:blogger.com,1999:blog-2224399882349833809.post-21062666199648130412014-03-14T07:27:00.001-07:002014-03-14T07:27:28.622-07:00NFS on LXC containerWhen I have two or more linux servers that need to share part of filesystem normally I use NFS.<br />
But when the machine aren't real sometime wrong can happened.<br />
Latest server that I had configurated are not real, but run on LXC linux container.<br />
<br />
After several google search a lot of test finally I accepted the fact that NFS server on LXC is actually not supported. So, what can I do?<br />
Ok, if NFS server on LXC can't run I always try to run NFS server on real server and configure all the virtual machine as NFS client, so I try to do it.<br />
<br />
Again, NFS client on LXC seems do not work. Why? The problem is <b>apparmor </b>on the real machine that block any appempt to mount NFS volumes.<br />
In order to try to minimize the security changes on apparmor I add the following lines in <b>/etc/apparmor.d/lxc/lxc-default</b><br />
<br />
<textarea rows="5" cols="60" onfocus="this.select()"
onmouseover="this.focus()" style="display: inline; font-family: Courier New, Courier, monospace;"
name="txt" onclick="this.focus();this.select()">
# allow nfs mount everywhere
mount fstype=rpc_pipefs,
mount fstype=nfs,
</textarea>
<div>
<br /></div>
<div>
and now all run perfectly.</div>Anonymoushttp://www.blogger.com/profile/09340189393131252636noreply@blogger.com0tag:blogger.com,1999:blog-2224399882349833809.post-75380980613353961622013-02-03T06:43:00.000-08:002013-02-03T06:44:53.971-08:00Modbus from C# - episode one - get a register valueModbus is a protocol that allow to access data to a remote device.<br />
Normally a modbus device is connected using serial line like RS232 or RS485 but ethernet is used also.
<br />
<br />
List of devices that support modbus protocol is very very long and you can find:<br />
<br />
<ul>
<li>remote I/O interface</li>
<li>power meter</li>
<li>inverter</li>
<li>.... </li>
</ul>
Normally I used libmodbus library in order to access to modbus devices but this is a C library so why not write a wrapper to use libmodbus from my C# code?<br />
<a href="http://www.blogger.com/git@github.com:mk8/modbus-sharp.git">Here</a> you can find the result and below I present a first usage example where the fist 16 register are read from R/W modbus resgister:<br />
<pre class="brush: csharp">
using System;
using libmodbussharp;
namespace modbussharptutorial
{
class MainClass
{
public static void Main (string[] args)
{
string modbusAddress = "127.0.0.1";
int port = 1502;
int sizeMapping = 512;
bool debug = true;
// Modbus Initialization
ModbusCore modbus = new ModbusCore(modbusAddress, port);
modbus.Debug=debug;
modbus.SetSlave (1);
modbus.Connect();
if (modbus.MappingNew(sizeMapping,sizeMapping,sizeMapping,sizeMapping)) {
Console.WriteLine("Failed to allocate the mapping.");
return;
}
// Ask for first 16 read/write registers
modbus.RegistersRWRead (0, 16);
// Print result to console
for (int i=0; i < 16; ++i) {
Console.WriteLine ("{0:X2} - {1:D}", i, modbus.RegisterRWUnsigned [i]);
}
}
}
}
</pre>
Anonymoushttp://www.blogger.com/profile/09340189393131252636noreply@blogger.com0tag:blogger.com,1999:blog-2224399882349833809.post-7574235409847279732011-03-25T02:57:00.000-07:002011-03-25T03:14:25.436-07:00Linq on MonoDroid<div><div>I love <a href="http://tirania.org/blog/archive/2007/Nov-16.html">this</a> post so when it is possibile I modify the original source code on various environment.<div>I do it on GTK, Sugar (OLPC) and maemo.</div><div>Now I realize the same thing on Android platform using Monodroid.</div><div>
</div><div>
</div><div><a href="http://www.torosoft.com/sources/LinqDroid/Activity1.cs">Here </a>there are the source code and screenshots follows:</div></div></div><div>
</div><div>
</div><div>
</div><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjP8MiTPnvrBq5m9iIAp4MtT54ZzjaYCNj3TyU7mhAMjx-sUeuNd-fgeKjvucUAEKmXM3nTFRe3CZ74JkLN1HOgFzTimUzFj37_-P7qmW95q0KRwwt3u3S_vN4FZTn2JiHuYxs97GihNKc/s1600/device2.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 192px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjP8MiTPnvrBq5m9iIAp4MtT54ZzjaYCNj3TyU7mhAMjx-sUeuNd-fgeKjvucUAEKmXM3nTFRe3CZ74JkLN1HOgFzTimUzFj37_-P7qmW95q0KRwwt3u3S_vN4FZTn2JiHuYxs97GihNKc/s320/device2.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5587956277724178786" /></a><div>
</div><div><br />
</div><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivYqSP6PpLIhqV5xBxcepLiFBQ7z65v0QJcd29J7o73xIfe5ZzLYXY1AhU-00MHEiZg3IoC8mb13Jul8Hi96VtdIO0QECkM4ZBZ3xO-ZEK7qIhir6FHz-Q7h-KRv4qPbfp4odHxnfBry4/s1600/device.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 192px; height: 320px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivYqSP6PpLIhqV5xBxcepLiFBQ7z65v0QJcd29J7o73xIfe5ZzLYXY1AhU-00MHEiZg3IoC8mb13Jul8Hi96VtdIO0QECkM4ZBZ3xO-ZEK7qIhir6FHz-Q7h-KRv4qPbfp4odHxnfBry4/s320/device.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5587956009994728482" /></a>
<div>
</div><div>
</div>Anonymoushttp://www.blogger.com/profile/09340189393131252636noreply@blogger.com1tag:blogger.com,1999:blog-2224399882349833809.post-73604539375258900472011-03-17T02:19:00.000-07:002011-03-17T02:27:17.529-07:00PgDroid updated.<div style="text-align: justify;"><a href="http://pgdroid.googlecode.com/files/PgDroid_0_0_6.zip">PgDroid</a>, a software to access postgresql databases from android devices, is update in order to compile with MonoDroid preview 14.</div><div style="text-align: justify;">Moreover the Npgsql postgresql driver is moved to a separate project file.</div><div style="text-align: justify;">Now you can download the Npgsql postgresql driver for Android from <a href="http://pgdroid.googlecode.com/files/NpgsqlAndroid.2.0.11.zip">here</a> and use in your code without the necessity to get PgDroid code.</div><div style="text-align: justify;">
</div><div style="text-align: justify;">Any suggestions about how to improve PgDroid are welcomed.</div><div style="text-align: justify;">
</div><div>Best Regards</div>Anonymoushttp://www.blogger.com/profile/09340189393131252636noreply@blogger.com2tag:blogger.com,1999:blog-2224399882349833809.post-56807568686303603872011-03-04T05:20:00.000-08:002011-03-04T08:15:42.213-08:00PgDroid part 2, PostgreSQL db from Android device using Monodroid and NpgsqlNews from PgDroid project:
- it is possible write and executes a generic SQL query from the device.
- "connection list" function is added. With this function you are able to see any database connection and, if you are connected as administrator, you are able to terminate it. In a future I hope that will be possible for database owner kill sessions to own database.
The source code can be found <a href="http://code.google.com/p/pgdroid/">here</a>.
Any suggestions will be appreciated.
<div>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYo0AihrS5rRH4gqJzSvKIY37I9_u9PfOugRyJztdo0S2t0AdgIcL2Pt7cj4CRb9CnHDaaBvcS38Zp-8LxUKo36_Z-FsjckLrwpIcMds0fq364TBYA5QSoRkntcwbsQg_X8TVOY4fXK7o/s1600/v1_img1-create-connection.png"><img style="cursor:pointer; cursor:hand;width: 153px; height: 256px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjYo0AihrS5rRH4gqJzSvKIY37I9_u9PfOugRyJztdo0S2t0AdgIcL2Pt7cj4CRb9CnHDaaBvcS38Zp-8LxUKo36_Z-FsjckLrwpIcMds0fq364TBYA5QSoRkntcwbsQg_X8TVOY4fXK7o/s320/v1_img1-create-connection.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5580223062296297586" /></a> <a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLfpcT55kOTJ14oiIREA9KUcTFEOdCwrTABa8srOSvFD47AfHitUigBYA9hiPcNieaFAQ57Nav2CxW985o0vXEYOxVbCwSBmZzpV_ceKzhZTur_L9dlaKubnShQWNVIOvFQsZHJPdlfI0/s1600/v1_img2-main-activity.png"><img style="cursor:pointer; cursor:hand;width: 153px; height: 256px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhLfpcT55kOTJ14oiIREA9KUcTFEOdCwrTABa8srOSvFD47AfHitUigBYA9hiPcNieaFAQ57Nav2CxW985o0vXEYOxVbCwSBmZzpV_ceKzhZTur_L9dlaKubnShQWNVIOvFQsZHJPdlfI0/s320/v1_img2-main-activity.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5580223068203524786" /></a> <a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVvSedcDPwlDN1cyLLOZAJ5IzMuwEnVouAG85sfH8QAQwWfezSaEtlKdYOrEKAo1QEgvVRpMmrZm0hCJY5EHO4wigYXDbOkIcU4Gba1Vp0a_fM6HrUXShm7YV7cDh_ZLkB4aytXgb8qoY/s1600/v1_img3-database-actions.png"><img style="cursor:pointer; cursor:hand;width: 153px; height: 256px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjVvSedcDPwlDN1cyLLOZAJ5IzMuwEnVouAG85sfH8QAQwWfezSaEtlKdYOrEKAo1QEgvVRpMmrZm0hCJY5EHO4wigYXDbOkIcU4Gba1Vp0a_fM6HrUXShm7YV7cDh_ZLkB4aytXgb8qoY/s320/v1_img3-database-actions.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5580223069891157666" /></a>
</div>
<div>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSZUqQ83j-rP3CXKk_TBHArwlayT78DwG1yA7MjTXdSn98fniRgOU6MSYlOMfRqhb8-okWuzf33zhkIxXETzrBTbF5U6nGua5wamdZn2KV6-jw-UKaMrI54coR1Ob4NgChQafnclCkt-M/s1600/v1_img4-connections-list.png"><img style="cursor:pointer; cursor:hand;width: 256px; height: 153px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSZUqQ83j-rP3CXKk_TBHArwlayT78DwG1yA7MjTXdSn98fniRgOU6MSYlOMfRqhb8-okWuzf33zhkIxXETzrBTbF5U6nGua5wamdZn2KV6-jw-UKaMrI54coR1Ob4NgChQafnclCkt-M/s320/v1_img4-connections-list.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5580223073438033410" /></a> <a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOxX0auD2nFLIkR860jJW-zp078XPqKdhwMflBkBjR6olOXQNkZLFwKJrat9RvB17uufxZAUFFD1MJfZw55WWF2fgmECXfO9VXLPgRh8uFLNjQiA2oKj-vNhoV96Y1oqHpiMf1rV7x5Is/s1600/v1_img5-terminate.backend.png"><img style="cursor:pointer; cursor:hand;width: 256px; height: 153px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOxX0auD2nFLIkR860jJW-zp078XPqKdhwMflBkBjR6olOXQNkZLFwKJrat9RvB17uufxZAUFFD1MJfZw55WWF2fgmECXfO9VXLPgRh8uFLNjQiA2oKj-vNhoV96Y1oqHpiMf1rV7x5Is/s320/v1_img5-terminate.backend.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5580223076242735442" /></a>
</div>Anonymoushttp://www.blogger.com/profile/09340189393131252636noreply@blogger.com1tag:blogger.com,1999:blog-2224399882349833809.post-53532780400418749072011-02-02T05:53:00.000-08:002011-02-02T06:41:35.883-08:00PgDroid, access to PostgreSQL db from Android device using Monodroid and NpgsqlFinally PgDroid (PostgreSQL from Android), an application to test PostgreSQL db access from android device using Monodroid and Npgsql seems to work.
Actually give me the list of Tables, Views, Indexes and Sequences of any postgresql DB.
Next step are adding some "Administrative tool" and the capability for the user to write an own SQL command.
<br />
<br />
To do:
- publish in an open repository
- more useful functions
- ......
<br />
<br />
Any suggestions will be appreciated.
<br />
<br />
Ops.... Some screenshot are needed:
<br />
<br />
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5kQKksyXCAsxC_7l7dgVSfx1InRMXOKgHzjqt12DDrBaBhTiS14ew8Td7NDyh3ENmWUSh7M4P5syx0g9iN22FQhMx2N6hoBIVnxFScP6oOrvb8qEh12I07DDz3M_pZjFAmY5Mr-EK5qM/s1600/img1-create-connection.png"><img style="margin:0px auto 10px; cursor:pointer; cursor:hand;width: 192px; height: 320px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj5kQKksyXCAsxC_7l7dgVSfx1InRMXOKgHzjqt12DDrBaBhTiS14ew8Td7NDyh3ENmWUSh7M4P5syx0g9iN22FQhMx2N6hoBIVnxFScP6oOrvb8qEh12I07DDz3M_pZjFAmY5Mr-EK5qM/s320/img1-create-connection.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5569096769092829042" /></a> <a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi70SFsq2x0pXCURqIbCxf6QLT4m1n5jmcq95Vd2fXZw0gDFg5jUHqM8hpWh4N1OXXWTRQSxlYRIGuFHPZ8J2vgml1PsGBIpxfXlfCtiR4f-2u5ks-8uJtOp4wqEQe_SK0FdImX7NmwTY8/s1600/img3-connection-list.png"><img style="margin:0px auto 10px; cursor:pointer; cursor:hand;width: 192px; height: 320px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi70SFsq2x0pXCURqIbCxf6QLT4m1n5jmcq95Vd2fXZw0gDFg5jUHqM8hpWh4N1OXXWTRQSxlYRIGuFHPZ8J2vgml1PsGBIpxfXlfCtiR4f-2u5ks-8uJtOp4wqEQe_SK0FdImX7NmwTY8/s320/img3-connection-list.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5569096991055455154" /></a>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhH5E3BC6BHVhv9pxE-hOiPUw6YHOWs2mGk3uF53pvJmkUXSwjhEEFUZAJhQyKxqtHxYYmCnZ5rgFa_KYR8eh9IBvhjxjOG7ts0cdUnKDmD5CvABHumv98IsA_t4Mw6duOKdiGZ0rz7aJs/s1600/img4-list-of-command.png"><img style="margin:0px auto 10px; cursor:pointer; cursor:hand;width: 192px; height: 320px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhH5E3BC6BHVhv9pxE-hOiPUw6YHOWs2mGk3uF53pvJmkUXSwjhEEFUZAJhQyKxqtHxYYmCnZ5rgFa_KYR8eh9IBvhjxjOG7ts0cdUnKDmD5CvABHumv98IsA_t4Mw6duOKdiGZ0rz7aJs/s320/img4-list-of-command.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5569097131893442434" /></a> <a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHAn1jZV5VY_B5llnIr9MfzVXZOQjgbh2ekeepFl_xYm4UxRk4LqzV7NKvcXb_xowdfdSZRoFSRy-s31TXR6xob3lpaZBoefZz_jIi_maNBI_ByS3ptWQxiLQ-fjxmiw7a0ZzEd6EooIo/s1600/img5-list-of-tables.png"><img style="margin:0px auto 10px; cursor:pointer; cursor:hand;width: 192px; height: 320px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjHAn1jZV5VY_B5llnIr9MfzVXZOQjgbh2ekeepFl_xYm4UxRk4LqzV7NKvcXb_xowdfdSZRoFSRy-s31TXR6xob3lpaZBoefZz_jIi_maNBI_ByS3ptWQxiLQ-fjxmiw7a0ZzEd6EooIo/s320/img5-list-of-tables.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5569097300161132562" /></a>Anonymoushttp://www.blogger.com/profile/09340189393131252636noreply@blogger.com2tag:blogger.com,1999:blog-2224399882349833809.post-26078628717295747742010-03-23T02:43:00.000-07:002010-03-23T04:07:26.231-07:00Mono 2.4.3 and WinForm on Maemo deviceToday I spend some time to make some test using a real winform application on my N810 device.
This application use a config file, a socket and a nontrivial winform interface to show the status of specific software server.
This interface use tab pane dock to the full window, a detaililed list, and change the color of the row when a specific process is in running.
I simply copy the binary from the windows server to my OpenSuSE linux machine and on my N810 maemo device.
On OpenSuSE I have no problem with the latest version of mono.
On Maemo device I not able to run the release version of application, so I try to run the Debug version with the "--debug" option.
Now the application start perfectly.
Here there is some screenshot taken from Windows, OpenSuSE and N810 :)
<div style="text-align: center;">Window Platform
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhi-cTB0Gbm0Uh_PBAYQiczSSSJgDgcajyrf9Dm4P2x-Yn4i2GldabtOK54g96sFr-TGi8YB6r7xMvfgt8IqaP4AVFdoDKoZHyAxVqeI9ytKnLX2tmPRxDLY0BECZT6oY4pAs0I6O9VR-0/s1600-h/img_window_server.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 206px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhi-cTB0Gbm0Uh_PBAYQiczSSSJgDgcajyrf9Dm4P2x-Yn4i2GldabtOK54g96sFr-TGi8YB6r7xMvfgt8IqaP4AVFdoDKoZHyAxVqeI9ytKnLX2tmPRxDLY0BECZT6oY4pAs0I6O9VR-0/s320/img_window_server.png" alt="" id="BLOGGER_PHOTO_ID_5451768916670946962" border="0" /></a>
</div>
<div style="text-align: center;">Linux Plaform
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgT_QrOLGAT9vIHSFdKhmBFqUIn6zgxAC8_-Kp6aRPtr_pxADYy1a6dHGT9MjZdNt2kLZZMKRQa1pNYB9mEywzZHV4WShnXMYi5EMLRHlkaIUSetGj1e6Ptc9NaxO6BzlUvsheLZbpgh-0/s1600-h/img_linux_desktop.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 210px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgT_QrOLGAT9vIHSFdKhmBFqUIn6zgxAC8_-Kp6aRPtr_pxADYy1a6dHGT9MjZdNt2kLZZMKRQa1pNYB9mEywzZHV4WShnXMYi5EMLRHlkaIUSetGj1e6Ptc9NaxO6BzlUvsheLZbpgh-0/s320/img_linux_desktop.png" alt="" id="BLOGGER_PHOTO_ID_5451769070307550018" border="0" /></a>
</div>
<div style="text-align: center;">
Maemo4 on N810
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMtEc8Bu54ZCDOnF-j3JUObYeBlpP5m2Ut09oflU20NVRol7nuEBKQVXEuUA77sJR0VO7W0TBV7FxUAghgmJCsAI9cTWHKM3epL3dhIvAfD4chDvghxtt0xrtE2gEayit48PA4HMk3XIY/s1600-h/img1.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 192px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgMtEc8Bu54ZCDOnF-j3JUObYeBlpP5m2Ut09oflU20NVRol7nuEBKQVXEuUA77sJR0VO7W0TBV7FxUAghgmJCsAI9cTWHKM3epL3dhIvAfD4chDvghxtt0xrtE2gEayit48PA4HMk3XIY/s320/img1.png" alt="" id="BLOGGER_PHOTO_ID_5451769178059921426" border="0" /></a>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9RqMSmuov8HwmIo8CBCUAkzBODZKp938L8ckJH2HVhmGYdArQtnJZj01xEkahm_2tM9fJsdmwM5pMBjt94J4RJiDrKe-QCj7SiBkTEW4PiKr8tRzvrBx-1nB03GaIXIfIqRe8HLxtG-w/s1600-h/img3.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 192px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg9RqMSmuov8HwmIo8CBCUAkzBODZKp938L8ckJH2HVhmGYdArQtnJZj01xEkahm_2tM9fJsdmwM5pMBjt94J4RJiDrKe-QCj7SiBkTEW4PiKr8tRzvrBx-1nB03GaIXIfIqRe8HLxtG-w/s320/img3.png" alt="" id="BLOGGER_PHOTO_ID_5451769256887557554" border="0" /></a>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDytHhIq1rrYMwt661YyYQqcLRCARS1ZHfAHFzD_AZxp1R3VC8gEINVGmGgDNe2NwU7qC2hUC0HCFs1uLqpJW3DH27zr57t3qGw-ys5WyPyxqjwODdvdSDvBIKSq_RTTjlppA5V7XMko8/s1600-h/img4.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 192px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDytHhIq1rrYMwt661YyYQqcLRCARS1ZHfAHFzD_AZxp1R3VC8gEINVGmGgDNe2NwU7qC2hUC0HCFs1uLqpJW3DH27zr57t3qGw-ys5WyPyxqjwODdvdSDvBIKSq_RTTjlppA5V7XMko8/s320/img4.png" alt="" id="BLOGGER_PHOTO_ID_5451769334616849762" border="0" /></a>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKaB8b6yNLMYIuCdMCspqq4a75oFy1Njp2n-ed3hbzRw-MLvCr2X6DYSgQRDnnfUdq8vAnvkdKx7dVUeC1wP3KUL6X_ZM7W-lvUxf0d92NmQ_ihKv1iIba2zgazwCqJNFWjK0YdHXmn7k/s1600-h/img5.png"><img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 192px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKaB8b6yNLMYIuCdMCspqq4a75oFy1Njp2n-ed3hbzRw-MLvCr2X6DYSgQRDnnfUdq8vAnvkdKx7dVUeC1wP3KUL6X_ZM7W-lvUxf0d92NmQ_ihKv1iIba2zgazwCqJNFWjK0YdHXmn7k/s320/img5.png" alt="" id="BLOGGER_PHOTO_ID_5451769417507868002" border="0" /></a>
</div>Anonymoushttp://www.blogger.com/profile/09340189393131252636noreply@blogger.com1tag:blogger.com,1999:blog-2224399882349833809.post-13091342901578096082010-03-13T01:39:00.000-08:002010-03-13T02:36:06.512-08:00Mono 2.4.3 on Maemo devicesAfter long long time I find some freetime to spend to update mono for maemo devices.
After a lots of work, at the end I able to compile mono 2.4.3 for the maemo devices. <a href="http://code.google.com/p/tomboy-maemo/wiki/MonoSbDevKit243">Here</a> you can find the instaction to compile mono for maemo. This instruction are refered by Maemo5 but work also on maemo4 and maemo4.1.
I test it only on maemo4.1 device (I have N810 device but unfortunally not a N900 one).
Here a the output of "mono --version" from a terminal:
<blockquote style="font-family: courier new; background:#fdf5e7; font-size:100%; padding:10px 15px; border:1px solid #0f491c; "><span style="color: #000000;" >Nokia-N810-23-14:~# mono --version<br/>
Mono JIT compiler version 2.4.3 (tarball Sat Feb 27 22:09:03 CET 2010)<br/>
Copyright (C) 2002-2008 Novell, Inc and Contributors. www.mono-project.com<br/>
TLS: normal<br/>
GC: Included Boehm (with typed GC)<br/>
SIGSEGV: normal<br/>
Notifications: epoll<br/>
Architecture: armel,soft-float<br/>
Disabled: debug,large_code,logging,com<br/>
</span></blockquote>Anonymoushttp://www.blogger.com/profile/09340189393131252636noreply@blogger.com2tag:blogger.com,1999:blog-2224399882349833809.post-45194311035923916782009-07-04T23:32:00.000-07:002009-07-05T00:16:01.239-07:00FsGateway - access to Sugar DatastoreFsGateway is a Mono application that allows to mount several entities as a filesystem
using mono-fuse. Now we see the <span style="font-weight:bold;">sugar_datastore</span> module.
<br/>
<br/>
<span style="font-weight:bold;">sugar_datastore module</span>
<br/>
<br/>
This module allows mounting a Sugar Datastore storage as a filesystem. This way you can access to your document created using Sugar. Tags are shown as directories in the exported filesystem.
You can open a Write document by simply double-clicking on it, and Open Office will be opened.
<br/>
<br/>
To do this, simply run the application specifying the filesystem type (sugar_datastore),
the location where your data is stored (in this case datastore_sample)
and the mountpoint (in this case mountpoint/):
<br/>
<br/>
<blockquote>mono --debug fsgateway.exe sugar_datastore datastore_sample mountpoint/
</blockquote>
<br/>
Now you can use your preferred file manager such as Nautilus or Dolphin to see the content and open each object with a double-click:
<br/>
<br/>
Here some snapshopt:
<br/>
<br/>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.torosoft.com/fsgateway/img_sugar_datastore.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px;" src="http://www.torosoft.com/fsgateway/img_sugar_datastore.png" border="0" alt="" /></a>
<br/>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.torosoft.com/fsgateway/img_sugar_datastore_paint.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px;" src="http://www.torosoft.com/fsgateway/img_sugar_datastore_paint.png" border="0" alt="" /></a>
<br/>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.torosoft.com/fsgateway/img_sugar_datastore_write.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px;" src="http://www.torosoft.com/fsgateway/img_sugar_datastore_write.png" border="0" alt="" /></a>
<br/>
Since the datastore is read scanning the storage directory without using the datastore internal storage capability, data is read-only. This is done by the module, changing this behavior is very easy.
<br/>
<br/>
Obviously, you can open a SoaS datastore using this step:
<br/>
<br/>
<ul>
<li>become root (unfortunately)</li>
<li>plug in your SoaS in the USB port</li>
<li>create a working directory (e.g.: //mkdir ~/soas_datastore//)</li>
<li>mount the home partition with loop option (e.g.: //mount -o loop /media/disk/LiveOS/home.img soas_datastore// )</li>
<li>mount the datastore stored inside it (e.s. //mono --debug fsgateway.exe sugar_datastore ~/soas_datastore/liveuser/.sugar/default/datastore mountpoint//)</li>
</ul>
<br/>
Of course, you can try the "allow_other" FUSE option to allow other users to access to the datastore.Anonymoushttp://www.blogger.com/profile/09340189393131252636noreply@blogger.com0tag:blogger.com,1999:blog-2224399882349833809.post-10908196033809591232009-06-15T01:30:00.000-07:002009-06-18T05:00:14.290-07:00FsGateway: looking inside an XML file as a filesystem.FsGateway is a Mono application that allow to mount several entity as a filesystem.
To do this one mono-fuse is used. Actually when you need to start the fsgateway you need do specify the filesystem type and the mountpoint.
Now will describe the use of xmlfs "module".
This module allow to mount a XML file into the normal filesystem. To do this simply run the application specify filesystem type (xmlfs), an XML file (in this case ~/mono_sugar/xml/xml/xml/bin/Debug/test3.xml) and the mountpoint (in this case mountpoint/):
<blockquote>mono fsgateway.exe xmlfs ~/mono_sugar/xml/xml/xml/bin/Debug/test3.xml mountpoint/</blockquote>
Now you can use your preferred file manager like nautilus or dolphin to see the content and open each node like a file:
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2OjrotmmnBBtY5iJ_4N3OfvVdIlNdH7WdJ1j_1v5WUNKkJ3FOQWHEfXK_OtNYvlCUAFMa6tWvCtBEgAZ4IcB4WdN775GMJ3luB1oSs9DYLooVdZuISkHSfs5xNBIMq8nnRGGS1fDeaww/s1600-h/Immagine.jpg"><img style="cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh2OjrotmmnBBtY5iJ_4N3OfvVdIlNdH7WdJ1j_1v5WUNKkJ3FOQWHEfXK_OtNYvlCUAFMa6tWvCtBEgAZ4IcB4WdN775GMJ3luB1oSs9DYLooVdZuISkHSfs5xNBIMq8nnRGGS1fDeaww/s320/Immagine.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5347476877283360290" /></a>
If you run the "find" or "grep" utilities, the file name that you get contains the XPath query to access the node. For example:
<blockquote>find mountpoint -iname "*md5*"</blockquote>
give this result for the file that I specify:
<blockquote>mountpoint/def:metadigit/def:img[1]/def:md5
mountpoint/def:metadigit/def:img[1]/def:altimg[1]/def:md5
mountpoint/def:metadigit/def:img[1]/def:altimg[2]/def:md5
mountpoint/def:metadigit/def:img[2]/def:md5
mountpoint/def:metadigit/def:img[2]/def:altimg[1]/def:md5
mountpoint/def:metadigit/def:img[2]/def:altimg[2]/def:md5
mountpoint/def:metadigit/def:img[3]/def:md5
mountpoint/def:metadigit/def:img[3]/def:altimg[1]/def:md5
mountpoint/def:metadigit/def:img[3]/def:altimg[2]/def:md5
mountpoint/def:metadigit/def:img[4]/def:md5
mountpoint/def:metadigit/def:img[4]/def:altimg[1]/def:md5
mountpoint/def:metadigit/def:img[4]/def:altimg[2]/def:md5
mountpoint/def:metadigit/def:img[5]/def:md5
mountpoint/def:metadigit/def:img[5]/def:altimg[1]/def:md5
mountpoint/def:metadigit/def:img[5]/def:altimg[2]/def:md5
mountpoint/def:metadigit/def:img[6]/def:md5
mountpoint/def:metadigit/def:img[6]/def:altimg[1]/def:md5
mountpoint/def:metadigit/def:img[6]/def:altimg[2]/def:md5
mountpoint/def:metadigit/def:img[7]/def:md5
mountpoint/def:metadigit/def:img[7]/def:altimg[1]/def:md5
mountpoint/def:metadigit/def:img[7]/def:altimg[2]/def:md5
mountpoint/def:metadigit/def:img[8]/def:md5
mountpoint/def:metadigit/def:img[8]/def:altimg[1]/def:md5
mountpoint/def:metadigit/def:img[8]/def:altimg[2]/def:md5</blockquote>
The same way, if you run "grep" you get the same behavior. For example:
<blockquote>grep -ril piccolo mountpoint/</blockquote>
gives as result:
<blockquote>mountpoint/def:metadigit/def:bib/dc:description/text()</blockquote>
You can find the source code <a href="http://git.sugarlabs.org/projects/fsgateway">here</a>.
Note: the def prefix is automatically added by the module for the default namespace. If this prefix is already used, the module use def2, or def3 ... and so on.Anonymoushttp://www.blogger.com/profile/09340189393131252636noreply@blogger.com3tag:blogger.com,1999:blog-2224399882349833809.post-1341586124944208152008-12-05T08:58:00.000-08:002008-12-05T09:08:02.869-08:00OLPC under the Tower Eiffel - video, slide and pictures from the eventThe French guys have published a lots of material from the CodeCamp on OLPC.
<a href="http://olpc-france.org/wiki/index.php?title=Compte-rendu_CodeCamp">Here</a> you can find a lots of material about this event including some pictures and my presentation about to use the XO datastore from Mono and C#.Anonymoushttp://www.blogger.com/profile/09340189393131252636noreply@blogger.com1tag:blogger.com,1999:blog-2224399882349833809.post-24660106063852659672008-11-12T13:57:00.000-08:002008-11-12T14:11:34.435-08:00OLPC and MONO under the Eiffel TowerHi guys,
OLPC France will organize a OLPC CodeCamp in Paris on November 15 th. Five workshops are planned: Sugar, Localization, Pedagogic Usage, School Server and… Development of new activities using Mono.
OLPC is one of most ambitious education project, it’s cool to have opportunity to use Mono on it.
I will join with this guys, and you?
You can find here some useful link:<a href="http://olpc-france.org/wiki/index.php?title=OLPC_France_CodeCamp_15_november">here</a> and <a href="http://olpc-france.org/wiki/index.php?title=Mono_development_Workshop_15nov">here</a>.
This news is also published by olpcnews. You can find the full article <a href="http://www.olpcnews.com/use_cases/user_groups/xoing_under_the_eiffel_tower_codecamp_paris.html">here</a>.
Best Regards.Anonymoushttp://www.blogger.com/profile/09340189393131252636noreply@blogger.com1tag:blogger.com,1999:blog-2224399882349833809.post-39729116989338907882008-10-29T22:22:00.000-07:002008-10-29T22:36:15.304-07:00Mono on OLPC (One Laptop Per Child) device updateHi guys,
A new official version of the XO Operating System is came out some days ago, the 767 build.
Unfortunally the mono activities doesn't work on this environment.
After some work to understanding the problem (because if I try to run it from Terminal activity using sugar-launch it came up) the bug is now fixed.
The problem was related to the rainbow security model implemented on XO. This version of rainbow do not create the standard input and output file handles so the application hang-up. To fix it you need to modify the script that launch the activity to add a redirection from and to /dev/null. After this you have your activity ready to run again.
<a href="http://wiki.laptop.org/go/Mono">Here</a> you can see the wiki page on laptop.org with the script updated.
Happy hackingAnonymoushttp://www.blogger.com/profile/09340189393131252636noreply@blogger.com2tag:blogger.com,1999:blog-2224399882349833809.post-29414906818712366572008-07-23T04:37:00.000-07:002008-07-23T05:45:53.506-07:00Mono on OLPC (One Laptop Per Child) device updateHi guys,
several months went by without any post, but I didn't remain idle.
During this time I made a lots of things but now I'm glad to post an update to sugar-sharp.
This update will let you to use the datastore service that Sugar makes available to store your data.
The datastore data are used by the Journal and can be integrated with the school server.
This version is a very low-level API because it's a one-to-one mapping with the DBUS services. In the next version I will create a new class to allow you an easier way to access to the data on the datastore.
Any suggestions are welcomed.
You can find the instruction about compilation of mono <a href="http://wiki.laptop.org/go/Mono">here</a>, and <a href="http://code.google.com/p/sugar-sharp/">here</a> you can find the source code.
Happy hacking to allAnonymoushttp://www.blogger.com/profile/09340189393131252636noreply@blogger.com0tag:blogger.com,1999:blog-2224399882349833809.post-803458679578628872008-01-18T01:27:00.000-08:002008-01-21T01:20:56.937-08:00GBrainy for OLPC v0.50Hi everyone,
my little contribution to the OLPC and Mono is not finished yet, so in the last days I tried to port the new version of GBrainy to the OLPC Device. GBrainy is so nice that the OLPC version needs to be updated.
You can find it <a href="http://wiki.laptop.org/go/GBrainy">here</a>.
The original web page can be found <a href="http://live.gnome.org/gbrainy">here</a>.
Thanks to Jordy Mas for the original code.Anonymoushttp://www.blogger.com/profile/09340189393131252636noreply@blogger.com0tag:blogger.com,1999:blog-2224399882349833809.post-31108487136101048432008-01-03T04:57:00.000-08:002008-01-03T08:30:38.984-08:00Mono on OLPC (One Laptop Per Child) deviceAfter a lot of time I'm finally releasing the first version of Sugar assembly to "sugarize" a Mono application. This assembly is needed to integrate a Mono application with the Sugar environment so it can run on an OLPC device. This version allows creating applications that use GTK# forms created programmatically or by a Glade resource file.
Additional work remains to be done to support new widgets and integrate with Journal/Datastore to enable using all of the OLPC resource.
A specific wiki page has been created on laptop.org wiki at <a href="http://wiki.laptop.org/go/Mono">this address</a>.
I have ported two applications to the OLPC device: GBrainy and MonkeysMemory. The first application is an interesting application to "improve" your brain, while the second one is a simple "Memory" game that I wrote to play with my children.
Again I created some specific wiki page on laptop.org wiki, one for <a href="http://wiki.laptop.org/go/MonkeysMemory">MonkeysMemory</a> and one for <a href="http://wiki.laptop.org/go/GBrainy">GBrainy</a>.
Here are some screenshots to see these applications (oops, activities) in action:
<div>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://wiki.laptop.org/images/c/cf/MonkeysMemory-Screenshot.png"><img style="cursor: pointer; width: 450px;" src="http://wiki.laptop.org/images/c/cf/MonkeysMemory-Screenshot.png" alt="" border="0" /></a>
</div>
<div>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://wiki.laptop.org/images/1/1c/GBrainy-2-Screenshot-1.png"><img style="cursor: pointer; width: 450px;" src="http://wiki.laptop.org/images/1/1c/GBrainy-2-Screenshot-1.png" alt="" border="0" /></a>
</div>
<div>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://wiki.laptop.org/images/d/d7/GBrainy-2-Screenshot-2.png"><img style="cursor: pointer; width: 450px;" src="http://wiki.laptop.org/images/d/d7/GBrainy-2-Screenshot-2.png" alt="" border="0" /></a>
</div>
<div>
<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://wiki.laptop.org/images/1/17/GBrainy-2-Screenshot-3.png"><img style="cursor: pointer; width: 450px;" src="http://wiki.laptop.org/images/1/17/GBrainy-2-Screenshot-3.png" alt="" border="0" /></a>
</div>Anonymoushttp://www.blogger.com/profile/09340189393131252636noreply@blogger.com1tag:blogger.com,1999:blog-2224399882349833809.post-15844696495481495352007-12-16T13:04:00.000-08:002007-12-17T14:20:17.381-08:00How to write a standalone program (part 3)?When I was deciding which library to use for developing my application, I was in doubt between GTK and WinForm. Back then, the WinForm was not so good, so I tried to use the GTK# for both the Win32 and Linux platforms. I had a lot of problems because I had to put a widget in a specific position and I needed to make a lot of experimentation to understand how to layout the GTK widgets.
In the next project I did, the WinForm API became more stable, so I decided to use it. Again, I found a lot of problems but the program is now finished.
The difference between the two class libraries?
Personally, I prefer GTK# because is very powerful and flexible. Unfortunaly, on the Windows platform the look is not so good as on the Linux platform, and the need to include the GTK library for Windows increases the space requirements and the startup time on the CD-ROM media. Using WinForm, the application requires less disk space, but under Linux the interface looks alien.Anonymoushttp://www.blogger.com/profile/09340189393131252636noreply@blogger.com0tag:blogger.com,1999:blog-2224399882349833809.post-34294363847753443112007-12-06T15:02:00.000-08:002008-12-10T01:56:57.585-08:00How to write a standalone program (part 2)?Hi, now you can look on some screenshot taken from linux and windows system.<br /><br />The first sequence of image is taken from Linux system.<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRwIuPXZ9nTYMhHRz3vSTakUb4d5Z1GwTQpBZXU7w6UUwKKzYEMbwL1NhEhIuUTVfn_l-1kB6RkFRWinxiQNBpdSRtwBtzWSRd6gF4mhEPkT6x3VnnjEHNLDrtjacAwp6oP2m3m-I0cgA/s1600-h/img1_windows.png"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRwIuPXZ9nTYMhHRz3vSTakUb4d5Z1GwTQpBZXU7w6UUwKKzYEMbwL1NhEhIuUTVfn_l-1kB6RkFRWinxiQNBpdSRtwBtzWSRd6gF4mhEPkT6x3VnnjEHNLDrtjacAwp6oP2m3m-I0cgA/s320/img1_windows.png" alt="" id="BLOGGER_PHOTO_ID_5140999872180762178" border="0" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfr3miU1_nn33hNDfdpMVgepNcSjH_CPHy9xOrDo3kRqAfz8IMf3ki1ArWVbfjc017ErSL5D-Uo5PTUBgb76Q4YcmFhDRZiMLi5kN80kFD1NzcUXNview_efvmD29dhG2wnS1OVmF0lqM/s1600-h/img2_windows.png"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjfr3miU1_nn33hNDfdpMVgepNcSjH_CPHy9xOrDo3kRqAfz8IMf3ki1ArWVbfjc017ErSL5D-Uo5PTUBgb76Q4YcmFhDRZiMLi5kN80kFD1NzcUXNview_efvmD29dhG2wnS1OVmF0lqM/s320/img2_windows.png" alt="" id="BLOGGER_PHOTO_ID_5141000692519515746" border="0" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9k8PY_SS7wZXyHTZ_ZyXHpdU0wzyLA_COWzNVy80G8AR9kmMGE4lL-C35BVBmSVkXwbpsuBMvFji-NqBIaJYKiGtFKkJWLGvXLg6nrRLBQGKMAiOzPfb36b0B8_tDfAoKueWvJYWEuo4/s1600-h/img3.png"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9k8PY_SS7wZXyHTZ_ZyXHpdU0wzyLA_COWzNVy80G8AR9kmMGE4lL-C35BVBmSVkXwbpsuBMvFji-NqBIaJYKiGtFKkJWLGvXLg6nrRLBQGKMAiOzPfb36b0B8_tDfAoKueWvJYWEuo4/s320/img3.png" alt="" id="BLOGGER_PHOTO_ID_5141000984577291890" border="0" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdZECACBkiN5I_PieDXeU86Hnl9iBiolI1buA0-v9YR7vw9QCenyfMhJ5hvYxfx0taF2BhQwasE3WKd1NWx3Sgas-_1EAfxuZdB_ROykwCqLBQnuW8A1C1ADC7fSf4vQNNwzswG_DOmdk/s1600-h/img4.png"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdZECACBkiN5I_PieDXeU86Hnl9iBiolI1buA0-v9YR7vw9QCenyfMhJ5hvYxfx0taF2BhQwasE3WKd1NWx3Sgas-_1EAfxuZdB_ROykwCqLBQnuW8A1C1ADC7fSf4vQNNwzswG_DOmdk/s320/img4.png" alt="" id="BLOGGER_PHOTO_ID_5141002195758069394" border="0" /></a><br /><br /><br />This other sequence of images is taken from Windows System<br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8j6FmKHe5T8ix4khB5a-41_OSalsn0yRRF6fO1ihsK4mmuwhrpXvBQtFmV8A9HWYkQesFgxF6PJfDVrHJRODHpIKJUEn5Z0Ve5FNZeY_RjqrJuScpDBX0esPI__TfF7-Lsga8lcJL6wM/s1600-h/img1.png"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8j6FmKHe5T8ix4khB5a-41_OSalsn0yRRF6fO1ihsK4mmuwhrpXvBQtFmV8A9HWYkQesFgxF6PJfDVrHJRODHpIKJUEn5Z0Ve5FNZeY_RjqrJuScpDBX0esPI__TfF7-Lsga8lcJL6wM/s320/img1.png" alt="" id="BLOGGER_PHOTO_ID_5140999743331743282" border="0" /></a><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZtVS-JgSgGAKoQyRneRpP3lpkkpqZNHFlUKT4PsbDrpNWxlSf6RSOflhZfRTyDCd-ZfRBG09Qh76nRvY8JLyKdB6cM-V7VRIbxdWyuF9bRmc6nlh7gVhz7d_4_klUQnskwmY9K9Lqd9g/s1600-h/img2.png"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZtVS-JgSgGAKoQyRneRpP3lpkkpqZNHFlUKT4PsbDrpNWxlSf6RSOflhZfRTyDCd-ZfRBG09Qh76nRvY8JLyKdB6cM-V7VRIbxdWyuF9bRmc6nlh7gVhz7d_4_klUQnskwmY9K9Lqd9g/s320/img2.png" alt="" id="BLOGGER_PHOTO_ID_5141000606620169810" border="0" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtXtKtr012BHJIP7YhyphenhyphenrwDWl-arLVjfxEsy7AN_EwlELqq3XDdVCRlThHQMMN8c_eCCRp9Ebg7Si71gITUOv2M4plrO7G7UjyUIgCZlWvAh46bD1a-mLrVnbDDszzGZMfJZ0VWFOVBZKI/s1600-h/img3_windows.png"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgtXtKtr012BHJIP7YhyphenhyphenrwDWl-arLVjfxEsy7AN_EwlELqq3XDdVCRlThHQMMN8c_eCCRp9Ebg7Si71gITUOv2M4plrO7G7UjyUIgCZlWvAh46bD1a-mLrVnbDDszzGZMfJZ0VWFOVBZKI/s320/img3_windows.png" alt="" id="BLOGGER_PHOTO_ID_5141001607347549826" border="0" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrYt-ekmWce7Zr2dIoHy4sEqIzfWV9-M_iGwMERgn2xdxd7iNqsasRl59onPZXaEfOj3tihzR-vqarqQ8cOcE1zd5YjnUIXXzLV0ALaqeTmt2SFnKjmzyDzK3c0Apagd4rJ6SfsgrAfS0/s1600-h/img4_windows.png"><img src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrYt-ekmWce7Zr2dIoHy4sEqIzfWV9-M_iGwMERgn2xdxd7iNqsasRl59onPZXaEfOj3tihzR-vqarqQ8cOcE1zd5YjnUIXXzLV0ALaqeTmt2SFnKjmzyDzK3c0Apagd4rJ6SfsgrAfS0/s320/img4_windows.png" alt="" id="BLOGGER_PHOTO_ID_5141002316017153698" border="0" /></a>Anonymoushttp://www.blogger.com/profile/09340189393131252636noreply@blogger.com2tag:blogger.com,1999:blog-2224399882349833809.post-2121768548416597342007-12-06T13:33:00.001-08:002007-12-06T14:20:49.827-08:00How to write a standalone program?Several years ago I write some program to be run on Windows machine.
This programs need to be run from CD so no installation program can be used.
At this time the mail solution are two: use Visual Basic or Director. I am mainly like to have the full control of my program so prefer to use Visual Basic. Several month ago e new customer ask to me to realize a CD to put in a book. Now, which development tool use this time?
In fact in the last year I'm developing web application using mainly PHP and JSP on linux platform.
Again, which development tool I can use to do this?
So I give a look about the old Visual Basic plaftorm.
Ok the old Visual Basic is dead, and it evolve to VB.NET while Director I never use before so why use it now?
So give a look to VB.NET. Ok, seems to be very interesting and powerful .... but there is a LITTLE problem ...... to run the program the virtual machine need to be installed on machine and this is not a good thing for this type of application ....
So, no solution?
No, of course. From several month I start to look inside <a href="http://www.go-mono.com/">MONO</a>, an open source reimplementation of .NET Virtual Machine. In this environment I can create a standalone program using mkbundle utility shipped with mono. Using this solution you have a program that can be run where mono runtime is supported (almost everywhere) and can be transformed on a standalone program for the target that you need. In my case only windows.
This utility generate a C program that include all the library needed to start the mono runtime without need to install on the computer.
I listen you, and to get the data used by the application? In the past you can store you data inside the program as resource or use a MDB file. Obviously this solution is not portable so I make some test using sqlite to manage the data. This solution is high portable because sqlite is available everywhere.
But, it works? Sure, after I post some snapshot taken from Windows and Linux.Anonymoushttp://www.blogger.com/profile/09340189393131252636noreply@blogger.com0