---
title: "Discussion on \"\"100 Elixir Tips\" eBook\" | Hashnode"
description: "Discussion on \"\"100 Elixir Tips\" eBook\". Your daily sips of Elixir knowledge"
url: "https://hashnode.com/posts/100-elixir-tips-ebook/61d5a7b5e2f29f0805e138b6"
---

[Feed](https://hashnode.com/feed) /

Discussion

# ["100 Elixir Tips" eBook](https://blog.miguelcoba.com/100-elixir-tips-ebook?utm_source=hashnode&utm_medium=feed)

Your daily sips of Elixir knowledge

Jan 5, 2022 · 1 min read · blog.miguelcoba.com  
Updated May 24, 2022  
Read the article

-   [#elixir](https://hashnode.com/tag/elixir)
-   [#programming-tips](https://hashnode.com/tag/programming-tips)
-   [#beginners](https://hashnode.com/tag/beginners)
-   [#software-development](https://hashnode.com/tag/software-development)
-   [#functional-programming](https://hashnode.com/tag/functional-programming)

## Written by

[Miguel Cobá](https://hashnode.com/@miguelcoba)

@miguelcoba · Barcelona, Spain

  
[View profile](https://hashnode.com/@miguelcoba)

Elixir and Elm programmer. eBook writer

I write about Elixir, Elm, Software Development, and eBook writing.

## Responses 1

Markdown supported · ⌘↵ to post

[Chris Laskey](https://hashnode.com/@chrislaskey)

[Jan 12, 2022](https://hashnode.com/posts/100-elixir-tips-ebook/61d5a7b5e2f29f0805e138b6/comment/61dee4ef4e70945324c59de0)

Great job! Thanks for writing up and creating the book to share with the community. Is it alright if I post some feedback here?

**Tip #7**

On Tip #7 you may want to include some other common "type checking" guards related to strings like `is_binary` and `is_bitstring`?

The `Kernel` section of the Elixir docs should have a more complete list of guards: [hexdocs.pm/elixir/Kernel.html](https://hexdocs.pm/elixir/Kernel.html#summary)

**Tip #11**

You may want to consider including `List.first()` in addition to `hd()`? The key difference is how they handle an empty list.

-   `List.first([])` will return `nil`
-   `hd([])` will raise an `ArgumentError`

**Tip #56**

Another great tip. Have you considering including [`Enum.into/2`](https://hexdocs.pm/elixir/1.12/Enum.html#into/2) as well? It's handy to convert things between lists of tuples, keyword lists, and maps:

```
[{:a, "Jane"}, {:b, "John"}, {:z, "Peter"}] |> Enum.into(%{})
```

It also works the for converting maps into keyword lists using `|> Enum.into([])`

**Tip 87**

Appears to be a minor typo, `scape` should probably be `escape`?

**Tip Suggestions**

Two of my favorite standard library functions are [`Kernel.get_in/2`](https://hexdocs.pm/elixir/1.12/Kernel.html#get_in/2) and [`Kernel.put_in/2`](https://hexdocs.pm/elixir/1.12/Kernel.html#put_in/2).

When I was new to Elixir I remember writing my own recursive get and put functions until someone pointed out these built-ins.

**Summary**

Great work and a great read! Thanks for putting this together. I definitely learned some new things along the way. Hope the feedback I posted above comes across as intended - supportive with positive intent. You and this work is appreciated 🎉

[Miguel Cobá](https://hashnode.com/@miguelcoba)

[Jan 13, 2022](https://hashnode.com/posts/100-elixir-tips-ebook/61d5a7b5e2f29f0805e138b6/comment/61dee4ef4e70945324c59de0#reply-61e00cffd879ad7408e0fa3d)

Thank you very much, Chris. That's excellent feedback. All those were new to me and I am sure for a lot of readers too.

I'll fix the typos you mention and I'll keep the others for a future edition of the book.

Having them here they can read them and benefit from your tips.

Have an excellent day!
