Excerpts and notes from the “Soft Skills” book

A couple of years ago, I was reading the book entitled “Soft Skills” by John Sonmez. The book was super useful to me especially that I was exploring ways to improve my soft skills and learn all the tricks I can regarding how to start my own business, organize my time, etc.

In this blog post, I share with you some of the takeaways and excerpts from that book.

Continue reading

Cryptocurrency acronyms

If you are in cryptocurrency, then you might have encountered one or more of the following acronyms and wondered what they meant. Here you go:

  • FUD: Fear, uncertainty and doubt. A propaganda to lower prices.
  • FOMO: Fear out of missing. This is when you invest out of fear and not of educated decisions.
  • HODL: Misspelling for “hold”. People say HODL so that you don’t sell your BTC and hang on unto them.
  • Mooning: Price going up extremely high.
  • FIAT: Government-issued currency, such as the US dollar.
  • Whale: Someone who owns lots of cryptos. They might sells them to manipulate the prices.
  • Bullish: An expectation that the price is going to increase.
  • Bearish: An expectation that the price is going to decrease.
  • ATH: All time high. The highest price a coin has ever been
  • Market Cap: Total supply x Current price
  • ICO: Initial Coin Offering. Like IPO for the stock market
  • ROI: Return on investment
  • Cold storage: Storing the crypto coins offline. Be it on a paper wallet or a hardware wallet.

Note: This is a live post and will be updated with new acronyms in the future.

You might also like:

Documentation is like sex!

Documentation is like sex.

When it’s good, it’s very good.
When it’s bad, it’s better than nothing.

You might also like:

Batchography: Polyglot Batch files and C++ – Self compiling C++ script

This article is part of the Batchography articles series and today, I am going to show you how to write a valid Batch file that is also a valid C/C++ file. The Batch file part of the source can do anything, however in this article, its sole purpose will be to compile itself and run the compile C++ program.

Let’s get started with the Polyglot source code:

Continue reading

Programming with Emojis

I ran into the EmojiCode website. Emojicode is an open-source, full-blown programming language consisting of emojis.

I personally did not like that language, but it is worthwhile mentioning:

No idea what that code does…I don’t care 😉

Meanwhile, if you are a C++ programmer, enjoy the following, legitimate, piece of code that redefine keywords into emojis and then the fun starts:

You might  also like:

Zipping all files in a Git repository

Hello,

This is a quick / reference post illustrating how to archive (zip format) all the files in a branch in a Git repository.

From the command prompt, type:

 
git archive --format=zip -o files.zip master

Explanation:

  1. The “–format” argument lets you specify the archive type. I used the zip file format
  2. The “-o” argument lets you specify the output file name
  3. master” is the name of the branch to be archived.

 

flower separator
batchography-good-resDo you want to master Batch Files programming? Look no further, the Batchography is the right book for you.

Available in print or e-book editions from Amazon.
flower separatorYou might also like:

 

strtok() C++ wrapper

In this article, I share with you a simple C++ class that wraps the string tokenization function strtok(). The QuickTokenizer class makes it easy to tokenize and enumerate the tokens in a thread-safe manner.

The class code

//////////////////////////////////////////////////////////////////////////
class QuickTokenizer
{
private:
  char *buf;
  char *token;
  char *ctx;

  void FreeBuffers()
  {
    if (this->token != NULL)
    {
      free(this->token);
      this->token = NULL;
    }
    if (this->buf != NULL)
    {
      free(this->buf);
      this->buf = NULL;
    }
  }

public:
  QuickTokenizer() : buf(NULL), token(NULL)
  {

  }

  const char *Tokenize(
    const char *str,
    const char *tok)
  {

    this->buf = _strdup(str);
    this->token = _strdup(tok);

    return strtok_s(buf, token, &ctx);
  }

  const char *NextToken()
  {
    return strtok_s(NULL, token, &ctx);
  }

  ~QuickTokenizer()
  {
    FreeBuffers();
  }
};

Continue reading