jeudi, août 14, 2008

LotusNotes vs Sharepoint

One of my job related questions is: "How long am I going to (suffer from?) using LotusNotes everyday?". Here are some various feedbacks that I got when asking:

"SharePoint is fast becoming the next IBM Lotus Notes — and not in a good way. For years people implemented Lotus Notes databases like crazy, seeing them as the best way to store and share information. Now you hear more about moving all the content and data into SharePoint. But what’s the point if you are just going from one messy datastore into another?"

Move Over Lotus Notes, SharePoint is Filling Yer Shoes
Has anyone migrated from Sharepoint to LotusNotes?
What is the future of Lotus Notes?

My (temporary) conclusion is if you're using LotusNotes and a reasonable part of your co-worker is not overly dissatisfied working with it: keep using it.

mercredi, août 06, 2008

Have you ever had key repeats when using a keyboard?

If you ever had key repeats when using a keyboard, and if every other PC device works correctly, it's not always the fault of the 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.
The java applet code is based on http://www.objectlab.co.uk/open original JTReeMap code.

mercredi, juin 18, 2008

Les réseaux sociaux tissent des liens en amont du processus de recrutement

Les entreprises peuvent maintenant se mettre en contact avec des personnes au profil intéressant, avant même de viser un poste à pourvoir. Ce, sans que la recrue potentielle soit en recherche active d'emploi.

en lire plus...

samedi, juin 14, 2008

Excel visual basic macro generates table of contents

Excel visual basic macro generates table of contents that has one entry per worksheet.

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

Here is (yet another) Logitech 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.

dimanche, mai 18, 2008

Reactos

I just tried to install reactos Alpha 0.3.4 ( a 99% windows like free OS) on an old dead PC and it works!

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

TEMOIGNAGE

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

Il ne suffisait plus de savoir compter les
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

A l'aube je suis descendu au fond des machines

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

Universal tostring (also available here)


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

Catherine Palmiere writes in one of her mail I received: "It is vital to know that automation plays a new role in the hiring process. Companies now use special scanner and software packages and feed through resumes they receive in order to search for keywords and phrases. Spend those extra few minutes to customize your resume and use as much specific verbiage as possible from the ad itself. If they mention international travel, then you mention international travel too, etc."

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

When LinkedIn search engine is not working, just use spock . Spock has access to Linkedin profiles and also to other web sites related to this person.

Innovation video and presentations

Video:

Every successful innovation will be taken for granted.

The innovation Radar:


Innovation Strategy
View SlideShare presentation or Upload your own. (tags: business strategy)

lundi, février 18, 2008

SALTIMBANQUES

A Louis Dumur.

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

Here is a Plaxo message I just discovered this morning when logging in:
"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