iOS 4.3 – iPhone 3G internet WiFi Sharing

I just tested the sharing of the iPhone 3G internet connection that comes with iOS 4.3. And it works great. I think Apple figured out that sharing 3G over WiFi was the main reason for jailbreaking iPhones.

Until now I was wondering if I would take the 3G or Wifi iPad 2. Now I’m pretty sure I will take the WiFi version. The good news here is also that Bouygues doesn’t seem to lock it (I accepted the mobile provider settings from the iTunes just after I updated the iPhone).

Sorry for the blog inactivity, I’m quite busy. And thank you for being so many (4000 /month in Analytics) to come here for reasons I can’t really explain (except I’m a very interesting person).

Debian 6.0

Debian released a new version of their system. I updated it on the server that powers this blog, it took me something like one hour to do the whole system upgrade. There was only a little glitch with mysql’s my.cnf file that had an unsupported “skip-bdb” line. Everything else went fine…

The very good thing in this new release is the new kfreebsd version (available in i386 and x86_64). It brings the power of the FreeBSD kernel to the great Debian OS. If you don’t see the point, read this. To put in a nutshell: a more stable kernel with less legal issues, better vendors support and the same softwares.

Google, the cloud and WebKit

The cloud

Just in case, you still haven’t understood, the future is in the clouds. The more I use online product, the more I feel it. I’m now typing all my documents into google docs. Ok, I copy/paste them to Word for my retarded friends that live bellow the clouds, but soon I won’t. Even the important things that I have to do on actual files are synced by Dropbox (still on the cloud).

Webkit

Have you noticed that WebKit, the engine behind the Google Chrome browser also powers the Apple’s iOS (iPod Touch, iPhone, iPad), Google’s Android phones, RIM’s BlackBerry, Nokia’s phones and our french Freebox v6. So basically all the current phones and tablets. You can build web apps and make sure they will work with all the current desktop browsers and phones.
But wait, wasn’t it the idea behind the J2ME. And wasn’t it a total failure? Not really, because J2ME is about phone, WebKit web apps are about every connected things (there’s no reason to stop at computers, tablets and phones, advertising space would be much easier to handle with browsers). Porting J2ME to one environment to an other was painful, with a web browser it’s much more simple.

Google Chrome OS

I just saw a facebook friend wall page:

BTW, I applied too.

So Google actually started his Google Chrome computer test program.

There’s just one thing I don’t understand here. The iPad (I’ll buy the next version) is centered on the usage: Your read your mails, play and stay informed on your couch. Android is about making better phones to reduce the gaps between the iPhone and the stupid phone constructors OS. Desktop computers are here, well because we sometimes do have to work.

But what is Google Chrome OS about? Will we be able to use it on our couch? will we be able to work with it? Because it’s clearly centered on the new Chrome Web Apps Store. Is it about consuming or producing content?

If you are wondering how do perform the Chrome apps in the real world: VERY WELL. Take a look the Chrome Web store with the Chrome 9 browser (currently bĂȘta), you can take the last fm music player or test a graphically amazing 3D app., cooliris:

Note:
History of WebKit

Cinterion development materials removed

Hi the Cinterion community,

Cinterion France asked me to remove all the Cinterion TC65 / TC65i development materials I published on my blog. The good news is you can contact the Cinterion office of your country and sign a NDA to get the latest version of their manuals and SDK.

TC65SH for Cinterion TC65/TC65i development

Hi the TC65 community,

There’s a new software in town, after JOBexFTP from Ricardo Schmidt, Christoph Vilsmeier decided to create the TC65SH tool which apparently does the same thing but faster.

Best regards,


Here is the mail that brouht the good news:

Hello Florent,

I’ve done some TC65 development recently and found your site very helpful, especially your articles about TC65 development. Thank you for that!

I ran into some problems with the Cinterion SDK, especially the Module Exchange Suite (MES). Basically, it didn’t work for me. Cinterion support told us that MES doesn’t work on Windows 7 and they are working on a solution, well… (I tried it on WindowsXP too. There, it worked better but was still very unreliable.)

In the meantime, I checked out JObexFTP from Ricardo Schmidt, which I found via your blog. That tool did help me quite a lot, as it let me (after fixing it a little bit) upload files to the device via a USB-serial port adapter. But i missed an interactive mode. And I wasn’t too happy about the fact that for each file upload or download, JObexFTP does a complete connect-upload-disconnect cycle, which I found was pretty time-consuming.

Inspired by JObexFTP, I started to write my own Java tool for communicating with a Siemens/Cinterion TC65 device: TC65SH lets you upload, download and delete files, navigate the directory structure of the device, create and remove directories and completely erase the device’s flash memory.
The program provides both an interactive command line (like a unix shell or a Windows command prompt) and a batch-processing function, which makes for easy integration into development build scripts.

I wanted to let you know that TC65SH is available free and Open Source from my web page at:

http://www.vilsmeier-consulting.de/tc65sh.html

Thank you for your attention and thank you for your great site.

Christoph Vilsmeier

Posted in English. Tags: , . 6 Comments »

xrdp

xrdp screenshot

XRDP is a very interesting project. It allows to create a terminal server on Linux hosts using the RDP protocol. I think the RDP protocol is a great protocol (better than VNC) but that’s not why I’m writing this. The important thing about this tool is: It’s freaking simple to use.

On Debian, just type:

apt-get install xrdp -y

On Red Hat Enterprise Linux, just type:

yum install xrdp

Then, you have to start it:

/etc/init.d/xrdp start

And this is it, you can use it. You can connect dozens of clients without any difficulty.

Most of the projects depend on a single man. The man who gave this project a rebirth is Jay Sorg. He seems to be an expert of RDP and I can clearly understand why he got so interested by the protocol, just look at the its features.
Under the hood, it uses VNC (Xvnc) to actually get something from it.

“Ok, but I can do that with VNC.”. Well no, RDP allows you to :

  • Setup a terminal server very quickly
  • Choose the size of the terminal (640×480, 800×600, full screen, etc.)
  • Use an encrypted connection (still without any setup, it’s even done without your knowledge)
  • Use only one port (3389) for any number of simultaneous sessions

There’s only one pretty big limitation: It looks really ugly with KDE.

You should maybe change some of the settings, I personally changed the /etc/xrdp/sesman.ini file “Sessions” section to :

[Sessions]
MaxSessions=100
KillDisconnected=0
IdleTimeLimit=0
DisconnectedTimeLimit=3600

Here is a quick look of what happens in a 640×480 remote desktop connection login:

login screen with ugly logo
sesman loading the Xvnc session
Session is loaded
Posted in English. Tags: , . No Comments »

Interesting languages

This post is postdated and not really organized. This is about me talking about things that I find amazing but don’t even have the time to get into.

If you take a look around, you’ll see that there are lots of languages seeing the day of light each year. I think they are three main reasons for that:

  • It’s not that hard to create a (scripted or compiled) language.
  • Development langages are made to reduce as much as possible the gap between computers and humans. And everyone has a special opinion about this. And a lot of people have special idea on how we could do that.
  • Languages requirements and possibilities evolve and are backed by previous languages.

I’d like to point out few of them. The best language I’ve seen so far is C#. It’s a almost complete rip-off from Java, and most of the other ideas go back to C++ (where the Java guys made some stupid choices). But it also tries to get the ease to get into of languages like VisualBasic. But there are also tons of great news ideas and syntaxes that makes this language very comfortable for a developer to use.

Some people seem to have understood that the Microsoft Search Labs aren’t so bad at creating languages and they are starting to take some ideas from C#. One of the most interesting ones is Vala.
Look how close Vala looks to C#:

1
2
3
4
5
6
7
8
9
10
class Sample : Object {
  void greeting () {
    stdout.printf ("Hello World\n");
  }
 
  static void main (string[] args) {
    var sample = new Sample ();
    sample.greeting();
  }
}

But, they are still a lot of differences compared to C#.

The really interesting thing is here is that Vala wasn’t created to be a simple C#-like language. It’s supposed to create light and high performances native programs with a simplified (simpler than C to write and simpler than C++ to learn) language. And the result is actually pretty good.

But wait, wasn’t the goal of java and C# creators to quit the native world to be in a complete managed world ? Yes, it is, and some people have even made some kernel level managed OS (Singularity (MS), SharpOS, Cosmos).

By the way, didn’t I already talked about a language like that? Yeah, that was the D language, but it looks a lot less like C# and it’s a lot more mature than Vala. Still, look at a D Language example of concurrency code:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import std.concurrency, std.stdio, std.typecons;
 
int main()
{
    auto tid = spawn(&foo); // create an actor object
 
    foreach(i; 0 .. 10)
        tid.send(i);    // send some integers
    tid.send(1.0f);     // send a float
    tid.send("hello");  // send a string
    tid.send(thisTid);  // send an object (Tid)
 
    receive( (int x) {  writeln("Main thread receives message: ", x);  });
 
    return 0;
}
 
void foo()
{
    bool cont = true;
 
    while (cont)
    {
        receive(  // pattern matching
            (int msg) 	{ writeln("int receive: ", msg); },  // int type
            (Tid sender){ cont = false; sender.send(-1); },  // object type
            (Variant v)	{ writeln("huh?"); }  // any type
        );
    }
}

As you can see, it doesn’t look like any C syntax like language. But if you have some experience with other languages, you should understand what it does. And here again, the performances of the D language are pretty good.

And an other language that could become more and more important is The Go, from Google. This one is again compiled, native, fast has the particularity to be fast to compile.
Look at this concurrency sample code (found here):

1
2
3
4
5
6
7
8
c := make(chan int)  // Allocate a channel.
// Start the sort in a goroutine; when it completes, signal on the channel.
go func() {
    list.Sort()
    c <- 1  // Send a signal; value does not matter. 
}()
doSomethingForAWhile()
<-c   // Wait for sort to finish; discard sent value.

Hum, from my point of view, this code is quite disturbing. But don’t you feel it would be great to be able to make multi-threaded programs as simply as that? Would this be as simple as that in the real world. My guess is that we should see that pretty soon.

There’s just one little limitation to languages like Vala or Go, it’s the non existing IDE. Go has ACME which doesn’t look great, and Vala has a Monodevelop Plugin, but as far as I have tested not much (like auto-completion) is working yet.

These languages are really young. And the lack of good IDE make them a lot less comfortable to use than java and C#. But they might be the languages of your future.

Posted in English. 1 Comment »

OVH mail redirection service sucks badly

OVH

OVH has a mail redirection service that fails quite badly. It’s a little bit slower, or at least it’s always the slowest point of the mail transmission chain. But sometimes it’s REALLY slow. Like 10 hours slow. An other interesting point is that their redirection server time is totally out of sync.

This is a little problem for me as I use mails intensively. I had setup some postfix/mysql redirection before and I think I will have to come back to that.

I contacted OVH to tell them this and they basically explained me that I’m quite likely to be the one that didn’t setup my server properly.

Here are the details :

Good mail

Delivered-To: ***@gmail.com
Received: by 10.231.183.19 with SMTP id ce19cs102765ibb;
        Wed, 20 Oct 2010 05:58:52 -0700 (PDT)
Received: by 10.216.13.17 with SMTP id a17mr8135853wea.46.1287579531550;
       Wed, 20 Oct 2010 05:58:51 -0700 (PDT)
Return-Path: <***@aol.com>
Received: from 12.mail-out.ovh.net (12.mail-out.ovh.net [91.121.28.205])
        by mx.google.com with SMTP id t36si315163weq.130.2010.10.20.05.58.51;
        Wed, 20 Oct 2010 05:58:51 -0700 (PDT)
Received-SPF: neutral (google.com: 91.121.28.205 is neither permitted nor denied by domain of ***@aol.com) client-ip=91.121.28.205;
Authentication-Results: mx.google.com; spf=neutral (google.com: 91.121.28.205 is neither permitted nor denied by domain of ***@aol.com) smtp.mail=***@aol.com
Received: (qmail 22703 invoked by uid 503); 20 Oct 2010 12:58:50 -0000
Received: from b3.ovh.net (HELO redirect.ovh.net) (213.186.33.53)
  by 12.mail-out.ovh.net with SMTP; 20 Oct 2010 12:58:50 -0000
Received: from redirect.ovh.net (HELO queue) ()
	by redirect.ovh.net with SMTP; 20 Oct 2010 13:49:57 -0000
Received: from imr-ma06.mx.aol.com (64.12.78.142)
  by redirect.ovh.net with SMTP; 20 Oct 2010 13:49:57 -0000
Received: by ORT (Ovh Redirect Technology) ver:1.0
		< ***@aol.com
		> ***@webingenia.com >> ***@gmail.com (found)
Received: from imo-da02.mx.aol.com (imo-da02.mx.aol.com [205.188.169.200])
	by imr-ma06.mx.aol.com (8.14.1/8.14.1) with ESMTP id o9KCwZki004337
	for ; Wed, 20 Oct 2010 08:58:35 -0400
Received: from ***@aol.com
	by imo-da02.mx.aol.com  (mail_out_v42.9.) id f.f74.5c8f54c (37518)
	 for ; Wed, 20 Oct 2010 08:58:31 -0400 (EDT)
Received: from magic-d27.mail.aol.com (magic-d27.mail.aol.com [172.19.146.161]) by cia-ma08.mx.aol.com (v129.5) with ESMTP id MAILCIAMA083-928e4cbee777113; Wed, 20 Oct 2010 08:58:31 -0400

So here is what it means :

Step Date in mail header UTC Date Time elapsed since first date
From my sender Wed, 20 Oct 2010 08:58:31 -0400 20/10/2010 12:58:31 0s
Before OVH redirect service Wed, 20 Oct 2010 08:58:35 -0400 20/10/2010 15:58:35 4s
OVH redirect service 20 Oct 2010 13:49:57 -0000 20/10/2010 13:49:57 nonsense
After OVH redirect service (on OVH network) 20 Oct 2010 12:58:50 -0000 20/10/2010 12:58:50 19s
To gmail Wed, 20 Oct 2010 05:58:52 -0700 (PDT) 20/10/2010 12:58:52 21s

Bad mail

                                                                                                                                                                                                                         
Delivered-To: ***@gmail.com
Received: by 10.231.183.19 with SMTP id ce19cs10141ibb;
        Mon, 18 Oct 2010 22:56:19 -0700 (PDT)
Received: by 10.216.188.211 with SMTP id a61mr6239173wen.15.1287467777688;
        Mon, 18 Oct 2010 22:56:17 -0700 (PDT)
Return-Path: <***@aol.com>
Received: from 12.mail-out.ovh.net (12.mail-out.ovh.net [91.121.28.205])
        by mx.google.com with SMTP id w64si17380878weq.71.2010.10.18.22.56.17;
        Mon, 18 Oct 2010 22:56:17 -0700 (PDT)
Received-SPF: neutral (google.com: 91.121.28.205 is neither permitted nor denied by domain of ***@aol.com) client-ip=91.121.28.205;
Authentication-Results: mx.google.com; spf=neutral (google.com: 91.121.28.205 is neither permitted nor denied by domain of ***@aol.com) smtp.mail=***@aol.com
Received: (qmail 16005 invoked by uid 503); 19 Oct 2010 05:56:17 -0000
Received: from b3.ovh.net (HELO redirect.ovh.net) (213.186.33.53)
  by 12.mail-out.ovh.net with SMTP; 19 Oct 2010 05:56:15 -0000
Received: from redirect.ovh.net (HELO queue) ()
	by redirect.ovh.net with SMTP; 18 Oct 2010 15:11:21 -0000
Received: from imr-da01.mx.aol.com (205.188.105.143)
  by redirect.ovh.net with SMTP; 18 Oct 2010 15:11:21 -0000
Received: by ORT (Ovh Redirect Technology) ver:1.0
		< ***@aol.com
		> ***@webingenia.com >> ***@gmail.com (found)
Received: from imo-da03.mx.aol.com (imo-da03.mx.aol.com [205.188.169.201])
	by imr-da01.mx.aol.com (8.14.1/8.14.1) with ESMTP id o9IFQP15001519
	for ; Mon, 18 Oct 2010 11:26:25 -0400
Received: from ***@aol.com
	by imo-da03.mx.aol.com  (mail_out_v42.9.) id f.f62.563cefb (43895)
	 for ; Mon, 18 Oct 2010 11:26:23 -0400 (EDT)
Received: from magic-m23.mail.aol.com (magic-m23.mail.aol.com [172.20.22.196]) by cia-dc05.mx.aol.com (v129.5) with ESMTP id MAILCIADC058-ab774cbc671f141; Mon, 18 Oct 2010 11:26:23 -0400
Step Date in mail header UTC Date Time elapsed since first date
From my sender Mon, 18 Oct 2010 11:26:23 -0400 18/10/2010 15:26:23 0s
Before OVH redirect service Mon, 18 Oct 2010 11:26:25 -0400 18/10/2010 15:26:25 2s
OVH redirect service 18 Oct 2010 15:11:21 -0000 18/10/2010 15:11:21 nonsense
After OVH redirect service (on OVH network) 19 Oct 2010 05:56:15 -0000 19/10/2010 05:56:15 9h40
To gmail Mon, 18 Oct 2010 22:56:19 -0700 (PDT) 19/10/2010 05:56:19 9h40
Posted in English. Tags: , , . No Comments »

Prestashop and APC

prestashop

When you do a fresh install of prestashop, just after it finishes you need to rename the “admin” directory. The problem is that with the last two installs we did (as part of WebIngenia), we ended up with a blank/empty/white webpage. The only way to solve it was to clear the opcode cache from APC.
So, if you encounter the same problem, you know what to do, you just need to clear the APC opcode cache and continue the install.

BTW, sorry for not having properly maintained this blog recently. Not enough free time. I’ll release an updated version of the TC65 guide pretty soon.

The dropbox bug

Dropbox is great product, I use it on Windows, Linux, Mac Os and iPhone. But on the Windows version (version 0.7.110), there has been a bug for more than a year now. Dropbox seems to consume “something” in Windows that cannot be allocated anymore. The bug appears on Windows XP, Vista, 7 32 and 64 bits.

When it appears, a lot of programs crash, they cannot show any kind of windows, menu or any windows user interface, the only way to save you from rebooting is to quit some programs to be able to launch the task manager and then kill dropbox and restart it again.

I have to say I never shutdown my computer, so it might only happen on computers running for days.

Posted in English. Tags: , . No Comments »