Sunday, November 16, 2014

Digest for comp.lang.c++@googlegroups.com - 25 updates in 7 topics

comp.lang.c++@googlegroups.com Google Groups
Unsure why you received this message? You previously subscribed to digests from this group, but we haven't been sending them for a while. We fixed that, but if you don't want to get these messages, send an email to comp.lang.c+++unsubscribe@googlegroups.com.
Paavo Helde <myfirstname@osa.pri.ee>: Nov 16 07:34AM -0600

JiiPee <no@notvalid.com> wrote in
 
> That was a good practice for me to improve that intToString function,
> although Luca has even faster version so best to use that (dont
> understand that code though).
 
Luca's code is also trading memory for speed, but this time it is the
compiled code size (in my experimentation Luca's version compiled into 2564
bytes .o and your version with 200-byte lookup table compiled into 1328
bytes. And in my tests it was slower, not faster. Probably I had too old
gcc version. Or it was something else.
 
Cheers
Paavo
JiiPee <no@notvalid.com>: Nov 16 02:10PM

On 16/11/2014 13:34, Paavo Helde wrote:
> gcc version. Or it was something else.
 
> Cheers
> Paavo
 
His version was slower than my first version? So the Superfast would be
even faster? I think I ll do more tests of other computers.
 
Ok, this means that this is not straigthforward at all :). It seems to
depend on what which system is running that which version is the
fastest. So what would be the best way to find out what version to use
in which setting/computer? Run all of them and start using the one which
is fastest for that computer?
Dombo <dombo@disposable.invalid>: Nov 16 03:34PM +0100

Op 16-Nov-14 15:10, JiiPee schreef:
 
> Ok, this means that this is not straightforward at all :).
 
Unfortunately not.
 
> It seems to depend on what which system is running that which version is the
> fastest.
 
Not only that; also what else is running on the system affects the speed
of your function. E.g. another function may trash the cache slowing down
your function if it heavily depends on memory accesses, or your function
may trash the cache making the other functions slower.
 
> So what would be the best way to find out what version to use
> in which setting/computer? Run all of them and start using the one which
> is fastest for that computer?
 
Measuring on the target system is generally the best way and often the
only practical way to determine which is fastest. Guessing/assuming what
will be fastest is the worst way since there are too many variables, of
which many are unknown in most cases, that affect the performance.
Johann Klammer <klammerj@NOSPAM.a1.net>: Nov 16 04:07PM +0100

On 11/15/2014 03:46 PM, Jorgen Grahn wrote:
> see where it came from, if I have modified it, if there are new
> versions, and so on.
 
> /Jorgen
 
Yes, convenient...
Not all of them have the same functionality...
There's a list on wikipedia...
 
<http://en.wikipedia.org/wiki/Comparison_of_open-source_software_hosting_facilities>
JiiPee <no@notvalid.com>: Nov 16 03:12PM

On 16/11/2014 14:34, Dombo wrote:
> what will be fastest is the worst way since there are too many
> variables, of which many are unknown in most cases, that affect the
> performance.
 
in speed critical issues, I would feel the same way... the program could
first test all of them and see which one fastest. To be perfect, it
would need to do statistical tests during weeks or months, because the
PC usage might change.
Luca Risolia <luca.risolia@linux-projects.org>: Nov 16 04:57PM +0100

Il 16/11/2014 15:10, JiiPee ha scritto:
>> Paavo
 
> His version was slower than my first version? So the Superfast would be
> even faster? I think I ll do more tests of other computers.
 
Test the function below. It is equivalent to the code that the compiler
should be able to generate from my original (and more generic) version
on implementations where unsigned integer is 32-bit long.
 
void uint_to_str(unsigned int i, char* c) {
if (i < 10) {
c[0] = '0' + (i % 10);
c[1] = '\0';
} else if (i < 100) {
c[0] = '0' + (i / 10);
c[1] = '0' + (i % 10);
c[2] = '\0';
} else if (i < 1000) {
c[0] = '0' + (i / 100);
c[1] = '0' + (i % 100) / 10;
c[2] = '0' + (i % 10);
c[3] = '\0';
} else if (i < 10000) {
c[0] = '0' + (i / 1000);
c[1] = '0' + (i % 1000) / 100;
c[2] = '0' + (i % 100) / 10;
c[3] = '0' + (i % 10);
c[4] = '\0';
} else if (i < 100000) {
c[0] = '0' + (i / 10000);
c[1] = '0' + (i % 10000) / 1000;
c[2] = '0' + (i % 1000) / 100;
c[3] = '0' + (i % 100) / 10;
c[4] = '0' + (i % 10);
c[5] = '\0';
} else if (i < 1000000) {
c[0] = '0' + (i / 100000);
c[1] = '0' + (i % 100000) / 10000;
c[2] = '0' + (i % 10000) / 1000;
c[3] = '0' + (i % 1000) / 100;
c[4] = '0' + (i % 100) / 10;
c[5] = '0' + (i % 10);
c[6] = '\0';
} else if (i < 10000000) {
c[0] = '0' + (i / 1000000);
c[1] = '0' + (i % 1000000) / 100000;
c[2] = '0' + (i % 100000) / 10000;
c[3] = '0' + (i % 10000) / 1000;
c[4] = '0' + (i % 1000) / 100;
c[5] = '0' + (i % 100) / 10;
c[6] = '0' + (i % 10);
c[7] = '\0';
} else if (i < 100000000) {
c[0] = '0' + (i / 10000000);
c[1] = '0' + (i % 10000000) / 1000000;
c[2] = '0' + (i % 1000000) / 100000;
c[3] = '0' + (i % 100000) / 10000;
c[4] = '0' + (i % 10000) / 1000;
c[5] = '0' + (i % 1000) / 100;
c[6] = '0' + (i % 100) / 10;
c[7] = '0' + (i % 10);
c[8] = '\0';
} else if (i < 1000000000) {
c[0] = '0' + (i / 100000000);
c[1] = '0' + (i % 100000000) / 10000000;
c[2] = '0' + (i % 10000000) / 1000000;
c[3] = '0' + (i % 1000000) / 100000;
c[4] = '0' + (i % 100000) / 10000;
c[5] = '0' + (i % 10000) / 1000;
c[6] = '0' + (i % 1000) / 100;
c[7] = '0' + (i % 100) / 10;
c[8] = '0' + (i % 10);
c[9] = '\0';
} else {
c[0] = '0' + (i / 1000000000);
c[1] = '0' + (i % 1000000000) / 100000000;
c[2] = '0' + (i % 100000000) / 10000000;
c[3] = '0' + (i % 10000000) / 1000000;
c[4] = '0' + (i % 1000000) / 100000;
c[5] = '0' + (i % 100000) / 10000;
c[6] = '0' + (i % 10000) / 1000;
c[7] = '0' + (i % 1000) / 100;
c[8] = '0' + (i % 100) / 10;
c[9] = '0' + (i % 10);
c[10] = '\0';
}
}
JiiPee <no@notvalid.com>: Nov 16 04:15PM

ok, this looks more readable :). Its also very fast, so well done. But
its 4% slower than your first version.
 
 
 
 
 
 
 
 
On 16/11/2014 15:57, Luca Risolia wrote:
Alain Ketterlin <alain@dpt-info.u-strasbg.fr>: Nov 16 05:16PM +0100

> long.
 
> void uint_to_str(unsigned int i, char* c) {
> if (i < 10) {
[...]
> } else if (i < 100) {
[...]
> } else if (i < 1000) {
[...]
> } else if (i < 10000) {
[... and so on]
 
Note that reverting the order of the tests may provide even better
results in the given experimental setup (all integers multiple of 20 or
something iirc). Or you could also use dichotomy, as the OP did, to
ensure never doing more than 4 tests. And you could use div() to get
quotient and remainder in (hopefully) a single operation.
 
(Anyway, the C++ version was impressive.)
 
-- Alain.
JiiPee <no@notvalid.com>: Nov 16 04:33PM

On 16/11/2014 16:16, Alain Ketterlin wrote:
> quotient and remainder in (hopefully) a single operation.
 
> (Anyway, the C++ version was impressive.)
 
> -- Alain.
 
no, using div() makes it 4 times slower. But the order surely matters.
But in a real we normally use small integers, so I think current version
is best for it.
"Öö Tiib" <ootiib@hot.ee>: Nov 16 12:57PM -0800

On Friday, 14 November 2014 05:45:56 UTC+2, JiiPee wrote:
 
> Ok, can you make/show a simple program where this would happen? A
> program where using my conversion functions things get slow. I would
> like to test it on my computer.
 
It does not make tests simple but it makes their results more useful
and reliable.
 
First do not let processor to predict branches by using adjacent values
as input. Use pseudorandom input.
 
Also achieve that rest of the program is what takes most of the time
(and so is worth most of the cache). For example collect the results
of conversion into 'boost::flat_multiset' or the like.
 
> (I have attached the full code to test my new version which uses 40000
> look up table in the main message above.)
 
For me Luca's function feels more efficient. I haven't tested it since
converting millions of ints to text feels useless. If text-based
communication is too slow then I switch to binary ('htonl'/'htons').
Mark <ma740988@gmail.com>: Nov 16 11:19AM -0800

I'm using a library that returns an istream object. At present I do:
 
std::istream &stream = readerObj.stream () ;
std::stringstream str;
str << stream.rdbuf() ;
 
I'd like to determine the size of the istream object before extraction with rdbuf(). How can I achieve this.
 
 
NOTE: If the returned object was an ifstream object then I can seek to the end and determine the size in advance but this is an 'istream' object and tellg and seek doesn't work as it does with ifstream
 
Thanks
Ian Collins <ian-news@hotmail.com>: Nov 17 08:25AM +1300

Mark wrote:
> str << stream.rdbuf() ;
 
> I'd like to determine the size of the istream object before
> extraction with rdbuf(). How can I achieve this.
 
Not all sources have a known size.
 
--
Ian Collins
Ian Collins <ian-news@hotmail.com>: Nov 17 09:00AM +1300

Stefan Ram wrote:
>> Not all sources have a known size.
 
> »sizeof stream« should be the »number of bytes in the object
> representation of« »stream«.
 
While true, that isn't how the question was phrased.
 
--
Ian Collins
Mark <ma740988@gmail.com>: Nov 16 12:19PM -0800

Stefan I'm not in front of a compiler right now but are you saying I should be able to do sizeof(stream) to achieve my objective?
Luca Risolia <luca.risolia@linux-projects.org>: Nov 16 09:26PM +0100

Il 16/11/2014 20:19, Mark ha scritto:
> std::stringstream str;
> str << stream.rdbuf() ;
 
> I'd like to determine the size of the istream object before extraction with rdbuf(). How can I achieve this.
 
There is no "size" associated with streams. However, you can obtain a
lower bound on the characters available in a stream buffer with
std::basic_streambuf::in_avail()
Ian Collins <ian-news@hotmail.com>: Nov 17 09:34AM +1300

Mark wrote:
 
Please quote contest and wrap your lines!
 
> Stefan I'm not in front of a compiler right now but are you saying I
> should be able to do sizeof(stream) to achieve my objective?
 
You need to clarify your question, do you mean the size of the object (I
doubt), or the amount of data to be read?
 
--
Ian Collins
ram@zedat.fu-berlin.de (Stefan Ram): Nov 16 07:55PM

>Not all sources have a known size.
 
»sizeof stream« should be the »number of bytes in the object
representation of« »stream«.
David Thornley <david@thornley.net>: Nov 16 12:50PM -0600

On 11/15/2014 2:39 PM, Jorgen Grahn wrote:
>> 2014 updates? Or is just a manual "do it yourself" thing?
 
> What would be the point of automating it? You don't learn anything
> from that.
 
On the other hand, some code bases are large enough that going through
and doing everything yourself is going to take a while.
 
> On the other hand, I'd welcome practical tips -- like "these are the
> areas where your C++98 code is most likely to benefit from a touchup"
> or "introduce C++11 features it in this order to make the most of them".
 
Some of the advances seem more like better ways to write the same thing,
and those I suppose you can just add as you modify things, like the
new for loop and "auto". I don't see any strong reason to go through
and convert "boost::shared_ptr" to "std::shared_ptr".
 
Some of them are for better correctness. We found several bugs from
just adding "override" to virtual functions. Changing NULL or 0
(when used as the null pointer constant) to "nullptr" might chase out
a few. I'm not real sure about "unique_ptr" vs. "auto_ptr", but
you might be able to get around that with a global replace.
 
Some of them might improve performance. Besides just compiling with
a modern compiler (which will bring in the better library), you might
add move constructors and assignment operators to your classes.
 
I'm not coming up with much more off the top of my head. A lot of
the new functionality is better suited to be used as you write
new code rather than changing old code.
Robert Hutchings <rm.hutchings@gmail.com>: Nov 16 01:16PM -0600

On 11/16/2014 12:50 PM, David Thornley wrote:
 
> I'm not coming up with much more off the top of my head. A lot of
> the new functionality is better suited to be used as you write
> new code rather than changing old code.
 
There is a product called "Understand" from www.scitools.com. This is
more of an code-analyzer and cross-referencing type tool. Probably best
to update older code as needed and then -perhaps- introduce C++ 11/14
concepts as appropriate.
Dombo <dombo@disposable.invalid>: Nov 16 04:04PM +0100

Op 14-Nov-14 2:02, 嘱 Tiib schreef:
> costs something and L1 is 64k. Platform architects say that 64k is
> optimal middle ground between too lot of transistors and too few L1
> cache.
 
The problem is not so much the number of transistors needed for the
cache but the trade off between cache size and cache latency. The larger
the cache the larger the latency. That is the reason why CPU have
multi-level caches; a small but low latency L1 cache and a larger but
slower L2 cache and nowadays typically an even larger and slower L3
cache. If it were just a matter of transistor count there would be
little point in integrating multiple cache levels on the same die.
 
Considering physics I have little hope that the size of L1 caches will
grow significantly in the near future. For example the AMD Athlon (K7)
introduced back in 1999 had a L1 cache of 64 kB + 64 kB (Data +
Instructions), whereas the Intel Core i7 has a L1 cache of 32 kB + 32 kB
(Data + Instructions). Since memory accesses can performance wise
potentially be very expensive, it may make more sense to reduce the
amount of memory that needs to be accessed than to reduce the number of
instructions that need to be executed to accomplish a certain task.
seeplus <gizmomaker@bigpond.com>: Nov 15 04:17PM -0800

On Saturday, November 15, 2014 1:50:13 AM UTC+11, Rick C. Hodgin wrote:
 
> What are some other ones?
 
> Best regards,
> Rick C. Hodgin
 
What is your rationale for producing yet another compiler and spending so much time on the endless details and complications.
Is it just because your lord is holding your hand, or is it simply an
academic challenge?
 
I think you mentioned somewhere you had something against purchasing from MS.
In that case MS has now dropped Visual Studio Express.
 
In it's place there is a FREE version at the "Professional" level with all the
stuff like MFC, SQL, allowed to distribute the exe for small enterprises, etc.
 
I have now installed it across all my backup computers and it works
just the same as my high $ "Ultimate" version for what I want to do.
 
This could be a game changer.
 
Aren't you better off letting Herb's guys worry about all this
compiler stuff while you get on with writing useful apps?
"Rick C. Hodgin" <rick.c.hodgin@gmail.com>: Nov 15 05:15PM -0800

On Saturday, November 15, 2014 7:17:51 PM UTC-5, seeplus wrote:
> so much time on the endless details and complications.
> Is it just because your lord is holding your hand, or is it simply an
> academic challenge?
 
My goals are to create an entire hardware and software stack which is
an offering unto the Lord, and to other men and women on this planet,
as by the skills He has first given me, and the others who will come
to work on this project.
 
Rather than founding our pursuit on how we can make a lot of money by
creating some whizz-bang thing and then selling it because it's better
than our neighbor's, our goals are to create some whizz-bang thing and
then give it to our neighbors so that they can then use that as a base
to create even better tools, with the hope that our methodology will
encourage them to then also give back unto their neighbors.
 
Hoarding some ability or talent you possess behind a wall of "YOU HAD
BETTER PAY ME BEFORE YOU USE THIS PRODUCT BECAUSE I WILL COME AND TAKE
YOU TO COURT AND HAVE YOU THROWN INTO PRISON IF YOU DON'T GIVE ME MY
MONEY!" is entirely wrong. God gave us our talents to improve
ourselves and each other's lives, and not at a cost.
 
The economy in Heaven operates differently than it does here. Things
in Heaven do not wear out, nor are they consumed with use. We have
the burning bush (fire without consuming the bush), we have Jesus
demonstrating with the fishes and the loaves distributed to thousands.
God operates under the model of having and sharing while still
maintaining.
 
Things in man's world do not operate this way. The physical world
is separated from the spiritual world, yet God (in the bush, and
Jesus distributing the fishes and the loaves), operating in the
spirit, was able to manifest His power in the physical world for
all to see.
 
The closest that we have to this as a tangible thing that we can
individually manipulate and then distribute is the world of the
digital. We can possess a file and share a file with everyone else
at the same time. We do not have consumption of that file through
distribution or use.
 
The things that I desire to setup here in this world relate back to
the Lord's Prayer, "...Thy Kingdom come, Thy Will be done, on Earth
as it is in Heaven..."
 
I desire to look to the Lord and see what it was I did to achieve
and attain the various gifts I possess in their measure, and it does
not take me long to realize that I did nothing to achieve them. They
were gifts from Him, and I have been given other worldly gifts in
them that as I've gone through my life I've had this opportunity or
that opportunity, and it has all been from Him. I acknowledge that as
a foundation in my life and I am bringing the choices I have in my life
to bear around it.
 
The LibSF was created because I looked to those around me who are the
"towering giants" of the "open source" world, Richard Stallman and his
GNU and FSF, and Linus Torvalds and the Linux kernel and all of the
subsequent infrastructure that's been created because of GNU/Linux,
and as a Christian I asked myself: Is this what I want to be a part
of? We have RMS who has publicly stated he thinks that pedophilia
and necrophilia be made legal, to which I personally emailed him over
several days inquiring of him if this was accurate or not to which
he replied it was, and then witnessing to him about Jesus Christ and
our proper course in this world, to which we ended our email exchange
in a type of untenable abeyance. And next we have Linus Torvalds who
seems like a nice enough guy, but then had no issues with giving the
employees of Nvidia the finger on camera while using profanity.
 
The bottom line is I serve a living God, a God who cares so much
about His people that He came down here from Heaven Himself, and
put on a body of flesh and lived under our laws so that He could
take away the shame of our eternal sin state, that He could make
a way out of no way so that we could again enter into Heaven with
Him, to be where He is, because He loved us so much that He desired
to save us more than He desired to judge us.
 
I look to RMS and Torvalds, and I hold them next to Jesus Christ,
and I say, "Nope. I'll go with God every day forever," and the
Liberty Software Foundation was born that very day.
 
http://www.libsf.org
 
I have proceeded from that time desiring to build the software tools
and stack to have my own OS founded completely upon this love
offering of me back to God, following after the example of His
Love (capital L) offering unto mankind. I desire to look to Him
as my source of guidance and to use the unique and special talents
I have been blessed with for His Kingdom. I desire to take these
skills I possess (software development, low-level hardware
interests) and put them to use for His Kingdom, and not for the
kingdoms of this world (money, power, corporate entities).
 
I have not had success in my projects so far. It is truly astounding
the number of things which keep coming up against me. My wife and I
look at each other in disbelief sometimes. It's as if a mind is
working against me, holding me back, holding us back. It's really
something to behold. Yet I persist.
 
My offering is unto the Lord, a focused effort upon Him. I point
to Him in the areas of my talents and abilities, in the areas of
my model and desire, in the areas of my business and distribution.
I look to my Lord and Savior to be the template by which I proceed
with my life. And I realize also I must be doing something right
because I encounter nothing but a seemingly unending series of
nay-sayers who berate everything I stand for in this world, including
your message here.
 
> I think you mentioned somewhere you had something against purchasing
> from MS. In that case MS has now dropped Visual Studio Express.
 
I am against Microsoft as an entity. They are profit-based and they
do not have genuine love interests of God as their object or focus.
And it is not just Microsoft. It is all such entities which are
aligned in those ways. I was recently solicited by Google. They
wanted me to come out to the west coast and work for them as, the
recruiter said, they would find something really intriguing for
me to work on. They had seen my work on Visual FreePro, and then
Visual FreePro, Jr. on GitHub and they solicited me. I wrote back
and told them that my focuses in this world are not upon money,
nor in serving a money interest like Google, but rather I have a
desire to serve God, and my fellow man, with the talents and skills
I possess. I want to make other people's lives better by the
things I possess.
 
 
> This could be a game changer.
 
> Aren't you better off letting Herb's guys worry about all this
> compiler stuff while you get on with writing useful apps?
 
I will try to make this as clear as possible for you:
 
Microsoft has no interest in giving away their products. They have
no interest in helping out other corporations. They have no interests
in helping you out, or anyone else out. Microsoft is moving everything
they possess as a corporation, and has been since about the same time
Apple came out with their iPhone, and specifically ever since the time
they publicly announced Windows Azure, to an online presence. They
want to be able to track you, monitor you, watch you, and I don't know
why. Windows 8 routinely calls home to Redmond. The newer versions
of Visual Studio have an online presence with a Microsoft account
allowing wonderful sharing of features and data, but also a monitoring
of who you are, where you code, what you code, when you're coding at
the office, when you're coding at home, etc.
 
Their free tools are not free. And none of the corporations of this
world are releasing free tools for the sake of releasing free tools.
 
We are fighting a battle in this world. There is an enemy spirit at
work against us. That spirit is the devil, and all of his demon imps.
They are operating in this world in an end-game attempt to take as
many of us down with their judged selves as is possible, and they
will succeed in taking down many many because most people will not
hear any part of the truth about what's going on in this world
because of sin and our sin nature.
 
It's very easy for the rational mind to rationalize away any possibility
that God is real, that we need Jesus Christ to take away our sin, and
that there are eternal consequences to our actions, because we don't
seemingly see the end result of them as they accumulate in our life.
A person gets away with some sin, and nothing happens, so they continue
on and get away with more, etc. In that way the wicked appear to
succeed, while the ones who do right fall behind and are often even
ridiculed for their desire to do what's right. All of this was
foretold in scripture that in the end times it would be like this.
And we are here. People like me who stand up explicitly for the Lord
doing nothing other than a constant outpouring from our souls unto
Him, and unto each of you, of loving kindness, of goodness, of the
free offerings of the best of our selves, are the continued subject
of scorn and ridicule because of it.
 
This battle is everywhere. People will either buy into Satan's lies
because of the sin nature and their desire to serve that sin nature,
or they will want the truth and they will come out from that sin
nature pursuit, come to the Lord, repent, ask forgiveness, and be
saved, and then be born again able to see for themselves the truth
of the lie of this world, and the truth of Jesus, the cross, and
the eternal Kingdom of God.
 
Jesus is our only hope in this world. He teaches us the ways of
peace, of love, of sharing with one another all that we possess,
rather than hoarding and creating artificial empires which need
not otherwise exist.
 
Jesus is the door. He is the key. He is the gateway out of the
falseness and the lies overtaking this world, causing people to
make the wrong choices, believing they are making the right choices,
because the enemy has setup a system in this world to make it seem
to the rational thinking person that such a choice is good, even
when it flies in direct contrast to what the Lord has taught us.
 
Microsoft, Google, Apple, Oracle, IBM, Intel, AMD, all of the big
corporations, they are all moving in pursuit of this false system
of the fallen empire, the one that will seemingly rule and reign
in this world until the day which Jesus foretold that in one day
Babylon is destroyed, and all of the commerce that goes along with
Babylon is also destroyed.
 
Jesus is our path. He is our foundation. He is our hope. He is
our Life. He is our all-in-all. And the enemy of this world
knows that as well as we do, and he goes out of his way to discredit
Jesus by rising up all kinds of crazy things being done in His name.
But the Lord calls out to men individually. He reaches into the
hearts of each of us continually, knocking at the door, desiring that
we will hear His knock, and invite Him in. And for all who do, He
comes in an sups with us, and we with Him, and we are then together
and our worries in this world are no longer worries, but reliance
upon Him because He is God Almighty and can make a way out of no
way. He is the everlasting, the rock of ages, the one who was, and
is, and is to come, the Almighty. We seek Him because of who He is,
and He is the Good Shepherd, and stronger than any enemy, and He
can and does protect us from the things in this world the enemy
tries to ensnare us in. We will go through hard times, but because
He is with us continually, His Holy Spirit presence in our lives,
we are never alone, nor are we without hope. When everything
seems to be falling apart to our right, to our left, in front of
us, and behind us, yet is He there to fill us with hope and peace
because we know that the things here in this world are but for a
tick of the clock, and then eternity begins, eternity that never
ends.
 
Jesus teaches me the right foundation. He leads them on the paths
that men should pursue. He gives us cues and guidance and takes
us within ourselves for a review of our lives to figure out the
courses we should take. And we know that no matter which misguided
direction we might originally set off on, so long as we set our
focus upon the Lord, our attention upon the Lord, our sights upon
the Lord, that He is capable, able, and desiring, to turn us in the
right direction that we may pursue continually, and forever closer,
that relationship with Him, here upon this Earth, that He may live
in us, through us, and reach out to many more souls to bring them
to knowledge of Him and His eternal Kingdom, that He might then
also save them by His one-time sacrifice at the cross, so that all
of us will go to Heaven together, entering in upon the time of our
death, or upon the time of His return, whichever comes first, so
that we will be forever shed of the sin nature of this world, of
death, of pain, of the anguish brought about by the evil enemy who
does nothing but lead the whole world astray as he waits for his
own day of eternal destruction.
 
I will advise you to avoid the large corporate things of this
world and pursue the work of the Lord in small people like me.
We are the ones who are not big power bases in worldly terms,
but rather we focus our attention upon THE one true big power
base, the Lord Himself. Our goals are His goals, our wants are
His wants, our focus is upon Him continually, as He guides us
in our lives continually more and more toward that focus as well
because He is literally living inside of us, His Holy Spirit
dwelling within us, guiding us, teaching us unseen things in this
world that we might know the truth, and make us free.
 
I pursue these goals with LibSF, and as a man, because I have tasted
and seen that the Lord is good. I state in no uncertain terms that
I will not have any degree of success unless the Lord allows it, and
that if He ever does allow it the success I have will be owing
entirely and only unto Him.
 
I am not a self-made man. I am a man made by the living loving God,
Jesus Christ. I acknowledge this in my life, and I proclaim it at
the forefront of all I do. I stand up and look to Him and say, "Yes,
Lord, I am here." And He continually guides me in my life.
 
Rick the man makes mistakes. Big mistakes. Rick the man is not
always making good decisions, or even right choices. But God is
faithful, and when I turn to Him in prayer He guides me back to
where I should be. And because He knows I have my heart truly set
upon Him, He guides me even in my mistakes, even in my wrong choices.
He is always there, a loving Father, a Good Shepherd, a friend closer
than a brother.
 
Why do I stand up in this world and pursue my own languages, my own
kernel, my own software, and even my own hardware? Because I do not
want to court the evil spirit ruler of this world who operates in
those who are not born again, who is leading men falsely and in
contrary ways doing only harm to themselves, and to others, in all
they do continually. I want to stand up for the Lord, and acknowledge
Him as my God, as my hope, as my salvation, as my true love and the
focus of my inner-most desires, that I will be His upon this world,
using all of the talents I possess in labor for His Kingdom.
 
I come to forums like this and speak about the Lord, about our need
of Him in our lives, in eternity, about damnation, about the reality
of sin and of the evil spirit influence in this world. I am often
ridiculed in so doing, yet I persist because I know who He is, and I
know who the enemy is, and how the enemy is speaking through every
person who is not a born again believer, and even those who
Geoff <geoff@invalid.invalid>: Nov 15 06:17PM -0800

On Sat, 15 Nov 2014 17:15:00 -0800 (PST), "Rick C. Hodgin"
<rick.c.hodgin@gmail.com> wrote:
 
[massive screed snipped]
 
If you spent as much time working on your projects as you just did
writing this and your other posts in these news groups you would be
finished already.
 
I would also advise you to spend time with your family instead of
writing code at home and preaching online. God wants you to dedicate
yourself to and cherish your family and offspring, not worry about
people who are not your concern.
"Rick C. Hodgin" <rick.c.hodgin@gmail.com>: Nov 15 07:45PM -0800

On Saturday, November 15, 2014 9:17:33 PM UTC-5, Geoff wrote:
 
> If you spent as much time working on your projects as you just did
> writing this and your other posts in these news groups you would be
> finished already.
 
The projects I'm on about are comprehensive. You're free to look at
the GitHub content I've posted since July, 2012. It's non-trivial.
 
But beyond that, I have a priority list in my life:
(1) Family always comes first in emergencies, but barring those:
(2) Regular daily job.
(3) Family.
(4) Regular needs around the house / in my life.
(5) Software development.
 
> I would also advise you to spend time with your family instead of
> writing code at home and preaching online.
 
You do not know enough about me personally to make such a statement.
You have never met me. You have never been to my home. You have
never spoken to my family. You only see the outward appearance as
through cold, written text. Your picture of me is not complete
enough to assess me in any way, but only to have generalizations.
 
From within that context, I appreciate the care you offer unto me,
that you would desire me to have an improved life. Thank you.
 
> God wants you to dedicate yourself to and cherish your family and
> offspring,
 
Absolutely He does. I'm glad you recognize that about God. :-)
 
> not worry about people who are not your concern.
 
There are no people who are not a Christian's concern. Whomever the
Lord brings to us in our lives, these are our concerns in this world.
Our work is a witness unto each of them, regarding Him. And we speak
of Him because He has commanded us to, and because all of us need Him.
 
I do not tout the things of Rick, but I do tout the things of Jesus.
He has a plan for every person, and has all of the solutions to all
of the questions people have, including what happens after we die.
He explains who we are, who He is, why He is needed, and what it means
to have Him in our life, and to not have Him in our life.
 
His is nothing less than the greatest story ever told ... and there
are not inappropriate times or places to discuss He, the author of the
entire universe, and each of us.
 
Best regards,
Rick C. Hodgin
seeplus <gizmomaker@bigpond.com>: Nov 15 04:54PM -0800

I have several readers.
They suffer from a very annoying problem of when you are on a train or
similar and you are holding onto the device it is easy to accidentally tap
somewhere on the screen, and it goes away and does that random command.
 
You then have to setup everything all the way back to where you were reading,
not knowing what was the operation that the Ereader actually performed.
 
They really do need a hardware finger interlock key somewhere that you need to
hold down when you want to do something major.
You received this digest because you're subscribed to updates for this group. You can change your settings on the group membership page.
To unsubscribe from this group and stop receiving emails from it send an email to comp.lang.c+++unsubscribe@googlegroups.com.

No comments: