About the Author

John Calcote

John Calcote is currently employed by Primary Data in Salt Lake City, Utah. He works on truly next-gen storage management software for network attached storage devices. He came to Primary Data from Fusion-io where he worked on management software for Fusion’s really cool PCIe flash storage devices and systems built around these devices.

Before that, John spent nearly 20 years as a software engineer for Novell. He worked on the Novell Cloud Security Services project and on everything from Novell eDirectory to the Bandit open-source identity components project. He runs the OpenXDAS and OpenSLP projects on sourceforge.net. He’s also active in the update-XDAS project of the Open Group security forum. He is active on several open source mailing lists including dnx, openslp, bandit, and the GNU Autotools mailing lists.

He loves the open source movement, and all that it stands for. In an effort to “give back” a little, he authored a book entitled, Autotools: A Practitioner’s Guide to GNU Autoconf, Automake, and Libtool, which was published in July of 2010 by No Starch Press.

View John Calcote's profile on LinkedIn


15 comments on “About the Author

  1. Tobi says:

    hi john,

    googling for “autotools book” I somehow ended up
    finding your fine book at the fsm website. I’m glad
    to see that finally someone is replacing the goat book:)

    One question/rant though? Will the book forever remain
    in the realms of on-screen-reading per html ? It would
    be so much more enjoyable on paper. I hate reading long
    texts let alone books on a screen.

    In the introduction you presented to lack of interest that
    publishers seem to have for some reason.. Still a pdf
    wouldn’t hurt I think… ? 🙂 Any plans at all ?

    best regards from a person who would certainly spend money
    on this book …


  2. Tobi says:

    eh.. oops.. the paste is totally misplaced on this page.. oh
    well.. too late

  3. […] John Calcote in RESTful Transactions: It’s clear that creating proper RESTful transaction semantics is a tricky problem. […]

  4. Mehul says:

    Hello sir,

    I got your reference from sourceforge.net.

    Currently i am working on a project in which i have to implement SLP(Service Location Protolcol) in cloud environment and have to run 2 services using SLP on the cloud.

    I am not sure about how to implement SLP. can you tell me the step by step procedure of how to run any service using SLP. Like on which operating system what i need to install and from where to start.

    Your response will be very helpful to me. Waiting for your reply.

  5. […] current favorite treatment of the POST/PUT issue is John Calcote’s blog post PUT or POST: The REST of the Story. For me, whether to use POST or PUT does come […]

  6. Jason says:

    Hi sir,
    I found your tutorials on “Autotools: A Practical Guide to GNU Autoconf, Automake, and Libtool” on fsm. It’s great, but there are only seven chapters and not complete.
    I found the book is pre-ordered in Oreilly and due to be available in May. Maybe this is not polite, but is your book be available online like the goat book?I can not wait till May to buy the book. because I am not an American, I guess I will have to wait even longer to read the book. I will appreciate you very much if you could put the whole book online so people could read it charged or free.
    And thanks again for your wonderful book!

    • John Calcote says:

      I wish I could tell you what you want to hear, but the fact is, I don’t know yet. It will be up to my publisher whether the book will be available online or not, and he’s not committed yet. I’ll advertise on the lists if and when that happens.


  7. Jason says:

    Hi sir:
    It’s already June, and your autobook is still not pulished yet.Any definite time or maybe some preview edition?

    • John Calcote says:

      I’m sorry for the delay. My publisher has very high standards of publishing quality. However, our current deadline is June 11th for sending the proofs to the printers. The index is almost complete, and I don’t foresee any additional delays. I expect to see copies on bookstore shelves by mid-July.

  8. Martin d'Anjou says:

    Thank you for publishing this book. I really really like it. I am reading the online version and I noticed incorrect information regarding GNU Make.

    “…you would use parentheses instead of french braces: $(my_var).”

    GNU Make supports curly braces, so ${my_var} works.

    “Thus, $my_var is functionally equivalent to $(my_var).”

    This is incorrect. Try this makefile:

    $(info $my_var)
    $(info ${my_var})
    echo Done

    $my_var in make is like ${m}y_var, so you really want to use ${my_var}.

  9. John Calcote says:

    Hi Martin,

    Thanks for the comments. You are correct, of course. All of this material is correct (and much enhanced) in the paper publication of the book as published by No Starch Press.


    I supposed I should fix the online version, but I haven’t had the time lately.I will get to it sometime, though.

  10. Hi John,
    I have asked about you to internal manager at my firm. He has nothing but great things to say about you, and it is leaving me to believe that I need to speak with you. I’m certain you are crazy busy over at FusionIO. Maybe on your way home one day we could talk? I’d love to pick your highly intelligent brain.
    Kindest regards,

  11. Hi John,

    I am reading your book and couldn’t resist myself to google you and leave a note of appreciation for such a wonderful content. More technology authors should read your text and learn from it.

    Many thanks again.

  12. Anil Sharma says:

    Hi John,

    This is context to ur article about referring dynamic truststore.

    Comments are closed there.I am not sure where to contact you ,so posting here.

    I have Created CSR request using this command :

    openssl req -out certificatecsr.csr -new -newkey rsa:2048 -keyout certificatekey.key

    After that CA has shared certificate(.cer) file with me.

    Now after that i have converted .cer file to .p12 using key.

    **Creating a .p12 certificate using cer sent by CA and private key**

    C:\Java\jdk1.6.0_38\jre\bin>openssl pkcs12 -export -in C:\Users\asharma1\cert.cer -inkey certificatekey.key -out


    **Creating JKS keystore :**

    keytool -genkey -alias quid -keystore quid.jks

    **importing .p12 certificate into jks keystore**

    C:\Java\jdk1.6.0_38\jre\bin>keytool -v -importkeystore -srckeystore C:\OpenSSL-Win64\bin\certi.p12 -srcstoretype PKCS12

    -destkeystore quid.jks -deststoretype JKS

    but when i am referring this JKS from my java code i am getting this error :

    **sun.security.validator.ValidatorException: PKIX path building failed:**

    sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target

    I have also added cer file to cacerts.but still getting the same error.

    As far as JAVA code is concerned i am refering this link to refer my own created keystore :


    public SSLContext getSSLContext(String tspath)
    throws Exception {

    TrustManager[] trustManagers = new TrustManager[] {

    new ReloadableX509TrustManager(tspath)
    SSLContext sslContext = SSLContext.getInstance(“TLS”);

    sslContext.init(null, trustManagers, null);

    return sslContext;


    SSLContext sslContext=getSSLContext(“C:\\Java\\jdk1.6.0_38\\jre\\bin\\quid.jks”);

    SSLSocketFactory socketFactory = sslContext.getSocketFactory();

    URL pickUrl = new URL(pickupLocation);

    URLConnection urlConn = pickUrl.openConnection();

    HttpsURLConnection httpsURLConn = (HttpsURLConnection)urlConn;


    String encoding = urlConn.getContentEncoding();

    InputStream is = urlConn.getInputStream();

    InputStreamReader streamReader = new InputStreamReader(is, encoding != null
    ? encoding : “UTF-8”);

    Please note i am not using any server. I am trying ti run above written code thorugh main method only.
    Please let me know what need to be done.
    Why do i need to convert my .cer file to .p12 file ?
    Any help will be appreciated..

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s