Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Rudolph, the red-nosed reindeer

82 views
Skip to first unread message

woodb...@gmail.com

unread,
Jul 31, 2017, 11:28:25 AM7/31/17
to
Shalom

I want to join in the reindeer games here:

https://github.com/thekvs/cpp-serializers

, but when I run make, there's a problem when it tries
to build capnproto. Something about it not being able
to convert a template argument from bool to capnp::Kind.
What to do? Thanks.


Brian
Ebenezer Enterprises - Ben Shapiro over at dailywire.com
does a good job of figuring out who is telling the truth
and who is lying.

http://webEbenezer.net

David Brown

unread,
Jul 31, 2017, 12:04:44 PM7/31/17
to
On 31/07/17 17:28, woodb...@gmail.com wrote:
> Shalom
>
> I want to join in the reindeer games here:
>
> https://github.com/thekvs/cpp-serializers
>
> , but when I run make, there's a problem when it tries
> to build capnproto. Something about it not being able
> to convert a template argument from bool to capnp::Kind.
> What to do? Thanks.
>

I would suggest you start by reading
<http://www.catb.org/esr/faqs/smart-questions.html>. Then you might
like to think about whether people in this newsgroup could have the
slightest idea about how to help you with a third party build of a
fourth party library.

Following that reality check, you might then try to look at the error
message you got, and perhaps some of the source code. Look at the
readmes, documentation and build instructions, and see if you have
followed them correctly. Try contacting the github project maintainer,
or perhaps the capnproto maintainer.

woodb...@gmail.com

unread,
Jul 31, 2017, 12:44:58 PM7/31/17
to
On Monday, July 31, 2017 at 11:04:44 AM UTC-5, David Brown wrote:
> On 31/07/17 17:28, woodb...@gmail.com wrote:
> > Shalom
> >
> > I want to join in the reindeer games here:
> >
> > https://github.com/thekvs/cpp-serializers
> >
> > , but when I run make, there's a problem when it tries
> > to build capnproto. Something about it not being able
> > to convert a template argument from bool to capnp::Kind.
> > What to do? Thanks.
> >
>
> I would suggest you start by reading
> <http://www.catb.org/esr/faqs/smart-questions.html>. Then you might
> like to think about whether people in this newsgroup could have the
> slightest idea about how to help you with a third party build of a
> fourth party library.
>
> Following that reality check, you might then try to look at the error
> message you got, and perhaps some of the source code. Look at the
> readmes, documentation and build instructions, and see if you have
> followed them correctly. Try contacting the github project maintainer,
> or perhaps the capnproto maintainer.
>

Hi David,

I did read the Readme, but noticed something now that I
didn't do. I'll try to do that and see what happens.


Brian

woodb...@gmail.com

unread,
Jul 31, 2017, 1:11:19 PM7/31/17
to
I tried it now, but get the same problem. What I didn't do
was create a build directory and run cmake and make from
that directory. But now I tried it that way also and get the
same error. Thanks for the suggestion to contact the guy
who developed the benchmark. I sent him an email and asked
him about it.


Brian
Ebenezer Enterprises
http://webEbenezer.net

woodb...@gmail.com

unread,
Jul 31, 2017, 4:52:55 PM7/31/17
to
On Monday, July 31, 2017 at 12:11:19 PM UTC-5, woodb...@gmail.com wrote:
>
> I tried it now, but get the same problem. What I didn't do
> was create a build directory and run cmake and make from
> that directory. But now I tried it that way also and get the
> same error. Thanks for the suggestion to contact the guy
> who developed the benchmark. I sent him an email and asked
> him about it.
>

I posted on a capnproto mailing list and got this reply:

It looks like the project you reference is hard-coded to
download Cap'n Proto version 0.5.3. The bug you describe
was fixed in 0.5.3.1 and 0.6.0. I suggest updating the
project to the current release, 0.6.1.

---------------------------------------------------------

These sorts of problems could be minimized by using
on-line code generators. But I know, that's crazy talk.

red floyd

unread,
Jul 31, 2017, 10:13:24 PM7/31/17
to

woodb...@gmail.com

unread,
Aug 1, 2017, 1:00:47 AM8/1/17
to
"There are rules behind the rules and a unity that is deeper
than uniformity." C. S. Lewis


Would anyone like a demo of my software? The first step is
to download the software here:

https://github.com/Ebenezer-group/onwards
.


Brian

Öö Tiib

unread,
Aug 1, 2017, 2:40:33 AM8/1/17
to
On Tuesday, 1 August 2017 08:00:47 UTC+3, woodb...@gmail.com wrote:
> On Monday, July 31, 2017 at 9:13:24 PM UTC-5, red floyd wrote:
> > On 07/31/2017 01:52 PM, woodb...@gmail.com wrote:
> > > On Monday, July 31, 2017 at 12:11:19 PM UTC-5, woodb...@gmail.com wrote:
> > >>
> > >> I tried it now, but get the same problem. What I didn't do
> > >> was create a build directory and run cmake and make from
> > >> that directory. But now I tried it that way also and get the
> > >> same error. Thanks for the suggestion to contact the guy
> > >> who developed the benchmark. I sent him an email and asked
> > >> him about it.
> > >>
> > >
> > > I posted on a capnproto mailing list and got this reply:
> > >
> > > It looks like the project you reference is hard-coded to
> > > download Cap'n Proto version 0.5.3. The bug you describe
> > > was fixed in 0.5.3.1 and 0.6.0. I suggest updating the
> > > project to the current release, 0.6.1.
> > >
> > > ---------------------------------------------------------
> > >
> > > These sorts of problems could be minimized by using
> > > on-line code generators. But I know, that's crazy talk.
> > >
> > >
> >
> > Your question is answered in the original FAQ, 5.8 and 5.9
> >
> > http://www.dietmar-kuehl.de/mirror/c++-faq/how-to-post.html#faq-5.8
> > http://www.dietmar-kuehl.de/mirror/c++-faq/how-to-post.html#faq-5.9
>
>
> "There are rules behind the rules and a unity that is deeper
> than uniformity." C. S. Lewis
>
>
> Would anyone like a demo of my software? The first step is
> to download the software here:
>
> https://github.com/Ebenezer-group/onwards

Yes, but why do not you make the demo always online there?
Like that:
https://capnproto.org/cxx.html
Or that:
http://www.boost.org/doc/libs/1_64_0/libs/serialization/doc/index.html

These things I immediately get. As contrast you have posted about your
CMW here all these years ... and you have even tried to hack Wikipedia
to advertise it but I've never even tried it.

But why I haven't tried it? I like to try stuff.

Because an attempt stops before downloading anything. For example if I just
now look at it then I see that there is some sort of "account number" and
"account password" needed. I don't have such things. Also I refuse to ask
how I should obtain those. So there it stops. Simple?

David Brown

unread,
Aug 1, 2017, 4:29:29 AM8/1/17
to
I thought the point of Brian's stuff was that it was an online code
generator? Surely that means there must be a way to generate code
online to see it?

Öö Tiib

unread,
Aug 1, 2017, 5:04:58 AM8/1/17
to
I also have felt that Brian attempts to make people to think that way because
that is the impression what his postings leave. However where is that online
tool to try? There are no such things.

Let me give you example about what I understand IS an online tool:

Online C++ compiler Coliru: http://coliru.stacked-crooked.com/
It can be easily used to try your C++ code before posting it to comp.lang.c++
It sometimes does not work, but usually does.

Now let me give example what I understand IS NOT an online tool:

Brian raving something entirely unclear: http://webebenezer.net/index.html
No ideas whatsoever where and how anyone should generate anything.
And that is the link that Brian has posted here for YEARS. I click at it once
in a year, (usually in August) and see that there are still nothing to do.

woodb...@gmail.com

unread,
Aug 1, 2017, 12:36:44 PM8/1/17
to
On Tuesday, August 1, 2017 at 1:40:33 AM UTC-5, Öö Tiib wrote:
>
> Yes, but why do not you make the demo always online there?
> Like that:
> https://capnproto.org/cxx.html
> Or that:
> http://www.boost.org/doc/libs/1_64_0/libs/serialization/doc/index.html
>
> These things I immediately get. As contrast you have posted about your
> CMW here all these years ... and you have even tried to hack Wikipedia
> to advertise it but I've never even tried it.
>
> But why I haven't tried it? I like to try stuff.
>
> Because an attempt stops before downloading anything. For example if I just
> now look at it then I see that there is some sort of "account number" and
> "account password" needed. I don't have such things. Also I refuse to ask
> how I should obtain those. So there it stops. Simple?

Have you tried my example programs
https://github.com/Ebenezer-group/onwards/tree/master/example
? An account is not needed to run those.

Run:

make example

to get them to build.


Brian

woodb...@gmail.com

unread,
Aug 1, 2017, 1:01:59 PM8/1/17
to
On Tuesday, August 1, 2017 at 3:29:29 AM UTC-5, David Brown wrote:
>
> I thought the point of Brian's stuff was that it was an online code
> generator? Surely that means there must be a way to generate code
> online to see it?

I started off with a web interface in 2002. In 2003, I
visited Bjarne Stroustrup at Texas A&M and gave him a
demo. One of his comments was about putting code under
people's nose's. After you clicked 'submit' on the web
interface, it would come back with code on the screen.
So that's what he was referring to. It took a number of
years (2009) before I was able to get to the command
line interface that I have today. The CLI is more
amenable to automation and build integration than the
web interface was. Would it be nice to still have the
web interface? Yes, but there's a cost to maintaining it.

David Brown

unread,
Aug 1, 2017, 2:33:21 PM8/1/17
to
For the record, I much prefer stand-alone code generators to online
ones. But you regularly write things like "Anyone who thinks on-line
code generation is not here to stay needs counseling" with an almost
total disregard for context or the topic of the thread. Your posts
extolling the virtues of on-line code generation are almost as common as
your posts complaining about swearing. However, it seems that you don't
have any sort of online code generation. Is that right?

(I have no use of or interest in your software - it is simply not the
sort of thing I need or want. So I have not looked at it in detail.)



Öö Tiib

unread,
Aug 1, 2017, 3:14:12 PM8/1/17
to
No. Why to run those? I won't.

> Run:
>
> make example
>
> to get them to build.

Are you joking?
It does not definitely count as trying online tools or code generators
by any standards. There are neither web nor command line interfaces
anywhere.

woodb...@gmail.com

unread,
Aug 1, 2017, 3:52:00 PM8/1/17
to
Whether you use a web interface or a command line interface,
doesn't make a difference in terms of the end result.
But a web interface isn't easy to automate. Hence the
need for a command line interface. Another way to talk
about it is that the C++ Middleware Writer is a hosted
code generator. The old way, that you prefer, means
maintaining your installation with patches and reinstalling
from time to time. It gets more complicated if you want
to have multiple instances of an app (e.g. compiler) on a
machine.

The Amish people who helped build the replica of Noah's
Ark in Kentucky have skipped a lot of the tech stuff.
So I understand if you prefer to do so in this case also.
We can only hope to attain to the quality that the Amish
do with whatever technology we decide to use.



Brian
Ebenezer Enterprises - In G-d we trust.
http://webEbenezer.net

Vir Campestris

unread,
Aug 1, 2017, 4:15:10 PM8/1/17
to
On 01/08/2017 20:51, woodb...@gmail.com wrote:
> Another way to talk
> about it is that the C++ Middleware Writer is a hosted
> code generator.

I've never got around to investigating it - but just FYI I don't think
any of my employers, past or present, would countenance putting their
private information out on a 3rd party's web site. Which would stop this
cold.

(And no, they didn't use gmail)

Andy

woodb...@gmail.com

unread,
Aug 1, 2017, 4:18:17 PM8/1/17
to
On Tuesday, August 1, 2017 at 2:14:12 PM UTC-5, Öö Tiib wrote:
> On Tuesday, 1 August 2017 19:36:44 UTC+3, woodb...@gmail.com wrote:
> > Have you tried my example programs
> > https://github.com/Ebenezer-group/onwards/tree/master/example
> > ? An account is not needed to run those.
>
> No. Why to run those? I won't.

Well, you did say you "like to try stuff."

>
> > Run:
> >
> > make example
> >
> > to get them to build.
>
> Are you joking?
> It does not definitely count as trying online tools or code generators
> by any standards.

It's testing some code that has been written by a
code generator. Sorry, I didn't maintain the web
interface to the C++ Middleware Writer. But like
Bjarne, you could have tested it that way up until
2009. Now the only way is via the command line
interface. I'm happy to help anyone get started
with it.

> There are neither web nor command line interfaces
> anywhere.

The command line interface is here:
https://github.com/Ebenezer-group/onwards

You can clone or download the code and build it.
On my slowest machine, it takes less than 3 seconds
to build.


Brian
Ebenezer Enterprises

David Brown

unread,
Aug 1, 2017, 4:33:14 PM8/1/17
to
And that is the way it should be. If I have a project that has some
sort of code generator to take the "real source" and produce the C or
C++ code, then that generator is part of the project. To a good enough
build system for me, I have to be able to take the old project, rebuild
it all (including re-generating any generated stuff), and get a
bit-perfect identical binary. Anything less means a disaster of
re-testing and re-qualification. This means that once a project is
done, the generator does not get patched, updated, or changed unless
there is a major new version of the whole project.


woodb...@gmail.com

unread,
Aug 1, 2017, 4:40:24 PM8/1/17
to
Companies are free to license the software and
maintain it at their location if they want.

Individuals and companies that are comfortable with
using the version we host though, will get the better
deal in my opinion -- free to use and easier for us to
help them figure out any problems.

And it's not like you have to release all your code
or even a large part of it in order to use this.


Brian

Öö Tiib

unread,
Aug 2, 2017, 2:43:29 AM8/2/17
to
On Tuesday, 1 August 2017 23:18:17 UTC+3, woodb...@gmail.com wrote:
> On Tuesday, August 1, 2017 at 2:14:12 PM UTC-5, Öö Tiib wrote:
> > On Tuesday, 1 August 2017 19:36:44 UTC+3, woodb...@gmail.com wrote:
> > > Have you tried my example programs
> > > https://github.com/Ebenezer-group/onwards/tree/master/example
> > > ? An account is not needed to run those.
> >
> > No. Why to run those? I won't.
>
> Well, you did say you "like to try stuff."

That was not meant to imply that I download arbitrary code from internet
and compile and run it.

>
> >
> > > Run:
> > >
> > > make example
> > >
> > > to get them to build.
> >
> > Are you joking?
> > It does not definitely count as trying online tools or code generators
> > by any standards.
>
> It's testing some code that has been written by a
> code generator. Sorry, I didn't maintain the web
> interface to the C++ Middleware Writer. But like
> Bjarne, you could have tested it that way up until
> 2009. Now the only way is via the command line
> interface. I'm happy to help anyone get started
> with it.

Yes, but how can anyone know that there have been no online tools since
2009? Nothing says that anywhere. To reduce your work of helping you could
try to make it easier to understand from your page what steps one is
expected to take for to get some C++ data serialized and deserialized.
See examples that I gave.
https://capnproto.org/cxx.html
http://www.boost.org/doc/libs/1_64_0/libs/serialization/doc/index.html
From those it is immediately obvious what one is expected to do.

>
> > There are neither web nor command line interfaces
> > anywhere.
>
> The command line interface is here:
> https://github.com/Ebenezer-group/onwards
>
> You can clone or download the code and build it.
> On my slowest machine, it takes less than 3 seconds
> to build.

Ok, thanks.

Scott Lurndal

unread,
Aug 2, 2017, 8:27:01 AM8/2/17
to
I concur. We use Apache Thrift for interlanguage RPC. From a company
perspective, on-line code generation is a non-starter, even leaving aside
the security implications.

woodb...@gmail.com

unread,
Aug 2, 2017, 1:41:34 PM8/2/17
to
On Wednesday, August 2, 2017 at 7:27:01 AM UTC-5, Scott Lurndal wrote:
> Vir Campestris <vir.cam...@invalid.invalid> writes:
> >On 01/08/2017 20:51, woodb...@gmail.com wrote:
> >> Another way to talk
> >> about it is that the C++ Middleware Writer is a hosted
> >> code generator.
> >
> >I've never got around to investigating it - but just FYI I don't think
> >any of my employers, past or present, would countenance putting their
> >private information out on a 3rd party's web site. Which would stop this
> >cold.
> >
>
> I concur. We use Apache Thrift for interlanguage RPC.

The C++ Middleware Writer is a form of message oriented middleware.

> From a company
> perspective, on-line code generation is a non-starter, even leaving aside
> the security implications.

Companies can buy a license if they want to.

woodb...@gmail.com

unread,
Aug 2, 2017, 5:19:35 PM8/2/17
to
On Wednesday, August 2, 2017 at 12:41:34 PM UTC-5, woodb...@gmail.com wrote:
> On Wednesday, August 2, 2017 at 7:27:01 AM UTC-5, Scott Lurndal wrote:
> > Vir Campestris <vir.cam...@invalid.invalid> writes:
> > >On 01/08/2017 20:51, woodb...@gmail.com wrote:
> > >> Another way to talk
> > >> about it is that the C++ Middleware Writer is a hosted
> > >> code generator.
> > >
> > >I've never got around to investigating it - but just FYI I don't think
> > >any of my employers, past or present, would countenance putting their
> > >private information out on a 3rd party's web site. Which would stop this
> > >cold.
> > >
> >
> > I concur. We use Apache Thrift for interlanguage RPC.
>
> The C++ Middleware Writer is a form of message oriented middleware.

Konstantin, the guy who developed the benchmarks has
updated the repo recently. Now I'm able to get past
the build problem with capnproto, but am hitting a
build problem with Thrift -- it can't find openssl/err.h.
Shouldn't cmake check for that?

I also tried building the benchmark project on Trueos/
FreeBSD, but hit a build problem with Boost.

Have I mentioned that the C++ Middleware Writer minimizes the
amount of code that you have to download/build/maintain/etc?

woodb...@gmail.com

unread,
Aug 4, 2017, 1:49:03 AM8/4/17
to
On Wednesday, August 2, 2017 at 4:19:35 PM UTC-5, woodb...@gmail.com wrote:
>
> Konstantin, the guy who developed the benchmarks has
> updated the repo recently. Now I'm able to get past
> the build problem with capnproto, but am hitting a
> build problem with Thrift -- it can't find openssl/err.h.
> Shouldn't cmake check for that?
>
> I also tried building the benchmark project on Trueos/
> FreeBSD, but hit a build problem with Boost.
>
> Have I mentioned that the C++ Middleware Writer minimizes the
> amount of code that you have to download/build/maintain/etc?
>

I got past the build problems now and I got my version
of the test working. The serialized size of the Record
is 16,712 and the time is faster than cereal's time.

I haven't done any profiling, but from looking at the code
I think the call to resize below is kind of suspect.
Resize sets the first n bits of the storage and then those
same bits get reset.

template<class R>
Record::Record (::cmw::ReceiveBuffer<R>& buf){
int count[1];
count[0]=::cmw::Give<uint32_t>(buf);
if(count[0]>0){
ids.resize(count[0]);
buf.GiveBlock(&(*(ids.end()-count[0])),count[0]);
}

count[0]=::cmw::Give<uint32_t>(buf);
strings.reserve(count[0]);
for(;count[0]>0;--count[0]){
strings.emplace_back(buf.GiveString());
}
}

I've tried to rework that to use reserve, but my efforts
have so far been unsuccessful.
0 new messages