Read list begins again

Hello from the first post of the year.

The topic is not a new one actually, I’m continuing to say little notes about my read list. All these are not read in 2020, I read some of them in 2019. Let’s start!

  • Effective Java
    Author: Joshua Bloch
    It contains several points that how effectively to use Java. Actually, the book provides Java examples, but I think you can convert and apply these significant suggestions to any programming language.

 

  • Peopleware
    Author: Tom DeMarco, Timothy Lister
    Actually, I felt something undefined things when I am reading this book. Because I read several start-up or software culture books before it. I was late to read Peopleware, but I can say mind at peace that if this book never exists, start-up and software culture do not reach today’s conditions.  In the ’80s, the authors indicate many important and fundamental situations such as developers are human beings, they deserve human interaction and comfortable chairs 🤓

peopleware book

 

  • Head First Javascript Programming
    Author: Elisabeth Freeman, Eric Freeman
    I use jQuery and JavaScript in my projects for almost ten years. Clearly, it does not fit my experiment level, but the book is a strong introduction source. I recommended this book for a solid introduction to the web and javascript.

    head first javascript book

  • Predictable Revenue
    Author: Aaron Ross, Marylou Tyler
    This is not directly related software, but I am also a co-founder of a start-up, thus I should get a minimum level of what is the element of business sides such as sales or marketing. Predictable Revenue is a kind of “the book” of the business. 

    predictable revenue book

What’s next?

My to-read list is already prepared and it starts with RFC 2616 HTTP/1.1 🧐 📖

 

Current year resolutions

I’m alive!
I want to write about books that I read this year. I focused on building a team, operating processes and managing somethings. Here my quick review of my reading list.
1. Build an A-Team: Play to Their Strengths and Lead Them Up the Learning Curve
Author: Whitney Johnson.
I found a cute summary of the book*

build-an-a-team-book-summary-cartoon

2. A Common-Sense Guide to Data Structures and Algorithms: Level Up Your Core Programming Skills
Author: Jay Wengrow.
This book has extremely understandable content about the complexity of data structures.
a-common-sense-guide-to-data-structures-and-algorithms-cover

3. The Manager’s Path: A Guide for Tech Leaders Navigating Growth and Change
Author: Camille Fournier.
This book is already one of my favorite books. It has a solid structure and I like it really. If you were a technical one and your career moving to technical leadership roles, you will absolutely find key lessons or inspirations.
the-managers-path-cover

4. The Checklist Manifesto: How to Get Things Right
Author: Atul Gawande
This book is written by a medical doctor to lead the way to get things right. Also, the author presented a great variety of sample fields, such as medical processes and airplane operations.
the-checklist-manifesto-cover

5. Building Evolutionary Architectures: Support Constant Change
Authors: Neal Ford, Patrick Kua, and Rebecca Parsons
It shows the value in evolvable systems that fit today’s dynamic software landscape.
building-evolutionary-architectures-cover

I think it is enough for this post, I’ll make additions until the end of the year.

* Build an a team book summary

Algorithm comparison on a social platform

I used newspaper articles in my experiments until now. I decided to use texts which extracted from other platforms, so I collected texts from eksisozluk platform. Ekşisözlük is a kind of local Reddit. I tried to perform a comparison experiment by using Turkish gerunds as features.
Here my experiment components:

    Corpus: Eksisozluk dataset of 5 authors represented by nicknames, 100 texts for each author. Average word count is 461, 80% of the dataset is used as training data and 20% of the dataset is used as test data.
    Features: Features are Turkish gerunds. These words are derived from the verbs but used as nouns, adjectives, and adverbs in a sentence. I listed the most widely used verbs in Turkish, after that I derived gerunds by using gerund suffixes. Finally, I obtained 590 verbal nouns, 587 verbal adjectives and 916 verbal adverbs (with proper vowel versions).
    Algorithms: Algorithms are LinearSVM, Multi-Layer Perceptron (MLP), Naive Bayes (NB), k-Nearest Neighbor (kNN) and Decision Tree.

Now, the results are below.

    SVM


The performance of SVM with gerund frequencies as features is not satisfied, it classified just 3 of 5 authors with correct matching minimum 12 of 20 test documents.

    MLP


The performance of MLP with gerund features is slightly better than SVM. For example, it classified 4 of 5 authors with correct matching minimum 12 of 20 test documents.

    NB


The performance of NB is average and close to other results. For example, it classified 3 of 5 authors with correct matching minimum 12 of 20 test documents.

    Decision Tree


The performance of Decision tree is not enough, average F1-score is 0.39. It did not make satisfied correct matching.

    kNN


The performance of kNN not enough but slightly better than decision tree, average F1-score is 0.44. It classified only one of 5 authors with correct matching 16 of 20 test documents.

As a result, NB, kNN and decision tree are not suitable algorithms for this approach. SVM and MLP performed better than other algorithms.