[HN Gopher] Show HN: I wrote a book about Go
___________________________________________________________________
Show HN: I wrote a book about Go
Author : maximilienandi
Score : 430 points
Date : 2021-03-24 14:56 UTC (8 hours ago)
(HTM) web link (www.practical-go-lessons.com)
(TXT) w3m dump (www.practical-go-lessons.com)
| hodder wrote:
| "This site is blocked due to a security threat that was
| discovered by the Cisco Umbrella security researchers."
|
| Category: Malware
|
| That is the warning I'm getting on this link at work. Of course I
| don't think you are trying to malware people, but might want to
| look into that on why people might not be able to access your
| site.
| maximilienandi wrote:
| Hello hodder, thanks for reporting this. I have no idea what is
| the cause of this...
| maximilienandi wrote:
| I ran a scan with Norton antivirus on the website artifacts
| downloaded on AWS the result is OK.
|
| I also checked the website with Google safe browsing
| (https://transparencyreport.google.com/safe-
| browsing/search?u...) and the result is also OK. I also run
| the test with virus total website and no threats have been
| detected. (https://www.virustotal.com/en/#url).
|
| If you have more information about this do not hesitate to
| share!
| victoro wrote:
| My browser (when behind work VPN) is showing an untrusted
| SSL cert error so probably the issuer is not whitelisted in
| some employer's systems.
| maximilienandi wrote:
| I'm using AWS amplify to deploy the website, they provide
| a free SSL certificate.
|
| That's probably the reason !
| rhd wrote:
| Hi,
|
| It's probably a combination of young domain, and associated
| IPs blocked from mail.
|
| Check on Cisco Talos https://talosintelligence.com/ Submit
| ticket: https://talosintelligence.com/reputation_center/sup
| port#repu...
| RSHEPP wrote:
| Learned something useful right away in the cheatsheet. Use table
| tests all the time, but never thought of the param struct for
| multiple function params.
|
| Awesome work!
| mprovost wrote:
| Nice! What were the tools you used to write it and convert it to
| the ebook and paper versions?
| maximilienandi wrote:
| Thanks,
|
| I worte the book using Lyx (https://www.lyx.org/) Each chapter
| is a Lyx document.
|
| Then I converted : Lyx to LaTeX, then LaTeX doc are converted
| to HTML with pandoc (https://pandoc.org/).
|
| Then I have an homemade script to generate Vue Components.
|
| Lyx and Pandoc are great tools !
| pietroppeter wrote:
| I just love the positive vibes of this post, feedback received,
| and OP's replies. It just makes HN a happier place!
| maximilienandi wrote:
| I also loved the experience of posting!I'm so happy to read
| messages of the community ! Thank you all !
| throwaway77384 wrote:
| I applaud the effort. Very impressive work. I appreciate the free
| access to this, but will be buying, if / when I have time to work
| through some of the lessons :)
| maximilienandi wrote:
| Thanks for your feedback ! It makes me happy if it can help you
| !
| zealsham wrote:
| Whenever I encounter any book on go , the first thing I do is to
| read the installation page . This is the best I've seen of any
| book . You made the whole "PATH" thing that drives new go users
| mad and gave a thorough reason of why it's needed .
| maximilienandi wrote:
| The first time I installed Go I also ran into installation
| problems. At this time I was on Ubuntu.
|
| I'm happy that you appreciated my explanations.
|
| Hope it will help somebody in the future
| ok_coo wrote:
| Thank you for this! We just started using Go for all of our new
| and/or updated backend stuff and I love it.
|
| I'll definitely be checking this out. :)
| maximilienandi wrote:
| Thanks I appreciate :)
| binaryorganic wrote:
| Always assume Go references are about the board game, always
| disappointed. Congrats on the book!
| maximilienandi wrote:
| Thank you very much !
| maximilienandi wrote:
| Hello all,
|
| After 2.5 years of writing, countless weekends and evenings, I
| released a book about the Go programming language.
|
| The book is available for free on the website because I wanted to
| give something back to the developer's community :)
|
| It is composed of 700+ pages, 41 chapters, and approximately 405
| drawings/screenshots.
|
| I tried to cover all the important topics that a new Go
| programmer should know.
|
| At the end of each chapter, you can find a small Q/A and a bullet
| point list of key notions.
|
| I would love to hear your feedback about it!
| 120bits wrote:
| I can't thank you enough! I wanted to learn Go and wanted
| something like this. I really like the chapter structure, it
| really easy to follow and progress.
| maximilienandi wrote:
| Thank you very much, I really appreciate :) I hope that it
| will help you in your Go journey.
|
| Do not hesitate to send me feedback in order for me to
| improve the content.
| movedx wrote:
| On another note, you might want to consider converting the
| online copy of the book to MkDocs (using the Material theme),
| so that it's easier to read, navigate and search.
|
| I'd gladly lend a hand with this, if you like?
| maximilienandi wrote:
| I will take a look at it, thanks for your suggestion. I will
| check if Lyx has an option to export to this format.
| primitivesuave wrote:
| Thank you for this fantastic resource. I've been meaning to
| learn Go for a while, but have a lot of difficulty staying
| focused on tutorials with big blocks of text. Your concise
| bullet format is really easy to follow, and would be especially
| useful for anyone who doesn't speak English as their first
| language.
|
| Also really respect that you clearly did this out of passion,
| so I'll say this to everyone on your behalf: support the author
| by purchasing a digital copy!
|
| https://www.practical-go-lessons.com/buy-digital-or-hard-cop...
| maximilienandi wrote:
| oh thank you! I appreciate your kind words:) It's very
| rewarding to read all the comments on this thread... You made
| my day !
| cosmodisk wrote:
| This is great,well done! I was thinking of picking Go at some
| point this year, need not to forget to buy the book. May I ask
| what did you for the website,looks pretty neat?
| maximilienandi wrote:
| Thank you for your feedback and support!
|
| Go is easy to learn, and you need a limited amount of time to
| produce code!
|
| I built the website with VueJS, and I use bootstrap for the
| CSS part (with https://bootstrap-vue.org/).
| BrandoElFollito wrote:
| Great book! (and this from someone who does not like Go
| :)). After reading a bit I was almost ready to jump in
| again and then I remembered errors and the associate
| repeating code and I got back to Python.
|
| I have a friend who is constantly trying to drag me though
| the fence so maybe one day.
|
| You may want to try quasar (https://quasar.dev/) for your
| VueJS sites - it is excellent.
| maximilienandi wrote:
| Thank you ! I hope this day is close !
|
| I will try quasar on another project maybe, I did not
| know this framework. I also need to improve my
| competences with React :)
| jjice wrote:
| I really like that you go in detail of common and important
| standard library functions and hit come important things like
| database drivers and JSON. 700 pages is a nice big programming
| book and it looks like you're not skimping on details. Great
| job and good work!
| maximilienandi wrote:
| Hello jjice,
|
| Thanks for those kind words, I tried to cover a lot of
| topics. Consequently it makes a lot of pages!
|
| I hope that the content will help you ! Do not hesitate to
| contact me if you spotted an error or if you want to suggest
| an improvement.
| movedx wrote:
| This looks amazing. Thank you.
|
| I've found an error.
|
| In Chapter 6, Section 3 (Introduction) you say, "In a previous
| chapter, we covered decimal and binary notation." but those
| topics aren't covered until Chapter 7 :)
| maximilienandi wrote:
| Thanks for spotting this, I will add it to my todo.
| codegeek wrote:
| I love it. Hats off to you for your hard work on this. Who
| builds your illustrations/graphics ? Looks cool.
| maximilienandi wrote:
| My spouse :)
|
| Thank you for your feedback !
| preommr wrote:
| Should probably credit them in the foreward.
| bigdict wrote:
| At this point any Go-related work must come with
| illustrations done by the spouse.
| ChrisMarshallNY wrote:
| Excellent!
|
| I am not a Go programmer, so I am not your target audience, but I
| have written a book, so I understand the work.
|
| Thanks so much!
| maximilienandi wrote:
| Thank you ChrisMarshallNY, for your kind message. I hope you
| will start using Go in the future!
| ChrisMarshallNY wrote:
| I sent a link to a friend, who is very much a Go programmer
| (I am a Swift programmer).
| maximilienandi wrote:
| Thanks! I hope that he will find it interesting
| arendtio wrote:
| I just scrolled through the chapter that looked most promising to
| me in the table of contents (Chapter 36: Profiling) and I have to
| say _I love it!_
|
| On that one hand the basic steps are there like how to download a
| specific zip file, but at the same time it goes deep into the
| different types of profiling and how to use the mandatory tools.
| maximilienandi wrote:
| Thanks for your support arendtio ! I am happy that you liked
| this chapter, it took me a lot to write, because I never used
| pprof before. But it's a great tool.
| kroolik wrote:
| The book looks very interesting! In the section about logging,
| Logrus is unfortunately in maintenance mode now. We've used it at
| my place, now we have switched to Zap.
| maximilienandi wrote:
| Thanks for your feedback ! I will add a warning in the book
| concerning Logrus.
|
| I will also check Zap to add an example :)
| redisman wrote:
| Looks great. I'm getting to learn go in my new role so this will
| help me get up to speed before I start
| maximilienandi wrote:
| Hello redisman, I hope it will help you.
|
| Do not hesitate to share your feedback with me, especially if
| something is difficult to understand or if you spotted a
| mistake :)
| [deleted]
| _kst_ wrote:
| I haven't taken a look at it yet. Can you summarize what it
| offers that Donovan & Kernighan's "The Go Programming Language"
| doesn't? (Sincere question, not being snarky.)
| maximilienandi wrote:
| Thanks for your question. "The Go Programming Language" is a
| well-written book. I have not read every line of it, so my
| answer might not be precise.
|
| I will highlight some key aspects of my project:
|
| I teach computer science in my free time in a small non-profit
| organization. Most of the students have no knowledge at all in
| the field. I wanted to write a book that anybody could use, not
| only to learn Go but also to learn how to code from the
| beginning.
|
| I tried to explain every notion by imagining a student with no
| prior knowledge. I also added content about some key notions
| like encoding, some basic knowledge about what a computer is
| made of, what a pointer is ...
|
| I also tried to keep a practical approach, with many examples.
| I also added a lot of drawings and screenshots. Images are
| sometimes more efficient than long explanations (this what I
| learned when I began to teach children).
|
| Keep me updated if you have some time. I would love to hear
| your feedback ;)
| exdsq wrote:
| This is excellent! Hope you get some sales to make up for the
| effort :)
| maximilienandi wrote:
| Thanks, I hope too !
| adeptima wrote:
| Hi maximilienandi, great work! Easy to read for non-native!
|
| Always nice to see more alternative to the Blue Book too ;)
|
| When I open Golang books or any kind of tutorials, I usually jump
| into Concurrency sections to see its depth and quality ...
|
| If ever start thinking of selling v2 of your book, please go
| through Katherine Cox-Buday book "Concurrency in Go" content.
|
| I like Katherine but your writing style is much much easy to read
| and process. Wish half of Katherine content will migrate into
| your future works.
|
| Adding reference on Katherine book might help others too.
| maximilienandi wrote:
| Hi adeptima, thank you for your feedback!
|
| I am really happy that you like the writing style.
|
| I will order the book written by Katherine.
|
| Concurrency is a really difficult topic; maybe I will add more
| content about it later. Real-world use-cases are hard to find
| also.
| lovetocode wrote:
| I love this -- thank you!
| maximilienandi wrote:
| Thanks for your support!
| Dentrax wrote:
| Excellent job! Maybe you are already thinking about it, but...
| You can add a Search Bar and Go version & language selection for
| the documentation. (i.e. see (bottom left):
| https://docs.godotengine.org/en/stable/)
|
| Also I just published this on /r/golang if you do not mind. :)
| maximilienandi wrote:
| Thank you for those suggestions. Adding a search bar is already
| in my todo list. I will probably use Algolia.
|
| Thank you for posting this on reddit ! I tried to do it but I
| made a mistake in the title, so I deleted the post and posted
| again (I never posted on reddit before). Now it seems that my
| second post is not really visible.
|
| Thank you for your support Dentrax !
| insdel wrote:
| Looks very good! Thanks for providing it free.
| maximilienandi wrote:
| I hope it can help others in the process of learning how to
| build programs !
| itwy wrote:
| I love your writing style. Specially the way of not assuming
| previous knowledge.
| maximilienandi wrote:
| I tried to define every notions used. Thank you very much for
| liking my style. I hope that this book will help others to
| start programming with Go !
| dctoedt wrote:
| Looks great.
|
| How'd you build the Web site -- a package of some sort, or did
| you roll your own CSS? I've been working on a law-related book
| that I plan to post; I like the look of your site.
|
| (I suppose it's too much to hope for that you created this with
| Emacs and org-mode -- which is what I'm writing my book in --
| together with a nifty CSS package ....)
| maximilienandi wrote:
| Thanks !
|
| I wrote it using Lyx which is WYSIWYG for LaTeX. Then I convert
| the LaTeX document into HTML.
|
| The HTML is then injected (with some modifications) into a Vue
| component (the website is built with Vue).
|
| I use only Bootstrap for the CSS (with bootstrap-vue). When I
| have some time I will publish the sources of my script.
|
| I hope it can help you !
| AnimalMuppet wrote:
| > I wrote it using Lyx which is WYSIWYG for LaTeX. Then I
| convert the LaTeX document into HTML.
|
| What did you use to do the conversion? Will Lyx export HTML,
| or did you use something else?
| dctoedt wrote:
| Pandoc will convert from LaTex to HTML (I've not tried that
| specific conversion). [0]
|
| [0] https://pandoc.org/
| maximilienandi wrote:
| I used Pandoc to make the conversion. Lyx has also an
| option to export to HTML but I was not satisfied with the
| result.
| AnimalMuppet wrote:
| Thanks!
| tomca32 wrote:
| This looks great! I absolutely love that it assumes no knowledge
| of anything, including how the computer works. This is how all
| educational material should be written.
|
| I think that most knowledge gaps we all have are caused by a
| teacher/book making assumptions about what we already know.
| maximilienandi wrote:
| Hi tomca32,
|
| Thank you for the feedback. I tried to make it accessible to
| new programmers. I hope it will be used by people how wants to
| start their programmer's journey.
|
| Being a self-taught programmer, I always suffered from not
| knowing some very basic notions. I learned a lot in the process
| of writing those chapters.
| dave_sid wrote:
| Moby wrote a song about it in the 90s
| dave_sid wrote:
| https://youtu.be/N_Qwo8sT9U0
| wmu wrote:
| Looks great! Seems there were some issues in conversion into HTML
| chapter titles. For example https://www.practical-go-
| lessons.com/chap-31-logging#log.fat...
| maximilienandi wrote:
| Thanks for your feedback I will fix this :)
| damip wrote:
| Wow thank you for your work and providing it for free. Is there a
| way to submit correction PRs ? maybe a github ?
| maximilienandi wrote:
| I'm currently working on it :)
|
| For the moment you can post your corrections on that URL :
| https://www.practical-go-lessons.com/feedback
| boundingpoodle wrote:
| Thank you for building this!
|
| I appreciate chapter 40 being included, a quick summary of
| go/programming recommendations. Also the illustration on the
| landing page caught my eye, good choice.
| maximilienandi wrote:
| Many thanks! When I began writing Go code I found a lot of "Go
| idioms" on blog posts, it was hard to remember all of them. By
| the way, "Effective Go" (https://golang.org/doc/effective_go)
| is also a great summary of good practices.
| perceptron001 wrote:
| Great work. I am learning golang right now. The art/pics look
| amazing and the samples and the explanations are on point. Thank
| you for your work! I'm sure it will go a long way I'll made sure
| I tweet about it.
| maximilienandi wrote:
| Thank you for your support, I really appreciate, I hope many
| newcomers will find it interesting.
___________________________________________________________________
(page generated 2021-03-24 23:00 UTC)