Ayende @ Rahien
follow
/blog/
Ayende @ Rahien
follow
/blog/
Hibernating Rhinos LTD
follow
http://www.hibernatingrhinos.com/
RavenDB
follow
http://ravendb.net/
nofollow
https://mvp.microsoft.com/en-us/PublicProfile/4012807
nofollow
https://dzone.com/users/750579/ayende.html
nofollow
https://mvp.microsoft.com/en-us/PublicProfile/4012807
nofollow
https://dzone.com/users/750579/ayende.html
follow
http://feeds.feedburner.com/AyendeRahien
follow
https://github.com/ayende
follow
https://twitter.com/ayende
follow
https://www.facebook.com/pages/RavenDB/265907650186374
follow
https://www.linkedin.com/in/ravendb
Privacy Policy
follow
/blog/privacy-policy
architecture
follow
/blog/tags/architecture
rss
follow
/blog/rss/architecture
bugs
follow
/blog/tags/bugs
rss
follow
/blog/rss/bugs
challanges
follow
/blog/tags/challanges
rss
follow
/blog/rss/challanges
community
follow
/blog/tags/community
rss
follow
/blog/rss/community
databases
follow
/blog/tags/databases
rss
follow
/blog/rss/databases
design
follow
/blog/tags/design
rss
follow
/blog/rss/design
development
follow
/blog/tags/development
rss
follow
/blog/rss/development
hibernating-practices
follow
/blog/tags/hibernating-practices
rss
follow
/blog/rss/hibernating-practices
miscellaneous
follow
/blog/tags/miscellaneous
rss
follow
/blog/rss/miscellaneous
performance
follow
/blog/tags/performance
rss
follow
/blog/rss/performance
programming
follow
/blog/tags/programming
rss
follow
/blog/rss/programming
raven
follow
/blog/tags/raven
rss
follow
/blog/rss/raven
ravendb.net
follow
/blog/tags/ravendb-net
rss
follow
/blog/rss/ravendb-net
reviews
follow
/blog/tags/reviews
rss
follow
/blog/rss/reviews
uberprof
follow
/blog/tags/uberprof
rss
follow
/blog/rss/uberprof
October
follow
/blog/archive/2021/10
September
follow
/blog/archive/2021/9
August
follow
/blog/archive/2021/8
July
follow
/blog/archive/2021/7
June
follow
/blog/archive/2021/6
May
follow
/blog/archive/2021/5
April
follow
/blog/archive/2021/4
March
follow
/blog/archive/2021/3
February
follow
/blog/archive/2021/2
January
follow
/blog/archive/2021/1
December
follow
/blog/archive/2020/12
November
follow
/blog/archive/2020/11
October
follow
/blog/archive/2020/10
September
follow
/blog/archive/2020/9
August
follow
/blog/archive/2020/8
July
follow
/blog/archive/2020/7
June
follow
/blog/archive/2020/6
May
follow
/blog/archive/2020/5
April
follow
/blog/archive/2020/4
March
follow
/blog/archive/2020/3
February
follow
/blog/archive/2020/2
January
follow
/blog/archive/2020/1
December
follow
/blog/archive/2019/12
November
follow
/blog/archive/2019/11
October
follow
/blog/archive/2019/10
September
follow
/blog/archive/2019/9
August
follow
/blog/archive/2019/8
July
follow
/blog/archive/2019/7
June
follow
/blog/archive/2019/6
May
follow
/blog/archive/2019/5
April
follow
/blog/archive/2019/4
March
follow
/blog/archive/2019/3
February
follow
/blog/archive/2019/2
January
follow
/blog/archive/2019/1
December
follow
/blog/archive/2018/12
November
follow
/blog/archive/2018/11
October
follow
/blog/archive/2018/10
September
follow
/blog/archive/2018/9
August
follow
/blog/archive/2018/8
July
follow
/blog/archive/2018/7
June
follow
/blog/archive/2018/6
May
follow
/blog/archive/2018/5
April
follow
/blog/archive/2018/4
March
follow
/blog/archive/2018/3
February
follow
/blog/archive/2018/2
January
follow
/blog/archive/2018/1
December
follow
/blog/archive/2017/12
November
follow
/blog/archive/2017/11
October
follow
/blog/archive/2017/10
September
follow
/blog/archive/2017/9
August
follow
/blog/archive/2017/8
July
follow
/blog/archive/2017/7
June
follow
/blog/archive/2017/6
May
follow
/blog/archive/2017/5
April
follow
/blog/archive/2017/4
March
follow
/blog/archive/2017/3
February
follow
/blog/archive/2017/2
January
follow
/blog/archive/2017/1
December
follow
/blog/archive/2016/12
November
follow
/blog/archive/2016/11
October
follow
/blog/archive/2016/10
September
follow
/blog/archive/2016/9
August
follow
/blog/archive/2016/8
July
follow
/blog/archive/2016/7
June
follow
/blog/archive/2016/6
May
follow
/blog/archive/2016/5
April
follow
/blog/archive/2016/4
March
follow
/blog/archive/2016/3
February
follow
/blog/archive/2016/2
January
follow
/blog/archive/2016/1
December
follow
/blog/archive/2015/12
November
follow
/blog/archive/2015/11
October
follow
/blog/archive/2015/10
September
follow
/blog/archive/2015/9
August
follow
/blog/archive/2015/8
July
follow
/blog/archive/2015/7
June
follow
/blog/archive/2015/6
May
follow
/blog/archive/2015/5
April
follow
/blog/archive/2015/4
March
follow
/blog/archive/2015/3
February
follow
/blog/archive/2015/2
January
follow
/blog/archive/2015/1
December
follow
/blog/archive/2014/12
November
follow
/blog/archive/2014/11
October
follow
/blog/archive/2014/10
September
follow
/blog/archive/2014/9
August
follow
/blog/archive/2014/8
July
follow
/blog/archive/2014/7
June
follow
/blog/archive/2014/6
May
follow
/blog/archive/2014/5
April
follow
/blog/archive/2014/4
March
follow
/blog/archive/2014/3
February
follow
/blog/archive/2014/2
January
follow
/blog/archive/2014/1
December
follow
/blog/archive/2013/12
November
follow
/blog/archive/2013/11
October
follow
/blog/archive/2013/10
September
follow
/blog/archive/2013/9
August
follow
/blog/archive/2013/8
July
follow
/blog/archive/2013/7
June
follow
/blog/archive/2013/6
May
follow
/blog/archive/2013/5
April
follow
/blog/archive/2013/4
March
follow
/blog/archive/2013/3
February
follow
/blog/archive/2013/2
January
follow
/blog/archive/2013/1
December
follow
/blog/archive/2012/12
November
follow
/blog/archive/2012/11
October
follow
/blog/archive/2012/10
September
follow
/blog/archive/2012/9
August
follow
/blog/archive/2012/8
July
follow
/blog/archive/2012/7
June
follow
/blog/archive/2012/6
May
follow
/blog/archive/2012/5
April
follow
/blog/archive/2012/4
March
follow
/blog/archive/2012/3
February
follow
/blog/archive/2012/2
January
follow
/blog/archive/2012/1
December
follow
/blog/archive/2011/12
November
follow
/blog/archive/2011/11
October
follow
/blog/archive/2011/10
September
follow
/blog/archive/2011/9
August
follow
/blog/archive/2011/8
July
follow
/blog/archive/2011/7
June
follow
/blog/archive/2011/6
May
follow
/blog/archive/2011/5
April
follow
/blog/archive/2011/4
March
follow
/blog/archive/2011/3
February
follow
/blog/archive/2011/2
January
follow
/blog/archive/2011/1
December
follow
/blog/archive/2010/12
November
follow
/blog/archive/2010/11
October
follow
/blog/archive/2010/10
September
follow
/blog/archive/2010/9
August
follow
/blog/archive/2010/8
July
follow
/blog/archive/2010/7
June
follow
/blog/archive/2010/6
May
follow
/blog/archive/2010/5
April
follow
/blog/archive/2010/4
March
follow
/blog/archive/2010/3
February
follow
/blog/archive/2010/2
January
follow
/blog/archive/2010/1
December
follow
/blog/archive/2009/12
November
follow
/blog/archive/2009/11
October
follow
/blog/archive/2009/10
September
follow
/blog/archive/2009/9
August
follow
/blog/archive/2009/8
July
follow
/blog/archive/2009/7
June
follow
/blog/archive/2009/6
May
follow
/blog/archive/2009/5
April
follow
/blog/archive/2009/4
March
follow
/blog/archive/2009/3
February
follow
/blog/archive/2009/2
January
follow
/blog/archive/2009/1
December
follow
/blog/archive/2008/12
November
follow
/blog/archive/2008/11
October
follow
/blog/archive/2008/10
September
follow
/blog/archive/2008/9
August
follow
/blog/archive/2008/8
July
follow
/blog/archive/2008/7
June
follow
/blog/archive/2008/6
May
follow
/blog/archive/2008/5
April
follow
/blog/archive/2008/4
March
follow
/blog/archive/2008/3
February
follow
/blog/archive/2008/2
January
follow
/blog/archive/2008/1
December
follow
/blog/archive/2007/12
November
follow
/blog/archive/2007/11
October
follow
/blog/archive/2007/10
September
follow
/blog/archive/2007/9
August
follow
/blog/archive/2007/8
July
follow
/blog/archive/2007/7
June
follow
/blog/archive/2007/6
May
follow
/blog/archive/2007/5
April
follow
/blog/archive/2007/4
March
follow
/blog/archive/2007/3
February
follow
/blog/archive/2007/2
January
follow
/blog/archive/2007/1
December
follow
/blog/archive/2006/12
November
follow
/blog/archive/2006/11
October
follow
/blog/archive/2006/10
September
follow
/blog/archive/2006/9
August
follow
/blog/archive/2006/8
July
follow
/blog/archive/2006/7
June
follow
/blog/archive/2006/6
May
follow
/blog/archive/2006/5
April
follow
/blog/archive/2006/4
March
follow
/blog/archive/2006/3
February
follow
/blog/archive/2006/2
January
follow
/blog/archive/2006/1
December
follow
/blog/archive/2005/12
November
follow
/blog/archive/2005/11
October
follow
/blog/archive/2005/10
September
follow
/blog/archive/2005/9
August
follow
/blog/archive/2005/8
July
follow
/blog/archive/2005/7
June
follow
/blog/archive/2005/6
May
follow
/blog/archive/2005/5
April
follow
/blog/archive/2005/4
March
follow
/blog/archive/2005/3
February
follow
/blog/archive/2005/2
January
follow
/blog/archive/2005/1
December
follow
/blog/archive/2004/12
November
follow
/blog/archive/2004/11
October
follow
/blog/archive/2004/10
September
follow
/blog/archive/2004/9
April
follow
/blog/archive/2004/4
follow
https://ravendb.net
Heisenbug: The concurrent exception in the transaction that will only occur if you observe it
follow
/blog/195105-B/heisenbug-the-concurrent-exception-in-the-transaction-that-will-only-occur-if-you-observe-it
Tweet
follow
http://twitter.com/intent/tweet?status=Heisenbug: The concurrent exception in the transaction that will only occur if you observe it+https://ayende.com:443/blog/195105-B/heisenbug-the-concurrent-exception-in-the-transaction-that-will-only-occur-if-you-observe-it via @ayende
Share
follow
javascript: void(0)
Share
follow
javascript: void(0)
0 comments
follow
/blog/195105-B/heisenbug-the-concurrent-exception-in-the-transaction-that-will-only-occur-if-you-observe-it#comments
bugs
follow
/blog/tags/bugs
databases
follow
/blog/tags/databases
ravendb.net
follow
/blog/tags/ravendb-net
raven
follow
/blog/tags/raven
follow
https://ayende.com/blog/Images/Open-Live-Writer/Heisenbug-The-concurrent-exception-in-th_7B5A/image_4.png
read more ›
follow
/blog/195105-B/heisenbug-the-concurrent-exception-in-the-transaction-that-will-only-occur-if-you-observe-it
Negative feature response: Automatic attachment compression in RavenDB
follow
/blog/195073-C/negative-feature-response-automatic-attachment-compression-in-ravendb
Tweet
follow
http://twitter.com/intent/tweet?status=Negative feature response: Automatic attachment compression in RavenDB+https://ayende.com:443/blog/195073-C/negative-feature-response-automatic-attachment-compression-in-ravendb via @ayende
Share
follow
javascript: void(0)
Share
follow
javascript: void(0)
6 comments
follow
/blog/195073-C/negative-feature-response-automatic-attachment-compression-in-ravendb#comments
databases
follow
/blog/tags/databases
design
follow
/blog/tags/design
raven
follow
/blog/tags/raven
ravendb.net
follow
/blog/tags/ravendb-net
previous post
follow
https://ayende.com/blog/195009-C/when-you-want-to-store-index-and-search-mbs-of-text-inside-of-ravendb?key=b311d21e-f49b-428b-a4de-fe9880e3472b#comments-form-location
read more ›
follow
/blog/195073-C/negative-feature-response-automatic-attachment-compression-in-ravendb
When the error is byzantine
follow
/blog/195042-C/when-the-error-is-byzantine
Tweet
follow
http://twitter.com/intent/tweet?status=When the error is byzantine+https://ayende.com:443/blog/195042-C/when-the-error-is-byzantine via @ayende
Share
follow
javascript: void(0)
Share
follow
javascript: void(0)
0 comments
follow
/blog/195042-C/when-the-error-is-byzantine#comments
bugs
follow
/blog/tags/bugs
databases
follow
/blog/tags/databases
ravendb.net
follow
/blog/tags/ravendb-net
raven
follow
/blog/tags/raven
design
follow
/blog/tags/design
a hardware issue
follow
https://www.usenix.org/system/files/conference/osdi14/osdi14-paper-yuan.pdf
read more ›
follow
/blog/195042-C/when-the-error-is-byzantine
Finding a bug with code that isn’t there
follow
/blog/195041-C/finding-a-bug-with-code-that-isnt-there
Tweet
follow
http://twitter.com/intent/tweet?status=Finding a bug with code that isn’t there+https://ayende.com:443/blog/195041-C/finding-a-bug-with-code-that-isnt-there via @ayende
Share
follow
javascript: void(0)
Share
follow
javascript: void(0)
1 comments
follow
/blog/195041-C/finding-a-bug-with-code-that-isnt-there#comments
bugs
follow
/blog/tags/bugs
databases
follow
/blog/tags/databases
ravendb.net
follow
/blog/tags/ravendb-net
raven
follow
/blog/tags/raven
programming
follow
/blog/tags/programming
the relevant piece of code
follow
https://github.com/ravendb/ravendb/blob/9bf5578d58acd59d9a731eedf3edb838bc40017c/src/Raven.Server/Documents/ETL/Providers/SQL/RelationalWriters/RelationalDatabaseWriter.cs#L427-L436
follow
https://ayende.com/blog/Images/Open-Live-Writer/The-little-bug_916C/image_2.png
follow
https://ayende.com/blog/Images/Open-Live-Writer/The-little-bug_916C/image_4.png
follow
https://ayende.com/blog/Images/Open-Live-Writer/The-little-bug_916C/image_6.png
follow
https://ayende.com/blog/Images/Open-Live-Writer/The-little-bug_916C/image_8.png
read more ›
follow
/blog/195041-C/finding-a-bug-with-code-that-isnt-there
When you want to store, index and search MBs of text inside of RavenDB
follow
/blog/195009-C/when-you-want-to-store-index-and-search-mbs-of-text-inside-of-ravendb
Tweet
follow
http://twitter.com/intent/tweet?status=When you want to store, index and search MBs of text inside of RavenDB+https://ayende.com:443/blog/195009-C/when-you-want-to-store-index-and-search-mbs-of-text-inside-of-ravendb via @ayende
Share
follow
javascript: void(0)
Share
follow
javascript: void(0)
8 comments
follow
/blog/195009-C/when-you-want-to-store-index-and-search-mbs-of-text-inside-of-ravendb#comments
raven
follow
/blog/tags/raven
ravendb.net
follow
/blog/tags/ravendb-net
programming
follow
/blog/tags/programming
performance
follow
/blog/tags/performance
follow
https://ayende.com/blog/Images/Open-Live-Writer/When-you-want-to-store-index-and-search-_95BF/image_11.png
the size of the book
follow
https://www.gutenberg.org/ebooks/42671
follow
https://ayende.com/blog/Images/Open-Live-Writer/When-you-want-to-store-index-and-search-_95BF/image_6.png
follow
https://ayende.com/blog/Images/Open-Live-Writer/When-you-want-to-store-index-and-search-_95BF/image_8.png
follow
https://ayende.com/blog/Images/Open-Live-Writer/When-you-want-to-store-index-and-search-_95BF/image_21.png
that scenario explicitly
follow
https://ravendb.net/docs/article-page/5.1/csharp/document-extensions/attachments/indexing#indexes-with--1
follow
https://ayende.com/blog/Images/Open-Live-Writer/When-you-want-to-store-index-and-search-_95BF/image_17.png
follow
https://ayende.com/blog/Images/Open-Live-Writer/When-you-want-to-store-index-and-search-_95BF/image_19.png
follow
https://ayende.com/blog/Images/Open-Live-Writer/When-you-want-to-store-index-and-search-_95BF/image_23.png
follow
https://ayende.com/blog/Images/Open-Live-Writer/When-you-want-to-store-index-and-search-_95BF/image_27.png
follow
https://ayende.com/blog/Images/Open-Live-Writer/When-you-want-to-store-index-and-search-_95BF/image_32.png
follow
https://ayende.com/blog/Images/Open-Live-Writer/When-you-want-to-store-index-and-search-_95BF/image_34.png
follow
https://ayende.com/blog/Images/Open-Live-Writer/When-you-want-to-store-index-and-search-_95BF/image_36.png
read more ›
follow
/blog/195009-C/when-you-want-to-store-index-and-search-mbs-of-text-inside-of-ravendb
A PKI-less secure communication channelUsing TLS
follow
/blog/194977-A/a-pki-less-secure-communication-channel-using-tls
Tweet
follow
http://twitter.com/intent/tweet?status=A PKI-less secure communication channel: Using TLS+https://ayende.com:443/blog/194977-A/a-pki-less-secure-communication-channel-using-tls via @ayende
Share
follow
javascript: void(0)
Share
follow
javascript: void(0)
7 comments
follow
/blog/194977-A/a-pki-less-secure-communication-channel-using-tls#comments
architecture
follow
/blog/tags/architecture
design
follow
/blog/tags/design
ravendb.net
follow
/blog/tags/ravendb-net
programming
follow
/blog/tags/programming
CertificateRequest
follow
https://docs.microsoft.com/en-us/dotnet/api/system.security.cryptography.x509certificates.certificaterequest?view=net-5.0
the code here
follow
https://gist.github.com/ayende/a66a62d30c9b26468ed1ee1d91efb9d7
follow
https://ayende.com/blog/Images/Open-Live-Writer/A-PKI-less-secure-communication-channel_1312E/image_2.png
from this issue
follow
https://github.com/dotnet/runtime/issues/58439
code to generate the Ed25519 certificates
follow
https://gist.github.com/ayende/a66a62d30c9b26468ed1ee1d91efb9d7
read more ›
follow
/blog/194977-A/a-pki-less-secure-communication-channel-using-tls
Performance architecture talk
follow
/blog/194945-A/performance-architecture-talk
Tweet
follow
http://twitter.com/intent/tweet?status=Performance architecture talk+https://ayende.com:443/blog/194945-A/performance-architecture-talk via @ayende
Share
follow
javascript: void(0)
Share
follow
javascript: void(0)
0 comments
follow
/blog/194945-A/performance-architecture-talk#comments
architecture
follow
/blog/tags/architecture
community
follow
/blog/tags/community
read more ›
follow
/blog/194945-A/performance-architecture-talk
A PKI-less secure communication channelError handling at the protocol level
follow
/blog/194913-A/a-pki-less-secure-communication-channel-error-handling-at-the-protocol-level
Tweet
follow
http://twitter.com/intent/tweet?status=A PKI-less secure communication channel: Error handling at the protocol level+https://ayende.com:443/blog/194913-A/a-pki-less-secure-communication-channel-error-handling-at-the-protocol-level via @ayende
Share
follow
javascript: void(0)
Share
follow
javascript: void(0)
0 comments
follow
/blog/194913-A/a-pki-less-secure-communication-channel-error-handling-at-the-protocol-level#comments
ravendb.net
follow
/blog/tags/ravendb-net
programming
follow
/blog/tags/programming
architecture
follow
/blog/tags/architecture
design
follow
/blog/tags/design
read more ›
follow
/blog/194913-A/a-pki-less-secure-communication-channel-error-handling-at-the-protocol-level
A PKI-less secure communication channelImplementing the record stream
follow
/blog/194882-A/a-pki-less-secure-communication-channel-implementing-the-record-stream
Tweet
follow
http://twitter.com/intent/tweet?status=A PKI-less secure communication channel: Implementing the record stream+https://ayende.com:443/blog/194882-A/a-pki-less-secure-communication-channel-implementing-the-record-stream via @ayende
Share
follow
javascript: void(0)
Share
follow
javascript: void(0)
0 comments
follow
/blog/194882-A/a-pki-less-secure-communication-channel-implementing-the-record-stream#comments
architecture
follow
/blog/tags/architecture
design
follow
/blog/tags/design
programming
follow
/blog/tags/programming
ravendb.net
follow
/blog/tags/ravendb-net
mentioned earlier
follow
https://ayende.com/blog/194849-B/a-pki-less-secure-communication-channel-the-record-layer?key=345c5c12536045bc88b6b1048a13ebd3
the actual code
follow
https://github.com/ayende/pki-less-tls
read more ›
follow
/blog/194882-A/a-pki-less-secure-communication-channel-implementing-the-record-stream
A PKI-less secure communication channelCoding the handshake
follow
/blog/194881-A/a-pki-less-secure-communication-channel-coding-the-handshake
Tweet
follow
http://twitter.com/intent/tweet?status=A PKI-less secure communication channel: Coding the handshake+https://ayende.com:443/blog/194881-A/a-pki-less-secure-communication-channel-coding-the-handshake via @ayende
Share
follow
javascript: void(0)
Share
follow
javascript: void(0)
0 comments
follow
/blog/194881-A/a-pki-less-secure-communication-channel-coding-the-handshake#comments
architecture
follow
/blog/tags/architecture
design
follow
/blog/tags/design
development
follow
/blog/tags/development
programming
follow
/blog/tags/programming
ravendb.net
follow
/blog/tags/ravendb-net
the handshake I outlined here
follow
https://ayende.com/blog/194819-B/a-pki-less-secure-communication-channel-design
follow
https://ayende.com/blog/Images/Open-Live-Writer/A-PKI-less-secure-communication-channel-_13150/pki_2.png
full source code here
follow
https://github.com/ayende/pki-less-tls
read more ›
follow
/blog/194881-A/a-pki-less-secure-communication-channel-coding-the-handshake
A PKI-less secure communication channel
follow
/blog/posts/series/194819-B/a-pki-less-secure-communication-channel
Postmortem
follow
/blog/posts/series/194177-A/postmortem
Production postmortem
follow
/blog/posts/series/171074/production-postmortem
RavenDB 5.2
follow
/blog/posts/series/194145-A/ravendb-5-2
re
follow
/blog/posts/series/156129/re
View all series
follow
/blog/posts/series
Steve,Awesome that this is that easy to integrate.
follow
/blog/195073-C/negative-feature-response-automatic-attachment-compression-in-ravendb#comment6
We just added 2 extension methods to IAttachmentsSessionOperations to StoreGzipped/TryGetGzipped for the (very) few cases whe...
follow
/blog/195073-C/negative-feature-response-automatic-attachment-compression-in-ravendb#comment5
Sure, it wouldn"t be much helpful if it would just locally compress the attachment - what I meant is that by `EligibleForComp...
follow
/blog/195073-C/negative-feature-response-automatic-attachment-compression-in-ravendb#comment4
Milosz,Yes, technically speaking you can re-use document compression in RavenDB to do cross text compression. Not somethi...
follow
/blog/195073-C/negative-feature-response-automatic-attachment-compression-in-ravendb#comment3
Sorry, I forgot to clarify that hypothetical `EligibleForCompression` property would be set by user when storing an attachment.
follow
/blog/195073-C/negative-feature-response-automatic-attachment-compression-in-ravendb#comment2
follow
https://feeds.feedburner.com/AyendeRahien
follow
https://feeds.feedburner.com/ayende/coments