eric.mariacher@gmail.com
mercredi, août 06, 2008
Have you ever had key repeats when using a keyboard?
Actually each PC devices has it's own very specific constraints.
For instance a mouse has to be very reactive and its USB interface has to sustain several hundreds of reports per seconds. But if one is missed, it is often not noticed otherwise (except when it is a mouse click missed).
A keyboard has "opposite" USB constraints. A fast typist usually does not type faster than 20 characters per seconds which translates to 40 reports per second (each key means a report that says key is pressed and another one saying key is released). But we don't want to lose any key.
Some USB hubs sustain some constraints better than others. some USB software drivers for other devices (video cards, etc...) sometimes put huge constraints on USB hubs and have side effects on other devices.
Usually, the best thing to do is to swap the USB port on which the keyboard is plugged, or if the keyboard is plugged on a USB hub, plug directly the keyboard on the root hub of the PC.
lundi, juillet 28, 2008
An enhanced TreeMap Applet
TreeMap is a way to present information that is very efficient sometimes...
This TreeMap Applet has been enhanced with custom colors and comments using 2 additional xml fields to the standard xml description:
- details for comments when clicking on squares.
- hue / color for discriminating between main groups of squares.
mercredi, juin 18, 2008
Les réseaux sociaux tissent des liens en amont du processus de recrutement
en lire plus...
samedi, juin 14, 2008
Excel visual basic macro generates table of contents
download excel file
1:rem Eric Mariacher
2:rem generate some charts and build a table of contents as 1st worksheet
3:Sub charts and TOC()
4: Dim ws As Worksheet
5: Dim cpt, cptpoint As Long
6: Dim color_index As Long
7: For Each ws In ActiveWorkbook.Worksheets
8: ActiveWorkbook.Activate
9: ws.Select
10: ws.Activate
11: Worksheets.Add
12: With ActiveSheet
13: .Name = "G" + ws.Name
14: Rem ch = .Controls.AddChart("B2:F7", "tagada")
15: End With
16: Charts.Add
17: ActiveChart.ChartType = xlColumnStacked
18: ActiveChart.SetSourceData Source:=Range(ws.Name), PlotBy:=xlColumns
19: With ActiveChart
20: .HasTitle = True
21: .ChartTitle.Characters.Text = ws.Name
22:
23: cpt = 1
24: For cpt = 1 To .SeriesCollection.Count
25: Select Case cpt
26: Case 1
27: color_index = 1
28: Case 2
29: color_index = 9
30: End Select
31: .SeriesCollection(cpt).Interior.ColorIndex = color_index
32: Next cpt
33: End With
34: ActiveChart.Location Where:=xlLocationAsObject, Name:="G" + ws.Name
35: With Worksheets("G" + ws.Name)
36: .ChartObjects(1).Width = 900
37: .ChartObjects(1).Height = 600
38: .ChartObjects(1).Left = .Columns("A").Left
39: .ChartObjects(1).Top = .Rows("2").Top
40: End With
41: Next ws
42:
43: Dim wsTOC As Worksheet
44: Dim Chart As Chart
45: Dim r As Long
46: Application.ScreenUpdating = False
47: Set wsTOC = ActiveWorkbook.Worksheets.Add _
48: (Before:=ActiveWorkbook.Sheets(1))
49: wsTOC.Name = "Table_of_Contents"
50: wsTOC.Range("A1") = "Table of Contents"
51: wsTOC.Range("A1").Font.Size = 18
52: wsTOC.Columns("A:A").ColumnWidth = 40
53: r = 3
54: For Each ws In ActiveWorkbook.Worksheets
55: If ws.Name <> wsTOC.Name And ws.Name Like "G*" Then
56: wsTOC.Hyperlinks.Add _
57: anchor:=wsTOC.Cells(r, 1), _
58: Address:="", _
59: SubAddress:=ws.Name & "!A1", _
60: TextToDisplay:=ws.Name
61: r = r + 1
62: ws.Hyperlinks.Add _
63: anchor:=ws.Cells(1, 1), _
64: Address:="", _
65: SubAddress:="Table_of_Contents!A1", _
66: TextToDisplay:="Table of Contents"
67: End If
68: Next
69: Application.ScreenUpdating = True
70:End Sub
lundi, juin 09, 2008
Logitech Cordless Desktop® EX 100: a product I am proud of

I am proud of this keyboard because first of all I like to use it for my daily work. Though I have the opportunity to use all keyboards we are developing at Logitech Switzerland, I like the simplicity, comfort and ease of use of it, especially for it's low-cost price point. I can only recommend it to you.
I am also proud of this keyboard because it has been developed by a junior engineer coming out of school. The embedded software developed for this keyboard is 90% legacy code, and seasoned engineers do not enjoy working on legacy code as much as when they are doing completely new development. This is why I assigned this job to a beginner. She successfully stayed focused on the development of this keyboard and all issues occuring, especially when communicating with development teams in China.
jeudi, mai 22, 2008
dimanche, mai 18, 2008
Reactos
I tried after this 1st successful 1st step to install an old win95 game "Age of wonder" but it failed :-(
mercredi, mai 07, 2008
interview d'une ingénieure en software embarquée chez Logitech
Qui a dit que femme et informatique ne faisaient pas bon ménage? Ana Milosevic, jeune ingénieure d’intégration software de 26 ans pour logitech, nous explique en quoi son métier est passionnant.
Parole d'informaticienne: "C’est un métier excitant et plein de défis"samedi, mai 03, 2008
LES GALETS
galets; il fallait connaître leur place exacte
Où est la place exacte d'un galet?
Au creux de la main comme une bête.
Jean Orizet
samedi, avril 12, 2008
Aube
J'ai écouté pour une dernière fois la respiration profonde des pistons
Appuyé à la fragile main-courante de nickel j'ai senti pour la dernière fois cette sourde vibration des arbres de couche pénétrer en moi avec le relent des huiles surchauffées et la tiédeur de la vapeur
Nous avons encore bu un verre le chef mécanicien cet homme tranquille et triste qui a un si beau sourire d'enfant et qui ne cause jamais et moi
Comme je sortais de chez lui le soleil sortait tout naturellement de la mer et chauffait déjà dur
Le ciel mauve n'avait pas un nuage
Et comme nous pointions sur Santos notre sillage décrivait un grand arc-de-cercle miroitant sur la mer immobile
Blaise Cendrars - Feuilles de route
vendredi, mars 28, 2008
Universal lua tostring
function table_print (tt, indent, done)
done = done or {}
indent = indent or 0
if type(tt) == "table" then
local sb = {}
for key, value in pairs (tt) do
table.insert(sb, string.rep (" ", indent)) -- indent it
if type (value) == "table" and not done [value] then
done [value] = true
table.insert(sb, "{\n");
table.insert(sb, table_print (value, indent + 2, done))
table.insert(sb, string.rep (" ", indent)) -- indent it
table.insert(sb, "}\n");
elseif "number" == type(key) then
table.insert(sb, string.format("\"%s\"\n", tostring(value)))
else
table.insert(sb, string.format("%s = \"%s\"\n", tostring (key), tostring(value)))
end
end
return table.concat(sb)
else
return tt .. "\n"
end
end
function to_string( tbl )
if "nil" == type( tbl ) then
return tostring(nil)
elseif "string" == type( tbl ) then
return tbl
elseif "table" == type( tbl ) then
return table_print(tbl)
else
tostring(tbl)
end
end
Example
print(to_string({"Lua",user="Mariacher",{{co=coroutine.create(function() end),{number=12345.6789}},
func=function() end}, boolt=true}))
This prints
"Lua"
{
{
{
number = "12345.6789"
}
co = "thread: 0212B848"
}
func = "function: 01FC7C70"
}
boolt = "true"
user = "Mariacher"
mardi, mars 18, 2008
"Automatically" test your resume
Here is the opportunity to test your resume: http://jobetic.lingway.info/
The result is in french but it did a pretty good job analyzing mine which is 100% english written.
It understood RTF format much better than pure word/doc format.
dimanche, mars 16, 2008
When LinkedIn search engine is not working, use Spock
Innovation video and presentations
Every successful innovation will be taken for granted.
The innovation Radar:
jeudi, mars 06, 2008
21 Ways to Know It's Time to Leave Your Job
lundi, février 18, 2008
SALTIMBANQUES
Dans la plaine les baladins
S'éloignent au long des jardins
Devant l'huis des auberges grises
Par les villages sans églises
Et les enfants s'en vont devant
Les autres suivent en rêvant
Chaque arbre fruitier se résigne
Quand de très loin ils lui font signe
Ils ont des poids ronds ou carrés
Des tambours des cerceaux dorés
L'ours et le singe animaux sages
Quêtent des sous sur leur passage.
APOLLINAIRE
vendredi, février 08, 2008
Plaxo is dead
"You've reached the maximum number of allowed connections (1000). If you want to add more you'll need to remove some of your exsting ones or wait until we increase this limit. Sorry!"
Plaxo is now useless for me as I have more than 20000 1st level contacts on LinkedIn, Viadeo and Xing.
Read also a post written by Dawn Mular : Plaxo Processing Alternatives