Picture Perfect Love
An Open Letter to my Daughters
God is love (1 John 4:8). To understand love we must first know God, and we must always have this fact, that God is love, in the forefront of our minds. Many in our world today have turned their back on God, and in so doing they have turned their back on love. Being immersed in the world in which we live, it is easy to become confused about the very nature of love. Many believe it to be a mere feeling, perhaps with a bit of self sacrifice thrown in. Others get closer to the truth when they think of love as that act of will described by the Greek word agape (ἀγάπη). Love is agape, but it is more, it is a picture of God. Like God, true love is a family, and like God, true love is always procreative. Love creates in others more of itself. Love inspires others to forget themselves, enkindles in them compassion for others, and turns their eyes to God.
God places in the heart of every man both knowledge of Himself and a desire for Himself. When man comes face to face with God, he is filled with wonder, apprehension, and amazement. A life filled with love has the same effect, because God is love. Recognizing love is easy, just look for the effects that it will necessarily have on others. Recognizing a life filled with love is critically important when seeking one with whom you will share your soul. Look for the effects he has on those around him.
To be worthy of a man whose life is filled with love, you must yourself be wholey dedicated to love, and this is no easy task. You must pour yourself into others, expecting nothing in return. Spend your thoughts on others, and not on yourself. At the outset, you must resolve to do anything, go anywhere, and endure all for the sake of love, including (and especially) loneliness. Here then, is the most important advice I have to offer: wait for a love that inspires those around you, and turns their eyes heavenward. In my years, I have watched many women settle for less. Often, they do so out of fear. They fear loneliness, perhaps poverty, and having no one to care for them. A marriage motivated by fear, even if it does last (which is not likely), will not end well. Love and fear cannot coexist, for love drives out fear (1 John 4:18). Marriage, in fact, is not even the ideal state for followers of Christ. Read 1 Cor 7:32-35. While you are unmarried, you can devote yourselves full time to the Lord. Treasure this opportunity, and do not be quick to relinquish it. You must be willing to wait for love, even if that means waiting your entire life. Should this be the case, you will find that if only you spend yourself on others, then loneliness will not be a frequent visitor.
If you remember only one thing from this letter, remember this: Be firmly resolved to wait for true love, and be completely willing to remain celibate until love comes and is sealed in sacrament, even if that means the rest of your life. Pray for your future husband every night, and every night tell God that you are willing to remain unmarried your whole life, if that is His will. Finally, remember that you will never be alone. Christ will always be with you and will be sufficient for you (1 Cor 12:9).
Love in Color
We live in a nation today in which most have become confused about the very nature of love. They have forgotten that love is a picture of God, and have reduced it to a mere feeling. The feeling may be intense, and the affection great, but these remain mere feelings. By themselves, these feelings, in fact, are not love at all. In the end, this sort of love is self referential and will ultimately lead to narcissism. When dating, it is very important that you learn to recognize this counterfeit love. There are three ways by which this sort of love may be recognized: its failure to move beyond self, possessiveness, and sensuality.
There is nothing wrong with a suitor telling you that he want to spend the rest of his life with you. When, however, the hopeful man cannot move beyond this, it is an indication that his love is merely the dull gray forgery that is so common in the world today. As romantic as the statement may sound, it is at bottom about what he wants (to spend the rest of his life with you), and not about what is best for you. You must look for your suitor to move beyond this, and to demonstrate the infectious, irrepressible, full color love that comes from God, and that reflects Him. Conversations you have with your potential husband must naturally and frequently include others, as must your time spent together often include others. Beware a relationship where you spend much of your time alone.
The dingy, fabricated love of this world is, at base, selfish and turned inward (even if the feelings are great, and the affections are strong). It will always be most concerned with self satisfaction, although this fact may be well hidden. A man thus infected will be concerned with preserving and keeping what he holds dear, and this will naturally lead to possessiveness and jealousy. While these things are easy to recognize, it is also easy for a woman to be in denial about them. At this point I must be clear, flee any man who shows either possessiveness or jealousy. A relationship with a jealous man will only end in misery for you.
Finally, a man that has only the dreary and colorless love of the world will eventually pressure you sexually. Sexual temptation is part of dating (so be ready for it), so you should expect some amount of desire both from your suitor, and from yourself. The proof of the man, and of yourself, will be how that desire is handled. A man filled with the big, bright, chromatic love of God will act, ultimately, to protect you from himself. A man possessing merely black and white love will act, ultimately, to consume you for his own desire. A man like this, once married, will enslave you to his passions. Even if it breaks your heart to pieces, flee such a man.
A man that can offer the kaleidoscopic and contagious love that you need will be recognized by the positive impact that he has on the lives of those around him, by the respect he shows those around him, by his lack of focus on himself, and by his devotion to the Lord.
The rich and vibrant love that comes from above cannot be contained. It always spills out of those who possess it and splatters onto those around them. The man you want to marry will be a blessing to those around him, especially to the ‘least of these’. His attention will be fixed on those around him, and as such, he will not be focused on himself. Be careful to ask yourself, about every man who would be your husband, how does he help those around him. If you cannot answer that question, then wait for another.
The buoyant and boisterous love that is the coin of our realm sees the image of God (of itself!) in every man and in every woman, and has compassion. There will always be times when the injuries of those around us require gentleness, and when those oppressed require a double portion of respect. A man permeated with love cannot help but see this. He will always treat those around him with respect, especially when speaking with those like the ones with whom Jesus spent the most of His time. A man who does not respect those around him will not, in the end, respect you either.
No man can sustain the prismatic love prerequisite to a successful marriage, only the author of life can supply such energy. A man may be able to simulate God’s love for a season, but it will in the end fail, absent the Lord. The consequences of gray love are as enormous as they are vile. Whole families, children included, are led away from the Church, away from Jesus, and away from salvation. You must not, in any case, even consider dating a man who is not outwardly and demonstrably devoted to both Jesus and his bride. On the other hand, a man brimming over with God’s life (God’s love!) would sooner give up food than turn his back on the source of who he is. He will be at Church (all the time) because he loves Church, he will be in prayer, because he loves love.
Behold the Man
Few decisions are as monumental as deciding to spend the rest of your life with another, and wholly devoted to him. For too many women, this decision is made in a time filled with emotions that can cloud judgment. No work of art is perfectly good, nor is any work of art perfectly bad. So it is with men. Weighing the canvas of a man’s life in the scales is tricky business, and you would be foolish indeed to attempt such a task on your own, especially when you have at your disposal many sources of good counsel. You must resolve that you will avail yourself of these sources while you are taking the measure of the man who would be your spouse.
The advice offered by others may be unwelcome. It may anger you. Listen to it anyway.
Your sisters love you, and they love you very much. They are going to be protective of you, and that is a very good thing. Even more, your sisters love the Lord, and they are wiser than their age. Listen to them. Understand that they will likely be much quicker than you to see the faults in a suitor. Save yourself the heartache of crossing their counsel.
The love of a father for his daughter is something that you will never completely understand (for you are a woman). It is something fearsome and tender, giving and unyielding, and always sacrificial. My dearest daughter, I love you deeply and forever. I will always act in what I believe to be your best interest. My decisions may not always be correct, but my love for you will never be wrong. I may very well be the last person whose advice you desire, but I am also the only man in your corner (unless you wait for your brother to be older). And you need a man, because I know men in a way you never will. I will recognize full color love, and I will recognize gray love. Let me help you tell the difference.
Most men will treat a woman well while dating. The behavior of too many men becomes selfish and sometimes cruel after the honeymoon. You need to know, before you are married, how a man will treat you after you are married. Pay close attention to how your suitor treats his mother and sisters. The way he treats them will likely be the way he treats you. Never marry a man who disrespects his mother or treats his sisters with contempt, or you will surely suffer the same fate.
Finally, you need to know that you are not marrying a man who will use the marriage bed merely to satisfy his desires. You do not want to be thus used. If you are to be married, you need (yes, need) every aspect of your love to be like God’s love: creative, contagious, colorful, full of irrepressible life, and procreative. Birth control reduces love to a mere seeking of pleasure, and bleaches all the color away. Do not involve yourself with a man who is not committed to a love full of life.
Paint Me a Picture
If you are to marry, daughter mine, on that day my heart will break. If you marry a man with a heart filled with heaven’s love, then on that day my broken heart will soar. If you marry, or if you don’t, fill your heart with boisterous, florid, and infectious love. Let it spill out and splash onto those around you, thinking especially of how to be a blessing. Your life will then become a masterpiece, a picture of heaven.
With all the Love I Have,
Recently, I found myself wondering about cache interactions (specifically cache localization issues), and so I wrote a small bit of code to experiment a bit. The results are surprising to me, and I’m going to have to admit that I cannot yet explain the data. Please comment if you have any ideas.
The source code is quite simple. It sets up two STL containers, a vector and a map. The containers are then filled with a fixed number of elements of a fixed size, with the fixed size being very significant here. Then, a fixed number of searches for random elements are performed. When searching the vector, std::binary_search is used, so that the same O(log(n)) search performance is achieved as the map. These searches are timed. The above is then executed several times, with each subsequent run having an element size (in bytes) larger than the previous run. The impact of the size of the elements on the search time is significant, and mysterious.
The Source Code
The source code is available here. Please note that the scripts and makefiles are set up to build the code both for ARM and for x86. Likely, the makefiles and scripts will need modification before they work on your system. Also note that the code is a bit rough – I was experimenting, not trying to develop production code.
Please see the diagrams, where search time (the y-axis) is plotted against element size (the x-axis). The results achieved when executing on an ARM processor (in this case, executed on a Raspberry Pi) are not very surprising. There is little correlation between element size and search times. When the code is executed on a core i7 (running Linux), however, things get interesting. Clearly, there are cache interactions going on here. Note that the cache line size of a core i7 is 64 bytes, which, as you can see from the diagram, is where the best performance is achieved. Why the map takes a hit when the element size is 128 bytes is a mystery. Also, I am unclear as to why performance suffers when element size is less than the cache line size (64 bytes) for the vector. The performance results for sizes above 256 bytes per element also mystify me, for both map and vector.
I’ll be thinking about this. If I manage to figure anything out, I’ll post it here. Please post yourself if this makes any sense to you.
In the sample code section of this website, you may download code that I have written titled “throughput”. These pictures were produced by this code.
The throughput code attempts to measure the performance (or throughput) of a single queue with varying numbers of producer and consumer threads, in search of that “sweet spot” that maximizes throughput through the queue. To make this simulation realistic, producer and consumer threads are given both work and I/O to perform. The amount of work and I/O given to each thread varies according to a normal (Gaussian) distribution. For a description of the code, see: https://heidmann.com/?page_id=15.
The above pictures are from identical runs (that is, identical input parameters), with one run executing on my quad core intel i7, and the other executing on my raspberry pi. The color codes on the right of each picture indicate the number of work items that actually got through the queue. The X and Y axis are the number of consumer and producer threads.
One of the things that is very interesting (and a bit unexpected) to me is that the “sweet spots” are not nearly as far apart as I would have expected (with respect to the number of producer and consumer threads).
This weekend I finally got a raspberry pi, and I have to admit, I’m a bit excited. Since the beginning of my career as a software engineer, most of my time has been spent developing embedded software (some of it real time, some of it safety critical). My current employer, iTRACS, doesn’t do any embedded work, so this little “dev board” (that’s what we call boards purposed specifically for development – playing around, really) will give me the opportunity to keep my embedded skills from getting all rusty.
The raspberry pi is a computer, albeit a very small and cheap one (and it, for all practical purposes, is an embedded computer). The whole thing is only a bit larger than a credit card, has a 700MHz ARM processor, an ethernet port, two USB ports, and GPIO (general purpose I/O) pins (and a few other things). It does not have a disk drive, but rather boots of off an SD card (yup, the same ones that cameras use). My raspberry pi is currently running an optimized Debian Linux called “Rasbian”. It was one of the pre-built images available from raspberry pi. It will do for now (but who knows what I’ll do later).
Once I got the board off of its back (that is, got it to boot), I went about getting a cross tool chain working on my desktop Linux box. This will allow me to build (compile) programs on my big, beefy desktop and transfer the resulting executable to my “razz” directly. It is much better build on my desktop than to attempt it on the little pi.
Also, since I am a C++ developer, I make frequent use of the boost libraries. These I also had to cross compile (using my shiny new cross tool chain). It took a bit of doin’, but I eventually figured it out. I went ahead and built some C++ code I had previously developed, and, after downloading the new boost libraries to my “razz”, the code executed without a hitch!
I love it when a plan comes together!
Having worked in the inner city for over a decade, I have seen the consequences of the homosexual lifestyle first hand. I haven’t seen this subject discussed from the perspective of an inner city witness for Christ elsewhere, so I wrote up this brief essay. I hope that you find it valuable.
On December 24, several of my family and I met Bp. Olmsted, many priests, and many other faithful at Planned Parenthood, to pray for an end to the slaughter. I can think of no prayer more appropriate on the day when a little baby came into the world that we “may have life, and have it abundantly” (John 10:10), than that these little ones might have life at all.
It is very encouraging that so many, from the leadership of the Church on down, made it a priority (and continue to make it a priority) to take action in the face of this evil. It is one thing to say that you oppose abortion, quite another to do something about it.
For most of my life, I have been a protestant, but a bit of a frustrated one, because it seemed to me that not enough was being done for the least of these (the poor, the widow, the orphan, the fatherless). It took children to help me find this fruit, and I found so much more – I found food indeed (John 6:55)! Here is my story: