<feed xmlns='http://www.w3.org/2005/Atom'>
<title>metronode, branch optiflate</title>
<subtitle>minecraft classic/CPE server
</subtitle>
<link rel='alternate' type='text/html' href='https://git.citrons.xyz/metronode/'/>
<entry>
<title>benchmark custom DEFLATE compressor</title>
<updated>2026-03-28T00:07:30+00:00</updated>
<author>
<name>raven</name>
<email>citrons@mondecitronne.com</email>
</author>
<published>2026-03-28T00:06:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.citrons.xyz/metronode/commit/?id=b35dec2b4625ad85c0999a4c59a2f05d4eb06d82'/>
<id>b35dec2b4625ad85c0999a4c59a2f05d4eb06d82</id>
<content type='text'>
BenchmarkNaiveGzip
    flate_test.go:47: compressed empty to 1043631 bytes
    flate_test.go:47: compressed debug to 1043939 bytes
    flate_test.go:47: compressed flat to 1043648 bytes
    flate_test.go:47: compressed sphere to 4981910 bytes
    flate_test.go:72: naive gzip compressor completed in 24.744500019s
BenchmarkDeflate
    flate_test.go:47: compressed empty to 13525844 bytes
    flate_test.go:47: compressed debug to 13526111 bytes
    flate_test.go:47: compressed flat to 13525852 bytes
    flate_test.go:47: compressed sphere to 19927269 bytes
    flate_test.go:77: custom deflate compressor completed in 546.099782ms

the standard gzip compressor is almost 40 times slower, but it requires around
a tenth of the network bandwidth. so, it would seem that, since the internet is
slower than CPUs, standard gzip wins out probably.

the custom compressor may gain an advantage if huffman trees are actually
implemented. however, I'm going to focus on other things for now.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
BenchmarkNaiveGzip
    flate_test.go:47: compressed empty to 1043631 bytes
    flate_test.go:47: compressed debug to 1043939 bytes
    flate_test.go:47: compressed flat to 1043648 bytes
    flate_test.go:47: compressed sphere to 4981910 bytes
    flate_test.go:72: naive gzip compressor completed in 24.744500019s
BenchmarkDeflate
    flate_test.go:47: compressed empty to 13525844 bytes
    flate_test.go:47: compressed debug to 13526111 bytes
    flate_test.go:47: compressed flat to 13525852 bytes
    flate_test.go:47: compressed sphere to 19927269 bytes
    flate_test.go:77: custom deflate compressor completed in 546.099782ms

the standard gzip compressor is almost 40 times slower, but it requires around
a tenth of the network bandwidth. so, it would seem that, since the internet is
slower than CPUs, standard gzip wins out probably.

the custom compressor may gain an advantage if huffman trees are actually
implemented. however, I'm going to focus on other things for now.
</pre>
</div>
</content>
</entry>
<entry>
<title>it WORKS.</title>
<updated>2026-03-27T23:32:38+00:00</updated>
<author>
<name>raven</name>
<email>citrons@mondecitronne.com</email>
</author>
<published>2026-03-27T23:21:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.citrons.xyz/metronode/commit/?id=0a56a69743bb53b57e090323364d594aa3ba70af'/>
<id>0a56a69743bb53b57e090323364d594aa3ba70af</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>initial broken attempt at implementing this idea</title>
<updated>2026-03-27T23:32:38+00:00</updated>
<author>
<name>raven</name>
<email>citrons@mondecitronne.com</email>
</author>
<published>2026-03-26T19:49:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.citrons.xyz/metronode/commit/?id=214ddf63a19d66b1ea039ea05b0f5a099f682b9d'/>
<id>214ddf63a19d66b1ea039ea05b0f5a099f682b9d</id>
<content type='text'>
it doesn't work. I may have made a silly mistake somewhere, or didn't properly
understand the RFC specification
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
it doesn't work. I may have made a silly mistake somewhere, or didn't properly
understand the RFC specification
</pre>
</div>
</content>
</entry>
<entry>
<title>split level gen functions into separate file</title>
<updated>2026-03-27T23:32:26+00:00</updated>
<author>
<name>raven</name>
<email>citrons@mondecitronne.com</email>
</author>
<published>2026-03-27T23:31:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.citrons.xyz/metronode/commit/?id=680875b5afece00a5dce5562ffafeea757c9931d'/>
<id>680875b5afece00a5dce5562ffafeea757c9931d</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>/pos command</title>
<updated>2026-03-26T19:56:18+00:00</updated>
<author>
<name>raven</name>
<email>citrons@mondecitronne.com</email>
</author>
<published>2026-03-26T19:56:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.citrons.xyz/metronode/commit/?id=609cbf280f93aec69744681a03d1d9ffdde55f59'/>
<id>609cbf280f93aec69744681a03d1d9ffdde55f59</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>reject invalid block placement</title>
<updated>2026-03-25T21:35:24+00:00</updated>
<author>
<name>raven</name>
<email>citrons@mondecitronne.com</email>
</author>
<published>2026-03-25T21:35:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.citrons.xyz/metronode/commit/?id=31853592678b1f796f18dc1ac803c0a188ec876c'/>
<id>31853592678b1f796f18dc1ac803c0a188ec876c</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>fix permissions for /unban</title>
<updated>2026-03-25T21:14:42+00:00</updated>
<author>
<name>raven</name>
<email>citrons@mondecitronne.com</email>
</author>
<published>2026-03-25T21:14:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.citrons.xyz/metronode/commit/?id=68983267c60a5a3fb8a036dbe70334f11aa60790'/>
<id>68983267c60a5a3fb8a036dbe70334f11aa60790</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>only send InventoryOrder if the client supports it</title>
<updated>2026-03-25T21:12:23+00:00</updated>
<author>
<name>raven</name>
<email>citrons@mondecitronne.com</email>
</author>
<published>2026-03-25T21:08:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.citrons.xyz/metronode/commit/?id=9c3e7206c0b54cb77341b633281fff9b13e9c731'/>
<id>9c3e7206c0b54cb77341b633281fff9b13e9c731</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>BlockPermissions</title>
<updated>2026-03-25T21:12:18+00:00</updated>
<author>
<name>raven</name>
<email>citrons@mondecitronne.com</email>
</author>
<published>2026-03-25T21:08:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.citrons.xyz/metronode/commit/?id=5130dafed153210d01388f36b440c6156ae127b8'/>
<id>5130dafed153210d01388f36b440c6156ae127b8</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>add additional packet types to packets.go</title>
<updated>2026-03-25T21:12:18+00:00</updated>
<author>
<name>raven</name>
<email>citrons@mondecitronne.com</email>
</author>
<published>2026-03-25T21:07:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.citrons.xyz/metronode/commit/?id=e9a5843ffe222baf59e1bfee15f5eb41cdc99e5b'/>
<id>e9a5843ffe222baf59e1bfee15f5eb41cdc99e5b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
