Profile cover photo
Profile photo
Benjamin S Wolf
I like to create things with my mind.
I like to create things with my mind.
About
Posts

Post has attachment

When asked about the Russian government's involvement in hacking two major political parties, Director of the FBI James Comey said, "I would never comment on investigations — whether we have one or not — in an open forum like this so I can't answer one way or another." [http://www.chicagotribune.com/news/nationworld/politics/ct-fbi-comey-trump-russia-investigation-20170110-story.html]

[satire]

"The Bureau does not comment on ongoing investigations, or whether investigations are ongoing at all," Comey said, "except when the subject or subjects under investigation are running for office. Then we are free to comment."

"I thought it was the other way around," said Sen. Angus King, a Maine independent.

Sen. Ron Wyden, D-Ore. chimed in: "Mr. Comey, I'm pretty sure that that's illegal."

Mr Comey replied, "Senator, I am the director of the FBI. The head of law enforcement in this country. As you can tell from the War on Bla--sorry, the War on, uh, Drugs--as you can remember from that, laws don't apply to law enforcement." He quickly added, "They barely apply to elected politicians, too, so we're good, right?"
Add a comment...

Post has attachment
A friend linked this the other day
http://www.nytimes.com/interactive/2016/11/01/opinion/voting-suppression-videogame.html

Remarkably fitting for the petition I created yesterday to solve voting lines: https://petitions.whitehouse.gov/petition/let-people-vote
Add a comment...

Here's a poem I wrote about someone mourning the theft of their birds. It might be easier to "get" if you know how to pronounce some names from recent fantasy novels. And before you ask about the meter and rhyme scheme... yes, it's intentional. Just read it. ;)
[click on the timestamp above to open the post wider and prevent word wrapping]

Aviary Theft
Although I owned not much to steal, internal wounds may never heal
Such as the sight that made me reel: a thief had broken down my door.
Nothing left was fit to carry, though thieves have no time to tarry,
E'en my priceless aviary, just a shadow of before.
Of my precious bird companions, just a fraction of before:
One was left; there had been four.

Well, all of my fair-feathered friends, who're named for fant'sy heroines
And heroes, e.g. Mistborn's Vin, were precious, valued, and adored.
I already had been grieving, for the count had been decreasing,
With the ground outside receiving Samwise just the week before.
No more would I be grieving just for one who died before—
To my grief now add three more.

But luckily one soul remained, for my life would not be the same,
Should I have been alone in pain with fallout from my broken door.
My clever Catelyn sitting there, in all the world yet not a care,
One happy, stately standing parakeet perched on her cage's door.
The cage was bent, upturned, and its newspaper strewn across the floor,
But there she stood amidst uproar.

First recov'ring from disaster (harder losses have I mastered),
Yet no heart repairs with plaster, much as workers did my door.
I did not expect to find neither bird nor peace of mind
But when I finally felt inclined, I went out searching on a tour.
Fortune smiled once upon me—Vin I found in Roth's Pet Store.
Her plumage clashed with the decor.

Years later did poor Fitz return, his visit which I only learned
By Jack's complaints about the bird carcass seen from his back porch.
I know not how he found his way to his old home, becoming prey
To something stronger, like a stray per'grine's hunger long ignored.
The poor thing only recognized solely by the tag he wore.
I buried him and grieved once more.

Of signs the last I've never seen, though for his form my eyes are keen
And whether he grow thick or lean, I'd recognize that beak, I'm sure.
But time has passed and soon shall I, my other birds have long since died.
And now I hear Death's lullaby, drifting through my outer door.
Still I wish I'd said goodbye to one last friend who'd gone before.
But Kvothe the raven, nevermore.
Add a comment...

Okay, lacking a simple C++ tutorial for capnproto (and generally being a c++ nub), I have solved the "copy a Reader to a Builder" puzzle in about 4 hours.

The first step is MessageBuilder. This is the root class used to construct the Builders, and you can either initRoot<Builder>() to start from scratch, or setRoot<Reader>(Reader&& reader) to copy and then getRoot<Builder>().

The second step is that you can't call setRoot<Reader>(reader) when reader is a Reader. Nope, reader won't bind to Reader&& implicitly. Best way to fix that is to call std::move like so: setRoot<Reader>(std::move(reader)).

Finally, notice that if you save the struct Builder as a class parameter, you best save the MessageBuilder too. Otherwise your shiny new Builder will be destroyed when the MessageBuilder goes out of scope.
Add a comment...

Internal to Google, I can write some protocol buffers and build them with Blaze. 

Try to combine the external open source versions of these, capnproto and Bazel? Explodes in my face.

genrule "types":
srcs=["enum.capnp"]
outs=["enum.capnp.c++", "enum.capnp.h"]
cmd="which capnp; which capnpc-c++; capnpc compile -oc++ $(location enum.capnp)"

cauldron/types$ bazel build :types
/usr/local/bin/capnp
/usr/local/bin/capnpc-c++
c++: no such plugin (executable should be 'capnpc-c++')
c++: plugin failed: exit code 1

cmd="PATH=/usr/local/bin capnp compile -oc++ $(location enum.capnp)"

cauldron/types$ rm enum.capnp.*
cauldron/types$ ls enum.*
enum.capnp
cauldron/types$ bazel build :types
ERROR: [...]/cauldron/types/BUILD:7:1: declared output 'cauldron/types/enum.capnp.c++' was not created by genrule. This is probably because the genrule actually didn't create this output, or because the output was a directory and the genrule was run remotely (note that only the contents of declared file outputs are copied from genrules run remotely).
ERROR: [...]/cauldron/types/BUILD:7:1: declared output 'cauldron/types/enum.capnp.h' was not created by genrule. This is probably because the genrule actually didn't create this output, or because the output was a directory and the genrule was run remotely (note that only the contents of declared file outputs are copied from genrules run remotely).
ERROR: [...]/cauldron/types/BUILD:7:1: not all outputs were created.
cauldron/types$ ls enum.*
enum.capnp  enum.capnp.c++  enum.capnp.h

I really wish I just had a working rule or extension for these to begin with, but apparently no one else has thought yet to combine Bazel and Capnproto...
Add a comment...

My business cards proclaiming me a "Software and Fiction Engineer" have arrived. :) I am probably going to start handing them out like mad.

And maybe keep one by my desktop as a reminder that I should be writing.
Add a comment...

Post has attachment
Just released something I worked on a couple years ago (and this weekend), at long last.
Add a comment...

The sign of a good writer is that they make you want to keep reading. The sign of a great writer is that they make you want to write.
Add a comment...

Post has attachment
Add a comment...
Wait while more posts are being loaded