Sep 25 2008

Interview with Johan Thelin

Category: Backported from old FSCONS sites,FSCONS 2008admin @ 10:54 am

Johan Thelin works as a consultant focusing on embedded systems and software development, and will deliver a speech on “Qt for Embedded Linux” at FSCONS.

See also Johan’s bio page and his presentations:
Qt for Embedded Linux
QtCentre Contest

For a little background, can you describe the general topic of your presentation and tell us what is new in the last few months?

My presentation will be about Qt, or embedded Qt development, and by that I don’t mean maemo or handhelds – those are too general to be called embedded – instead I will focus on industrial control panels and such. We’ll have a good look at the tools, the quirks but also some of the classes available at hand.

I will do a second presentation as well, but with a lighter topic. In it, I will show you some of the winners of this years Qt Programming Contest held by the QtCentre community site. The aim is really to show the quality of the contestants. Personally, I’m really hoping for the “Demo” category. It’s definitions starts with “Impress us!”. Hopefully that will mean eyecandy for me to show!

A handheld of today almost is a PC of yesterday, what do you see in the next step for handhelds?

I’m a believer in ubiquitous computing and I think that it is the direction that we are heading in. For example, in the past, I’ve relied on the printed yellow pages to avoid the computer’s boot time, but now I just use my mobile phone to go to hitta.se or a similar service. That is where I think we’re heading – always connected and always available at hand.

Do you think that humans being online all the time will change the way we act and take decisions. Are we becoming too dependent of the computers….. yes I admit, I just finished reading “I, robot”. [http://www.wired.com/wired/archive/8.04/joy_pr.html]

I don’t think that we’re dependent on computers as much as information. Asking me as a technologist, yes we are dependent on computers as I see all devices with a CPU as a computer. Ask my mother and she’ll say no – and then send a text message using her cell.

The key here is really that computers is only the infrastructure – just as paper was before. The current information revolution is really no different than the change that took place when the printing press came into action. All that is happening is that information is getting more available.

What is the minimum need cpu and memory wise to run Qt and Linux (the kernel)?

All you need in a framebuffer really. Another thing that is helpful is native atomic operations to be able to implement mutexes and semaphors as Qt often relies on those mechanisms. For example the 68k line of CPU needs a bit of kernel tweaking to get that working. But generally speaking, your CPU is always enough.

Memory wise I’d say, realistically, you will need at least 4 MB of RAM for Qt and your application. It might be possible to squeeze it in under a meg (I’ve tweaked Qt to a little less than 700kB, but that didn’t leave much more than the core functions). My experience is that today’s embedded system very rarely have less than 32 MB of memory, which is comfortable working space.

How well does Qt scale, since it ranges from really small devies to fullblown desktop applications? Can you compare this to other toolkits?

I’d say that is scales well. You can tune it quite nicely, something that I’ll talk about. Used right you can also reduce the number of additional components required in a deployment. The trolls really work hard to make Qt a complete framework and the dependencies can be built as a part of Qt.

Performance wise you need to know what you’re doing – but that applies to everything. Doing semi-transparent dialogs over a movie player requires quite a lot of processing power, so that is not really appropriate for an embedded platform. But it can be done and you as a developer can decide what you want, how you want it and how much – then you’ll just have to know what your platform can deliver.

What are the most important things to consider when writing Qt code for really small devices?

Qt is no different than other embedded pieces of software. You simply need to think about what you’re doing and not rely on too much memory or too much number crunching powers. Then there are some tweaks that you can use to help Qt on its way – for example telling it not to double buffer widgets and such.

Given that you’re going to present Qt on really small devices, I wonder what eye candy means to you?

For embedded devices I consider fading and sliding parts of the screen being eye candy. But for the demo category in the contest I’m hoping for OpenGL and widgets being blended into something amazing.

How do you define eye candy and how much weight do you give to this in the judging?

It depends on the category. If you visit http://contest.qtcentre.org you will find the categories available this year. I’d say that the Plasmoid and Demo categories are the one’s that value looks the most.

How many of the nominated projects are KDE related?

We have five registered Plasmoid projects – those I know for sure are KDE related. For the rest of the entries, we really urge them to try to rely on Qt and not KDE. There are so many community resources for KDE development so we want QtCentre to really focus on Qt. That does not mean that we exclude KDE, we just don’t want to rely on it. We want to welcome developers from all platforms using Qt.

Can you give a summary of what you will present? Why should someone choose to come to your presentation?

I will present how to build embedded software using Qt – with a focus on tools and building. My aim is to explain how everything connects and why the odd things really are there. The audience would be anybody who’s interested in Qt, from a beginner to the hardened pro who thinks that it has oddities.

So after your presentation everyone can build a small Qt driven device with a small lcd watering their plants?

Or making them a cup of tea :-) On a more serious side, they’ll know how to do it, what tools to use and the basics of Qt. To actually make it water the plants they’ll need the home automation presentation too.

As an author of a Qt book, what do you get most questions about? What seems to be hardest to learn in Qt?

The funny thing is that the biggest issues seems to come from the object orientated concept and pointers versus values. These are not really Qt issues but Qt relies on them so you need to know them. When it comes to Qt issues, the trickiest issues seems to come from threading and making blocking calls from the main event loop. That can mean that one part of your application puts a halt to another part – meaning that you try to debug the wrong code.

Speaking about debugging, does the Qt pre compilers make it harder to debug the code, looking at the source.

Not really. There are really three tools producing C++ code in Qt. The first two are the resource compiler that makes it possible to include files such as icons and sounds in your binary, and the user interface compiler that takes an XML definition of a user interface and creates a C++ class that implements that UI. Neither of these pose any problem because they simply generate straight forward code that never fails.

The third one, the meta-object compiler, has been subject to discussion, but I’ve never run into any issues with the code that it produces. What it does is that is keeps track of the inheritance tree so that you safely can do casts “downwards” to more specific classes. It also keeps a list of slot function names and associate them to function pointers to each such slot function.

The most common mistake surrounding this is really when you mix up slot names when making a connect call. The result is that the connections isn’t made and that the call does not take place. This can produce rather confusing bugs, but the connection function always emits a warning message if the connection could not be made.

Then there is the danger of overloading functions that you point function pointers to – i.e. slots. This means that you really need to keep track of your types so that you ask the right meta-object for the function pointer. Otherwise you might end up with the base class’ slot implementation.

Knowing these hurdles keep you from making these kind of mistakes and, when you really have to, work your way around them. For example, make the slot of the base class call a virtual method instead of making the slot virtual. But this isn’t really affecting the debugability of the produced code, more the consequences of it. As always, you need to understand how is really works before trying the non-trivial.

How did you get involved in Free Software and in what way is it important to you?

I’ve been a Linux user since the late 90′s and that was really my first contact with free software. Since then I’ve learned alot and I started contributing around 2000. My main contributions are really writing – tutorials, PR, etc – but also some smaller hacks.

If I had to explain why free software is important to me today, I would really say that it means a level playing field. To me, today, free software means business. My profession is to sell services and to write about technology. Using free technology means that I can skip all the details of NDAs, not having to worry about licensing and royalties and that I can patch the code of the tools instead of relying on a large vendor to do that.

Have you seen a change in the skills level among developers?

Not really. The biggest change I’ve seen is the attitude towards Qt. Back in the QPL days with licensing controversy and other nastiness Qt was not always treated nicely. Trolltech has learned a lot over the years and now all editions of Qt are available as free software under the GPL license. Looking at it from a managerial level, I can understand that they have had to fight a lot of “truths” and fear before coming to this stage. They’ve really dared to try this and now it feels that they have reached a business model that is free and still puts food on the table for the developers.

Is there any other particular presentation you’ll be going to? Why is that topic of interest?

I’ve picked out a few, but not checked which ones that collide. If possible I’d love to see John Buckman’s “Squeezing the Evil out of the Music Industry” because that is a problem that really needs a good solution. Working out how the music and movie industries can live in a digital world is really important.

I’d also love seeing Niclas Nilsson speak about “Agile / SCRUM” since I really believe that agile methods can give service provides such as my self a competative edge.

Then, there’s Ville Solarius on “Jabber”. I dream of strange automated systems emitting, filtering, exchanging and presenting short snippets of information and I think that Jabber could be a nice infrastructure for such a system.

Finally, Peter Stuge’s “Coreboot” is real close to the hardware, so I just have to listen to that.

What do your customers say about free software?

It really depends. Most of them are using embedded Linux so they are accustomed to the idea, but in commercial projects commercial Qt licenses are quite common. Much because the concept of the product is built into the Qt application. However, most have evaluated the free and open source edition before buying a commercial license.

To be honest I appreciate the fact that companies are willing to pay for Qt as it means that Trolltech can hire the very best developers and maintain the a high quality support. The support and software is then made available to both the paying customers and the community. Having seen the support from both the free and closed sides I can say that there really is no difference in willingness to help and the time that it takes to deliver an answer or patch.

When will we see a new version of your book, covering the new Qt release?

I’m in the note gathering stage, but since we have a toddler at home right now I’d say at least one more year. I keep in touch with Apress and when the time is right we’ll start the process. Qt 4.4 really brought lots of news not covered in any book, so there is a lot of new material to write.

What are your thoughts about Nokia buying Trolltech?

I think that it could be a good thing. The impression that I’ve got is that Nokia wants to learn about free software from Trolltech. I just hope that Trolltech doesn’t drown in such a huge company.

What do you think was the reasons for Nokia buying Trolltech, given that Nokia’s Maemo platform is gtk based?

I understand that Maemo now has Qt 4 support. Also, the Qt port of mozilla is intended for the Maemo (according to Oleg Romaxa).

There is a lot of politics involved when discussing Qt versus GTK, so it is important to point out the differences between the two. As Qt and GTK have, or at least had, different design goal, there is no reason to assume that one would replace the other.

GTK was created as a toolkit for X11. Qt on the other hand was created to make source code platform independent. So, looking at it from that perspective, Qt’s interest is really to make Qt applications integrate well with GTK (and Gnome) environments.

GTK has takes great steps towards platform independence, but since the design did not start with that goal in mind, Qt is more flexible in that respect right now. Having listened to the GTK 3.0 discussion, that is bound to change as many of the issues discussed there are related to portability.

Looking at the Nokia deal in the light of this, it seems that Nokia did not have the patience to wait for GTK 3. Instead it seems like a quicker, safer and cheaper way to bend Qt so that it fits their needs.

Tags: , , ,


Apr 27 2008

Niclas Nilsson has been interviewed

Category: Backported from old FSCONS sites,FSCONS 2008admin @ 2:43 pm

Niclas Nilsson has been interviewed

Niclas Nilsson who’s talking about Agile and Scrum at FSCONS has been interviewed.

Original post: http://fscons.org/2008/node/84

Tags: , , ,


Apr 27 2008

Interview: Johan Eklund and Tham Wickenberg

Category: Backported from old FSCONS sites,FSCONS 2008admin @ 2:41 pm

Interview: Johan Eklund and Tham Wickenberg

Interview with Tham Wickenberg and Johan Eklund of Primekey for the upcoming FSCONS 08 andtheir presentation: Secure communications with Open Source PKI

For a little background, can you describe the general topic of your presentation and tell us what is new in the last few months?

Johan : Everyday Public Key Infrastructure is very mature and easy to use by now and that is what we are trying to show in the presentation. We will briefly end the session with some notes about federation trends, electronic signatures and the brand new EU passport PKI.

Can you give a summary of what you will present? Why should someone choose to come to your presentation?

Tham : You should come to our presentation if you want to be sure someone is who he says he is on the internet, or if you want to communicate privately without someone evesdropping. We will present technologies that are currently being used by corporations and government agencies and show that they are available to anyone and how to use them!
When you say it is easy to use, do people find it easy to understand why they have to protect their private key from more or less everything?

Johan : I think most people have no problem understanding that anyone having a copy of the key could perform the same things as the original owner. If I copied your apartment keys, I would be able to access your home just like you would. It’s really not much more complicated than that. In a perfect world, people would always use smartcards, so there is only one instance of the key.
Have people changed attitude towards encrypting their data over the last 5 years?

Johan : I would definitely say that awareness about secure communication and privacy has increased. But I also believe that phenomenas like social networking and technology for mining user data has increased even faster. GPG and the web of trust is an excellent example of a simple system that can be used for achieving better security in a distributed environment without any authority. PKI simplifies this even further when there exists a common trusted node.
What is the most common misconception about encryption and the current technologies?

Johan : That it’s a silver bullet. Encryption always exist in some context and the weakest link will be the most likely point of failure. I mean, why bother breaking AES-256 for the rest of eternity if you can simply read the file from an unencrypted swap-disk. Encrypting emails is good to protect the data in the email, but wont protect against traffic analysis (who is communication with who, how much, when and from where).

Encrypting emails is good to protect the data in the email, yet one can make pretty much analysis on a person by looking at what people he/she communicates with. Are there any discussions somewhere regarding this?

Tham : I’m glad you brought that up, this is one of the things we plan to bring up during our presentation.

Johan : In fact, using asymmetric encryption with a smartcard links the involved users tighter to the data and sometimes plausible deniability might be more important. So it is very important to get the threat analysis right.
Do you have any comments on technology chosen for the EU passport, which was cracked some years ago?

Tham : The intention has been to prevent people from changing the information on the passport not from reading the information. The signature does a very good job of making sure of this. Given the design goals I think it was a reasonable solution.

Johan : I would much rather have seen that the Schengen-ID-smartcards as the new worldwide passport standard so we could use regular X509 PKI and protect the data with a PIN. But I’m not president of the world yet, so I’m stuck using a Faraday firewall for my passport. =) However I think it’s a nice that the passport readers will have to authenticate themselves to the passport before releasing biometric data with the new PKI and I like the federated approach, but then again, this could have been a much simpler solution.

If you look at EJBCA, which is a project you’re involved in, what tools do you use to communicate between each other?

Johan : We try to be as open as possible so drop by #ejbca at irc.freenode.net and join the party! We also use the developer mailing list at sourceforge. For private communication we usually use SMIME encrypted email.

Tham : Also since most of the core developers are all employed by PrimeKey a lot of the communication is IRL.
Where do the feature requests come from and who takes the decision on what feature to work on?

Tham : Some of our users request features on SourceForge or our mailinglist. Many bigger organisations contact our company, (PrimeKey), when they need some major features and/or professional support.

Johan : Bug-fixes and paying customers always have priority, but after that we try to implement as many ideas as possible from our awesome community. Tomas Gustavsson is the project lead and has the final word. Feature requests and ideas are welcome at http://jira.primekey.se , where you also can find the roadmap for our projects.
How involved are you in the gpg (Gnu Privacy Guard) project?

Tham : We recently helped a customer to use GPG with PKCS11 smartcards. It took a whole lot of debugging and we ended up sending a bug report and a patch to the project, but that is as far as our involvement goes.

Have you looked into OpenID?

Johan : Not that much. I strongly believe that there exists a need for simpler identity management on the web. I suspect that the drawback of the OpenID approach is that it’s much easier to mine userdata once you have a unique identity. If we could use web-sites entirely without providing any personal information except this identifier and we trust the provider, privacy could increase. I think the Open Source Eclipse Higgins project has a very interesting approach to this subject and follows open standards by OASIS. It’s definitely worth checking out.
In my opinion the basic problem with the EU passport is not the encryption but rather the fact that one *can* read data from it from a distance. Using a PIN would have been good, but wouldn’t it be better if the card could not been read from a distance at all?

Johan : I absolutely agree. That’s why I would like to see smartcard-like passports without rfid and I personally use a Faraday-cage for my passport. Using a PIN to release biometric data would at least ensure some level of consent from the owner, but the most important thing is that the readers are auhtenticated by the card. The problem with smartcard readers is that they are worn out, but they don’t cost too much so I don’t think this would be a huge problem.

Tham : I could not agree more. It would take a little more creativity in designing the cardreaders, since we still need to be able to put ink stamps in the passport, but I think it would have been worth the extra effort.

How did you get involved in Free Software and in what way is it important to you?

Johan : I’ve always had a hard time accepting that you can own a pattern of zeros and ones. The licenses created by the free software movement works more like invention really works: invention is all about solving a problem by combining existing ideas and perhaps adding that little extra. By making more existing ideas available we can make the world better much faster.

Tham : I agree, and I think that’s true for science and technology as well as art and culture.

Is there any other particular presentation you’ll be going to? Why is that topic of interest?

Johan : Well.. there is just so many.. I’m very interested in the security aspect of Fredrik Jonsson’s presentation about “Ubuntu Deployment for Your Enterprise”. I would also like to hear Oscar Swartz perspective on “The End of free communication?”, since there is a lot more to truly free communication than just encrypting data, like e-mails.

Tham : I’m especially looking forward to the free culture presentations because its the area I know least about.

Original post: http://fscons.org/2008/node/81

Tags: , , , ,


Apr 27 2008

Fredrik Jonsson interview on Ubuntu deployment

Category: Backported from old FSCONS sites,FSCONS 2008admin @ 2:37 pm

Fredrik Jonsson interview on Ubuntu deployment

Fredrik, Jonsson who’s presenting Ubuntu Deployment for Your Enterprise at FSCONS has been interviewed .

Ubuntu and Debian have a very tight relationship, probably more tightly than any other Debian based distribution has upstream

Ubuntu is a community driven distribution, no doubts about that!

Original post: http://fscons.org/2008/node/75

Tags: , , , , , ,


Apr 27 2008

Interview: Magnus Hagander

Category: Backported from old FSCONS sites,FSCONS 2008admin @ 2:36 pm

Interview: Magnus Hagander

Hagander, Magnus who is giving the presentation about PostgreSQL at FSCONS has been interviewed

Original post: http://fscons.org/2008/node/73

Tags: , , ,


Apr 27 2008

Jeremiah Foster interviewed

Category: Backported from old FSCONS sites,FSCONS 2008admin @ 2:35 pm

Jeremiah Foster interviewed

We just finished the interview with Jeremiah C Foster .

Jeremiah speaks about Perl, Debian, Ubuntu, rpms, debs, his “favorite speakers to have a ts FSCONS ” and tons of other stuff.

Original post: http://fscons.org/2008/node/71

Tags: , , ,


Apr 27 2008

Interview with Johan Thelin on QT, Gtk and much more

Category: Backported from old FSCONS sites,FSCONS 2008admin @ 2:29 pm

Interview with Johan Thelin on QT, Gtk and much more

Johan Thelin who is coming to FSCONS to give a talk called Qt for Embedded Linux and also to present the QtCentre Contest Award have been interviewed by the FSCONS team.

During the interview Johan shares his views on Free Software, Qt and Gtk, ubiquitous computing, eye candy and more.

Read the whole interview with Johan Thelin

Tags: , , , , , , , , ,