Hacker Newsnew | past | comments | ask | show | jobs | submit | travisjeffery's commentslogin

Hey, I'm the author of Jocko. I've been working at Confluent the past four years.

I just finished writing a book that shows how to build similar distributed services from scratch, it walks though building a simple distributed commit log with built-in consensus and service discovery from nothing to deployment: https://pragprog.com/titles/tjgo/distributed-services-with-g...


Sounds just like the kind of book I wanna read. Unfortunately I wasn't able to pay for it due to "merchant configuration".

I imagine there are no region restrictions, right? I've already contacted support though.


I'm not sure, I haven't heard of that happening before. I've asked my editor if she knows what's up. You can email me at tj at my HN username dot com if you want to follow up.


I was able to get it sorted through support. Thank you :)


Heh, I just bought it based on PragProg newsletter :). Literally 5 minutes ago.


Awesome! Hope you enjoy reading the book and thanks for buying it.


People that are interested in this blog post will interested in a book I wrote: Distributed Services with Go (https://pragprog.com/titles/tjgo/distributed-services-with-g...). The book walks the reader through building a distributed event service from scratch that uses Serf as a library for its service discovery.


Magit is working on switching to libgit2 https://github.com/magit/magit/issues/2959 to fix this.


This issue has been open since 2017 and it's not panacea since it comes with its own -substantial- tradeoffs which is why as far as I know, magit is not "switching to libgit2" but planning to offer libgit2 as an additional option. Also for such an important feature, rather than going with FFI, it would be much better if Emacs linked with libgit2 (similarly to the improved JSON support in 27). That way the core Emacs development team would review all code and have a say in its design. That also implies magit being bundled with Emacs (or at the very least available in ELPA) which may not be realistic in terms of copyright assignment / code quality concerns.

Performance issues aside, a pure Lisp magit is the simplest and more universal setup which is why an attempt to fix the process spawning problems there should be made.


Why do I want the Emacs team reviewing libgit2 or Magit?


They would be reviewing the C interface to libgit2, not Magit itself, since -you know this- C code written either to work through FFI or as part of Emacs can potentially corrupt memory and destabilize Emacs in serious ways. Code written in Emacs Lisp, even low quality code, does not generally suffer from these issues.

So yes, I'd much prefer C code that Daniel Colascione / John Wiegley / Eli Zaretskii / Stefan / Paul .. have reviewed over newly-written FFI code that hasn't been through that thresher. Everyone that jumped on the emacs-libvterm train early knows what I mean.

I keep Emacs running for months at a time and it's the foundation of pretty much everything I do on a computer. Other than the OS, it generally is the most stable, continuously running, continuously stressed piece of software that I have ever used.


I'm currently writing a book for PragProg called Building Distributed Services with Go (though it mostly applies to other languages too) that's walks you through building a distributed database from scratch. You can sign up on this mailing list to know when it's available: https://travisjeffery.us4.list-manage.com/subscribe?u=1e3ff7....



1. that link returns a 404.

2. Do you have a TOC or expected date for this to be out? Extremely interested!


The link doesn't quite work there. But I'd be interested in signing up.



Thanks!


Any idea what your timeline looks like? I know a lot of PragProg books do beta books occasionally.


Yeah I'm discussing with my editor now about when to put out the beta it'll be out either after we finish editing the chapter I just finished writing or the next one. So pretty soon. I hope to have the whole book finished by July but that's a bit more TBD up to how soon I finish writing the last few chapters.


Well, I'm interested and will purchase this.


I'm currently writing a book for PragProg called Building Distributed Services with Go (though it mostly applies to other languages too) that's walks you through building a distributed database from scratch. You can sign up on this mailing list to know when it's available: https://travisjeffery.us4.list-manage.com/subscribe?u=1e3ff7...


Looking forward to it. Do you have any idea when this might become a Beta book on PragProg? Cheers.


Awesome. Hopefully within a month or two.


Do you have an experience or learning along writing? (also a legit/common way)


Yeah---each chapter begins with background on the chapter's topic, some theory, covers how and where you'd use what's we're talking about in the chapter and then we use it to build a part of the project we're building throughout the book. For example, in the consensus chapter we talk about what problems it solves and how you can use it in your projects,and then we implement Raft in the service for leader election and replication.


Awesome. Just signed up. Any ideas on what the pricing will be like?


Not sure, haven't gotten to that yet. Just from looking at the prices of other PragProg books somewhere around $21.95-24.95.


Is it still worth (materialistically) writing a book considering (see PRICING section) http://fabiensanglard.net/gebbdoom/ ?


I'm not doing it for the money. Writing a worthwhile book is about the least efficient way to make money.


Not sure about how least efficient though, indirectly it will help a lot I believe.


I think the keyword is "typical." Which is probably true that the math is pretty basic at most universities and in most programs.

But you can go to schools like the University of Toronto, which is a strong math school and has very challenging programs like ASSPE1165 (https://fas.calendar.utoronto.ca/mathematics-specialist-scie...)


Most popular languages do, it seems reasonable.


First of all I think it's cool enneff read my post.

But pkg doesn't only make your import paths unwiedy. I'ts more like that's the only---or at least main---issue with pkg. But you get benefits from it that I talked about: consistent layout structure; know what directories are packages; separate your packages from examples, docs, etc. If pkg only made your import paths unwiedy then no one would use it.


Hey, I'm currently writing a book for PragProg that's going to announced soon. It's tentaively titled "Building Distributed Services with Go", and the Go part is secondary if it's not your language of choice. It guides you through building a distributed service from beginning to end. I don't have anything to point you to at the moment other than my mailing list and I'll let you know when the book is in beta: https://travisjeffery.us4.list-manage.com/subscribe?u=1e3ff7.... Thanks.


Awesome! I will subscribe!


Here's a list of prominent Go infrastructure projects and by no means a complete list: Kubernetes, Docker, Etcd, Consul (and the rest of Hashicorp's projects), CockroachDB, Prometheus, TiDB. Maybe I'm just blind to C# but I don't remember coming across a single similar project that's written in C#.


Azure, Orleans, ASP.NET, Windows,SQL Server, Bing, IIS, Kestrel,...

Yep, they aren't pure C#, still way more relevant to the world IT infrastructure than anything Go.


None of this is relevent and or even close to be as popular as the previous tools mention in Go, just k8s and Docker crush your entire list. Another very popular one is Grafana also written in Go.


In what? Only if we are talking about Github stars or Silicon Valley coffee shops.

Fortune 500 prefer to care about actual delivered business value.


I worked in two F500 compagnies both are using k8s, Docker / grafana and Go. They also use C# but not in the cloud / operations / infra world.

Go talk to some SRE team in F100 and F500 and ask them what they think about C# infra side lol.

The fact that C# was running on Windows only until 2 years ago explains why.


I only work for Fortune 500s, on project scale where license costs are a tiny drop regarding overall project costs.

Plenty them do run production servers on Windows.

You forgot there are 498 left to check.


That's a very distorted and interesting view of the software industry as a whole.


Sql server written in C#? Please. None of it.


Then better learn how to use it properly, specially .NET stored procedures, OLAP engine and SSMS.


You also have python and R stored procedures. Is it written in python?


Yes, the modules that make up the API surface for Python and R respectively.


I think saying 'written in X' != 'has API wrappers for X' .


In correct English one would state fully, completely written in X.

Modern stacks are seldom pure blood language X, thus if 5% of it is written in Y, the product is written in a mix of X and Y.

Which I also mentioned on my comment, "Yep, they aren't pure C#", naturally overseen when one intends to champion its language as "Year of Desktop Linux" on IT infrastructures.


Playing games with the commonly accepted meaning of words is a known sophism.

The Linux kernel is 0.2% of shell scripts, yet no one would say it's written in shell. Same for windows or sql server. .Net is marginal there.

Btw I do code in Go, but I mostly use go apps and enjoys their small memory footprint and ease of deployment.

I must not be the only one as I see go apps pretty much everywhere in ops teams.


Depends on what parts, entire products of the Sql server product line are in C#, like Sql Server Reporting Services for instance.

The core sql server rdbms engine is hosting the .net runtime for a few things - but there its maginal compared to C++.


Exact. It's marginal. Saying "written in .net" about sql server made the Microsoft PFEs laugh during our coffee break though.


Happy to be able to help going through the day in an happier mood.


Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: