Sep 132016
 

Partie française plus bas

Symptoms

If you are using Windows 10, you may want to pin the Photos live tile to the Start Menu. But some of the images from your pictures folders are not showing in the live tile, or even worse, no picture is displayed on the live tile.

You have tried (or not) the suggestions on the Microsoft forums like those on this thread: thread on Microsoft Answers website.

Solution

The last thing you could try before reinstalling or giving up (or switching to another OS) is this:

Pictures you want in the Photos live tile have to be 620px × 620px minimum.

I have spent a few hours to find the info about the problem on the internet but none of the websites I have visited have mentioned the size prerequisite. That’s why if you stumble upon my tip and your photos are now displaying correctly on your Photos live tile, do not hesitate to share this. 😉

Additional Notes

  • The images used by the Photos live tile are located here:

    %localappdata%\Packages\Microsoft.Windows.Photos_8wekyb3d8bbwe\LocalState\PhotosAppTile

    You will find that your images have shrunk until the width or the height of the image was 620px.

  • If an image is not « compatible » with the live tile, it will not appear here.
  • When you update the contents of your images folders, it looks like there is a listener which will update automatically the images list of the Photos tile.

Partie française

Symptômes

Si vous utilisez Windows 10, vous pourriez avoir envie d’épingler la vignette dynamique de l’application Photos au Menu Démarrer. Mais certaines images de votre dossier d’images ne s’affichent pas dans la vignette dynamique, ou même pire, aucune image ne s’affiche dans cette vignette dynamique.

Vous avez essayé (ou pas) les suggestions des forums de Microsoft telles que celles sur ce fil de discussion : fil de discussion sur le site Microsoft Answers (anglais).

Solution

Voici une dernière chose que vous pouvez tester avant de réinstaller le PC ou d’abandonner (ou de changer d’OS) :

Les images que vous désirez voir apparaître dans la vignette dynamique de Photos doivent mesurer 620px × 620px minimum.

J’ai passé quelques heures à chercher l’information sur internet mais aucun des sites web n’avaient indiqué un quelconque prérequis concernant la taille. C’est pourquoi si vous tombez sur mon site et que vos photos apparaissent enfin dans votre vignette dynamique, n’hésitez pas à partager cette information. 😉

Notes additionnelles

  • Les images utilisées par l’application Photos se trouvent ici :

    %localappdata%\Packages\Microsoft.Windows.Photos_8wekyb3d8bbwe\LocalState\PhotosAppTile

    Vous trouverez que vos images ont été rétrécies jusqu’à ce que la largeur ou la hauteur fait 620px.

  • Si votre image n’est pas compatible avec la vignette dynamique, elle n’apparaîtra pas ici.
  • Lorsque vous mettez à jour les contenus de vos dossiers d’images, il semblerait qu’il y ait un écouteur (listener) qui mettra à jour automatiquement la liste des images de la vignette dynamique de Photos.
Août 292016
 

When you install a new Linux alongside another one, your computer will likely use the last installed OS’s GRUB instead of the one from the previous install.

In my case, I have installed Debian, and a few days later, a Linux Mint on the same disk. But the thing is I prefer the Debian’s GRUB because it is prettier, with a nice image background! Also, I want to keep Debian as my default choice on boot. I could have modified the boot order via Grub Customizer (I will let you Google that) but still! The Debian’s GRUB is better than the Ubuntu’s (Linux Mint’s) dark and ugly one. 😛

Step by step

To use the old install’s GRUB, use those commands from the old OS (Debian for me):

  • sudo grub-install /dev/sdX

    … with the X corresponding to your disk of installation. For example: sudo grub-install /dev/sda

  • sudo update-grub
  • Then reboot and enjoy!

I hope this helps! I have found those steps on the Ubuntu’s documentation: https://help.ubuntu.com/community/Grub2/Installing

Août 282016
 

Surprised

The japanese IME on Debian, when installed properly, works pretty much similarly to the Windows 7 one… I was quite surprised by the quality of this software piece.

Step by step

  1. Install those packages from official repositories: ibus and ibus-mozc (along with their dependencies, of course).
  2. Launch the Region & Language settings app.
  3. In Input Sources, click on the + sign.
  4. Search for the Japanese (Mozc) input source and add it.
  5. You are ready to use the IME. 🙂 Quickly switch between input sources with Super (Windows key) + Space.

Okay, it’s possible it will not work on your side. I have done some other steps but I am not sure if they were useful or not (I started from a near fresh install). If the steps above didn’t work, you may have to open the Input Method app. Then click on Yes, Yes. Select ibus and click OK. Then OK again. Then restart your computer. From there, you should be able to add the Japanese (Mozc) input source in the Region & Language settings app.

Some day, I will try to redo those steps in a virtual machine to make sure the steps are working… Until then, 幸運を祈ります!

Additional Notes

  • Use the keyboard layout selector widget in the GNOME’s top bar to change the input mode from Direct to Hiragana.
  • In the Region & Language app, click on the Options button and select Allow different sources for each window if you find this behavior more practical (it’s my case!).
Août 032016
 

I was doing an ingame video capture and I needed to have it in a GIF format. A few frames of the animation could be optimized as there were sometimes still images. So if I wanted to remove those unnecessary frames (while keeping the correct duration, of course), one can simply use ImageMagick.

How to

ImageMagick should be included by default in Debian and probably other distributions. So you just have to use the convert command. Here is an example:

convert "gifToOptimize.gif" -layers RemoveDups -layers OptimizeFrame "removedDups.gif"

It will remove duplicate frames and try to optimize frames by looking at similar areas of the pictures across the animation so they don’t appear twice.

Now, if you have specific needs, you better check the documentation here: http://www.imagemagick.org/Usage/anim_opt. There are some examples which will give you an idea of how to perform the best optimization.

Août 032016
 

Didactic

I am writing a little tutorial here for creating a QRCode for a vCard file. As I don’t use it that much, it feels like I need a memo for it.

Preparation

We will use a vCard file named test.vcf which contains the following:

BEGIN:VCARD
VERSION:2.1
N:Family Name;First Name;;;
FN:First Name Family Name
TITLE:Your job title
EMAIL:emailaddress@example.com
ADR;HOME:;;123, avenue des Champs-Élysées;Paris;Île-de-France;75008;France
TEL;TYPE=cell:+33 123456789
URL:http://example.com
END:VCARD

Result file

A vCard image QR encoded

A vCard QR encoded

Generating the image

Prerequisites

  • qrencode package with its dependencies.

Step by step

  1. In the Terminal, execute the following:

    cat test.vcf | qrencode -o "test.vcf.png"

That’s all! A file named test.vcf.png will be created or overwritten if it already exists.

If you want to change or get rid of the margin, use the -m option with the size in pixels:

cat test.vcf | qrencode -o "test.vcf.png" -m 0

If you want to change the dots size, use the -s option with the size in pixels:

cat test.vcf | qrencode -o "test.vcf.png" -s 4

Please check the manual if you need more options such as output format (PNG, EPS, SVG, ASCII, etc.).

Additional Notes

The same thing with an UI

You can also use frontends to generate QR encoded files: qtqr package (available on Debian repository) seems interesting.

vCard syntax

  • If you want to add or remove your own fields, my advice would be to check the properties on the Wikipédia page: https://en.wikipedia.org/wiki/VCard#Properties
  • Make sure to use the right properties for the right vCard version. I am using 2.1 in my example.

Things to consider to prevent reading failures

  • Make sure the color contrast between the dots and the background is sufficient.
  • Dots should remain dark and the background should remain clear.
  • Make sure the dots are large enough if you want devices with fixed focus (such as my Moto E 1st Gen) to read the image. For instance, the example image was generated with a 4px dot size; 3px dot size was not readable by my Moto E on a 22″ 1920×1080 screen.
  • If you resize your image in a graphics software, it is best to use nearest neighbor interpolation algorithm to preserve sharp dots.
  • If your dot size is 1px, don’t shrink your image as it will lose information. (pretty obvious)
  • Make sure the QR code users will physically have access to the space right in front of the image / print. So don’t put a barrier in front of the image…
Juin 262016
 

Preparation

We will use this file named texfile.tex as the .tex to convert:

\documentclass[12pt]{article}
\pagenumbering{gobble}% Remove page numbers (and reset to 1)
\begin{document}
My first \TeX~document.
$s_n = (Ta)_n = \displaystyle\sum_{k=0}^\infty T_{nk} a_k$
\end{document}

Result file

PNG demonstration

PNG demonstration

Generating PNG images

Packages you need:

  • texlive (or any other TeX program, I guess)
  • dvipng

Step by step

  1. In the Terminal, go to the directory containing the .tex file.
  2. Execute this:
    $ latex texfile.tex
    • Output:
      This is pdfTeX, Version 3.14159265-2.6-1.40.15 (TeX Live 2015/dev/Debian) (preloaded format=latex)
       restricted \write18 enabled.
      entering extended mode
      (./texfile.tex
      LaTeX2e <2014/05/01>
      Babel <3.9l> and hyphenation patterns for 2 languages loaded.
      (/usr/share/texlive/texmf-dist/tex/latex/base/article.cls
      Document Class: article 2014/09/29 v1.4h Standard LaTeX document class
      (/usr/share/texlive/texmf-dist/tex/latex/base/size12.clo)) (./texfile.aux
      ) [1] (./texfile.aux) )
      Output written on texfile.dvi (1 page, 584 bytes).
      Transcript written on texfile.log.
      
  3. Convert to PNG at 150dpi (to get a larger image than default):
    $ dvipng texfile.dvi -D 150 -o texfile.png
    • Output:
      This is dvipng 1.14 Copyright 2002-2010 Jan-Ake Larsson
      [1] 
  4. Remove the border white spaces of the page and add some borders using imagemagick:
    $ convert texfile.png -trim -bordercolor white -border 5x5 texfile_trimmed.png
  5. Your file is ready as texfile_trimmed.png.

Script

I have made a little script to automatize the conversion, with auto-remove of intermediary files:

if latex $1
then
	BASENAME=${1%%.*}
	echo Base name is: $BASENAME
	dvipng $BASENAME.dvi -D 150 -o $BASENAME.png
	OUTPUT_FILENAME="${BASENAME}_trimmed.png"
	echo Output file name is: $OUTPUT_FILENAME
	convert $BASENAME.png -trim -bordercolor white -border 5x5 $OUTPUT_FILENAME
	if test $# = 2
	then
		if test $2 != "-keeptempfiles"
		then
			rm ${BASENAME}.{aux,dvi,log,png}
		fi
	else
		rm ${BASENAME}.{aux,dvi,log,png}
	fi
fi
exit 0
Usage
  1. Save the above script as tex2png, anywhere you want, usually near your .tex files for convenience.
  2. Make it executable: $ chmod +x tex2png.
  3. Syntax: tex2png filename [-keeptempfiles].
    • Example: $ tex2png texfile.tex.
    • Alternatively, you can omit the .tex extension: $ tex2png texfile but I would not recommend it.
    • If you want to keep the intermediary files (dvi, log, etc.), add the -keeptempfiles argument at the end: $ tex2png texfile.tex -keeptempfiles.
  4. The final image is named texfile_trimmed.png

Generating SVG images

Packages you need:

  • texlive

Step by step

  1. In the Terminal, go to the directory containing the .tex file.
  2. Execute this:
    $ latex texfile.tex
    • Output:
      This is pdfTeX, Version 3.14159265-2.6-1.40.15 (TeX Live 2015/dev/Debian) (preloaded format=latex)
       restricted \write18 enabled.
      entering extended mode
      (./texfile.tex
      LaTeX2e <2014/05/01>
      Babel <3.9l> and hyphenation patterns for 2 languages loaded.
      (/usr/share/texlive/texmf-dist/tex/latex/base/article.cls
      Document Class: article 2014/09/29 v1.4h Standard LaTeX document class
      (/usr/share/texlive/texmf-dist/tex/latex/base/size12.clo)) (./texfile.aux
      ) [1] (./texfile.aux) )
      Output written on texfile.dvi (1 page, 584 bytes).
      Transcript written on texfile.log.
      
  3. Convert to a SVG image with a 1.5 scale factor:
    $ dvisvgm texfile.dvi -TS1.5 --no-fonts
  4. Your file is ready as texfile.svg.

Remarks

There is no padding in the SVG method. I have not found yet a method to add a little padding around the figure.

Also, the --no-fonts is necessary to prevent rendering issues about SVG fonts, especially with Firefox and the default SVG viewer of Debian. So the generated formula will not be selectable as a text, but at least, it will render correctly on every device with SVG support.

Background

I needed to include some nice looking formulas on my new game design wiki. I am using MediaWiki but the math add-on was not working on my server (web hosting service, not mine). So I decided to create myself the images offline and upload them as regular image files, so that I don’t need to think too much about trying to set the add-on without having all the privileges I could have on a personal server.

Juin 192016
 

Tired

Time spent to get the info: one day. Length of the fix: a few lines. Haha, this is so ridiculous it makes me smile a little.

Okay, so you are:

  1. on fresh Debian Jessie (GNOME 3),
  2. on a laptop,
  3. with an integrated graphics unit,
  4. and it is an Intel CPU. In my case, I have a Core i3 Sandy Bridge CPU with HD Graphics 3000.

The backlight function keys:

  1. are working so you have an on-screen display feedback,
  2. are not changing the effective brightness of your screen,
  3. are changing the values of this file: /sys/class/backlight/acpi_video0/brightness (close and reopen in gedit to see the value changing or check by command line).

You have this folder: /sys/class/backlight/intel_backlight.

Yay! You may have a solution!

  1. Create a file:
    sudo gedit /usr/share/X11/xorg.conf.d/20-intel.conf
  2. Add this in the file:
    Section "Device"
            Identifier "card0"
            Driver "intel"
            Option "Backlight" "intel_backlight"
            BusID "PCI:0:2:0"
    EndSection
  3. Save file.
  4. Close gedit.
  5. Restart the computer.
  6. It should work now!

If this fix does not work on your laptop, I am sorry to hear that but I cannot help you further. Don’t ask the noob. I have just followed guidance on linux threads such as here: link to Ubuntu’s launchpad website. Good luck!

Juin 192016
 

Voilà quelques mois que je n’ai pas donné de nouvelles. 😛

Léger.

En début d’année, j’ai eu l’occasion de travailler (omagad!) dans une société de développement de jeux vidéo qui s’appelle Nvizzio Créations, localisée à Montréal en plein dans le quartier du Centre-Ville sur la rue Sainte-Catherine. J’ai rejoint pendant deux mois et demi l’équipe qui travaille sur RollerCoaster Tycoon World, la suite de l’emblématique licence de jeu de gestion de parc d’attractions de Chris Sawyer ! Autant dire que j’ai eu beaucoup de chance d’avoir été pris car j’ai été contacté au départ pour un poste de développeur Unreal Engine pour le projet ROKH du même studio. Comme je ne connais pas la technologie, il m’a été demandé alors si je voulais rejoindre l’équipe de testeurs de RCTW avec comme possibilité d’évoluer vers un poste de développeur Unity ou peut-être de designer, chose que je ne pouvais refuser évidemment, en l’honneur des centaines d’heures passées sur les premiers jeux de la série.

Capture d'écran des crédits de RollerCoaster Tycoon World

La (moitié de la) team QA dans les crédits de RollerCoaster Tycoon World.

J’ai donc été pris en tant que Testeur QA, dans une équipe majoritairement anglophone. En plus des responsabilités habituelles d’un testeur QA, j’ai testé des fonctionnalités précises du jeu, notamment le système de contenu généré par l’utilisateur qui se base sur le Steam Workshop. Malgré les quelques semaines passées sur le système, je n’avais même pas fini de tester tous les cas de figure tellement il y avait de paramètres. Ces paramètres étaient grossièrement comme celles-ci :

  1. Le PC est-il connecté à internet ?
  2. Suis-je connecté à mon compte Steam ?
  3. Mon compte a-t-il accès au Workshop ?
  4. Que contiennent les dossiers locaux du jeu dans le répertoire :
    • %programfiles(x86)%\Steam\SteamApps\workshop\content\282560\
    • %userprofile%\AppData\LocalLow\Nvizzio Creations\Rollercoaster Tycoon World\
  5. Que contient le fichier X et Y, etc.

Et autour de ces paramètres, il fallait tester des cas comme « que se passe-t-il si des fichiers sont manquants après avoir chargé la partie après avoir sauvegardé sur un nouvel emplacement une partie en mode Scénario » ou « que se passe-t-il en cas de conflit de nom entre deux fichiers, l’un en ligne et l’autre en local ». Il faut dire que les rapports de bug se faisaient longs dans une bonne partie des cas et il m’a fallu recourir à un formatage strict — panel, noformat, listes, et cetera pour ceux qui connaissent JIRA — pour les vingt étapes et plus de reproduction. En mettant un peu de couleur et de style, ça devait rendre la lecture plus aisée pour celui qui devait corriger !

Ce fut ma première mission dans l’industrie du jeu vidéo dans une grande équipe, entre trente et cinquante personnes. Je suis plutôt content de cette expérience, même si je suis un peu déçu du résultat, ne partageant pas la même vision du design que celle qui est appliquée dans RollerCoaster Tycoon World. À noter que mon contrat n’a pas été reconduit au delà de la sortie du jeu en Early Access, Nvizzio Créations n’ayant plus eu besoin de mes services. Mon ancien responsable de l’équipe test a été promu game designer. Me concernant, je n’ai pas pris l’initiative de passer le test d’évaluation pour tenter de rentrer dans l’équipe de développement. Je l’aurais probablement réussi sans trop de problèmes, après avoir pris connaissance du pitch, mais je ne me sentais pas suffisamment motivé de rejoindre le développement.

Voilà comment s’est conclue cette expérience dans l’industrie du jeu vidéo. Cela m’a étrangement redonné envie de créer un wiki perso autour du game design. Il est temps que je m’y mette ! J’y reviendrai, mais pour l’instant, passons à autre chose !

Explicatif

Pour les PVTistes non-Canadiens qui font un aller retour Canada>France>Canada, au retour au Canada, il faut remplir la fiche de déclaration (celle qu’on remplit dans l’avion pour gagner du temps) comme si on était un résident du Canada. En fait, l’agente de la douane m’a indiqué qu’en tant que PVTiste avec le visa déjà approuvé, on a un statut de résident temporaire, ce qui fait que les règles sur l’importation s’appliquent de la même manière qu’un résident permanent.

Je pense avoir fait le tour de ce que j’avais à dire, à part que la prochaine fois, je ne serai peut-être plus au Canada…

Mar 192016
 

Faut-il envoyer une autorisation de prélèvement à la banque ?

Non.

Mais j’ai lu quelque part qu’il fallait envoyer le mandat SEPA à la banque avant de payer la Cotisation Foncière des Entreprises ?

Tout nouveau compte bancaire doit donc être déclaré à partir du lien « Gérer mes comptes bancaires » pour pouvoir être utilisé. Les comptes bancaires, qu’ils soient domiciliés en France ou dans l’un des autres pays de la zone SEPA, sont acceptés pour le paiement :

  • d’impôts/taxes sur rôle (ex : CFE, Taxe Foncière …), s’ils répondent à la norme de prélèvement SEPA CORE ;
  • d’impôts/taxes auto-liquidés (ex : TVA, IS, TS, CVAE, TCA, TVS …), s’ils répondent à la norme de prélèvement interentreprises SEPA B2B.

Aucun envoi de mandat n’est nécessaire pour effectuer des paiements CORE.

— Mise en œuvre de la norme SEPA (PDF), impots.gouv.fr

J’ai écrit ce petit article car, ayant mal lu dans la documentation du site des impôts, je pensais qu’il fallait envoyer ce mandat de prélèvement pour enregistrer un nouveau compte bancaire pour payer la CFE alors qu’il n’y avait pas besoin. Du coup, je me suis pris une majoration de 5%, car entre le délai d’envoi du courrier à la banque, le conseiller de la banque qui est malade la semaine, et bien sûr, le fait que je suis au Canada actuellement, c’est difficile de ne pas être en retard. Heureusement, pour les sommes qui étaient en jeu, cela ne représente même pas dix euros de majoration dans mon cas. Bon, en même temps, j’ai été idiot de ne pas avoir su qu’il y avait besoin de payer cette CFE même lorsqu’on ne fait pas de bénéfice en autoentreprise…

Déc 072015
 

Screenshot comparing between with open graph image and without

Comparison between with open graph image and without

Upset.

I have just spent four hours to figure out how to put an image preview for URLs linking to custom web pages which you put on LinkedIn profile pages. You know, those links added as media.

  1. First, you have to add Open Graph meta tags to your website. Just put those meta tags as shown below in the <head> html tag:
    <meta property="og:type" content="website"/>
    <meta property="og:title" content="Page title"/>
    <meta property="og:description" content="This description will be used by LinkedIn crawler."/>
    <meta property="og:url" content="http://example.com/"/>
    <meta property="og:site_name" content="Page site name"/>
    <meta property="og:image" content="http://example.com/openGraph_image.png"/>
    <meta property="og:locale" content="en_us"/>

    Don’t forget to modify content attributes value! I think LinkedIn only needs a few meta tags from what is in the example code but testing how LinkedIn crawls my website is just a pain in the ass.

  2. VERY IMPORTANT: It seems the LinkedIn crawler needs the webpage to have at least one <article> tag to work with. Or else, the crawler will crash and you will get this error message:
    Sorry, there was a problem processing your request. Please try again.
  3. Before adding your link to LinkedIn, check if open graph tags are properly set by following this link and log in: Open Graph Debugger. Facebook should find the Open Graph tags when you put your URL and click « Fetch new scrape information ». If not, check your code.
  4. Then, you can put your link on LinkedIn.

If you want to make changes to your image, you will have to deal with the LinkedIn caching system. This system keeps the Open Graph data and associates it with the URL you provided on LinkedIn. So you will have to workaround this system by adding extra unused query string to use a new URL. For example, if the pointed page can be accessed at http://example.com, you can use those alternatives:

http://example.com/index.html
http://example.com/index.html?a=1
http://example.com/index.html?a=2
http://example.com/index.html?linkedin=wtf etc...

Pretty complex, isn’t it? Okay, it’s time to close my 40 browser tabs and get some sleep now. ^^’