Category Archives: linux

Users petition Asus over locked bootloader in Asus Transformer Prime

The new Asus Transformer Prime TF201 Android tablet is winning praise for its performance and flexibility. It is driven by NVIDIA’s quad-core Tegra 3 processor and can be equipped with a keyboard and dock that extends battery life and makes the device more like a laptop.

All good; but techie users are upset that the bootloader is encrypted, which means the kernel cannot be modified other than through official Asus updates.

A petition on the subject has achieved over 2000 signatures. Detailed discussion of the implications are here.

image

Why do vendors lock the bootloader? One reason is for support, since it increases the user’s ability to mess up their machines. On the other hand, most users who hack to this extent understand what they are doing. This comment from the petition stood out for me:

We understand that custom firmware cannot be supported by ASUS, but we consider that it is our right to customise our devices in any way we wish: once bought, the Prime is our property alone to modify if we choose.

This is something we have taken for granted in the PC era, but the tablet era is looking different, with locked-down devices that give vendors more control. The success of the Apple iPad suggests that most users do not mind if the result is a good experience. It is a profound change though, and one that makes users vulnerable to vendors who are slow or reluctant to provide updates.

Miguel de Icaza talks about Windows 8 and the failure of Linux on the desktop

At Microsoft BUILD earlier this month I arrived early to hear Anders Hejlsberg talk about the future of C#, and found myself next to Miguel de Icaza, co-creator of the GNOME desktop and of Mono, the open source implementation of Microsoft .NET. I took the opportunity to ask a few questions, which I have his permission to post.

I recall that when .NET was first announced in 2000, it was not long before de Icaza announced Mono. I was interested therefore to know his reaction to Windows 8 and the new Window Runtime which powers “Metro-style” apps. Will we get an open source implementation of Metro-style on Linux?

I don’t think so. To be honest, with Linux on the desktop, the benefits of open source have really played against Linux on the desktop in that we keep breaking things. It is not only incompatibilities between Red Hat, Unbuntu, Suse, but even between the same distribution.  Ubuntu from this week is incompatible with the one nine months ago. And then there are multiple editions, the KDE version, the Gnome edition, the one that is the new launching system.

When you count how many great desktop apps there are on Linux, you can probably name 10. You work really hard, you can probably name 20. We’ve managed to piss off developers every step of the way, breaking APIs all the time.

I’m heartbroken, that’s the bottom line.

What about compiling your Metro app for iOS or Android?

I think that Linux has a tough time on the desktop. And the desktop is starting to not matter any more. On the other hand, building WinRT is going to be a significant amount of work. A large chunk probably could be reused from Moonlight. But it is a lot of work, to be able to reuse existing Windows apps, and in the case of iOS they already have their own stack, and Mac has its own, Cocoa is really nice and we have .NET bindings for it.

So I think we’ll learn interesting lessons from Metro. There is stuff that will be useful on other platforms like the JSON reader. But I’m not going to spend any time on WinRT for other systems.

And we can speculate about how well Metro will work in the market …

They are Microsoft, it’s going to succeed. In three years they are going to have this thing on half a billion computers, so it will be out there.

It seems like they are going to use their muscle for two things. It’s going to be a tempting space [for developers], but if you want to go into the right distribution channel for that half a billion computers, you need to abide by the Metro guidelines. They are not going to give you full API access, they are going to give you the sandboxed version. Which is good, because it can finally fix the security problems on Windows. They are going to use their muscle to reset the rules for Windows.

Especially on ARM

Right, and it is needed, they definitely need to fix this mess, a lot of malware, spyware, and the fact that everybody is sysadmin, and has to reinstall their machine every so often.

I’ve heard the word “safe” a number of times.

Right, and think of an iPad, you don’t need to be a sysadmin.

Now, you could argue that by WPF not being available to everybody and being bound to .NET they limited the effect WPF would have had, whereas Metro gives this to C++ developers, but they’re saying, hey, you can’t call Win32, there is all the Win32 stuff you can’t call. You have to use Metro. So they might be repeating that [mistake], but maybe it’s eclipsed by the fact that there’s going to be a rush to the app store. It seems like there is a big enough carrot now.

How are you getting on with the Windows 8 tablet?

I have to say, I actually like Windows 8. I am not a Windows user. It’s probably the first time that I would use a Windows machine.

Miguel de Icaza is now at Xamarin, providing cross-platform tools for using C# and .NET to build apps for Apple iOS and Google Android.

Embarcadero promises Delphi everywhere: Mac, iOS this year, Android, Blackberry, Windows Phone to follow

I noticed the following remark from Embarcadero’s David Intersimone regarding Delphi, its application builder based on Pascal.

We are putting Delphi (and C++Builder) everywhere this year and over the next 5 years. Today you can use Delphi for Desktop, Client/Server, Multi-Tier, Cloud, Web, Web Services (REST and SOAP). This year you will also be able to build for Macintosh and iOS. Linux is also on the roadmap for the coming years along with Android, Blackberry and Windows Phone 7.

Welcome news; though Delphi enthusiasts are all too familiar with bold promises. Two years ago I interviewed Embarcadero’s CEO Wayne Williams and he promised cross-platform Delphi in 2010; but when Delphi XE appeared last year neither Mac nor 64-bit (another longstanding request) was included.

That said, I am still a big Delphi fan. Mobile is a particularly interesting prospect. I have tried numerous cross-platform mobile toolkits and they all have problems; on the other hand they are improving fast and in a couple of years things like Appcelerator’s Titanium and  Nitobi’s PhoneGap may be hard to catch.

Update: what will Delphi’s Android support look like? I would be interested to know whether Embarcadero is working on its own compiler, or whether it is partnering with RemObjects and that what Intersimone is referring to is Project Cooper:

“Cooper” is a new and exciting research project going on in the RemObjects Software Labs, to bring the Oxygene language to the Java and Android platforms. The original Oxygene for .NET set out to bring a modern and “next generation” Object Pascal to the .NET world; Project “Cooper” is taking this endeavor to the next level, expanding the reach of Oxygene to the second big managed platform.

In other words, Project Cooper will compile Delphi code to Java.

Note that Embarcadero officially adopted Oxygene and offers it as its own product called Prism. It seems plausible that the same will happen with Project Cooper. Since Windows Phone is a .NET platform, there is also potential for Oxygene/Prism to target Microsoft’s mobile platform:

Windows Phone 7 – Microsoft’s new Windows Phone 7 uses Silverlight for application development,  and did I mention Delphi Prism does Silverlight?

says Jim McKeeth at RemObjects.

What about Delphi on the Mac and on iOS? There is also a possible Oxygene/Prism route here, via MonoMac: Delphi to .NET/Mono to Mac. However, I suspect Delphi developers would be disappointed if this turned out to be Embarcadero’s approach to Mac and iOS support. Programmers choose Delphi because they like compilation to native code.

Cross-platform concerns as Adobe abandons AIR for Linux

Adobe is giving up on AIR for Linux – at least, in a fully supported manner:

To support the variety of Linux-based platforms across PCs and devices, we are prioritizing a Linux porting kit for AIR (including source code), which Open Screen Project (OSP) partners can use to complete implementations of AIR for Linux-based platforms on PCs, mobile devices, TVs and TV-connected devices. We will no longer be releasing our own versions of Adobe AIR and the AIR SDK for desktop Linux, but expect that one or more of our partners will do so. The last Adobe release of AIR for desktop Linux is AIR 2.6.

This is a curious message. OSP partners include ARM, Intel, the BBC, Google, Toshiba and other big names; but which of these might build an AIR SDK and on what sort of terms might it be supplied? Or it is more likely that, say, the BBC will deliver BBC iPlayer for LInux in a bundle that includes the AIR runtime? Or is it just wishful thinking?

Adobe’s open source evangelist Dave McAllister has a go at defending the decision, pointing out that the growing client operating systems are Android and iOS, not desktop Linux, and that AIR for Linux accounts for only a 0.5% download share. However, Linux developers observe that Adobe’s AIR for Linux effort has always been half-hearted and tricky to install, especially on 64-bit installations. AIR itself is still 32-bit, as is the Flash Player on all systems, though there is 64-bit version in preview codenamed “Square”.

Most people run Windows or Mac desktops, and will not miss AIR for Linux. That said, decisions like this do undermine confidence in the Flash platform as a cross-platform proposition. The problem is, Flash technology is not open source and ultimately whether a particular platform is supported is a matter for Adobe, with all the commercial and political factors that implies.

The risk for Adobe is that when it abandons smaller platforms, it make open standard alternatives and in particular the collection of web technologies we call HTML5 more attractive.

Intel disappointed with Nokia’s Microsoft move, still backing MeeGo

Intel’s Suzy Ramirez has posted about the future of MeeGo Linux following Nokia’s decision to base its smartphone strategy on Microsoft’s Windows Phone operating system. Nokia was Intel’s key partner for MeeGo, which was formed by merging Intel’s Moblin with Nokia’s Maemo.

Although Nokia has been an important partner to Intel and MeeGo and we are disappointed by this decision, it’s important to know that this is by no means the end of MeeGo or the end to Intel’s commitment

says Ramirez, adding that “MeeGo is not just a phone OS”.

True; but with the focus also moved away from netbooks it is getting hard to see where MeeGo will have an opportunity to shine.

Intel promises to outline its mobile strategy this week at Mobile World Congress. I will be reporting from Barcelona in due course.

MeeGo, Qt, and the new Nokia: developers express their doubts

What are the implications of the new partnership between Nokia and Microsoft for MeeGo, the device-oriented Linux project sponsored by Intel and Nokia? What about Qt, the application framework that unifies Symbian and MeeGo development?

Here is what Nokia says:

Under the new strategy, MeeGo becomes an open-source, mobile operating system project. MeeGo will place increased emphasis on longer-term market exploration of next-generation devices, platforms and user experiences. Nokia still plans to ship a MeeGo-related product later this year.

Nokia is retaining MeeGo but it has moved from centre-stage to become more niche and experimental.

The snag for developers is that there are no known plans to support Qt on Windows phone. According to the letter to developers, Qt developers can look forward to the targeting low-end Symbian devices and at least one solitary MeeGo phone:

Extending the scope of Qt further will be our first MeeGo-related open source device, which we plan to ship later this year. Though our plans for MeeGo have been adapted in light of our planned partnership with Microsoft, that device will be compatible with applications developed within the Qt framework and so give Qt developers a further device to target.

Reaction from developers so far is what you might expect:

By this announcement, I’m afraid you’ve lost many faithful people (developer and consumers) like myself, who’s been a Nokia user ever since I’ve started using cellphones..

and

Wow what can I say, nokia just flat out killed any enthusiasm I had to develop on nokia platforms, I never have and never will use a windows platform. You have just killed QT, even worse killed the most promising OS out there in Meego. Elop is the worst thing that has ever happened Nokia.

and

Weak on execution, you choose to flee. What a sad day in the history of a once proud and strong company.

Nokia could fix this by demanding Qt support for Windows Phone 7.

MeeGo NoGo: things look bad for the Intel/Nokia Linux project

A sad post yesterday from MeeGo contributor Andrew Wafaa suggests that MeeGo on netbooks may no longer happen:

Basically by all accounts MeeGo is stopping all work on the Netbook UX. Yup, all our hard work is now almost for nothing 🙁

This is remarkable. The original Moblin project, sponsored by Intel, was all about bringing an excellent user experience to Linux on netbooks. The first netbooks ran Linux, but met resistance from a general public familiar with Windows; yet Linux is more suitable for netbooks than Windows in its present form.

Moblin is different. It’s a friendly way to get the most out of your netbook. It doesn’t work like most other computers because it’s optimized for enjoying media, interacting with your social networks and the internet.

wrote Moblin Community Manager Paul Cooper back in 2009, when netbooks were hot.

The problem: tech trends sometimes outpace corporate planning. Moblin was a good idea in 2008, but nothing was delivered; and by the time it looked like it might be ready, the market seemed to want tablets – or Apple iPads – rather than netbooks; and whatever problem Moblin was addressing was already solved by Google Android.

image

Two years later, in February 2010, Moblin merged with Nokia’s Maemo, creating a new project called MeeGo. The new focus would be tablets and smartphones:

The power and capability of handhelds has reached astounding levels – netbooks have been a runaway success – and connected TVs, tablets, in-vehicle infotainment, and media phones are fast growing new markets for devices with unheard of performance. Our goal is to develop the best software to go with these devices.

said Intel’s Imad Sousou.

So where are the MeeGo smartphones? Well, maybe we will see one at Mobile World Congress next week. But Nokia is in disarray. According to a leaked memo from new CEO Stephen Elop:

The first iPhone shipped in 2007, and we still don’t have a product that is close to their experience. Android came on the scene just over 2 years ago, and this week they took our leadership position in smartphone volumes. Unbelievable.

We have some brilliant sources of innovation inside Nokia, but we are not bringing it to market fast enough. We thought MeeGo would be a platform for winning high-end smartphones. However, at this rate, by the end of 2011, we might have only one MeeGo product in the market.

Perhaps Nokia will progress MeeGo smartphones with renewed vigour; but what looks more likely is that Nokia will embrace a rival platform, maybe Google Android or Microsoft’s Windows Phone 7.

That might well be alongside MeeGo, rather than replacing it, but Nokia needs to focus its energy and I would guess that MeeGo will lose out.

It may be the beginning of the end for a promising project that has progressed too slowly.

Update: Reuters is reporting that “two industry sources close to the company” say Nokia has ended development of its first MeeGo smartphone

Accelerating PHP with the Alternative PHP Cache

I decided to install the open source Alternative PHP Cache on this server in order to improve performance. Interesting exercise. This server runs Debian Linux, and there are several ways to install APC:

1. Install the official package with apt-get install php-apc or similar

2. Install with the PHP Extension Community Library which goes something like:

apt-get install apache2
apt-get install libapache2-mod-php5
apt-get install php-pear
apt-get install php5-dev
apt-get install make
apt-get install apache2-prefork-dev
pecl install apc

The advantage over (1) is that you get the latest stable build, version 3.1.6, instead of the Debian package which is 3.0.19

3. Download the source and do something like this to install.

I started with option (2) though I came to regret it. The first problem is that the pecl installer will build with your currently-installed Apache, and if you later upgrade Apache it might break. Sticking with the official package is safer, even though it is very out of date.

I could live with the idea of re-installing APC every time Apache was updated if necessary, but I had another problem. I was up and running with APC 3.1.6 and pleased with the results, until after a while everything stopped working and my blog became a screen full of messages saying “Unable to allocate memory for pool”.

It looks like this bug, which was said to be fixed in version 3.1.5, but if you look to the end of the comments there is one from today with the same issue, and no suggestions about how to fix it.

The ancient version, on the other hand, has performed perfectly so far.

Another point of interest: I found it challenging to discover the best settings for APC. By default the install does no more than to enable the extension; but the default setting is unlikely to be the best one. The documentation tells you what each setting does, but not how to choose the best values for those settings. Should the cache be the default 32MB, or something much greater? Another thing to note: if you compile with MMAP support, which is the default, the value of apc.shm_segments is ignored, and the value in apc.shm_size will solely determine the size of the cache.

I found this Moodle article on installing APC in Windows helpful. What you do is first to find the file apc.php which the install put somewhere like /usr/share/doc/php-apc – in my case it was also compressed -  and put this on your website, preferably in a password-protected folder. This tells you the status of the cache. The aim is to have the cache just big enough that it does not become full and highly fragmented. Here is what I get after a short run with 128MB, which may be a little too much:

image

Another tip is to set apc.stat to 0. This means APC will not check for changes in PHP files since they were last compiled and cached. The downside is that every time you change a file you have to restart the web server; but the benefit is better performance, which is the goal after all.

What chance for MeeGo in the age of the iPad?

Today is Apple iPad day in the UK; but the portable device I’ve been playing with is not from Apple. Rather, I downloaded the first release build of MeeGo, proudly labelled 1.0, and installed it on my Toshiba NB 300 netbook, which normally runs Windows. You can choose between the evil edition with Google Chrome; or the free edition with Chromium – I picked the Chrome version. I did not burn any bridges: I simply copied the image to a 2GB USB memory stick and booted from that. There was one oddity: the USB boot only worked when using the USB port on the right by the power socket, and not from the one on the left edge of the netbook. It is a common problem with USB, that not all ports are equal.

image

MeeGo is a joint project from Intel and Nokia, formed by the merging of Intel Moblin and Nokie Maemo. It is a version of Linux designed for mobile devices, from smartphones to netbooks, though this first release is only for netbooks. Further releases are planned on a "six-month cadence", and a wider range of devices including handsets and touch-screen tables is promised for October.

First impressions are mixed. Starting with the good news: performance is great, the user interface is smooth and polished, and less child-like and cutesy than the last Moblin I looked at. The designers have really thought about how to make the OS netbook-friendly. Applications run full-screen, making the best use of the limited screen size. Navigation is via a toolbar which slides into view if you move the mouse to the top of the screen. From here, you can switch between "Zones" – in effect, each zone is a running  applications. Not difficult but laborious; I found myself using Alt-Tab for switching between applications. I also miss the Windows taskbar, despite the screen space it occupies, since it helps to have a visual reminder of the other apps you have running.

There is also a home page which is a kind of local portal, showing showing current Twitter status (once I had added my Twitter account), application shortcuts, current appointments, recent web history, and other handy shortcuts.

Getting started was relatively quick. I soon figured out that the Network icon in the toolbar would let me configure wireless networking. It look me a little longer to find the system preferences, which are found by clicking the All Settings button in the Devices menu. Here I was able to change the keyboard layout from US to GB, though since it does not take effect until you logout, and I was using the live image which does not save changes, I was still stuck with the wrong layout.

A terminal – essential for serious Linux users – can be found in the System Tools section of the Application menu. I needed a password to obtain root access, which I discovered is set by default to "meego" in the live image. I presume this is a feature of the live image only, as this would otherwise be a serious security risk.

I soon found annoyances. This may be version 1.0, but it is described as a "core" release and seems mainly intended for software developers and I presume device manufacturers who are getting started. The selection of pre-installed applications is very limited, and does not include a word processor or spreadsheet.  There is a "Garage" utility for installing new apps, but although it seems to offer Abiword and Gnumeric, I could not get the links to resolve. I cannot find an image editor either. Without basic apps like this, MeeGo is not something I could rely on while out and about.

image

I was surprised to find no link to the Intel AppUp store, which will offer applications for MeeGo, and when I tried to install the AppUp beta I got failed dependencies. I optimistically tried to install Adobe AIR; no go there either.

There must be other ways of getting apps installed – this is Linux after all – but I was looking for a quick and easy route.

Adobe Flash 10.1 is installed and works, though not on my first attempt. Trying to play a Youtube video made Chrome unresponsive, and I could not get Flash content to play on any site. Rebooted and all was well.

A big irritation for me is that you cannot disable tapping on the touchpad. There is a checkbox for it in settings, but it is both ticked and grayed so you cannot change it. I detest tapping since you inevitably tap by accident sometimes, on occasion losing work or just wasting time. No doubt there is some setting you can change though the terminal but I haven’t had time to investigate. It  is also possible that doing a full install to hard drive would fix it, as the live image does not save changes.

image

Nevertheless, the progress is encouraging and if development continues at this pace I can see MeeGo becoming a strong alternative to Windows on netbooks: faster, cheaper, and better optimized for this kind of device. Even against the Apple iPad, I can see the attraction of something like a MeeGo netbook: freedom, Flash, value for money, and a keyboard.

The big question though: what chance has MeeGo got in the face of competition from Apple, Google with Android, and Microsoft with Windows? It seems to me that all these three are safe bets, in that they are not going away and already have momentum behind them. Will the public also make room for MeeGo? I like it well enough to hope it succeeds, but fear it may be crowded out by the competition, other than for Nokia Smartphones.

Linux users will need a Microsoft Office license to use Office Web Apps

I spoke to Jeff Teper, Microsoft’s Corporate VP of the Office Business Platform, who runs the SharePoint engineering group. I asked him to clarify something has puzzled me: the licensing for Office Web Apps. From a technical point of view, Office Web Apps is an add-on for SharePoint; it does not require the paid-for SharePoint Server (success to Microsoft Office SharePoint Server), but neither is it free – you may only install it if you have a volume license for Microsoft Office.

That much I understood; but what are the implications for businesses who have a volume license that does not cover everyone in the organisation? For example, I might purchase 100 volume licenses for the people who need to run Microsoft Office, but have another 50 who have OEM Office, or Open Office, or who don’t need to run Office at all. Some may be running Linux, on which Microsoft Office is not supported at all – though some have it working using WINE. Another scenario is where you have a SharePoint installation published to partners over the Internet. Is it OK to let them use Office Web Apps?

“The simple answer is that you do need a volume license for each user”, said Teper, though he added, “Our volume licensing is tailored to each customer, we will do specific things for each customer’s need. But the blanket statement is that its available for volume license customers per user.”

So would a Linux user need a license for Microsoft Office in order to access Office Web Apps, even though they couldn’t run the desktop version?

“Yes, that’s our default licensing.”

I also asked about how the licensing works. Is it enforced technically, so that the server refuses connections if they exceed the licensed number, or is it on a trust basis? Teper answered somewhat mysteriously:

“We provide volume license customers the tools to track that.”

My guess is that it is essentially done on trust (though perhaps subject to audit) but I couldn’t get Teper to confirm that.

Still, it seems to me that this licensing requirement will inhibit organisations from taking full advantage of what the Office Web Apps can do. The advantage of a web-based solution is that anyone can access it, both within an organisation, and beyond it if you choose to publish it on the Internet. I doubt there will be much enthusiasm for buying Office licenses for Linux users, though maybe the kind of organisation that has a full Microsoft-platform deployment does not have internal Linux users anyway.

In mitigation, it’s worth mentioning that Microsoft is also making Office Web Apps available for free, through Live Skydrive and Office Live Workspace. If you use those services, anyone with a Live ID can be given access to your Office Web App documents.