HackerTrans
TopNewTrendsCommentsPastAskShowJobs

simonz05

no profile record

Submissions

An Introduction to Zig

pedropark99.github.io
4 points·by simonz05·2 jaar geleden·0 comments

More Modern B-Tree Techniques

nowpublishers.com
3 points·by simonz05·2 jaar geleden·0 comments

Can You Do Both: Fast Scans and Fast Writes in a Single System?

cedardb.com
2 points·by simonz05·2 jaar geleden·0 comments

Encore AI API Creator

encore.dev
1 points·by simonz05·2 jaar geleden·0 comments

Serverless Runtime / Database Co-Design with Asynchronous I/O

twitter.com
2 points·by simonz05·2 jaar geleden·1 comments

Debug Go Request Latency with Datadog's Profiling Timeline

blog.felixge.de
1 points·by simonz05·3 jaar geleden·0 comments

Ghostty Devlog 002

mitchellh.com
1 points·by simonz05·3 jaar geleden·0 comments

comments

simonz05
·2 jaar geleden·discuss
This type of runtime type checking is quite common in Go. An example from bufio.Reader's WriteTo method:

  // WriteTo implements io.WriterTo.
  // This may make multiple calls to the [Reader.Read] method of the underlying [Reader].
  // If the underlying reader supports the [Reader.WriteTo] method,
  // this calls the underlying [Reader.WriteTo] without buffering.
  func (b *Reader) WriteTo(w io.Writer) (n int64, err error) {
   b.lastByte = -1
   b.lastRuneSize = -1
  
   n, err = b.writeBuf(w)
   if err != nil {
    return
   }
  
   if r, ok := b.rd.(io.WriterTo); ok {
    m, err := r.WriteTo(w)
    n += m
    return n, err
   }
  
   if w, ok := w.(io.ReaderFrom); ok {
    m, err := w.ReadFrom(b.rd)
    n += m
    return n, err
   }
  
   if b.w-b.r < len(b.buf) {
    b.fill() // buffer not full
   }
  
   for b.r < b.w {
    // b.r < b.w => buffer is not empty
    m, err := b.writeBuf(w)
    n += m
    if err != nil {
     return n, err
    }
    b.fill() // buffer is empty
   }
  
   if b.err == io.EOF {
    b.err = nil
   }
  
   return n, b.readErr()
  }
simonz05
·2 jaar geleden·discuss
We recently went through a similar situation at a logistics company in Europe. We decided to bring software development in-house after facing similar frustrations with a third-party provider. It was a challenging process, especially in attracting talent, but ultimately, it allowed us to build a solution tailored to our needs.

I’ve been with the company for the past 4 years, working as a lead software engineer. If you’re interested, my contact details are in my profile, and I’m happy to setup a call
simonz05
·2 jaar geleden·discuss
I understand and respect your perspective on Austin and Cherry’s involvement in the Go community. Their contributions may indeed be less visible but still impactful. However, the community’s perception of leadership is crucial, and visibility plays a big part in that. For instance your long form blog adds context to decisions you’ve taken in the past. I hope their active roles will become more apparent, fostering a stronger connection with the broader Go community.
simonz05
·2 jaar geleden·discuss
https://www.youtube.com/watch?v=wwoWei-GAPo — Project has come a long way since this. Happy that it's still around and thriving. I don't think we expected that in 2009. I don't believe Go would have been where it is without Russ. His contribution to the project has been tremendous.

Thanks Russ.
simonz05
·2 jaar geleden·discuss
> I'd also like to see less google control of the project.

That doesn't look like is going to happen — the leadership change announced here seems to me to continue on the Google path. Both Austin and Cherry are relatively unknown outside Google and are to my knowledge not active in the community outside Google.
simonz05
·2 jaar geleden·discuss
I cannot remember (or find) where I signed up for updates, but I get an email every 6 months (or so) from Lorenzo Stoakes personal email. Probably just send him an e-mail and he'll add you to his list.
simonz05
·2 jaar geleden·discuss
See also The Linux Memory Manager: https://linuxmemory.org/chapters Last update the author sent out was in early July noting that the book is now in editing:

> I am happy to report that I have completed the first draft of the book [...] > I am now in an editing phase, which may well take some time. Sadly I can't give a reasonable estimate as this will be done in concert with my publisher.
simonz05
·2 jaar geleden·discuss
In this X thead Joran comments how it all started with a HN comment back in 2019. https://x.com/jorandirkgreef/status/1815702485190774957
simonz05
·2 jaar geleden·discuss
Lsm trees also need a log, right?
simonz05
·2 jaar geleden·discuss
The paper is inspired by a hacker news comment: https://x.com/andy_pavlo/status/1807799839616614856
simonz05
·2 jaar geleden·discuss
In-process database like SQLite is the holy grail for low-latency database access on the edge. However, the synchronous I/O is holding it back, but how does in-process database look like with asynchronous I/O?
simonz05
·3 jaar geleden·discuss
Felix Geisendörfer did a bunch of work to improve continuous profiling performance [1].

[1]: https://blog.felixge.de/waiting-for-go1-21-execution-tracing...
simonz05
·3 jaar geleden·discuss
Paul, impressive work on the rewrite.

Can you shed light on the biggest challenges and steps you (and the team) took to overcome them to succeed with the rewrite? We often hear about how major rewrites can fail or be massively delayed, but you seem to have succeeded.