jeudi, janvier 29

FFFF

je l'ai trouve sur l'internet. je pense que j'y vais.

FFFF stands for first filipino free thinkers forum.

the meet was a success in the sense that a lot of free thinkers turned up and it did not deteriorate to an emotionally charged debate as i had thought and feared about in my head. it was a meet (a fellowship as one puts it) of different types of none believers -- free thinkers, atheists, deists, pantheists (?), agnostics, former born again christians, former INC members, people who are fed up with dogma.

we are libertins as i would like to call ourselves. the people spoke with eloquence, passion, and realism (mixed with hope of things to change for the better). and better i mean the country to be more scientific, more secular. i sat down and i knew that i was among well read individuals.

three topics that i remembered being talked about:

(1) that ffff is going to be a social club that promotes rational thinking, science, and free discourse. i am looking forward to the next meetings where supposedly there would be a speaker (a scientist?) and open forum with the audience.

(2) the rift between atheists.

(3) what is a practical atheist and the lies perpetuated by religious groups about atheists.

Brainstorming and Planning Meetup de Filipino Freethinkers de Red

Date: Sunday, Feb 1, 2009
Time: 2PM to 5PM
Place: Starbucks top floor Shangri-la Mall in EDSA, Mandaluyong

mardi, janvier 27

star trek: de nouveaux mondes étranges

how long has it been without startrek? a tv and movie series that is about science and secular values. and i think an affective tool for promoting secular values. and so it puzzles me when sometime i met a fundamentalist christian who happens to like the show too.

i found this book from book sale and it was only sold for PHP 100. no excuse not to buy it. and i did and there were no regrets after reading it. some of the short stories were written even made by theists. so it goes to show science (albeit science fiction) is truly for everyone.

the best short stories for me in this collection were (1) about data's cat (2) when voyager's engines "slept".

je lis maintenant star trek: de nouveaux mondes étranges (strange new worlds) par dean wesley smith avec john j. ordover et paula m. block. c'est une collection de nouvelles par fans de star trek pour des fans de star trek. comme d'habitude, les nouvelles que parlent de star trek: la nouvelle génération avec capitain picard, cmdr data, deanna troi et sa mère, cmdr riker, la forge, docteur beverly et son fils la garçon wesley .. (sigh) étaient mes préférées.

mais mon plus préféré personnage est lt. cmdr. reginald barclay parce que comme moi, il est extrêmement introverti. la plupart gens le sous-estimaient.

dimanche, janvier 25

les débats de doha

Audience split over threat of political Islam --- SNIP .. Yahya Pallavicini, an Italian Imam and government adviser, said the activities of those who misused religion for political purposes were harmful and a threat to the West because they “were brainwashing new generations with their utopian visions.”

SNIP .. “To promote Shariah law out of its context by such things as forcing women to wear burkhas and not allowing them to have an education is a misleading use of religion.”

He said it included the use of religion to “legitimise violence.”

tout d'abord, j'ai pensé que imam yahya est juste très attirant quand il parle. j'ai même réfléchi à convertir en islam. non, bien sûr que non. mais il était juste fascinant, intelligent, et solid avec ses arguments contre l'islam politique, si j'étais une femme, j'aimerais être sa femme. hahaha! ^_^

the proposition commenced with the distinction between political islam and islam the religion. i was a bit taken when they yahya and his partner in the debate both described true islam as a religion that espouses freedom and democracy. something i have heard before. and only now did i consider it. that maybe what their saying is true. but it is hard to believe that seeing what is really happening in the islamic world.

that what we have seen about islamic terrorists, the enslavement of women in the middle east, honor killing, forced wearing of burkas", and other sorts of dehumanisation pratices in islamic states -- are in fact but part of political islam. nothing to do with the religion itself.

this brings to mind a moslem woman's attempt to educate us back at the pinoy atheist group but unfortunately the atheists including myself weren't patient enough to give her a chance to speak. she left right away. trop mal.

the opposition on the other hand sees political islam as a good thing citing charities, rescue work, and other socio-civic activites islamic initiatives. i always believed in the separation of church and state. and that a theocracy (and i see no existing theocracy today that would dispute this belief) leads nowhere but to the dehumanization of minorities, decapitulation of individual freedoms, and the detriment of scientific progress.

a point made -- is keeping religion and the state separate be directly against the principles of democracy. i believe a person. any person of any faith (or no faith) should have the right to be part of state governance. but i do not think this person has a right to impose her religion on to the rest of us.

i am glad though to hear that both panels condemn extremism.

samedi, janvier 24

tous les memes - mes reperes exclu 2008 - par la fouine



LA FOUINE
TOUS LES MEMES par LA FOUINE


refrain x2
rien qu'on a les memes blems
mais les memes sourires sur nos levres
car on a les memes reves
parce que nos vies sont les memes x2

1er couplet
on fait la meme musique
mais pas les memes prods
on a les memes vies
mais on a pas les memes modes
on a les memes embrouilles
on a pas les memes armes
on a pas les memes yeux
mais on verse tous les memes larmes
y'en a qui vivent dans la merde
y'en a qui vivent sur les champs
on a pas les memes directions
mais le meme carburant
on a pas la meme bavure
mais on a la meme cellule
on a la meme promenade
mais pas les memes "pecules"
on a la meme rage, man on a la meme cage
man on a le meme controle judiciaire
mais pas le meme age
on a pas le meme texte
meme si on a le meme stylo
on a pas les memes flows
meme si on a les memes micros
on a pas les memes quartiers
mais on ales memes problemes
on a le meme shit, les memes keufs, la meme haine
on marche tous dans la merde
avec ou sans les memes shoes
lyrics du batiment f
cellule 212

refrain x2

2eme couplet
on a les memes cahiers
mais pas les memes diplomes
on a les memes comptes en banque
mais pas les memes sommes
on a les memes frigos
mais rarement les memes repas
on a les memes voix
mais jamais les memes debats
on a les memes caisses
on a pas les memes modeles
y'a ceux qui serrent des thons
y'a ceux qui serrent des top modeles
on a pas les memes talents
mais on a les memes reves
toujours les memes matraques
qui se posent sur nos levres
on a les memes guns, man on a les memes rums
quand les potos partent un peu trop tot
on a les memes seums
on a le meme love
quand on croise les memes soeurs
on a la meme haine
devant les inspecteurs
yeah honneur au nord au sud a l'est a l'ouest au nord
on est tous les memes, on est tous en or
on marche dans la merde
avec ou sans les memes shoes
lyrics du batiment f
cellule 212

refrain x2

j'irai au bout de mes reves
le soleil se leve
tu peux lire sur mes levres
j'n'ai besoin d'aucune aides, aucune poses, aucune treves
bon ou mauvais eleves
on est tous les memes
x4

j'irai au bout de mes reves
yeah yeah yeah
koi de neuf fouiny baby
c'est ca
la la la la la la fouine

mercredi, janvier 21

le discours inaugural de barack OBAMA

voici les parties qui j'aime de son discours. il a inclus tous les gens qui ne croient pas en superstition et puis, il apprecie le science contrairement à son prédécesseur qui exclut des athées (en fait, il ne les considere pas comme des citoyens) et dévalue le science (il est un fondamentalist chrétien évangélique).

these are the parts which i like from his speech. he has included all people who do not believe in superstition et then he valued science.

SNIP .. For we know that our patchwork heritage is a strength, not a weakness. We are a nation of Christians and Muslims, Jews and Hindus - *and non-believers*. We are shaped by every language and culture, drawn from every end of this Earth; and because we have tasted the bitter swill of civil war and segregation, and emerged from that dark chapter stronger and more united, we cannot help but believe that the old hatreds shall someday pass; that the lines of tribe shall soon dissolve; that as the world grows smaller, our common humanity shall reveal itself; and that America must play its role in ushering in a new era of peace.

SNIP .. We will restore science to its rightful place, and wield technology's wonders to raise health care's quality and lower its cost. We will harness the sun and the winds and the soil to fuel our cars and run our factories. And we will transform our schools and colleges and universities to meet the demands of a new age. All this we can do. And all this we will do.

lundi, janvier 19

machine à roller

au travail, une amie m'a demandé si je pourrais traduire une documentation en français à anglais. c'était pour une machine qui faite des cigarettes. j'en ai eu il y a longstemps. un "cadeau" d'andrew. souviens andrew? comment est-ce qu'on pourrait oublier quelqu'un comme lui? c'est impossible. je me demande comment va-t-il?

en traduisant la documentation, j'ai apprendu de nouveaux mots.

la rouleuse = the rolling device
le rouleau = the roller
la pouce = thumb

gommée = sticky
vérouillage = locked

dépasser= to go over
repartir = to spread
humecter = to dampen

vendredi, janvier 16

CToolTipCtrl for dialog controls

surprisingly, the solution on how to use this control is not as simple to find. again i found parts of the solution all over (l'internet) but never complete in one place. i guess tooltips for toolbars are different from dialog controls needing to handle specifc NOTIFY message.

sans doute, MFC est une langue morte. et pourtant je l'utilise encore. après douze ans ou plus. je recherche l'internet pour des travails que utilisent encore des compétences MFC et je trouve juste un. imagine ça! c'est vraiment mauvaise. et les gens de travail ne sont pas exactement .. laisse nous dire qu'il est difficile à travailler avec eux. j'attends le mois de septembre car il serait une liberation ...

1. declare a CToolTipCtrl and override PreTranslateMessage

class CMonDialogue : public CDialog
{
CToolTipCtrl* m_pToolTip;

virtual BOOL PreTranslateMessage(MSG* pMsg);
}

2. manage the life of m_pToolTip in the constructor and destructor.
3. enable tool tips

BOOL CMonDialogue::OnInitDialog()
{
CDialog::OnInitDialog();

EnableToolTips(TRUE);

return TRUE; // return TRUE unless you set the focus to a control
}

4. intialize the tool tip text for a dialog control. in this case, m_control

void CMonDialogue::InitToolTipCtrl()
{
if (NULL == m_pToolTip)
{
m_pToolTip = new CToolTipCtrl;
}

if (NULL != m_pToolTip)
{
BOOL bSuccess = m_pToolTip->Create(this);
if (!bSuccess)
{
delete m_pToolTip;
m_pToolTip = NULL;
}
}

if (NULL != m_pToolTip)
{
// Initialize tool tip text to empty strings
m_pToolTip->AddTool(&m_control, _T(""));

m_pToolTip->Activate(TRUE);
}
}

5. catch PreTranslateMessage to relay the tool tip text change event

BOOL CPrintSetupDlg::PreTranslateMessage(MSG* pMsg)
{
if (NULL != m_pToolTip)
{
// Update the tool tip text
UpdateToolTipCtrl();

m_pToolTip->RelayEvent(pMsg);

}

return CDialog::PreTranslateMessage(pMsg);
}

6. update the tool tip text for a specific control

void CMonDialogue::UpdateToolTipCtrl()
{
if (NULL != m_pToolTip)
{
CString s;

m_control.GetWindowText(s);

m_pToolTip->UpdateTipText(s, &m_control);
}
}

jeudi, janvier 15

nouvelle campagne du bus

NOUVELLE CAMPAGNE DU BUS par richard dawkins .. SNIP .. We've already had some nice suggestions for the slogan for the second wave of buses in April. I said that my own preference was for “No More Faith Schools”, probably following something along the lines of the familiar (perhaps too familiar to our regulars, but not to the citizens of London) “There’s no such thing as a . . . child”, perhaps including the joking reference to “Marxist child” or “Postmodernist child”. Somebody suggested a long list of ex-Gods (Mithras, Zeus, Horus, Wotan etc), all crossed out, with Yahweh and Allah crossed out. I like that suggestion too.

les suggestions suivantes que j'ai soumis à la site de richard dawkins sont:

628. Comment #320280 by rmacapobre on January 15, 2009 at 1:54 am

1. garder la separation entre l'église et l'état (keep church and state separate)
2. le monde n'a pas 6.000 ans (the world is not 6,000 years old)
3. un graphe qui affiche la corrélation entre religiosité et l'éducation atteinte. et les autres corrélations. (a graph that displays the correlation between religiousity and attained education. and other correlations like levels of STD, percentages of teen pregnancies, sexual abuse, sexism, poverty, abortion, etc).

jeudi, janvier 8

l'enfer de CreateProcess

this problem brings me back to ockham’s razor. it took me a week to figure it out. and i still have reservations if it is the best solution. certainly it is the simplest. and i might be missing something. a limitation perhaps.

how to make the application launched by CreateProcess() “modal” to the calling process. not a very popular topic but i found some clues from codeguru and codeproject as usual. there were several very helpful entries, i have failed to account for each. to those programmers who have found the time to post their findings in the internet. a santé!

process A launches process B using CreateProcess(). we have code for A. B is a third party application.

1. create process to launch another application

//$2===================================================================
//$2 Purpose: Launch dictation tool
//$2 Author : Romeo MACAPOBRE Date : Jan 06,2009
//$2===================================================================
BOOL CMonDialogue::OpenChildProcess(CString strExeFileName) // = ""
{
BOOL bRet = FALSE;
STARTUPINFO si;
PROCESS_INFORMATION pi;

memset(&si, 0, sizeof(STARTUPINFO));
memset(π, 0, sizeof(PROCESS_INFORMATION));

// Activates the window
// Displays it in its current position and size.
dsStartInfo.wShowWindow = SW_SHOW;
dsStartInfo.dwFlags = STARTF_USESHOWWINDOW;

if(!CreateProcess(.. strExeFileName, .. &si, π))
{
// Display the error
}
else
{
// Allow time for the child process window to be created
Sleep(1000);

// Manage handles
m_hChildProcess = pi.hProcess;
m_dwChildThreadID = pi.dwThreadId;

// Iterate all windows while passing this object as parameter
EnumWindows(CallbackEnumWindows, (LPARAM) this);

CloseHandle(dsProcessInfo.hThread);
CloseHandle(dsProcessInfo.hProcess);
bRet = TRUE;
}

return bRet;
}

2. enumerate thru all the open windows to find the handle to the window of the child process

//$2===================================================================
//$2 Purpose: Static callback function to EnumWindows API
//$2 Author : Romeo MACAPOBRE Date : Jan 09,2009
//$2===================================================================
BOOL CALLBACK CMonDialogue::CallbackEnumWindows(HWND hWnd, LPARAM lParam)
{
BOOL bSearchContinue = TRUE;

// Retrieve the dialog object passed from EnumWindows API
CMonDialogue * pDlg = (CMonDialogue*) lParam_P;
if (NULL != pDlg)
{
// Retrieve the thread ID
DWORD dwThreadID = pDlg->m_dwChildThreadID;

// Determine if hWnd is the child process window based
// on the specified thread ID
bSearchContinue = pDlg->CallbackEnumWindows(hWnd_P,
pDlg->m_dwDictationToolThreadID);
}

return bSearchContinue;

}

//$2=======================================================================
//$2 Purpose: Callback function to EnumWindows API that allows access
//$2 class members
//$2 Author : Romeo MACAPOBRE Date : Jan 09,2009
//$2=======================================================================
BOOL CMonDialogue::CallbackEnumWindows(HWND hWnd, DWORD dwChildThreadID)
{
// Get the process and thread ID of the specified window
DWORD dwProcessID = 0;
DWORD dwThreadID = GetWindowThreadProcessId(hWnd_P, &dwProcessID);

// Is this child process window
if (dwThreadID == dwChildThreadID)
{
// Save the handle to child process window
m_hWndChildPocess = hWnd;

// Indicate that we have found the window
return FALSE;
}

return TRUE;
}

3. handle WM_ACTIVATE

//$2=======================================================================
//$2 Purpose: When this dialog is being activated
//$2 Author : Romeo MACAPOBRE Date : Jan 09,2009
//$2=======================================================================
void CMonDialogue::OnActivate(UINT nState, CWnd* pWndOther, BOOL bMinimized)
{
if ((nState == WA_ACTIVE) ||
(nState == WA_CLICKACTIVE))
{
ActivateChildProcess();
}
}

4. handle WM_LBUTTON_DOWN

//$2=======================================================================
//$2 Purpose: When this dialog handles WM_LBUTTON_DOWN
//$2 Author : Romeo MACAPOBRE Date : Jan 13,2009
//$2=======================================================================
void CMonDialogue::OnLButtonDown(UINT nFlags, CPoint point)
{
ActivateChildProcess();
}

5. handle WM_WINDOWPOSCHANGING

//$2=======================================================================
//$2 Purpose: When this dialog is about to move
//$2 Author : Romeo MACAPOBRE Date : Jan 09,2009
//$2=======================================================================
void CMonDialogue::OnWindowPosChanging(WINDOWPOS* lpWndPos)
{
if ((IsWindow(m_hWndChildProcess)) &&
(NULL != lpWndPos))
{
// When the child process is up, prevent move
lpWndPos->flags |= (SWP_NOMOVE | SWP_NOSIZE);
}
}

6. THIS IS THE CRITICAL PART …

//$2=======================================================================
//$2 Purpose: Activate the child process
//$2 Author : Romeo MACAPOBRE Date : Jan 09,2009
//$2=======================================================================
void CMonDialogue::ActivateChildProcess()
{
// Allow this dialog to set the child process to the foreground (on top)
if ((IsWindow(m_hWndChildProcess)) &&
(AllowSetForegroundWindow(GetCurrentProcessId())))
{
// Allow our process to send window messages to the child process
AttachThreadInput(
GetWindowThreadProcessId(m_hWndChildProcess,NULL),
GetCurrentThreadId(),TRUE);

CWnd* pWnd = CWnd::FromHandle(m_hWndChildProcess);
if (NULL != pWnd)
{
// In the case when the child process is minimized, restore
if (pWnd->IsIconic())
{
pWnd->PostMessage(WM_SYSCOMMAND, SC_RESTORE);
}

// Activate the child process instead
BOOL bSuccess = pWnd->SetForegroundWindow();
if (bSuccess)
{
if (IsWindow(pWnd->m_hWnd))
{
pWnd->SetFocus();
}
}
}

// Clean up
AttachThreadInput(
GetWindowThreadProcessId(m_hWndDictationTool,NULL),
GetCurrentThreadId(),FALSE);
}
}

samedi, janvier 3

religulous

religulous is a play on the words religious and ridiculous. a satire comedy by bill maher. agnosticism for the common man. spoken in common words that can be understood and appreciated by everyone esp christian america as compared to and not much unlike the works of richard dawkins, hitchens, and others which are a bit more eloquent.

j'ai réussi à télécharger et vois le comédie satire RELIGULOUS de bill maher. clique sur le lien pour télécharger. dépêche-toi avant le lien devient invalide!! ^_^

il s'agit d'une religion plutot que l'existence de dieu (en ce cas le dieu de volcano qui s'appelle yahweh depuis bill était moitié juif et moitié catholique) . néanmoins, je me suis l'amusé.

la réponse de bill baher à la question de l'existence des dieux (et déesses) me rappelle d'une chapitre dans le livre richard dawkins sur la pauvrété d'agnosticisme. j'ai pensé que c'est mieux s'il parle à richard dawkins ou lit ses livres.

bien que bill postait les questions, l'audience qui pense sait déjà les réponses. dans le film, il a posté quelques questions valables aux theists (pour la plupart chrétiens, juifs, musulmans). sur la conception virginale, sur la croyance que la terre a 5000 ans, islam est un réligion de paix, le fin du monde, cet homme qui a veçu dedans une poisson pour 3 jours .. vous vous êtes les demandé comment tu les trouves. ne sont-ils pas d'idées bizarres? mais pour l'ésprit théologique, tout fait sens.

il y a d'autres questions que bill a posté. pourquoi les politiciens de nos jours encourage bassement les églises? comment le dirigeants des églises profiteant, etc ..

the funniest bit was when he played a joke on the guy who was clearly high on something and who believes in a religion that includes the use of hallucegenics. héhéhé. bill. you are the man!

i posted a more thorough review of the film here (dangerousreviewers)