Diary of a CrazyFrench

Sunday 9 February 2014

The open content

Open content is content that is also available openly.

The short: people claiming they don't blog anymore but write lengthy on the closed Google+, a platform that is closed (does not allow to pull the content of RSS), discriminate on names, and in the end just represent the Google black hole as it seems only Google fanboys and employees use it.

This also applies to Facebook, Twitter (to a lesser extent, just because of the 140 char limits) and so on.

Sorry this is not the Internet I want. It is 2014, time to take it back.

Friday 11 October 2013

Reaching the summit

Even the coffee cups are personalised. #MozSummit

Last week-end, Mozilla held its summit in 3 locations: Santa Clara, Toronto and Brussels. The summit is where contributors paid (employees) or not (volunteers) meet and discuss the future of Mozilla and how we are gonna help shape the web. We call them (ourselves) Mozillians.

I attended in Brussels and it was for me the occasion to meet fellow Mozillians for the first in face to face, and to meet other I had never interacted with. I'm reaching my two years as a Mozillian (and paid contributor) and I see a huge value in this. I found that we have a very friendly and vibrant community, spread across the globe, people passionate about the web, passionate about the users and the future of the web, from developers, designers, artists, translators to evangelist, marketing and administrative support. The full spectrum was represented.

I can't wait to attend the next Mozilla summit, in the mean time I'll attend the Gnome Summit that is being held tomorrow in the city I call home: Montréal.

Also I need to go through the 1900 pictures I took during the event. In the mean time you can watch that set on Flickr that contain the stuff I posted on Instagram almost immediately, as well that the Flickr group Mozilla Summit 2013 I created to pool the pictures from other users (feel free to add yours if you haven't already).

Thursday 29 August 2013

Dead tree backup

QR Code
QR Code by lydia_shiningbrightly, on Flickr

This week I am at the Toronto Mozilla office. With Mike and Alan we were discussing information entropy and backups and devised the craziness of doing a hard drive backup onto paper, using QR Codes.

Alan and Mike did the math.

For one TB, it would take 44 trees, and at 20 pages per minute, it would take 123 days to print the 3.6 millions letter-size single sided pages, at 300dpi, in large-size, using the highest-redundancy QR codes.

Now you know how much information we create and how much it would take to make it last longer than the electronic device it is stored on.

Monday 1 July 2013

Exempi 2.2.1

Just a quick note to announce that I released Exempi 2.2.1. It was long overdue. It is mostly a couple of bugfixes.

Note: so that there is no misunderstanding, since people see this on Planet Mozilla, this is not a Mozilla project. But it is completely Free Software.

Here is the short Changelog

  • Bug #54011: Use POSIX API for files on MacOS. (Misty De Meo)
  • Bug #58175: Replace OS X FlatCarbon headers. (Misty De Meo)
  • Added a manpage for exempi(1).
  • Added the -n option to the command line for arbitrary namespaces.

Next release will be 2.3.0 and will integrate the latest Adobe SDK used in the Creative Cloud.

Your next mobile app should be web based

There is no question about that.

I just switched from an Android phablet made by Samsung, device I came to hate for many reasons, to a Firefox OS Geeksphone Keon. That was my second Android phone, I switched because I got it for free[1], needed a carrier that worked better than the failure that is WIND Mobile on which I was using my Nexus One[2] and said Nexus One was just abandoned in OS upgrade by HTC AND Google after 22 month. I have to admit I missed the Nexus One, still, as Samsung didn't make Android better, quite the opposite.

Back to the point. I got that Geeksphone Keon, provided by my employer: Mozilla.

This is not a review of the phone, BTW, and all of this also applies to the just released Firefox OS phone in Spain.

On my Android phablet[3] I used 4 applications: the web browser, a twitter client (not Twitter's own though), Instagram and Foursquare.

On my Firefox OS phone, I had to scrap the last two. Why? Because despite requiring an internet connection and having some sort of web interface, their are unusable on the web.

Web browser

On Android I used Firefox for Android as my web browser. It is currently the best solution for web browsing is designed to protect your privacy and to run on more devices than Google's own Chrome. Call me biased if you want but truth is I have been using Firefox on the desktop too.

Firefox OS web browser is basically the same thing.

Twitter

Twitter is a bit hurtfull. It is designed from the ground up to be used as a web application. Twitter has a mobile version that is meant to work well on small screen. They even have a packaged version for the Firefox OS Marketplace. Where it hurts is that Twitter web UI remains awful, either deliberately (given that the iOS client is awfull too) or because we got spoiled by third-party clients. On Android I was using Twicca (no source code) or Twidere (broke a bit at one point), but it should be noted that Twitter gave the finger to third parties when they added restriction on the development of client ; as well as bickering with Instagram to not show their content inline.

They get almost full marks for being a web app and treating it as first class.

Foursquare

On the desktop, if you go to Foursquare you get a decent web application, albeit you can do the major feature that Foursquare calls for: check-in.

On mobile, if I visit the website on Firefox for Android I get prompted to download an app.

On Firefox OS it is worse. Looks like their detection fail and they offer the desktop website that is mostly unusable on such a small screen. I filed bug 878132 for our tech evangelism to eventually have a look at.

Seems like they didn't go all the way to make it relevant on mobile web. Sadly. What was an experiment I started by the end of last year when I signed up for the service stopped here right at Firefox OS. It seems that I don't need it. They lost a user.

Instagram

This one is the worst of the worst. First and foremost their web interface for desktop is very limited. Secondly, it doesn't scale at all on mobile - some content scale better than other. Third, they bickered with Twitter so that their content is not viewable inline.

Why does that last one matter? Try viewing the instagram content in the Twitter mobile web client.

I give a F as a mark.

Conclusion

Simply make your mobile app web based. It will run on iOS, Android, Firefox OS, Blackberry, etc. and people will be able to follow when they change phone and you won't need to spend a lot of resources for each platforms.

Also if you really want to have a packaged app, remember there are technologies like PhoneGap whose purpose is exactly that.

Notes

[1] minus the money I had to spend for unlocking it, thanks to consumer protections that don't exist in Canada

[2] first and foremost I didn't have service at the office downtown. second I was in the process of moving to Montréal where they don't have service anyway

[3] in case you didn't realize I call it phablet because it is a small tablet that one can use as a phone. Too big for your pocket, too small to be a good tablet, the worst of both worlds. It would never have been my choice ; but one doesn't simply look into the gifted horse's mouth.

Wednesday 12 June 2013

C++ 11 in your project

C++ 11 is now available in both gcc and clang. That mean it is really available where it matters.

Using C++ 11 in your project (with autoconf).

First if you use autoconf, you have to detect it. The autoconf archive has a macro. Download the .m4 definition and put it in your m4 directory in your project.

In the configure.ac, add the following line:

AX_CXX_COMPILE_STDCXX_11(noext,mandatory)

Make sure it appears after

AC_GNU_SOURCE

This is will make configure detect C++11 support, without GNU extension (I tend to avoid these in general) and fail if it doesn't exist. If you prefer to make it optional, read the above documentation that has more details.

The interesting features

I'm interested in several features from C++11.

  1. auto to automatically deduct the type where it can. Ever gotten annoyed by the long type name for iterators of containers? Just use auto instead.
  2. Lambda: now you can write lambda functions like in Python or JavaScript. This is overly convenient when you iterate over containers or use std::for_each().
  3. The smart pointers: I was using the one from Boost, then the one from std::tr1::. Just replace with std::
  4. std::bind and std::function to replace Boost own versions.

There are more, I'll talk about it when I get to look at them.

Tuesday 2 April 2013

Mozilla is 15

Mozilla is 15 and that's 15 years of fighting for the open web. I remember the source code release, I built it on in Pentium 166 with 64MB of RAM - a Debian box. I maybe less RAM than that, I forgot. It was huge.

Since, the web has gone forward big times, and Firefox helped users to take back the web by bringing down the IE supremacy and focusing on a standardized web technology.

I have great hopes for the future of the free web.

Wednesday 20 March 2013

The importance of RSS and friends

Google did shutdown Reader, their feed aggregator. Speculation is that it is to promote the use of the proprietary publishing silo that is Google+, and I'm not saying as a Google+ grudge I might hold, I actually believe it might be one of the considerations.

Imagine a second if all the content was pushed exclusively to a popular silo like Twitter, Facebook and Google+: it would be confined to these environments and people wouldn't be able to aggregate elsewhere. Now what if one of these hugely popular silos disappeared. It has happened, it can happen again, I have numerous examples. And I am still look for the Google+ or Facebook feeds, while it is clear that Twitter already removed them.

With RSS[1] all we need is a different aggregator to pull the feed. It would still work. And that's what happening with Google Reader user base: they are moving to other platforms that offer the same feature, either web based, or using desktop software.

Let's have this a learning step and continue to focusing on open standards for publishing. Let's continue to provide feeds. Let's continue to request feeds. And more importantly, us software hackers, let's continue to provide awesome libre software to do the job and on which we can reliably build upon.

Notes

[1] this include ATOM and other variation of feed publishing based on open standards

Wednesday 2 January 2013

Happy MMXIII

It is the new year. We have a tendency to put artificial starting points in time to want to (start to) do things, something like the "new year resolutions". I don't really abide to that because I believe you should do things when you want to, have to or can. You don't need a January 1st or some sort. This year it happens that the new year almost coincide with my timeline. Two weeks into the new house in Montréal, this mean that for once I can use that as the starting point ; or not.

Anyway.

Happy new year, and remember, be excellent to each other !

Wednesday 26 September 2012

Bad security

Broken Lock
Broken Lock by lyudagreen, on Flickr

A big North American online travel booking system still store passwords in plain text. Worse: they claim they take your security seriously. Here is the excerpt of the confirmation email you get when you register:

USERNAME: USER@EMAIL.DOMAIN
PASSWORD:  We're serious about security. Since your
password is confidential, we won't repeat it here. However, if you ever
forget your password, you can always request a reminder

Yes, the email has been capitalized.

The other day I wanted to book some airline tickets, so I returned to the website. I had forgotten the password. No biggie, I follow the "lost password procedure" and chose the "email" instead of the still idiotic "security question".

Guess what? I didn't get a link to reset my password, or a temporary password. No. I got my password sent in plain text. Worse. It was in UPPERCASE and the passwords are case insensitive in the system. Wow. Just wow.

PS: this is not the corporate travel booking system we use at Mozilla.

Thursday 16 August 2012

Personal computing pioneers - part 2

In my previous post ''What happened to all the pioneers in personal computing?'' I forgot a few notable companies.

  • Acorn: I mostly forgot to talk about Acorn Computers, probably because Acorn computers were only popular mostly in the UK and were quasi unknown in France. The BBC Micro is their most popular 8-bit computer, released in 1981. But what came later was the game changing for the industry today. In 1987, they released the Acorn Archimedes, a 32-bits desktop computer powered with a RISC processor. It was faster than most of the competition like the Atari ST and the Amiga. Its CPU was the ARM (Acorn RISC Machine). This led to the spin-off ARM Ltd, that was in charge of the development of the ARM CPU. A partnership with Apple that wanted something for the Newton led to further development and the first license ; the RISC PC became the last generation of Acorn computer. Today, ARM is the most used CPU design for embedded systems: cell-phone, DSL routers, iPod, smart phones, PDA, iPad, etc. Acorn Computers moved on to build set-top boxes, after selling the RISC PC business, and in the end was absorbed into Broadcom in 2000 to become the DSL unit. ARM Ltd is now known ARM Holdings and license the IP for the ARM CPU to manufacturers.
  • Compaq: Compaq major achievement was to be the first manufacturer of 100% IBM compatible PC after they successfully cloned the BIOS via clean room engineering, 1982. The BIOS was the cornerstone of IBM PC compatibility as just running MS-DOS wasn't enough: the Disk Operating System has so little feature that programmers mostly called into the BIOS interruptions to write their applications. Phoenix Technologies who followed in 1984 offering their own BIOS clone. Compaq made the first 100% IBM PC compatible portable computer, and then manufactured lot of quality IBM PC Clones, including the first with an Intel 386, being ahead of IBM itself. After buying Digital Equipment Corporation, it was bought by HP in 2002 and the PC product lines were merged, where mostly Compaq products in the business line were rebadged HP.

As I was writing this second, post, Ars Technica published From Altair to iPad: 35 years of personal computer market share where they relate the 35 years from the Altair to the move to the iPad as a personal computing device.

Monday 6 August 2012

What happened to all the pioneers in personal computing?

The Commodore 64 is 30. The TRS-80 is 35. But what happened to all the pioneers of the Personal Computing era?

  • MITS. They made in 1974 the Altair 8800. It was a micro-computer sold in kit (or assembled), running the Intel 8080 processor. The first one ; it sold quite well, but was not, at first, usable out of the box as it didn't have software. Also it is the Altair that led to the creation of Microsoft who sold their BASIC to MITS. For Microsoft, we know the rest, for the Altair, the computer is almost forgotten, so is MITS, as the company got sold. One notorious clone of the Altair was the IMSAI 8080 ; if you have seen the movie Wargames (1983), you have seen one.
  • Tandy: The TRS-80 appeared in 1977 and become quickly one of the most popular PC, selling until being discontinued in 1981, replaced with the Model III. It was much cheaper than the Apple 2 and was widely available in the Radio Shack stores (several thousands in the US). Zork, the text adventure game was ported and released on the TRS-80 first. Tandy was so serious about making computers that they bought GRiD, and later started making IBM PC clones. Tandy sold off the computer division to AST in the early 90's. The TRS-80 was nicknamed Trash-80 probably because of all the quirks in its design.
  • GRiD Computing: GRiD is not that well known from the general public, but they were the first company designing laptop computers that were attaché-case sized. The GRiD Compass was released in 1982 and was marketed to CEOs. The GRiD Compass 110 featured the clam-shell design so well known today that GRiD patented. In 1989, the GRiD Compass 1101 was the first laptop to fly on the Space Shuttle. GRiD also pioneered in tablet computing. They got bought by Tandy.
  • Commodore: The Commodore 64 was not Commodore first computer, nor their last, but was hugely popular, both in North America and in Europe, a best seller with between 12.5 and 17 Million units sold. It just celebrated its 30 years. In 1984, Commodore International founder Jack Tramiel left the company. After that, Commodore went on to buy a startup called Amiga Corporation to make the Amiga line of computers, that ended up competing with the rival Atari. The company filed for bankruptcy in 1994. Today the ghost of the Amiga still lives in the heart of fans and hobbyists. I wish my brother had preferred getting a Commodore 64 rather than a TI99/4A at the time.
  • Atari: The story of Atari is more convoluted. Atari Inc. was the company that sold the first video game: Pong. In 1979 they released the Atari 400 and 800 8 bits computers. In 1984, Warner Communication, Atari Inc. owner, sold off the home computing and console division to Jack Tramiel - Commodore International founder - to form Atari Corporation. This is how the Atari ST end up being released in 1985, competing directly with Commodore's Amiga. It was more popular in Europe, with Germany being the key market, than in the US. The whole line was cancelled in 1993, and in 1996, Atari reverse merged with another company, to be sold to Hasbro in 1998, mostly for the IP (game rights) and brand.
  • In Europe, there was Sinclair, Amstrad, etc. None of these make personal computers anymore.

So what is left from the pioneers?

  • Microsoft, that sold BASIC to MITS (and several other manufacturers including Apple), and later MS-DOS to IBM is still here, doing mostly the same thing.
  • IBM is still around, after launching the IBM PC in 1981, using Microsoft MS-DOS (and BASIC), they failed to gain traction in the OS market with the failed OS/2. IBM sold the PC division to Lenovo in 2005.
  • Apple, after the Apple 2 gained traction with the Macintosh they launched in 1984. After catastrophic mid-90's, they got put back on track and are now the number 1 laptop vendor in a market dominated by Microsoft Windows machines, and make the best selling smartphone, the iPhone.

Am I missing anything?

Update: part deux

Monday 16 July 2012

Accessible Mac Firefox (Aurora) 16

Firefox 16 uplift to Aurora is today. This version will have Accessibility enabled on Mac, finally, but you must either force enable or use VoiceOver. It should work for basic tasks, albeit there is some serious performance problems with VoiceOver I'm investigating.

Also, coming soon for Firefox 17: handling properly image maps.

Saturday 30 June 2012

YouTube HTML5 error message decoding

One thing puzzling with YouTube HTML5 support is the message "this video is currently unavailable" which could mean a lot of things. The actual translation is "we need to show you ads and you need Flash for that".

If should be noted that there is no problem on mobile platform, Android or iOS, the video is shown.

Wednesday 20 June 2012

Android phone camera failure

I don't know if you noticed, but when you connect a Nexus One or a Samsung phone (Gingerbread or ICS, tested with a SGS 2 or Galaxy Note) to your Mac, the phone isn't recognized as a camera.

There is a difference between the Nexus One (stuck to Gingerbread) and the Samsung. The Nexus is USB Mass Storage (ie the phone is seen as a USB disk) while the Samsung is MTP (a variant of PTP, the USB standard for still image cameras). But in both case, the MacOS digital camera support (Image Capture, iPhoto or Aperture) recognize it but do not show anything. Adobe Lightroom is in the same boat (I'm not sure if it uses the OS capability or reimplemented it). This is because Android butcher the implementation of the Design rules for Camera Filesystem. See Android bug 2960 where you'll notice that it was largely ignored by Google despite even having a patch.

For the Nexus One this does not prevent from manually copying the images. But Samsung.... one would think they would have fixed that, but obviously they didn't. To make things worse, Samsung doesn't use Mass Storage but MTP, which mean that there is no way to just copy files from the camera[1]. That last bit is utter fail.

Update (June 21st): from the comment, apparently I can set the Galaxy Note to be as USB Mass Storage. It is complicated, needs to be done manually, require disabling USB Debugging (it will do it for you, but not reenable it), etc. In short they turned something relatively simple to something overly complex and unfriendly. Worse, it is so many to reach the dialog where like on the Nexus One, you can tap to enable Mass Storage. The positive side is that you can't enable Mass Storage without unlocking the phone, which is a security feature.

Notes

[1] unless maybe you install some tool, but anything runs better without Samsung software