Planet Open Fonts

OSP (Open Source Publishing)Hachures Tournures Balsamine Print Party

We’re happy to be having the next Print Party in the familiar Balsamine Foyer for the second year in a row! This year as part of a new seasonal program, but also smaller parallel program «Nos Petites Madeleines» and along with the 15 day long Quizaine Numérique we’re going to be presenting Hachures Tourneurs. Following […]

Pravin SatputeNext week Diwali festival in India

Its Diwali festival next week in India.

If you feel you are not getting reply for emails from someone from India or not update on bugzilla from package maintainer just be patient. Its diwali time :)

If one dont know regarding festival read AT http://en.wikipedia.org/wiki/Diwali

Most of the offices used to have back-to-back holidays during this.

I will be working till Monday 20th and then will be away for a week.

Ben MartinSliding around... spinning around.

The wiring and electronics for the new omniwheel robot are coming together nicely. Having wired this up using 4 individual stepper controllers, one sees the value in commissioning a custom base board for the stepper drivers to plug into. I still have to connect an IMU to the beast, so precision strafing will (hopefully) be obtainable. The sparkfun mecanum video has the more traditional two wheels each side design, but does wobble a bit when strafing.


Apart from the current requirements the new robot is also really heavy, probably heavier than Terry. I'm still working out what battery to use to meet the high current needs of four reasonable steppers on the move.

Pravin SatputeFedora 21 Beta freeze today !!

Fedora 21 Beta freeze today, so if any build pending from you do build it quickly. Not only that ping and ask for quick testing and karma.

I done with 3 important build yesterday from my side.

1. Lohit Assamese: Default font for Assamese language. Pushed latest upsteam release.
2. Lohit Bengali: Default font for Bengali language. Pushed latest upstream release.
3. Lohit Tamil: Default font for Tamil fonts. Pushed latest upstream release.

Pending stuff from me is liberation fonts. I have fixed number of Fedora bugs in ustream and release is pending from me. Once i will do with upstream release will build it first for rawhide and then for Fedora 21.

Pravin SatputeRelease of Lohit Assamese 2.91.0 just after Lohit Bengali 2.91.0

Very natural move. Assamese and Bengali fonts are not much different just 09F0 (ৰ) &  09F1 (ৱ) are extra in Assamese.

Frankly there is no need to create different fonts for these languages. Since we can have OT rules written for 09F0 (ৰ) &  09F1 in same fonts. Bengali user never type these characters and when assamese user will type these character he can get expected rendering.

But Assamese and Bengali communities has strong opinion regarding font  names. Why should Assamese user use Bengali language fonts?

Even recently Assamese communities convinced Unicode to have "Assamese and Bengali" name to Unicode chart rather than only Bengali. There point was there is nothing like Bengali script in Assamese. Do update if i am missing something.

Lohit project respect user communities and will keep Assamese fonts separate. I can remove characters not used in Assamese from Bengali fonts and viceversa for Bengali but its very minor and i dont want one to install other font specifically for two characters.

One more reason to do this release quickly after Lohit Bengali is to make sure we can get testing from wider community.

Other release specific detail is available lohit archive email
 

Pravin SatputeFedora has the latest google-noto-fonts with addition of 44 new font families

Last week i done with packaging latest upstream release of Google's ambitious project Noto fonts  (google-noto-fonts).

Last time we packaged it on Aug 2013 with 69 subpackage. With this latest package Fedora 21 has got all the improvements done in upstream over the year.

New package google-noto-fonts has 106 packages. 44 New packages over the earlier release from Google.

I am planning to write one article in FedoraMagzine for it, mentioning how tricky it was to package it for Fedora and what are benefits Fedora gets by packaging noto fonts. What are the missing things in Noto fonts. Stay tuned !!

Bodhi link here

Pravin SatputeLohit Bengali alpha version 2.91.0 is released under Lohit2 project


Was expecting to release Lohit Bengali around June 2014 but it took more time due to priorities of some other work including glibc.

Finally work with Shilpa last couple of week last week and completed this milestone. :)

Lohit Bengali 2.91.0 has number of improvements over earlier release.

TTF size is reduced from 140K to 128K (still some improvement possible by removing halant form which can easily formed by GPOS )

Standard compliance is one more thing happened with this release. Unicode, OpenType spec. If we are still missing something do point us to particular document.

Looking forward for more testing and more improvement in Bengali.

Do read lohit-devel email for more information.

OSP (Open Source Publishing)OSP @ Princesse!

Since the early days, OSP has changed form over and over, from asking simple questions right through to organizing week-long workshops to share answers its members have found. There have been a fair amount of turning points in the past, and some of the biggest ones have happened over the last few years. The Variable […]

OSP (Open Source Publishing)Visual Culture and Médor at Europe Refresh

Once again Les Halles are housing the 2014 edition of «Le salon du financement participatif» called Europe Refresh and it looks like it’s going to be a couple of exciting weekends! This year, to maximize the chances of fully funding the projects, the Salon will be set up for a weekend in Brussels then a […]

OSP (Open Source Publishing)Médor

Medor is not a dog ! It’s a trimestrial, Belgian magazine of inquiries and stories, 128 pages long. Médor contains long-term investigations, reports and portraits focused on Belgium. Médor digs the heart of issues. It inquires and it is persistent. It takes the time needed to be further, beyond appearances. It seeks to understand the […]

OSP (Open Source Publishing)étapes 220

étapes magazine issue 220 focused on Co-Working, so we were pleased to be asked for an interview for the Portrait section of the publication. In proper OSP fashion, after an initial set of questions from Caroline Bouige, the interviewer, we answered collaboratively, both to the questions and to each other. You can read the full […]

Nicolas Spalinger (advogato diary)24 Sep 2014

FontLab VI demo at AtypI2014 Barcelona: new drawing features, smarter workflows and better interop with native UFO support and fontgate cross-platform library

During AtypI2014 in Barcelona, Thomas Phinney invited some participants to a special evening presenting the upcoming FontLab VI based on the Victoria re-write and re-architecturing that has been in the works for a few years. (BTW, if you missed it, there is a public video recording from part of a similar talk/demo at AtypI2013 Amsterdam.)

These are the notes I jotted down during the demo evening:

drawing-related features:
  • on-canvas editing of multiple glyphs at the same time
  • smart multi-selection of BCPs
  • drag'n'drop and rich copy'n'paste directly on the canvas
  • dedicated sketchboard to emulate paper-sketching
  • import bitmaps assets and trace directly on canvas
  • smart zooming, scrolling and infinite canvas
  • lasso selection
  • smart guidelines and snapping
  • sliding beziers points (g2 continuity)
  • special selection to move two BCPs at the same time with automatic harmonizing (Tuni line)
  • eraser for more natural point simplification directly on canvas
  • linked clones, with each change propagating independently
  • smart anchors expressed using fractional coordinates with keywords and autosuggested formulas for transforms and boolean operations
  • glue tool to copy only a portion of an outline and a few BCPs
  • in-place measuring tool
  • preview waterfall panel


workflow-related features:
  • context-sensitive side panels to declutter the interface (TAB key hides them quickly)
  • font comparison tool with multiple layers
  • zip file containing assets and font sources can be imported directly
  • easier navigation of character groups and unicode blocks
  • bookmark and history panel as you navigate into your existing and desired blocks
  • in-place OpenType feature editing with an advanced source code widget
  • support for multiple monitors
  • exporting your workspace to PDF and SVG
  • Harfbuzz integration for high-end realistic rendering of OpenType features
  • ClearType integration for realistic rendering (no need to export to Windows for testing)
  • git integration with commands in a dedicated menu with the goal of enabling better tracking of changes with visual diffing


interoperability-related features:
  • native support of UFO2 and UFO3, both for import and export
  • improved python APIs, compatible with robofab
  • full exposing of the APIs via QT UI designer


Soooo, plenty of great new features both in the UI, around the new workflows and in the internal engine but still no release schedule. The private beta program has yet to start. They kept talking of a codebase in alpha stage. Maybe a public beta program will happen as well...

Being made with QT, cross platform porting is now much easier. FontLab is being developed on OSX and tested there primarily but the codebase for the Windows version is only 3% different. The main developer said that a Linux version is doable but there is no definite plan or decision made in that area yet. Until other more open editors catch up, FontLab is still the (albeit proprietary) industry heavyweight. Many people are looking forward to the new features... if they haven't switched yet that is.

Glyphs is the editor most people start with nowadays - including at the MATD in Reading and it's getting glowing reviews and wider support from various parts of the typeface design community. FontLab should be seeing the glyphs on the wall (!) and hurrying up the release. The announcements will probably appear on the forum and the blog.

I've been promised a Debian/Ubuntu version of fontgate for testing server-side interop between font formats, testing, generation with python bindings. This would be fantastic for bridging FontLab with newer, more collaborative workflows and other tools in the OFDK and would increase value in FontLab's UI features. Wait and see...

Nicolas Spalinger (advogato diary)23 Sep 2014

AFDKO progress

It's good to see that the recently re-released AFDKO is starting to get some attention and (small) things are starting to get merged back in.

There is packaging work underway by ChangZhuo Chen (陳昌倬) from the Debian pkg-fonts team.

There are still various issues to deal with for this codebase to be brought in line with Debian policies, but I was able to successfully rebuild Adobe Source Serif and Adobe Source Sans on Ubuntu 14.04.

This means we are now closer to the long-term goal of a containerized, autobuildable, open-standards-based crossplatform buildpath for complex fonts. New development and testing workflows will be much easier to integrate, so that's good news for everyone :-)

Nicolas Spalinger (advogato diary)23 Sep 2014

Open and collaborative font design in a web fonts world: AtypI2013 Amsterdam presentation and panel on open fonts by Victor Gaultney and font industry representatives

Even if you didn't attend the AtypI2013 conference in Amsterdam, you can now watch the video recording of "Open and collaborative font design in a web fonts world" a presentation Victor Gaultney followed by a discussion panel with various key font industry representatives.

Thanks to the video team for their efforts in making more of these AtypI presentations publicly available!

The League of Movable TypeWe’re super excited to introduce a new member to our...



We’re super excited to introduce a new member to our catalogue – League Spartan. We’ve been working on this one a while, and we’re starting out by releasing a single, bold weight. It’s a beautiful, modern geometric sans-serif, and we’ve actually been secretly using it on our own site for the last few months. It’s superb. You’ll love it.

CraftingType workshopsCrafting Type: Madrid 2014 for ONLY €160. 11/7-8-9

Crafting Type: Madrid 2014 for ONLY €160. 11/7-8-9:

TypeMad is an upcoming festival of typography in Madrid: Conferencias, exposiciones y talleres sobre tipografía, caligrafía, lettering y diseño tpográfico actual!

Crafting Type is participating with a workshop the weekend before the main event. The key instructor is Octavio, a Spanish type designer, and if more than 15 people to sign up then Dave Crossland will join. If more than 30 sign up, Alexei Vanyashin will bring some Russian expertise to town!

El taller será en Inglés y español.

The workshop will be in English AND Spanish.

Its our standard 3 day workshop, but we have a special offer for the festival - there is only the ‘student’ price, with an additional discount - so the total for all 3 days is only €160.

Learn more and sign up today!

Nicolas Spalinger (advogato diary)19 Sep 2014

AFDKO released under Apache2

David Lemon from Adobe has just announced during his AtypI talk that the AFDKO has now been officially re-released under the Apache2 license and pushed to this public git repo.

Thank you, Adobe!

The next step is adjusting the installation steps for Debian/Ubuntu and making it easier to integrate in existing workflows and toolkits...

Pablo ImpallariLibre Caslon Display

Libre Caslon Display

A small crop of a bigger specimen, coming soon...
Text is set at 96, 72, 60, 48 and 36.
Old school: Just typed as is. No scaling, no tracking.

Also part of a new tool that will help Type Designers choose specific words when making specimens, and to automate online specimens.

Pravin SatputeLohit Tami 2.91.0 now available for testing

Done with the release of Lohit Tamil 2.91.0 with the improvements planned under Lohit2 project.

Following are highlights:
  1. Rewritten all Open type tables with supporting taml and tml2 tags.
  2. Renamed all the glyphs by following AGL syntax.
  3. Open type tables are available in .fea file and this time it is compiled with AFDKO.
  4. Reusing glyphs by "COPY REFERENCE"
  5. Added GRID FITTING table and auto-hinting by fontforge. (Need to use ttfautohint but we need Latin support to do that)
  6. Tested with Harfbuzz NG and Uniscribe (W8)  (Need to test on WinXp yet)
  7. Auto test module available with test files. (Please help me to add more test cases.)

This release now support characters required for minority orthographies. For more details visit bugzilla

Stopped using deprecated ligature for SRII. See bugzilla for more information.

CraftingType workshopsRobothon 2015: Thursday 5 March + Friday 6 March 2015. KABK, The Hague. More info about programme and tickets will follow!"

Pravin SatputeCompiling Lohit fonts feature file with Adobe Font Development Kit

This first came to notice with issue "OTM error #13". Everything was working perfectly with fontforge, creating feature file and importing feature file back :)

But certainly above issue open up number of issues with this process. Font designers were not able to import .fea file due to this issue.

Thanks to Dave and Frank for pointing to issue and directing me towards Adobe Font Development Kit (AFDKO). Adobe is the one created specification for .fea file and provided nice tools to compile it.  Most of the information already available AT http://www.adobe.com/devnet/opentype/afdko/topic_overview.html 

 This blog is specifically to update how i am using AFDKO in Lohit project.

Steps:
1. Write open type tables for Lohit fonts in Fontforge.
2. Export .fea file
3. Generate .ttf by importing .fea file to it using following commands.
4. makeotf -f Lohit-Tamil.ttf -ff Lohit-Tamil.fea

It fails with error but it generates unix Type1 font required for makeotfexe.

What errors :)

  makeotf command pass following arguments to makeotfexe

  "makeotfexe "-f" "Lohit-Tamil.ttf.tmp" "-o" "Lohit-Tamil.ttf.temp_cff" -ff "Lohit-Tamil.fea" -ga -gf "Lohit-Tamil.ttf.temp.GOADB" -mf "FontMenuNameDB" -shw"

In above argument  "-ga -gf "Lohit-Tamil.ttf.temp.GOADB"  are not required but somehow automatically gets added by makeotf.

But makeotf done one good job of converting source font 'Lohit-Tamil.ttf' to temporary Unix Type1 font file 'Lohit-Tamil.ttf.tmp'

5. run makeotfexe removing problem cuasing arguments.
 makeotfexe "-f" "Lohit-Tamil.ttf.tmp" "-o" "Lohit.ttf" -ff "Lohit-Tamil.fea" -mf "FontMenuNameDB" -shw

And here get you Lohit.ttf build by adding .fea file with AFDKO.

Hope so it will help to some others as well.

I specifically found this very useful for finding issues in Lohit-Devanagari.fea files.

Jakub SteinerMaking of GNOME 3.14

The release of GNOME 3.14 is slowly approaching, so I stole some time from actual design work and created this little promo to show what goes into a release that probably isn’t immediately obvious (and a large portion of it doesn’t even make it in).

<iframe class="image full" frameborder="0" height="500" src="http://www.youtube.com/embed/Co4i_d47e1I"> Watch on Youtube </iframe>

I’d like to thank all the usual suspects that make the wheels spinning, Matthias, Benjamin and Allan in particular. The crown goes to Lapo Calamandrei though, because the amount of work he’s done on Adwaita this cycle will really benefit us in the next couple of releases. Thanks everyone, 3.14 will be a great release*!

<footnote>* I keep saying that every release, but you simply feel it when you’re forced to log in to your “old” GNOME session rather than jhbuild.</footnote>

Pravin SatputeLohit Tamil in Unicode charts

This is news to me as well :)

 Just came to know from comment that Lohit Tamil is used in Unicode charts from 7.0 onwards.  I did quick comparison with old Tamil chart and 7.0 and yes that is Lohit !!





Kudos to Shriramana for making this happen with proposal. I remember we were talking about this last year and due to OFL license of Lohit it is easy to use it in Unicode charts without any permission.

This add more responsibility to make sure Lohit Tamil follows and keep glyphs consistent in future version. I am sure with strong community we can achieve it.


 I have been always proposing Unicode for using opensource fonts in there charts. Unicode definitely spending some money to make fonts for these charts, so why not to release these charts under opensource license?


 Presently charts only serve the purpose of reference and even after release of particular version even for single character users need to wait for other fonts to sync with latest Unicode version. If Unicode release latest version of charts with fonts as well, one can just quickly install those fonts. These fonts can be used in all OS due to liberal license, many things can happen...

  Second part that is faced specifically in complex script, is reference for rendering rules. Yeah, this can add additional overhead to Unicode but i strongly feel it can help further to have standardization in complex script rendering.

  Anyway we are already trying for this with Lohit2 project, hopefully  other script fonts project will also start this kind of initiative and in long term font designers will be free from worry of rules for complex script rendering.

  Again glad to see this is happening !!
 

Nicolas Spalinger (advogato diary)12 Sep 2014

Update to the OFL FAQ published: version 1.1-update4

Check out the newly updated FAQ (Frequently Asked Questions) for the Open Font License: version 1.1-update4.

It probably has many answers you're looking for on the - rather complicated and subtle - topics of using, distributing, creating and modifying open fonts.

This (small) update takes into account feedback from existing users of the license and clarifies some (small) aspects of the intent and the well-established working model.

The OFL FAQ is getting rather long but then again, it's not the easiest set of related subjects to cover... I hope this continues to be a good and useful resource for the many open font designers out there. If you haven't read it yet, now is probably a good time, otherwise search for your topic in the various sections :-)

IMHO, nobody should have to become a copyright or trademark lawyer - or pay massive legal fees - just to maximise access to some of their creation but still maintain over control the corresponding canonical version. Type designers mostly want to focus on creating and all the rest just seems like a distraction at best or a big headache at worst... but getting a better understanding of the ins and outs of the legal environment of collaborative font design and how the OFL model works practically is always helpful and should spare people some unnecessary surprises.

Pravin Satpute"Devanagari script behaviour for Hindi" standardization meeting AT Delhi on 10th Sep2014

    DIT is working on this project with CDAC and other stakeholder almost from 2+ years. I am one of the committee member of this working group and making sure it will actually benefit target audience.
We have invested earlier time on what should be the structure of this document and what things must be included in this documents.
    Also we had excellent debate with language scholars on what is valid combination in Hindi language and what is not. How particular combination should get displayed. We made one significant decision saying we will not say anything is invalid, since there is possibility of inclusion of words from other language to Hindi and end use must be able to type it.
    Number of things happened over the time from 1.3.1 version to latest 1.4.4 and finally we are very closer to have final release of this document.

    Highlights of this Draft:
    1. Target audience is ICT stakeholders.
    2. Platform owner interested in supporting particular language in his product will get complete information from locale, sorting, backspace, delete, rendering etc from single document. One can also say this document is simply including standards around Hindi language at one place. Those are Unicode, CLDR and language related standards.
    3. For Hindi draft reference is used from book "देवनागरी लिपि तथा हिंदी वर्तनी का मानकीकरण"  Central Hindi Directorate"


    Yesterday we quickly gone through draft to make sure conjuncts are represented properly in document. Hindi mostly uses half form of base characters unlike complete conjuncts get form in Marathi language.

    Draft is still open [1] for comments and feedback. Once Hindi will get finalized same process will be repeated for other language and all these Draft will get authenticated from BIS as a standards.  For other languages DIT will first prepare draft and in later stage talk with state governments for Feedback. Next one will be Marathi since most of the things are already ready for Marathi languages.

    I hope this will help to community over the time.


1. http://www.tdil-dc.in/index.php?option=com_vertical&parentid=79&lang=en

Ben MartinGetting a feel for Metapolator and Cascading Parameter Values


Metapolator is a new project for working on font families. It allows you to generate many fonts in a family from a few "master" cases. For example, you could have a normal font, modify it to create a rather bold version and then use metapolator to generate 10 shades on the line between normal and bold.

I have recently been reading up on metapolator and how to hack on it. So this post describes my limited understanding of what is a fairly young project. So warnings inline with that are in place; errors are my own, the code is the final arbitrator etc.

Much of the documentation of Metapolator involves the word Meta, so I'm going to drop it off this post as seeing it all the time removes its value in terms of semantic add.

At the core of all of this polating are parameters. For example, after importing a font and calling it "normal" you might assign a value of 100 to xheight. I am assuming that many of the spline points in the glyph (skeleton) can then be defined in terms of this xheight. So the top of the 'n' might be 0.95*xheight.

A system using much the same syntax as Cascading Style Sheets is available to allow parameter values to be set or updated. Because its parameters, its called CPS instead of CSS. So you might select a glyph like 'glyph#n' and then set its xheight to be 105 instead.It seems these selectors go right down to the individual point if that's interesting.

In order to understand the CPS system I decided to start modifying a basic example and trying to get specific values back out of the CPS system. The description of this is mainly to see if my playing around was somewhat along the lines of the intended use of the CPS system.

For this I use a very basic CPS

$ cat /tmp/basic.cps
 
* {
     label : 1234;
     xx    : 5;
}

glyph#y penstroke:i(0) point:i(0) {
     xx    : 6;
}

$ metapolator dev-playground-cps /tmp/basic.cps

The existing dev-playground-cps command makes its own fonts up so all you need is a CPS file that you want to apply to those fonts. In my case I'm using two new properties, the label and 'xx' which are of type string and number respectively.

A default value of 3 is assigned to xx for all points and each point and glyph get a unique label during setup.

I found it insightful to test the below with and without selectors that modify the 'xx' property in the CPS, and at both levels. That is, changing the xx:5 and xx:6 in the above CPS to be xxno1:5 and xxno2:6 and seeing what the below printed out. The xx.value makes the most sense to me, show me the default value (3) if nothing is set in any CPS to override it or show me what the CPS has set if it did any override for the point.

element = controller.query('master#heidi glyph#y penstroke:i(0) point:i(0)')
console.log('element:', element.particulars);
console.log('element:', element.label);
console.log('element:', element.xx);
computed = controller.getComputedStyle(element)
console.log('label: ' + computed.get('label'));
console.log('xx.base   : ' + computed.getCPSValue('xx'));
console.log('xx.updated: ' + computed.getCPS('xx'));
console.log('xx.value  : ' + (computed.getCPS('xx') ? computed.getCPS('xx') : computed.getCPSValue('xx')));


The above code is also pushed to a branch of my mp fork at cps.js#L213

I found that a little tinkering in StyleDict.js was needed to get things to operate how I'd expected which is most likely because I'm using it wrong^tm.
The main thing was changing getCPSValue to test for a local entry for a parameter before using the global default StyleDict.js#L93.

I might look at adding a way to apply a CPS to a named font and showing the resulting font as pretty json. For reference this will likely have value and valuebase showing the possibly CPS updated value and the value from the original font respectively.

Nathan WillisYour Mileage May Vary

In the last six weeks or so, I’ve given three talks about open source / free software in automotive.  [That means "cars."]

It’s sort of a new thread for me to play out on the conference circuit, at least as a speaker, but it is actually an area that I have found personally interesting for ages, and in which I’ve been a secret hobbyist for a while—at a very amateur, “enthusiast” level.  But after having followed the topic and having read up on it, last fall (i.e., November 2013) I decided to dive in and start experimenting with a Linux-based automotive computer build in my car.

That’s one of the talks I spoke about earlier: I gave a “build talk” about the project at the Automotive Linux Summit in Tokyo in early July.  The goal was to relate my real-world experience (surprises, pitfalls, etc.) to the developers and strategists at ALS in the hope that it would be beneficial to them. I gave another talk at ALS about automotive security, but it consisted of “research” rounding up other people’s research and published studies about software security problems in car computers.  I highly recommend the “just talk about other people’s hard work” methodology as a talk-development approach; it’s far less time-consuming than doing all the tests and paper writing oneself, and you also don’t have to apply for grants.

The third talk was at GUADEC, the annual GNOME project conference. It started out, in theory, as another “my build and what you can learn from it” talk idea, but it quickly became clear to me that I needed to do more: provide some context for the audience that didn’t already pay attention to the automotive corner, and offer some reasons why they should look into it and maybe even get involved.  The GUADEC team ended up asking me to make that talk a keynote, which was definitely a surprise, but obviously lots of fun, too.

I tried to include some words on where I thought GNOME developers could get involved in automotive projects (especially since many of those projects already use GNOME libraries, even if they aren’t interacting too much with GNOME-proper upstream), and some ideas on how GNOME could be more “garage friendly.”  More on that later. Nobody threw any vegetables, and a lot of people asked questions afterward, so I think it went well on the whole.

Interestingly enough, while working on the GNOME talk I kept running into the realization that a lot of full-time Linux folks weren’t really up to speed on the scope and makeup of the automotive Linux space.  It’s understandable—most of the work now is pre-production and it may be a while before products hit the showroom floor. But that also makes it the best possible time for free-software people to get involved. The better you make it right now, the better it’ll be when it arrives at the dealer.

The other big take away, for me, was that evidently I’m a shamefully bad example of a tech hobbyist because I haven’t done a running “build log” on some personal blog site or on Instructables, detailing the ups and downs of shoehorning a homemade IVI system into a recent Mustang.  So I’m vowing to do better on that front.  But I can tell you this much: a lot of what goes into posts like that won’t make a lot of sense unless I dole out some background info, like I did at GUADEC.  I apologize if you happen to catch this blog via Graphics Planet and you don’t care about the topic at all — but there is some interest UI/UX work a little later on in the process, I promise.

ALS and the landscape

Anyway, here are the broad strokes if you’re just hearing about automotive Linux for the first time.  The Linux Foundation has done this “ALS” conference for three(ish?) years now.  ALS attendees tend to be drawn from three major projects: GENIVI, which is a multi-company consortium founded by folks in the automotive industry, Automotive Grade Linux (AGL), which is a working group coordinated by the Linux Foundation, and Tizen IVI, which is a distribution project run mainly by Intel and Samsung people.  And there are, of course, plenty of other participants.

These projects overlap a lot in their areas of concern, naturally, but there are also big differences in what they want to accomplish, which makes a difference if you’re picking and choosing as an outsider.

GENIVI is focused on defining a platform-level Linux system that the participating companies can use as a specification to build their automotive products against. GENIVI defines components needed for in-vehicle infotainment (IVI; that’s the head-unit computer that the driver and passenger fight over while they’re barreling down the road) systems, so that car makers and suppliers don’t have to reinvent the wheel every time or argue endlessly about design specs. I.e., everybody uses GENIVI, so It Works.  Naturally, the alliance has to write components that don’t already exist, so they do that: they have open source code at projects.genivi.org

But GENIVI is not defining the entire system; they are stopping right below the application API layer.  Apparently that’s something that different members want to head in their own direction on, and potentially compete on. So GENIVI’s Linux builds tend to be more like “starting points for a company making a product in house.”  They even use Yocto.

Tizen IVI, on the other hand, is designed to be a fully functional Linux distribution. It’s supposed to be something an OEM can grab and mold a product out of.

In that sense, it competes with GENIVI, I guess, but Tizen also has this interesting “cross-device-profile” concern.  The larger Tizen project wants to make a Linux stack for consumer electronics products of all types (phone, smartwatch, TV, smartfridge, smartcoffepodmachine, etc) that can offer the same app-level API to third-party app developers. That is, you write yer Angry Flapbird game once, and it runs on all the devices.  So Tizen IVI is very much concerned with that app layer that GENIVI isn’t.  Tizen IVI may differ a lot under the hood from Tizen Mobile, but it’s the same on top. The app-level API is based on HTML5 and a lot of W3C standards.

Last but certainly not least is AGL. AGL is technically a “workgroup,” which means that it’s a bunch of companies that want to get together for some common purpose; they can work on whatever they decide to.  At the moment, their most visible effort is the AGL Reference Linux distro, which is a fully installable Linux distribution that you can put in a car. It’s probably not quite the same as you will see in production vehicles, but it’s the closest thing to fully realized IVI of the existing projects.  It’s based on Tizen IVI with a lot of additions.  The additions include a suite of actual IVI apps (music player, navigation, vehicle status, phone hands-free tethering, etc).

Developing more such applications is another one of AGL’s focus areas; right now they’re putting feelers out for people to write apps; it’s actually a good opportunity if you want to do development.  The other thing to remember, though, is that AGL may have broader interests than just IVI: they could decide to delve right into engine-control stuff as well, which is an entirely different space. Fuel injection, timing, traction control, etc.—all that stuff is computerized, and I hear interest from the hallway track in using Linux to virtualize, containerize, and improve these systems. It’ll be interesting to see.

The garage

All that background aside, I did actually talk about my personal “shadetree mechanic” project at both ALS and GUADEC.  What I have is something on a very PC-like microITX motherboard, stuffed into the trunk space of a 2005 Mustang GT.  How well does it work?  Well, that depends on what your criteria are.  I’ll give this one teaser thought, as I contemplate writing up a Proper Build Log like the wise & benevolent Makers Of Olde tell us we have to do:

If you make careful hardware choices, you can put together a functional Linux-based IVI system in your own car.  If, that is, you have a reasonably modern car, sufficient time (or, alternatively, money) to put into the build from both the hardware and software sides, and if you’re willing to get your hands dirty. Literally dirty. And figuratively.

BUT. The first thing you’ll learn is that there is no such thing as a generic car or a generic car computer.  The PC may be pretty standardized, but it also makes a lot of assumptions—like having a flat surface, with decent airflow, and a normal AC-DC power supply, and room to put stuff where you want it.  None of those things hold true in a car, and every single choice you make, starting from where you think you’ll put the actual computer part physically in your vehicle, radically alters all of your decisions further down the line.

So it’s one individual builder’s story, and everyone else’s will differ greatly.  But I also think the experience is useful for other FOSS developers to hear about, since whether you know it or not, automotive computer products are making their way to the mass market. And we don’t want Linux to be late to the party, having not thought about what it will look like when there’s a full-on computer in the car parked outside the house.  How do we expect that computer to relate to our other computers? To connect to the network at our house? To interact with the portable devices we own and might bring with us?  To the documents we ferry around?

It’d be good to have answers to those questions when the tidal wave of car PCs hits. Estimates are it’s less than a year and a half from now before the first official GENIVI systems hit showrooms.  Proprietary software will take several iterations to get all this stuff right, and it will compete within itself, pretty fiercely.  But I hope we won’t let them have the open road all to themselves.

Ana Carvalho & Ricardo Lafuente (Manufactura Independente)Looking at the last months

While we’re figuring out our routines to come back to writing after an August of holidays, here’s a quick write up our ventures since February this year.

MiniDebConf Barcelona

In March, Ana participated in the MiniDeb Conf Barcelona. She presented the Libre Graphics magazine in a talk about libre methodologies in design and in the production of physical objects. The slides of the presentation are here and there is also a video of the full presentation.

Kit Gráfica Livre

In April, we assembled and made public the first instance of the Kit Gráfica Livre (Libre Graphics Kit). It’s a portable safebox with a USB cable, containing a read-only SD card reader.
Placed in the bar of the Porto Fine Arts Faculty, it makes available a set of libre software for graphics and audio production. Besides software, people can find a collection of libre assets, such as typefaces, publications, typography books and a selection of F/LOSS manuals. All for free copying — while at the bar, anyone can pick up the box and use the USB cable to copy everything to their computer.

Our plan is to bring free culture and free software closer to students with this kit. There is an ample amount of open and free materials, tools and assets, but they are very often disregarded in the teaching of arts and design. We would like to see more kits in other arts&design schools, so get in touch if you would like to run one in your school. There’s also a plan for regular updates with new assets and tools.

We’ll keep posting about this mutating kit. In the meantime, there is a mini site for this project here.

Libre Graphics Meeting 2014

LGM 2014: Creative Suites

In May we were at the Libre Graphics Meeting 2014 in Leipzig. Our talk, titled “Dear designer, have these cool tools”, was a about our desire to make distro that could introduce designers to libre tools and mindset. And help designers already using libre tools to persevere in this still arid land. We showed the Kit Gráfica Livre as one of the steps building up to this ambitious plan.

The slides were done using http://scri.ch, a simple (and imensly fun) collaborative sketch tool that Raphäel Bastide announced at this LGM. You can find the set here, and watch the video courtesy of the Gimp team.

Open Legislative Data Conference II

The Open Legislative Data Conference in Paris II took place in the end of May. Having been involved in the early stages of the Fabrique de la Loi, a visualization tool for the French law, we attend to present our latest open data project, Data Central. You can read more about in this OKFN Labs post. Videos and slides from the presentations are available here.

Interview on the practice of “open design”

In June, we gave an interview in the portuguese podcast DAR em Conversa Aberta.
Design Advanced Resources (DAR) is an association that is dedicated to the promotion of Open Design, based in Caldas da Rainha. From what we got it was the first time they talked to practioners about the field of graphic design. We talked about our work with the Libre Graphics magazine, the Kit Gráfica Livre, the From Stone to Spaceship workshop and why free software is about much more than saving money.

Ben MartinTerry is getting In-Terry-gence.

I had hoped to use a quad core ARM machine running ROS to spruce up Terry the robot. Performing tasks like robotic pick and place, controlling Tiny Tim and autonomous "docking". Unfortunately I found that trying to use a Kinect from an ARM based Linux machine can make for some interesting times. So I thought I'd dig at the ultra low end Intel chipset "SBC". The below is a J1900 Atom machine which can have up to 8Gb of RAM and sports the features that one expects from a contemporary desktop machine, Gb net, USB3, SATA3, and even a PCI-e expansion.


A big draw to this is the "DC" version, which takes a normal laptop style power connector instead of the much larger ATX connectors. This makes it much simpler to hookup to a battery pack for mobile use. The board runs nicely from a laptop extension battery, even if the on button is a but funky looking. On the left is a nice battery pack which is running the whole PC.

An interesting feature of this motherboard is no LED at all. I had sort of gotten used to Intel boards having blinks and power LEDs and the like.
There should be enough CPU grunt to handle the Kinect and start looking at doing DSLAM and thus autonomous navigation.

Pravin SatputeLohit2: Improvement plans for Lohit-Tamil

   In last phase we did excellent improvements in Devanagari, Gujarati, Gurumukhi and Malayalam with Lohit2 projects. Bengali is already done i need to test it for completeness then i can do the release of same soon.

  Now remaining are Kannada, Oriya, Tamil and Telugu. We are moving ahead and started working on Tamil development now.

  Improvements we are planning to do are as follows:
  • Renaming glyphs as per AGL.
  • Rewriting Open type rules following 'taml' and "tml2" [1]
  • Create testing file which covers most of the combinations.
  • Testing with Harfbuzz and Uniscribe.
  • Auto testing module.
  • Feature file compiled with AFDKO. (Adobe fonts development kit for Open Type) [2]
  • Follow Tamil script standards. Unicode.
   We have already started development on lohit2 git [3]

   I need help specifically for following items.
  • Creating test file with adding important combinations.
  • Identifying standards around Tamil script, i did not found other than Unicode yet.
   If one dont know about lohit2 project, do read blog [4]

1. https://www.microsoft.com/typography/OpenTypeDev/tamil/intro.htm#appendix
2. https://github.com/pravins/lohit2/issues/13
3. https://github.com/pravins/lohit2/

Jakub SteinerOpen Flight Controllers

In my last multirotor themed entry I gave an insight into the magical world of flying cameras. I also gave a bit of a promise to write about the open source flight controllers that are out there. Here’s a few that I had the luck laying my hands on. We’ll start with some acro FCs, with a very differt purpose to the proprietary NAZA I started on. These are meant for fast and acrobatic flying, not for flying your expensive cameras on a stabilized gimbal. Keep in mind, I’m still fairly inexperienced so I don’t want to go into specifics and provide my settings just yet.

<iframe frameborder="0" height="500" src="http://player.vimeo.com/video/103890639" width="100%"> Blackout: Potsdam from jimmac on Vimeo. </iframe>

CC3D

The best thing to be said about CC3D is that while being aimed at acro pilots, it’s relatively newbie friendly. The software is fairly straight forward. Getting the QT app built, set up the radio, tune motors and tweak gains is not going to make your eyes roll in the same way APM’s ground station would (more on that in a future post, maybe). The defaults are reasonable and help you achieve a maiden flight rather than a maiden crash. Updating to the latest firmware over the air is seamless.

Large number of receivers and connection methods is supported. Not only the classic PWM, or the more reasonable “one cable” CPPM method, but even Futaba proprietary SBUS can be used with CC3D. I’ve flown it with Futaba 8J, 14SG and even the Phantom radio (I actually quite like the compact receiver and the sticks on the TX feel good. Maybe it’s just that it’s something I’ve started on). As you’re gonna be flying proximity mostly, the range is not an issue, unless you’re dealing with external interference where a more robust frequency hopping radio would be safer. Without a GPS “break” or even a barometer, losing signal for even a second is fatal. It’s extremely nasty to get a perfect 5.8 video of your unresponsive quad plumetting to the ground :)

Overall a great board and software, and with so much competition, the board price has come down considerably recently. You can get non-genuine boards for around EUR20-25 on ebay. You can learn more about CC3D on openpilot website

Naze32

Sounding very similar to the popular DJI flight controller, this open board is built around the 32-bit STM32 processor. Theoretically it could be used to fly a bit larger kites with features like GPS hold. You’re not limited to the popular quad or hexa setups with it either, you can go really custom with defining your own motor mix. But you’d be stepping in the realm of only a few and I don’t think I’d trust my camera equipment to a platform that hasn’t been so extensively tested.

Initially I didn’t manage to get the cheap acro variant ideal for the minis, so I got the ‘bells & whistles’ edition, only missing the GPS module. The mag compass and air pressure barometer is already on the board, even though I found no use for altitude hold (BARO). You’ll still going to worry about momentum and wind so reaching for those goggles mid flight is still not going to be any less difficult than just having it stabilized.

If you don’t count some youtube videos, there’s not a lot of handholding for the naze32. People assume you have prior experience with similar FCs. There are multiple choices of configuration tools, but I went for the most straight forward one — a Google Chrome/Chromium Baseflight app. No compiling necessary. It’s quite bare bones, which I liked a lot. Reasonably styled few aligned boxes and CLI is way easier to navigate than the non-searchable table with bubblegum styling than what APM provides for example.

One advanced technique that caught my eye, as the typical process is super flimsy and tedious, is ESC calibration. To set the full range of speeds based on your radio, you usually need to make sure to provide power to the RX, and setting the top and bottom throttle leves to each esc. With this FC, you can actually set the throttle levels from the CLI, calibrating all ESCs at the same time. Very clever and super useful.

Another great feature is that you can have up to three setting profiles, depending on the load, wind conditions and the style you’re going for. Typically when flying proximity, between trees and under park benches, you want very responsive controls at the expense of fluid movement. On the other hand if you plan on going up and fast and pretend to be a plane (or a bird), you really need to have that fluid non-jittery movement. It’s not a setting you change mid-flight, using up a channel, but rather something you choose before arming.

To do it, you hold throttle down and yaw to the left and with the elevator/aileron stick you choose the mode. Left is for preset1, up is for preset 2 and right is for preset 3. Going down with the pitch will recalibrate the IMU. It’s good to solder on a buzzer that will help you find a lost craft when you trigger it with a spare channel (it can beep on low voltage too). The same buzzer will beep for selecting profiles as well.

As for actual flying characteristics, the raw rate mode, which is a little tricky to master (and I still have trouble flying 3rd person with it), is very solid. It feels like a lot larger craft, very stable. There’s also quite a feat in the form of HORI mode, where you get a stabilized flight (kite levels itself when you don’t provide controls), but no limit on the angle, so you’re still free to do flips. I can’t say I’ve masted PID tuning to really get the kind of control over the aircraft I would want. Regardless of tweaking the control characteristics, you won’t get a nice fluid video flying HORI or ANGLE mode, as the self leveling will always do a little jitter to compensate for wind or inaccurate gyro readings which seems to not be there when flying rate. Stabilizing the footage in post gets rid of it mostly, but not perfectly:

<iframe allowfullscreen="allowfullscreen" frameborder="0" height="500" src="http://www.youtube.com/embed/kVCTv2AlwTo?list=UUvteAidIfQtf2FkUzxr8QVg" width="100%"> Minihquad in Deutschland</iframe>

You can get the plain acro version for about EUR30 which is an incredible value for a solid FC like this. I have a lot of practice ahead to truly get to that fluid fast plane-like flight that drew me into these miniquads. Check some of these masters below:

APM and Sparky next time. Or perhaps you’d be more interested in the video link instead first? Let me know in the comments.

Update: Turns out NAZE32 supports many serial protocols apart form CPPM, such as Futaba SBUS and Graupner SUMD.

CraftingType workshopsClassic video of CT instructor Thomas Phinney discussing the...

<iframe allowfullscreen="allowfullscreen" frameborder="0" height="299" src="https://www.youtube.com/embed/Sth_vAOXX70?feature=oembed" width="400"></iframe>

Classic video of CT instructor Thomas Phinney discussing the design of pan-european OpenType Fonts

CraftingType workshops[link[ Bruno Maag Interviewed

[link[ Bruno Maag Interviewed:

CraftingType workshopsVideo! Cooper-Hewitt: Wicked Problems in Type Design

<iframe allowfullscreen="allowfullscreen" frameborder="0" height="224" src="https://www.youtube.com/embed/z2hhkfUzZtw?feature=oembed" width="400"></iframe>

Video! Cooper-Hewitt: Wicked Problems in Type Design

Pravin Satpute#flocktofedora 7th and 8th August AT Prague, Czech Republic and me !!

   If you missed my earlier blog, read it here

    First talk of the 7th morning for me was "From Schedule to (awesome)". The important thing we should note is EOL bug closing. Almost 4 to 5 thousands bugs get auto closed during EOL. Yes, Reporter'ss do get notifications regarding closing of bugs but i think developers should take active involvement and make sure any relevant bug should not get closed without fix.

    Next talk from "Tuan Anh Truong" on "Improving Ambassadors Mentor Program", he mentioned number of issues from Ambassadors program including he does not get replys from some of his ideas and again APAC budget was not used fully and this time it get reduced. He specifically said almost 30 Ambassadors from India but no one is active. I had discussion with him later on and promised that at least i will do some contribution.

    Keynote was nice, it is recorded and available on [1]

    During break i had nice conversation with Mattias and Christian about improving language support in Fedora and happy with there positive response, if time permits will definitely start drafting plan for this.

    After that we had some offline meeting on planning for Fedora 22.

    Attended last session of the day that is "Fedora.next.next: Planning for Fedora 22". This session where we had open house type discussion and taken mostly inputs from most of the attendees. We noted down positive, negative things in Fedora. what we can do for Fedora 22. It was long session but very fruitful session.

    Later we had boat party. It was nice party, i specifically loved the food :)

    3rd day we had talk from Jens on "Fedora i18n: Past, Present and Future". I really liked the way he covered i18n changes over the last almost 10 years. One of the most informative talk on i18n after long time. Video for it available on [2]

    After this session we had big discussion with Carlos of glibc. We specifically talked glibc Unicode support, Sorting issues and synchronising data with CLDR. We did some rough planning for future development. Most probably it will be proposed as a feature for next releases of glibc. Me, Mike, Anish and Jens were involved in this discussion.

    Lunch was very good on 3rd day, it was bit spicy. I liked it :) Not even used spices, i specifically brought from India.

    Fedmsg workshop was very informative for people interesting in building app on Fedora messaging stuff. Ralph Bead given nice tips for doing it. If you still not there join #fedora-fedmsg on Freenode and see how it tracks each change in Fedora.

    Last workshop i attended was from Parag and Haikel. The workshop is specifically memorable since 2 FPC, 9 package sponsors were present there. !!

    Third day we got some time in the evening and done some shopping. Its awesome to walk on Prague's road. Did not attended Dance party planned on 3rd day.

    As i written in earlier blog as well, so many things happen so do check #flocktofedora for more information.

    Ohh i missed to write, we took GROUP PHOTO on 3rd day. Jared Smith Rocks !!!  Original photo available AT [3]

    My earlier blog on First day is available AT [4]

    Will add photos in my FB and tagged it with Fedora

1. https://www.youtube.com/watch?v=qzGEBJLlUIc
2. https://www.youtube.com/watch?v=9WGL9hFcY_w
3. https://jsmith.fedorapeople.org/Flock2014/

Pravin SatputeMy first day of FLOCK 2014 at Prague, Czech Republic

    Actually i dont like international travel due to involvement of troublesome VISA process, long travel time and all immigration kind of stuff. This time i decided to attend Fedora conference since it almost 7+ years with Fedora and only one conference that was FudCon in Pune 2011. On the other hand number of things are changing in Fedora specifically with Fedora.Next and wanted to meet most of Fedora star contributor face to face. :)

    Arrived on 5th morning to Prague so it gave me good time to get rest and get ready for the first day of flock.

    This flock is organized very nicely with the understanding of number of contributors those are not able to make to conference and we have provided live stream facility and also recording off all the talks. Live stream is available on youtube at [1]

    Keynote was excellent, it was very motivating for contributors with the information about how EU government understand the importance of open source and using it in most of the government places and also contributing to open source. Its recording available at [2]

    After keynote immediately my presentation was scheduled [3], got a nice audience. Recording for my presentation is available at [4].

    Basically i talked on four things, why fons are important, not much happening in Fedora for fonts. I proposed one fonts portal named open source fonts world for gathering all opensource fonts available in different distros. Presenting fonts in better way, more categorized way and prepare some analysis of what is present and what is not. I have done some work earlier and alpha is available at [5]. Feel free to ping me if you are interested in contributing to it. Or if any more ideas..

    I must say there are lots of interesting talk in flock and some are happening parallel, so missed some good talks.

    I attended "Where's Wayland" from Matthias Clasen and yes wayland in Gnome 3.12 :)

    Lunch was nice, though place is 5min walk from conference venue but that is good, Prague is best city for walking. !! Lunch time was bit more than what i expected that is 2 hrs but i think it is good from contributors networking consideration.

    After lunch i attended "Fedora workstation" talk from Christian F.K Schaller and really impressed with the plans for Fedora workstation. One of the point which he mentioned which i hope i understood correctly is taking good input from Fedora marketing team and proceeding as per strategy. With my marketing specialization i am sure this is right strategy as far as we do not understand our target market properly adding new feature will not help much to us. Though its always difficult to get open source community work as per marketing strategy ;)

    Workstation talk recorded available at [6], must watch !!

    Then next was Anish and Mike talked on Predictive text input method (ibus-typing-booster), one nice point came up during question and answer is how can we have prediction during anaconda processing. Yeah that is important for speedy installation. Most of the information for ibus-typing-booster is available AT [7]

    for 4pm to 4.45pm session i took break since i was very tired and had some offline conversations with attendees.

    I attended "Fedora Ambassadors: State of the Union" [8] session from Jiří Eischmann. Understood two topic regarding number of Ambassadors are inactive from long time. APAC did not able to use there whole budget so budget got less in current FY. I do not remember any Fedora 20 release party in India this time. So yeah, people interested in Fedora and want to celebrate Fedora success, want to spread word do come up, we need you. I will definitely do some contribution to Ambassador program this year. We have only one mentor from India that is Kushal. I really like Fedora student University representative program idea, hoping that plan will get into production soon.

    Last talk from Christoph Wickert on "Advocating Fedora.next" was one of the excellent talk and it was housefull. If anyone still not understood Fedora.Next and want some more food for Advocating Fedora.next must watch this talk at [9]

    So had nice and fruitful first day @ flock 2014.


    We had pub party at the end of day and contributors enjoyed lot in it. Competition of tables for consuming highest beer was interesting and Praha-1 rockes with over 56ltr of beer. :-o

    I am sure there are many more things happened than my blog, so do go through other blogs and tweets tagged with #flocktofedora for getting glimpse of it. 

       Cheers !!   

    Note: I started writing this blog on first day but due to packed day, not able to complete it and publishing it on Day 3 :)

1. https://www.youtube.com/channel/UCQIXiF6fxPCtHw_XwHFq6nA
2. https://www.youtube.com/watch?v=LBpXpnQKjIs&list=UUQIXiF6fxPCtHw_XwHFq6nA
3. http://t.co/Rpo2Hhgn0k
4. https://t.co/4DqJAcdDKF
5. http://osfw-i18n.rhcloud.com/
6. https://www.youtube.com/watch?v=LYtJZBgOrKw&list=UUQIXiF6fxPCtHw_XwHFq6nA
7. http://typingbooster.org/
8. https://www.youtube.com/watch?v=9iv2G_u3xKY&list=UUQIXiF6fxPCtHw_XwHFq6nA
9. https://www.youtube.com/watch?v=P2O1bMT5a5Y&list=UUQIXiF6fxPCtHw_XwHFq6nA

Jakub SteinerGUADEC

This blog post is mostly about showing some photos I took, but I may as well give a brief summary from my point of view.

Had a good time in Strasbourg this week. Hacked a bit on Adwaita with Lapo, who has fearlessly been sanding the rough parts after the major refactoring. Jim Hall uncovered the details of his recent usability testing of GNOME, so while we video chatted before, it was nice to meet him in person. Watched Christian uncover his bold plans to focus on Builder full time which is both awesome and sad. Watched Jasper come out with the truth about his love for Windows and Federico’s secret to getting around fast. Uncovered how Benjamin is not getting more aerodynamic (ie fat) like me. Enjoyed a lot of great food (surprisingly had crêpes only once).

In a classic move I ran out of time in my lightning talk on multirotors, so I’ll have to cover the topic of free software flight controllers in a future blog post. I managed to miss a good number of talks I intended to see, which is quite a feat, considering the average price of beer in the old town. Had a good time hanging out with folks which is so rare to me.

During the BOFs on Wednesday I sat down with the Boxes folks, discussing some new designs. Sad that it was only few brief moments I managed to talk to Bastian about our Blender workflows. Unfortunately the Brno folks from whom I stole a spot in the car had to get back on Thursday so I missed the Thursday and Friday BOFs as well.

Despite the weather I enjoyed the second last GUADEC. Thanks for making it awesome again. See you in the next last one in Gothenburg.

Pravin SatputeAll is set for attending Flock 2014 conference !!

    Almost 2 months, when i started planning to attend flock-2014 [1] conference. Had number of hurdle including talk selection, sponsorship for Travel, then VISA issues. Now just 3 days to go for flock and happy that everything is perfectly set for attending conference. I will start my journey tomorrow from India.

    Thanks to Fedora for providing sponsorship for Travel and Accommodation. Specially thanks to Ruth for helping in booking flight tickets. I am going to talk on "Better presentation of Fonts in Fedora". [2] Excited to talk on this interesting topic and have get together with numerous Fedora contributors.

    Schedule of Flock is excellent with added some Fun items.

    Looking forward to meet all attendees in Prague :)



1. http://flocktofedora.com/
2. http://flock2014.sched.org/event/821969dcb62bf1efc76c78f0db6ef44f?iframe=no

CraftingType workshopsPython for Typographic Designers: Berlin

Ben MartinHookup wires can connect themselves...

A test of precision movement of the Lynxmotion AL5D robot arm, seeing if it could pluck a hookup wire from a whiteboard and insert it into an Arduino Uno. The result: yes it certainly can! To be able to go from Fritzing layout file to automatic real world jumper setup wires would have to be inserted in a specific ordering so that the gripper could overhang the unwired part of the header as it went along.

<iframe allowfullscreen="" frameborder="0" height="281" mozallowfullscreen="" src="http://player.vimeo.com/video/100631767" webkitallowfullscreen="" width="500"></iframe>
Lynxmotion AL5D moving a jumper to an Arduino. from Ben Martin on Vimeo.

Ben MartinEnding up Small

It's easy to get swept up in trying to build a robot that has autonomy and the proximity, environment detection and inference, and feedback mechanisms that go along with that. There's something to be said about the fun of a direct drive robot with just power control and no feedback. So Tiny Tim was born! For reference, his wheels are 4 inches in diameter.


A Uno is used with an analog joystick shield to drive Tim. He is not intended and probably never will be able to move autonomously. Direct command only. Packets are sent over a wireless link from the controller (5v) to Tim (3v3). Onboard Tim is an 8Mhz/3v3 Pro Micro which I got back on Arduino day :) The motors are driven by a 1A Dual TB6612FNG Motor Driver which is operated very much like an L298 dual hbridge (2 direction pins and a PWM). Tim's Pro Micro also talks to an OLED screen and his wireless board is put out behind the battery to try to isolate it a little from the metal. The OLED screen needed 3v3 signals, so Tim became a 3v3 logic robot.

He is missing a hub mount, so the wheel on the left is just sitting on the mini gearmotor's shaft. At the other end of the channel is a Tamiya Omni Wheel which tilts the body slightly forward. I've put the battery at the back to try to make sure he doesn't flip over during hard break.

A custom PCB would remove most of the wires on Tim and be more robust. But most of Tim is currently put together from random bits that were available. The channel and beams should have a warning letting you know what can happen once you bolt a few of them together ;)

CraftingType workshopstypedesignersatwork: Carol Twombly checking stuff



typedesignersatwork:

Carol Twombly checking stuff

CraftingType workshopsWhole-Brain Typography Class, Seattle USA

Whole-Brain Typography Class, Seattle USA:

CT alumni and typography expert Jeff Barlow is holding a 1-day typography workshop in Seattle in a couple of week, on Thursday 10th July:

Check it out!

Ben MartinThe long road to an Autonomous Vehicle.

Some people play tennis, some try to build autonomous wheeled robots. I do the later and the result has come to be known as “Terry”. In the long road toward that goal what started as a direct drive, “give the motor a PWM of X% of the total power”, lead to having encoder feedback so that the wheel could be turned an exact amount over a given time.  This has meant that the control interface no longer uses a direct power and direction slider but has buttons to perform specific motion tasks. The button with the road icon and a 1 will move the wheels forward a single rotation to advance Terry 6π inches forwards (6 inch wheels).

The red tinted buttons use the wheel encoders to provide precision movement. Enc left and Enc right turn Terry in place (one wheel forward, one wheel backwards). The Circus and Oval perform patrol like maneuvers. Circus moves forward, turns in place, returns back, and turns around again. It's like a strafing patrol. On the other hand, the Oval turns move like a regular car, with both wheels going forward but one wheel moving slower than the other to create the turning effect. The pan and tilt control the on board camera for a good Terry eye view of the world.

I added two way web socket communications to Terry this week. So now the main battery voltage is updated and the current, err, current for each motor is shown at the bottom of the page. The two white boxes there give version information so you can see if the data is stale or not. I suspect a little async javascript on some model value will be coming so that items on the page will darken as they become stale due to lag on Terry or communications loss.

I've been researching proximity detection and will be integrating a Kinect for longer distance measures soon. Having good reliable distance measurements from Terry to objects is the first step in getting him to create maps of the environment for autonomous navigation.

CraftingType workshopsNew tumblr, typedesignersatwork, is very good. Franck Jalleau...



New tumblr, typedesignersatwork, is very good.

Franck Jalleau checking stuff

Ben MartinAtmel Atmega1284

I started tinkering with the Atmega1284. Among other things it gives you an expansive 16kb of SRAM, 2 uarts and of course looking at the chip a bunch more IO. A huge plus is that you can get a nice small SMD version and this 40 pin DIP monster with the same 1284. Yay for breadboard prototypers who don't oven bake each board configuration! The angle of photo seems to include the interesting bits. Just ignore the two opamps on the far right :)


I had trouble getting this to work with a ceramic resonator. The two xtal lines are right next to each other with ground just above but the 3 pins on the resonator were always a bit hard to get into the right configuration for these lines. Switching over to a real crystal and 22pF caps I got things to work. The symptoms I was having with the resonator included non reproducibility, sometimes things seemed to upload sometimes not.  Also, make sure the DTR line is going though a cap to the reset pullup resistor. See the wiring just to the right of the 1284.

I haven't adapted the Arudino makefile to work on this yet, so unfortunately I still have to upload programs using the official IDE. I have the makefile compiling for the 1284 but das blinken doesn't work when I "make upload".

Ben Martin3d printed part repo for attaching to Actobotics structure

I started a github repo for 3d print source files to attach things to Actobotics structure. First up is a mount to secure a rotary encoder directly to some channel as shown below.


As noted in the readme, I found a few issues post print, so had to switch to subtractive modelling (dremel time) to complete it. I leant a few things from this though so the issues are less likely to bite me in the future. There are some comments in the scad file so hopefully it will be useful to others and maybe one day I'll get a PR to update it. The README file in the repo will probably be the one true source for update info and standing issues with each scad file.

You can just see the bolt in below the rotary encoder. That has a little inset in the 3d part to stop it from free spinning when you screw in the 6-32 nut from below the channel.

Pooja SaxenaGoa street lettering

Street lettering images from a walk near Our Lady of Immaculate Conception Church and Archbishop’s House in Panjim, Goa. See all at Flickr.

Telephone KendraWaxMerchants_small


Ben MartinArduino and wireless networking

The nRF24L01 module allows cheap networking for Arduinos. Other than VCC which it wants at 3v3 it uses SPI (4 wires) and a few auxiliary wires, one for an interrupt line. One of the libraries to drive these chips is the RF24. Packets can be up to 32 bytes in length, and by default attempts to send less than 32 bytes result in sending a whole 32 byte block. Attempts to send more than 32 bytes seem to result in only the first 32 being sent. There is a CRC which is a 2 byte and is on by default.

For doing some IoT things using a HMAC might be much better choice than just CRC. The major advantage being that one can tell that something coming over a wireless link was from the expected source. Of course, if somebody has physical access to the arduinos then they can clone the HMAC key, but one has to define what they want from the system. The HMAC provides a fairly good assurance that sensor data is coming from the arduino you think it is coming from rather than somebody trying to send fake data. Another rather cute benefit is that the system doesn't accept junk data attacks. If your HMAC doesn't match the packet doesn't get evaluated by the higher level software.

Using a Sha256 HMAC the return ping times go from 50 to 150ms. The doubling can be explained by the network traffic, as the HMAC is 32 bytes and will double the amount of traffic. I think perhaps the extra 50ms goes into hashing but I'll have to measure that more specifically to find out.

Once I clean up the code a little I'll probably push it to github. A new RF24HMAC class delegates to the existing RF24 class and sends a HMAC packet right after the user data packet for you. The interface is similar, I'm adding some writenum() calls which I might make more like nodejs buffer. Once you have added the user data packet call done() to send everything including the HMAC packet.

RF24 radio(9,10);
RF24HMAC radiomac( radio, "wonderful key" );
radiomac.beginWrite();
radiomac.writeu32( time );
bool ok = radiomac.done();


The receiving end boils down to getting a "packet" which is really just the 32 bytes of user data that was sent. The one readAuthenticatedPacket() call actually gets 2 packets off the wire, the user data packet and the HMAC packet. If the hmac calculated locally for the user data packet does not match the HMAC that was received from the other end then you get a null pointer back from readAuthenticatedPacket(). The data is either authenticated or you don't get to see any of it.

RF24HMAC radiomac( radio, "wonderful key" );
uint8_t* packetData = 0;
if( packetData = radiomac.readAuthenticatedPacket() )
{
     int di = 0;
     uint32_t v = readu32( packetData, di );
     got_time = v;
     printf("Got payload %lu...\n\r",got_time);
}


Oh yeah, I also found this rather cute code to output hex while sniffing around.

Nicolas Spalinger (advogato diary)15 Jun 2014

Brötli compression and aggressive default subsetting

Working drafts of the Brötli compression spec and the WOFF2 format have been published. For those among you who don't know any Swiss-German, -li is the diminutive form and Brot is bread, so brötli = small bread. Interestingly, it's based on previous optimization work released as zöpfli: Zopf being another kind of bread. Notice a pattern? I wonder if the cantine's menu or local pastry shop had an influence (but it looks like the Umlaut has been lost in translation, oh well).

These small breads come in wide ranges, textures and flavours but it strikes me that the whole point is that, while good bread on its own can sometimes be tasty, it's really the variety of toppings and fillings in these "mini-sandwiches" that create something everyone can choose from and enjoy.

So, while I sincerely applaud all the amazing work done on compression and improving the common webfonts format, I think it's also worth pointing out that many webfont hosting services still strongly push towards a bland taste by default, i.e. without the varied ingredients as filling, i.e. serving a limited subset of the bigger fonts designed for more than one language. They tend to make it harder to use the original wider non-roman Unicode coverage and smart features but instead serve only the basic Latin, especially if you are interested in a lesser-known language and a more complex script. Ugh. Could taste a lot nicer.

For example in Google Fonts, various users keep complaining about how many fonts have been "optimized" to the point where they are broken and useless in various languages. You have to dig deep in the documentation to learn that to restore original functionality, you need to explicitly turn off the subsetting via &subset=all. Some people are less concerned with shaving off a few milliseconds and more with "will this actually work in my target language?".

Hopefully, smaller breads will not mean even less tasty filling IOW the compression gains will also allow fonts and web content in other languages beyond the Latin boundary to become more prominent and accessible. Making the subsetting less aggressive and limiting will result in a much tastier multilingual web.

Jakub SteinerAdwaita 3.14

Now that the controversial 3.12 tab design has been validated by Apple, we’re ready to tackle new challenges with the widgetry™.

Adwaita has grown into a fairly complex theme. We make sure unfocused windows are less eye-grabbing (flat). We provide a less light-polluting variant for visually-heavy content apps (Adwaita:dark). And last but not least we provide a specific wigdet style for overlay controls (OSD). All this complexity has made Adwaita quite a challenge to maintain and evolve. Since we were to relocate Adwaita directly into gtk+, we had to bite the bullet and perform quite a surgery on it.

There’s a number of improvements we aimed to achieve. Limiting the number of distinct colors and making most colors derived makes it easier to adjust the overall feel of the theme and I’m sure 3rd party themers will enjoy this too. Not relying on image assets for majority of the drawing makes the workflow much more flexible as well. Many of the small graphical elements now make use of the icon theme assets so these remain recolorable based on the context, similar to how text is treated.

Benjamin has been working hard to move the theme closer to the familiar CSS box model, further minimizing the reliance on odd property hacks and engines (Adwaita no longer makes use of any engine drawing).

We still rely on some image assets, but even that is much more manageable with SASS.

Anything gtk related never happens without the giant help from Matthias, Cosimo and Benjamin, but I have to give extra credits to Lapo Calamandrei, without whom these dark caverns would be impossible for me to enter. Another major piece that I’m grateful for living right inside the toolkit, ready to be brought up any time, is the awesome inspector. Really happy to see it mature and evolve.

Jakub SteinerJestedska Odysea Longboard

Some shots with the gopro from last weekend. Music by LuQuS.

<iframe class="image full" frameborder="0" height="500" src="http://player.vimeo.com/video/98082124" width="500"> Jestedska Odysea Longboard from jimmac on Vimeo. </iframe>

Ben MartinTerryTorial: Wheel Feedback, Object detection, Larger size, and now a screen!

Terry the robot now has grown up a little, both semantically and physically. The 12 inch channel that was the link to the rear swivel wheel now has many friends which are up to 15 inches higher than the base beam. This places Terry's main pan/tilt camera at his top a little bit above table height, so he is far more of a presence than he used to be. On the upside, the wheel controller, shaft encoders, and batteries can all live on the lower level and there is more room for the actual core of Terry up top. I'm likely to add one or two more shelves to the middle of Terry for more controllers etc.


There is now also a 16x32 RGB matrix screen up front so Terry can tell you what he is thinking, what speed his wheels are rotating at, and if there is an obstacle that has been detected.

I'm rendering the framebuffer for the screen on the BeagleBone Black using Cairo and Pango (thus & freetype). The image data is extracted from Cairo as 32bit RGBA and packed down into planar data that the arduino expects. That packed framebuffer is then sent over UART to an Arduino 328 which takes care of refreshing the RGB matrix so that fake colour levels are achieved using a software PWM/BAM implementation. Yay for the BBB having 4.5 UARTs. I need to work out how to bring up the TX only UART as that is perfect for the one way communication used to drive the screen.

I should be able to get better colour precision using a Teensy 3.x as the screen driver. The Cortex-M4 just has more cycles to be able to softpwm the screen faster to be able to get a greater perceived colour range.

I customized the font a little in FontForge. Specifically I modified the kerning for "Te" to not waste as much space. The font is based on Cantarell by Dave Crossland. I've only just started on this open font to LED matrix stuff, but with some form of PWM and FreeType rendering the data I hope to be able to get nice antialiased font renders, even at the low resolution of 16x32.

The wheel encoders make a huge difference to the whole experience. Even without full autonomy the encoders allow you to have a repeatable oval or patrol path which can be followed. Also being able to setup the speed to avoid large acceleration or jerky movement so that the higher Terry is still a very stable Terry when on the move.

Pravin SatputeInteresting dilemma of Devanagari script fonts

I am sure after reading this post all font developers of well know Devanagari script fonts will start looking at there fonts again and start thinking there font is for which language?

Either they have developed font for Devanagari script or is it font for some specific language or it is simply a mess ?

As most of you know Devanagari script is widely used for number of languages. Major languages in this list are Hindi, Marathi, Nepali, Konkani, Sanskrit, Maithili, Kashmiri and Sindhi and some more languages.

Each language has some specific requirements from Devanagari script as follows.

    Characters requirement from Devanagari script block:
        Kashmiri, Marathi, Sindhi and Sanskrit has specific characters defined in Unicode Devanagari code page[1]. This is bit easy to identify, since Unicode has mentioned  it clearly for codepoints.

    Ligatures/Conjuncts requirement from Devanagari script:
        This one is bit tricky and one must go through each language standard documents from Governments or standardization organizations. I would like to mention some important differences here.

        1. Locale specific shapes for Unicode characters

Different shapes of same characters required in particular language.  Few examples of these are in Marathi "ल" (U+0932) and "श" (U+0936) are different than Unicode code block characters, same way Nepali language also has few different shapes for numerals. (Refer Lohit fonts for more information [2])

       2. Different behaviour of conjuncts across language. 

      This one is really painful, since there are not 3-4 but lots of conjuncts characters are different in widely used languages like Hindi and Marathi. Hindi language mostly prefers horizontal ligature (i.e. simply half form of characters) while language like Marathi, Sanskrit requires ligature form of conjunct which is used to be stacked.

After considering above points:
when you see, download or use any Devanagari font, you will definitely start thinking this font is for which language exactly?
Font for Hindi language with horizontal ligatures?
Font for Marathi language with Stacked ligature?
Pan Devanagari fonts supporting all language?
Even though its pan devanagari fonts, what it renders in en_US/en_IN locale?

       Lohit2 is one of the best example of how to handle this effectively. Still it needs some fixes for default behaviour of Lohit Devanagari font. Since Devanagari is widely used for Hindi language, i am in fever of making default behaviour of Lohit Devanagari to match with Hindi language and for other languages one should either download Lohit fonts for specific language (lohit-marathi, lohit-nepali)  or select appropriate locale while using Lohit Devanagari.

      Still question arises if default behaviour matches Hindi then, why it is called Devanagari, but i think answer is since it supporting other languages as well it is called Lohit Devanagari.

1. http://www.unicode.org/charts/PDF/U0900.pdf
2. https://github.com/pravins/lohit

Ben MartinTo beep or not to beep.

There comes a time in the life of any semi autonomous robot when the study of the classics occurs. For Terry, the BeagleBone Black driven Actobotics construction, short of visiting the Globe the answer would seem to be at current "To Beep".



Terry is now run by a RoboClaw 2x5A controller board with two 1024 pulse per revolution shaft encoders attached to an 8:1 ratio gearing on the wheel. This gives an overall of about 13 bits of precision from the shaft encoders relative to the wheel. In the future I can use this magnificent 4 inch alloy gear wheel as a torque multiplier by moving the motor to its own tooth pinion gear. Terry now also has an IR distance sensor out front, and given the 512mb of RAM on the BeagleBone some fairly interesting mapping can be built up by just driving around and storing readings. Distance + accurate shaft encoders for the win?

To use the RoboClaw from the BeagleBone Black I created a little nodejs class. It's not fully complete yet, but it is already somewhat useful. I found creating the nodejs interesting because when coding for MCUs one gets quite used to the low level style of sending bytes and stalling until the reply comes in. For nodejs such a style doesn't implement well. Normally one would see something like

doMagic( 7, rabbits, function() {
    console.log("got them rabbitses, we did");
});

Where the callback function is performed when the task of pulling the number of rabbits from the hat is complete. For using the RoboClaw you might have something like

claw.getVersion( function( v ) {
  console.log("version:" + v.value );
});
claw.setQPPS( 1024 );

Which all seems fairly innocent. The call to getVersion will send the VERSION command to the roboclaw with a given address (you can have many claws on the same bus). The claw should then give back a version string and a checksum byte. The checksum can be stripped off and verified by the nodejs.

The trouble is that the second call, to set of the quadratic decoder pulses per second, will start to happen before the RoboClaw got a chance to service the getVersion call. Trying to write a second command before you have the full reply from the first is a recipe for disaster. So the nodejs RoboClaw class maintains a queue of requests. The setQPPS() is not run right away, but enqueued for later. Once the bytes come back over the UART in response to the getVersion() then the callback is run and the RoboClaw nodejs class then picks the next command (setQPPS) and sends that to the RoboClaw. This way you get the strict ordered serial IO that the RoboClaw hardware is needing, but the nodejs can execute many commands without any stalling. Each command is handled in the order it is written in the nodejs source code, it just doesn't execute right away.

Next up is trying to tune the PID controller variables for the robot. One might expect a command such as "move 1 wheel circumference forward" to work fairly exactly if the quality of the shaft encoders is good. Though for the wheel size and QPPS I get a little bit of overshoot currently. I suspect the current D is not sufficient to pull it up in time. It may be a non issue when the wheels are down and friction helps the slow down process.

Terry now also has an IMU onboard. I created a small class to read from the TWI HMC5883 magneto. You'll have to figure your declination and I have a small hack on about line 100 to alter the heading so that a 0 degree reading means that physically Terry is facing North. I should bring that parameter out of the class so that its easier to adjust for other robots that might mount their IMU in a different physically orientation than what I happened to use.

Jakub SteinerOPW

Wow, Philip. OPW is a detriment to GNOME development in the same way an espresso or electronic music is. You may not appreciate its catalyst effect to great contributions, but blaming it for being one of the reasons why our developer story is sub optimal is very disrespecting to the people responsible for the program.

I am amused when poor developer workflow immediately becomes “gnome terminal lacks transparency” (and it being the design team’s decision), but reading this sort of lunacy on Planet GNOME is sad.

Nicolas Spalinger (advogato diary)25 May 2014

Recent significant open font releases: Fira Sans, Fira Mono and Source Serif Pro

Don't miss the newest version of Fira [Sans|Mono] (3.1 or 3.106 currently) commissioned by Mozilla from the Spiekermann and Carrois foundries. It should soon appear on http://github.com/mozilla/Fira and http://github.com/mozilla-b2g/moztt (FirefoxOS-specific).

And check out Adobe's Source Serif Pro now also available on https://github.com/adobe/source-serif-pro.


There are lots of interesting questions ahead in terms of how best practises will be defined and applied to open format workflows with multiple tools, DVCS tree structures and ongoing maintainership and release engineering of open fonts such as these...

Karl Berry (advogato diary)25 May 2014

A not-so-technical friend asked me, "What is a browser?"
My reply was, how about: software providing an interface for navigating information.

Here is my reasoning:

1) "interface" - there are the usual graphical browsers like firefox.
There are also textual-only browsers (such as lynx).
Also, non-interactive programs that simply download a file from the web
can be construed as browsers of a sort. "Interface" can encompass all
of that.

2) "navigating" - because an important component of the whole thing is
going from one piece of information to related, or maybe not related,
information. That is, "hyperlinks", although nowadays people rarely
bother with the "hyper". (I'm ignoring the fact that one can also edit
web pages in browsers, debug javascript programs, and do all kinds of
other unrelated things.)

3) "information" - instead of "web page", because browsers can work with
all kinds of things besides web pages, although of course they are the
most prevalent.


My definition says nothing about the www or even the Internet. This is
because browsers are quite useful for looking at stuff on one's own
computer. In fact, as you may remember or have come across, there was a
huge brouhaha and accompanying lawsuit about this in the late 90s, wrt
people replacing Internet Explorer with Netscape. MS's response was to
make Explorer be "part of" the operating system, specifically not
restricted to poking around the web. (I'll spare you the details, but
if you want them, here is the basic story:
https://en.wikipedia.org/wiki/Internet_Explorer#Early_versions)

I wrote the above before checking to see what kind of answers came up on
the net. Let's see ...

At least my friend didn't think a browser *is* Google.
http://www.youtube.com/watch?v=o4MwTvtyrUQ
(The first 30 seconds are enough to get the flavor.)

Here's wikipedia's take on it (first paragraph is enough):
https://en.wikipedia.org/wiki/Web_browser
They're specifically addressing "web browser", not "browser". Few
people would make that kind of pedantic distinction, as I do above.

So it goes ...

Vernon AdamsUntitled Font

CraftingType workshopsResult from recent Crafting Type Toronto

Result from recent Crafting Type Toronto:

Tom Creighton attended the recent Crafting Type Toronto and posted his result up on Dribbble:

started a legit typeface this past weekend after getting knowledge-bombed at a Crafting Type workshop. Pretty happy with how it’s coming together.

Great work Tom!

Footnotes