3857 lines
178 KiB
HTML
3857 lines
178 KiB
HTML
<!DOCTYPE html>
|
|
<html dir='ltr' xmlns='http://www.w3.org/1999/xhtml' xmlns:b='http://www.google.com/2005/gml/b' xmlns:data='http://www.google.com/2005/gml/data' xmlns:expr='http://www.google.com/2005/gml/expr'>
|
|
<head>
|
|
<meta content='width=device-width, initial-scale=1' name='viewport'/>
|
|
<title>Analyzing Metastable Failures in Distributed Systems</title>
|
|
<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
|
|
<!-- Chrome, Firefox OS and Opera -->
|
|
<meta content='#eeeeee' name='theme-color'/>
|
|
<!-- Windows Phone -->
|
|
<meta content='#eeeeee' name='msapplication-navbutton-color'/>
|
|
<meta content='blogger' name='generator'/>
|
|
<link href='https://muratbuffalo.blogspot.com/favicon.ico' rel='icon' type='image/x-icon'/>
|
|
<link href='http://muratbuffalo.blogspot.com/2025/06/analyzing-metastable-failures-in.html' rel='canonical'/>
|
|
<link rel="alternate" type="application/atom+xml" title="Metadata - Atom" href="https://muratbuffalo.blogspot.com/feeds/posts/default" />
|
|
<link rel="alternate" type="application/rss+xml" title="Metadata - RSS" href="https://muratbuffalo.blogspot.com/feeds/posts/default?alt=rss" />
|
|
<link rel="service.post" type="application/atom+xml" title="Metadata - Atom" href="https://draft.blogger.com/feeds/8436330762136344379/posts/default" />
|
|
|
|
<link rel="alternate" type="application/atom+xml" title="Metadata - Atom" href="https://muratbuffalo.blogspot.com/feeds/8397392905980257359/comments/default" />
|
|
<!--Can't find substitution for tag [blog.ieCssRetrofitLinks]-->
|
|
<link href='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCunDyknolwDduldWxvDQJI-UpUXLRneWkPsgsX80tcGEPcLNvHCKItO4kH1Po-aVXSeHwu3XMtD0CWUFOGJo7bn9tItDIp6lKx4GHSiJRo4_1PJIJ6ffNMhRhiI_70QtlJYYM9wG7ObTA8yU50dh3MxgHIG3cs0O2KAU4UULbX0MMqBKplaA-D6i52lY/w400-h243/Screenshot%202025-06-05%20at%201.45.47%E2%80%AFPM.png' rel='image_src'/>
|
|
<meta content='http://muratbuffalo.blogspot.com/2025/06/analyzing-metastable-failures-in.html' property='og:url'/>
|
|
<meta content='Analyzing Metastable Failures in Distributed Systems' property='og:title'/>
|
|
<meta content='So it goes: your system is purring like a tiger, devouring requests, until, without warning, it slumps into existential dread. Not a crash. ...' property='og:description'/>
|
|
<meta content='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCunDyknolwDduldWxvDQJI-UpUXLRneWkPsgsX80tcGEPcLNvHCKItO4kH1Po-aVXSeHwu3XMtD0CWUFOGJo7bn9tItDIp6lKx4GHSiJRo4_1PJIJ6ffNMhRhiI_70QtlJYYM9wG7ObTA8yU50dh3MxgHIG3cs0O2KAU4UULbX0MMqBKplaA-D6i52lY/w1200-h630-p-k-no-nu/Screenshot%202025-06-05%20at%201.45.47%E2%80%AFPM.png' property='og:image'/>
|
|
<style type='text/css'>@font-face{font-family:'Damion';font-style:normal;font-weight:400;font-display:swap;src:url(//fonts.gstatic.com/s/damion/v15/hv-XlzJ3KEUe_YZkZGw2EzJwV9J-.woff2)format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}@font-face{font-family:'Damion';font-style:normal;font-weight:400;font-display:swap;src:url(//fonts.gstatic.com/s/damion/v15/hv-XlzJ3KEUe_YZkamw2EzJwVw.woff2)format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}@font-face{font-family:'Playfair Display';font-style:normal;font-weight:900;font-display:swap;src:url(//fonts.gstatic.com/s/playfairdisplay/v40/nuFvD-vYSZviVYUb_rj3ij__anPXJzDwcbmjWBN2PKfsunDTbtPK-F2qC0usEw.woff2)format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}@font-face{font-family:'Playfair Display';font-style:normal;font-weight:900;font-display:swap;src:url(//fonts.gstatic.com/s/playfairdisplay/v40/nuFvD-vYSZviVYUb_rj3ij__anPXJzDwcbmjWBN2PKfsunDYbtPK-F2qC0usEw.woff2)format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;}@font-face{font-family:'Playfair Display';font-style:normal;font-weight:900;font-display:swap;src:url(//fonts.gstatic.com/s/playfairdisplay/v40/nuFvD-vYSZviVYUb_rj3ij__anPXJzDwcbmjWBN2PKfsunDZbtPK-F2qC0usEw.woff2)format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}@font-face{font-family:'Playfair Display';font-style:normal;font-weight:900;font-display:swap;src:url(//fonts.gstatic.com/s/playfairdisplay/v40/nuFvD-vYSZviVYUb_rj3ij__anPXJzDwcbmjWBN2PKfsunDXbtPK-F2qC0s.woff2)format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}@font-face{font-family:'Roboto';font-style:italic;font-weight:300;font-stretch:100%;font-display:swap;src:url(//fonts.gstatic.com/s/roboto/v51/KFOKCnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmOClHrs6ljXfMMLt_QuAX-k3Yi128m0kN2.woff2)format('woff2');unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;}@font-face{font-family:'Roboto';font-style:italic;font-weight:300;font-stretch:100%;font-display:swap;src:url(//fonts.gstatic.com/s/roboto/v51/KFOKCnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmOClHrs6ljXfMMLt_QuAz-k3Yi128m0kN2.woff2)format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}@font-face{font-family:'Roboto';font-style:italic;font-weight:300;font-stretch:100%;font-display:swap;src:url(//fonts.gstatic.com/s/roboto/v51/KFOKCnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmOClHrs6ljXfMMLt_QuAT-k3Yi128m0kN2.woff2)format('woff2');unicode-range:U+1F00-1FFF;}@font-face{font-family:'Roboto';font-style:italic;font-weight:300;font-stretch:100%;font-display:swap;src:url(//fonts.gstatic.com/s/roboto/v51/KFOKCnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmOClHrs6ljXfMMLt_QuAv-k3Yi128m0kN2.woff2)format('woff2');unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;}@font-face{font-family:'Roboto';font-style:italic;font-weight:300;font-stretch:100%;font-display:swap;src:url(//fonts.gstatic.com/s/roboto/v51/KFOKCnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmOClHrs6ljXfMMLt_QuHT-k3Yi128m0kN2.woff2)format('woff2');unicode-range:U+0302-0303,U+0305,U+0307-0308,U+0310,U+0312,U+0315,U+031A,U+0326-0327,U+032C,U+032F-0330,U+0332-0333,U+0338,U+033A,U+0346,U+034D,U+0391-03A1,U+03A3-03A9,U+03B1-03C9,U+03D1,U+03D5-03D6,U+03F0-03F1,U+03F4-03F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE00-1EEFF;}@font-face{font-family:'Roboto';font-style:italic;font-weight:300;font-stretch:100%;font-display:swap;src:url(//fonts.gstatic.com/s/roboto/v51/KFOKCnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmOClHrs6ljXfMMLt_QuGb-k3Yi128m0kN2.woff2)format('woff2');unicode-range:U+0001-000C,U+000E-001F,U+007F-009F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+2800-28FF,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B00-2BFF,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F000-1F0FF,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F700-1F7FF,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB00-1FBFF;}@font-face{font-family:'Roboto';font-style:italic;font-weight:300;font-stretch:100%;font-display:swap;src:url(//fonts.gstatic.com/s/roboto/v51/KFOKCnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmOClHrs6ljXfMMLt_QuAf-k3Yi128m0kN2.woff2)format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;}@font-face{font-family:'Roboto';font-style:italic;font-weight:300;font-stretch:100%;font-display:swap;src:url(//fonts.gstatic.com/s/roboto/v51/KFOKCnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmOClHrs6ljXfMMLt_QuAb-k3Yi128m0kN2.woff2)format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}@font-face{font-family:'Roboto';font-style:italic;font-weight:300;font-stretch:100%;font-display:swap;src:url(//fonts.gstatic.com/s/roboto/v51/KFOKCnqEu92Fr1Mu53ZEC9_Vu3r1gIhOszmOClHrs6ljXfMMLt_QuAj-k3Yi128m0g.woff2)format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}@font-face{font-family:'Roboto';font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(//fonts.gstatic.com/s/roboto/v51/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3GUBHMdazTgWw.woff2)format('woff2');unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;}@font-face{font-family:'Roboto';font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(//fonts.gstatic.com/s/roboto/v51/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3iUBHMdazTgWw.woff2)format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}@font-face{font-family:'Roboto';font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(//fonts.gstatic.com/s/roboto/v51/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3CUBHMdazTgWw.woff2)format('woff2');unicode-range:U+1F00-1FFF;}@font-face{font-family:'Roboto';font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(//fonts.gstatic.com/s/roboto/v51/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3-UBHMdazTgWw.woff2)format('woff2');unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;}@font-face{font-family:'Roboto';font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(//fonts.gstatic.com/s/roboto/v51/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMawCUBHMdazTgWw.woff2)format('woff2');unicode-range:U+0302-0303,U+0305,U+0307-0308,U+0310,U+0312,U+0315,U+031A,U+0326-0327,U+032C,U+032F-0330,U+0332-0333,U+0338,U+033A,U+0346,U+034D,U+0391-03A1,U+03A3-03A9,U+03B1-03C9,U+03D1,U+03D5-03D6,U+03F0-03F1,U+03F4-03F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE00-1EEFF;}@font-face{font-family:'Roboto';font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(//fonts.gstatic.com/s/roboto/v51/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMaxKUBHMdazTgWw.woff2)format('woff2');unicode-range:U+0001-000C,U+000E-001F,U+007F-009F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+2800-28FF,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B00-2BFF,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F000-1F0FF,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F700-1F7FF,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB00-1FBFF;}@font-face{font-family:'Roboto';font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(//fonts.gstatic.com/s/roboto/v51/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3OUBHMdazTgWw.woff2)format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;}@font-face{font-family:'Roboto';font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(//fonts.gstatic.com/s/roboto/v51/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3KUBHMdazTgWw.woff2)format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}@font-face{font-family:'Roboto';font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(//fonts.gstatic.com/s/roboto/v51/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBHMdazQ.woff2)format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}@font-face{font-family:'Roboto';font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(//fonts.gstatic.com/s/roboto/v51/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3GUBHMdazTgWw.woff2)format('woff2');unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;}@font-face{font-family:'Roboto';font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(//fonts.gstatic.com/s/roboto/v51/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3iUBHMdazTgWw.woff2)format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;}@font-face{font-family:'Roboto';font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(//fonts.gstatic.com/s/roboto/v51/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3CUBHMdazTgWw.woff2)format('woff2');unicode-range:U+1F00-1FFF;}@font-face{font-family:'Roboto';font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(//fonts.gstatic.com/s/roboto/v51/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3-UBHMdazTgWw.woff2)format('woff2');unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;}@font-face{font-family:'Roboto';font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(//fonts.gstatic.com/s/roboto/v51/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMawCUBHMdazTgWw.woff2)format('woff2');unicode-range:U+0302-0303,U+0305,U+0307-0308,U+0310,U+0312,U+0315,U+031A,U+0326-0327,U+032C,U+032F-0330,U+0332-0333,U+0338,U+033A,U+0346,U+034D,U+0391-03A1,U+03A3-03A9,U+03B1-03C9,U+03D1,U+03D5-03D6,U+03F0-03F1,U+03F4-03F5,U+2016-2017,U+2034-2038,U+203C,U+2040,U+2043,U+2047,U+2050,U+2057,U+205F,U+2070-2071,U+2074-208E,U+2090-209C,U+20D0-20DC,U+20E1,U+20E5-20EF,U+2100-2112,U+2114-2115,U+2117-2121,U+2123-214F,U+2190,U+2192,U+2194-21AE,U+21B0-21E5,U+21F1-21F2,U+21F4-2211,U+2213-2214,U+2216-22FF,U+2308-230B,U+2310,U+2319,U+231C-2321,U+2336-237A,U+237C,U+2395,U+239B-23B7,U+23D0,U+23DC-23E1,U+2474-2475,U+25AF,U+25B3,U+25B7,U+25BD,U+25C1,U+25CA,U+25CC,U+25FB,U+266D-266F,U+27C0-27FF,U+2900-2AFF,U+2B0E-2B11,U+2B30-2B4C,U+2BFE,U+3030,U+FF5B,U+FF5D,U+1D400-1D7FF,U+1EE00-1EEFF;}@font-face{font-family:'Roboto';font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(//fonts.gstatic.com/s/roboto/v51/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMaxKUBHMdazTgWw.woff2)format('woff2');unicode-range:U+0001-000C,U+000E-001F,U+007F-009F,U+20DD-20E0,U+20E2-20E4,U+2150-218F,U+2190,U+2192,U+2194-2199,U+21AF,U+21E6-21F0,U+21F3,U+2218-2219,U+2299,U+22C4-22C6,U+2300-243F,U+2440-244A,U+2460-24FF,U+25A0-27BF,U+2800-28FF,U+2921-2922,U+2981,U+29BF,U+29EB,U+2B00-2BFF,U+4DC0-4DFF,U+FFF9-FFFB,U+10140-1018E,U+10190-1019C,U+101A0,U+101D0-101FD,U+102E0-102FB,U+10E60-10E7E,U+1D2C0-1D2D3,U+1D2E0-1D37F,U+1F000-1F0FF,U+1F100-1F1AD,U+1F1E6-1F1FF,U+1F30D-1F30F,U+1F315,U+1F31C,U+1F31E,U+1F320-1F32C,U+1F336,U+1F378,U+1F37D,U+1F382,U+1F393-1F39F,U+1F3A7-1F3A8,U+1F3AC-1F3AF,U+1F3C2,U+1F3C4-1F3C6,U+1F3CA-1F3CE,U+1F3D4-1F3E0,U+1F3ED,U+1F3F1-1F3F3,U+1F3F5-1F3F7,U+1F408,U+1F415,U+1F41F,U+1F426,U+1F43F,U+1F441-1F442,U+1F444,U+1F446-1F449,U+1F44C-1F44E,U+1F453,U+1F46A,U+1F47D,U+1F4A3,U+1F4B0,U+1F4B3,U+1F4B9,U+1F4BB,U+1F4BF,U+1F4C8-1F4CB,U+1F4D6,U+1F4DA,U+1F4DF,U+1F4E3-1F4E6,U+1F4EA-1F4ED,U+1F4F7,U+1F4F9-1F4FB,U+1F4FD-1F4FE,U+1F503,U+1F507-1F50B,U+1F50D,U+1F512-1F513,U+1F53E-1F54A,U+1F54F-1F5FA,U+1F610,U+1F650-1F67F,U+1F687,U+1F68D,U+1F691,U+1F694,U+1F698,U+1F6AD,U+1F6B2,U+1F6B9-1F6BA,U+1F6BC,U+1F6C6-1F6CF,U+1F6D3-1F6D7,U+1F6E0-1F6EA,U+1F6F0-1F6F3,U+1F6F7-1F6FC,U+1F700-1F7FF,U+1F800-1F80B,U+1F810-1F847,U+1F850-1F859,U+1F860-1F887,U+1F890-1F8AD,U+1F8B0-1F8BB,U+1F8C0-1F8C1,U+1F900-1F90B,U+1F93B,U+1F946,U+1F984,U+1F996,U+1F9E9,U+1FA00-1FA6F,U+1FA70-1FA7C,U+1FA80-1FA89,U+1FA8F-1FAC6,U+1FACE-1FADC,U+1FADF-1FAE9,U+1FAF0-1FAF8,U+1FB00-1FBFF;}@font-face{font-family:'Roboto';font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(//fonts.gstatic.com/s/roboto/v51/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3OUBHMdazTgWw.woff2)format('woff2');unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;}@font-face{font-family:'Roboto';font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(//fonts.gstatic.com/s/roboto/v51/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3KUBHMdazTgWw.woff2)format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;}@font-face{font-family:'Roboto';font-style:normal;font-weight:700;font-stretch:100%;font-display:swap;src:url(//fonts.gstatic.com/s/roboto/v51/KFO7CnqEu92Fr1ME7kSn66aGLdTylUAMa3yUBHMdazQ.woff2)format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;}</style>
|
|
<style id='page-skin-1' type='text/css'><!--
|
|
/*! normalize.css v3.0.1 | MIT License | git.io/normalize */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}
|
|
/*!************************************************
|
|
* Blogger Template Style
|
|
* Name: Contempo
|
|
**************************************************/
|
|
body{
|
|
overflow-wrap:break-word;
|
|
word-break:break-word;
|
|
word-wrap:break-word
|
|
}
|
|
.hidden{
|
|
display:none
|
|
}
|
|
.invisible{
|
|
visibility:hidden
|
|
}
|
|
.container::after,.float-container::after{
|
|
clear:both;
|
|
content:'';
|
|
display:table
|
|
}
|
|
.clearboth{
|
|
clear:both
|
|
}
|
|
#comments .comment .comment-actions,.subscribe-popup .FollowByEmail .follow-by-email-submit,.widget.Profile .profile-link,.widget.Profile .profile-link.visit-profile{
|
|
background:0 0;
|
|
border:0;
|
|
box-shadow:none;
|
|
color:#2196f3;
|
|
cursor:pointer;
|
|
font-size:14px;
|
|
font-weight:700;
|
|
outline:0;
|
|
text-decoration:none;
|
|
text-transform:uppercase;
|
|
width:auto
|
|
}
|
|
.dim-overlay{
|
|
background-color:rgba(0,0,0,.54);
|
|
height:100vh;
|
|
left:0;
|
|
position:fixed;
|
|
top:0;
|
|
width:100%
|
|
}
|
|
#sharing-dim-overlay{
|
|
background-color:transparent
|
|
}
|
|
input::-ms-clear{
|
|
display:none
|
|
}
|
|
.blogger-logo,.svg-icon-24.blogger-logo{
|
|
fill:#ff9800;
|
|
opacity:1
|
|
}
|
|
.loading-spinner-large{
|
|
-webkit-animation:mspin-rotate 1.568s infinite linear;
|
|
animation:mspin-rotate 1.568s infinite linear;
|
|
height:48px;
|
|
overflow:hidden;
|
|
position:absolute;
|
|
width:48px;
|
|
z-index:200
|
|
}
|
|
.loading-spinner-large>div{
|
|
-webkit-animation:mspin-revrot 5332ms infinite steps(4);
|
|
animation:mspin-revrot 5332ms infinite steps(4)
|
|
}
|
|
.loading-spinner-large>div>div{
|
|
-webkit-animation:mspin-singlecolor-large-film 1333ms infinite steps(81);
|
|
animation:mspin-singlecolor-large-film 1333ms infinite steps(81);
|
|
background-size:100%;
|
|
height:48px;
|
|
width:3888px
|
|
}
|
|
.mspin-black-large>div>div,.mspin-grey_54-large>div>div{
|
|
background-image:url(https://www.blogblog.com/indie/mspin_black_large.svg)
|
|
}
|
|
.mspin-white-large>div>div{
|
|
background-image:url(https://www.blogblog.com/indie/mspin_white_large.svg)
|
|
}
|
|
.mspin-grey_54-large{
|
|
opacity:.54
|
|
}
|
|
@-webkit-keyframes mspin-singlecolor-large-film{
|
|
from{
|
|
-webkit-transform:translateX(0);
|
|
transform:translateX(0)
|
|
}
|
|
to{
|
|
-webkit-transform:translateX(-3888px);
|
|
transform:translateX(-3888px)
|
|
}
|
|
}
|
|
@keyframes mspin-singlecolor-large-film{
|
|
from{
|
|
-webkit-transform:translateX(0);
|
|
transform:translateX(0)
|
|
}
|
|
to{
|
|
-webkit-transform:translateX(-3888px);
|
|
transform:translateX(-3888px)
|
|
}
|
|
}
|
|
@-webkit-keyframes mspin-rotate{
|
|
from{
|
|
-webkit-transform:rotate(0);
|
|
transform:rotate(0)
|
|
}
|
|
to{
|
|
-webkit-transform:rotate(360deg);
|
|
transform:rotate(360deg)
|
|
}
|
|
}
|
|
@keyframes mspin-rotate{
|
|
from{
|
|
-webkit-transform:rotate(0);
|
|
transform:rotate(0)
|
|
}
|
|
to{
|
|
-webkit-transform:rotate(360deg);
|
|
transform:rotate(360deg)
|
|
}
|
|
}
|
|
@-webkit-keyframes mspin-revrot{
|
|
from{
|
|
-webkit-transform:rotate(0);
|
|
transform:rotate(0)
|
|
}
|
|
to{
|
|
-webkit-transform:rotate(-360deg);
|
|
transform:rotate(-360deg)
|
|
}
|
|
}
|
|
@keyframes mspin-revrot{
|
|
from{
|
|
-webkit-transform:rotate(0);
|
|
transform:rotate(0)
|
|
}
|
|
to{
|
|
-webkit-transform:rotate(-360deg);
|
|
transform:rotate(-360deg)
|
|
}
|
|
}
|
|
.skip-navigation{
|
|
background-color:#fff;
|
|
box-sizing:border-box;
|
|
color:#000;
|
|
display:block;
|
|
height:0;
|
|
left:0;
|
|
line-height:50px;
|
|
overflow:hidden;
|
|
padding-top:0;
|
|
position:fixed;
|
|
text-align:center;
|
|
top:0;
|
|
-webkit-transition:box-shadow .3s,height .3s,padding-top .3s;
|
|
transition:box-shadow .3s,height .3s,padding-top .3s;
|
|
width:100%;
|
|
z-index:900
|
|
}
|
|
.skip-navigation:focus{
|
|
box-shadow:0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12),0 2px 4px -1px rgba(0,0,0,.2);
|
|
height:50px
|
|
}
|
|
#main{
|
|
outline:0
|
|
}
|
|
.main-heading{
|
|
position:absolute;
|
|
clip:rect(1px,1px,1px,1px);
|
|
padding:0;
|
|
border:0;
|
|
height:1px;
|
|
width:1px;
|
|
overflow:hidden
|
|
}
|
|
.Attribution{
|
|
margin-top:1em;
|
|
text-align:center
|
|
}
|
|
.Attribution .blogger img,.Attribution .blogger svg{
|
|
vertical-align:bottom
|
|
}
|
|
.Attribution .blogger img{
|
|
margin-right:.5em
|
|
}
|
|
.Attribution div{
|
|
line-height:24px;
|
|
margin-top:.5em
|
|
}
|
|
.Attribution .copyright,.Attribution .image-attribution{
|
|
font-size:.7em;
|
|
margin-top:1.5em
|
|
}
|
|
.BLOG_mobile_video_class{
|
|
display:none
|
|
}
|
|
.bg-photo{
|
|
background-attachment:scroll!important
|
|
}
|
|
body .CSS_LIGHTBOX{
|
|
z-index:900
|
|
}
|
|
.extendable .show-less,.extendable .show-more{
|
|
border-color:#2196f3;
|
|
color:#2196f3;
|
|
margin-top:8px
|
|
}
|
|
.extendable .show-less.hidden,.extendable .show-more.hidden{
|
|
display:none
|
|
}
|
|
.inline-ad{
|
|
display:none;
|
|
max-width:100%;
|
|
overflow:hidden
|
|
}
|
|
.adsbygoogle{
|
|
display:block
|
|
}
|
|
#cookieChoiceInfo{
|
|
bottom:0;
|
|
top:auto
|
|
}
|
|
iframe.b-hbp-video{
|
|
border:0
|
|
}
|
|
.post-body img{
|
|
max-width:100%
|
|
}
|
|
.post-body iframe{
|
|
max-width:100%
|
|
}
|
|
.post-body a[imageanchor="1"]{
|
|
display:inline-block
|
|
}
|
|
.byline{
|
|
margin-right:1em
|
|
}
|
|
.byline:last-child{
|
|
margin-right:0
|
|
}
|
|
.link-copied-dialog{
|
|
max-width:520px;
|
|
outline:0
|
|
}
|
|
.link-copied-dialog .modal-dialog-buttons{
|
|
margin-top:8px
|
|
}
|
|
.link-copied-dialog .goog-buttonset-default{
|
|
background:0 0;
|
|
border:0
|
|
}
|
|
.link-copied-dialog .goog-buttonset-default:focus{
|
|
outline:0
|
|
}
|
|
.paging-control-container{
|
|
margin-bottom:16px
|
|
}
|
|
.paging-control-container .paging-control{
|
|
display:inline-block
|
|
}
|
|
.paging-control-container .comment-range-text::after,.paging-control-container .paging-control{
|
|
color:#2196f3
|
|
}
|
|
.paging-control-container .comment-range-text,.paging-control-container .paging-control{
|
|
margin-right:8px
|
|
}
|
|
.paging-control-container .comment-range-text::after,.paging-control-container .paging-control::after{
|
|
content:'\00B7';
|
|
cursor:default;
|
|
padding-left:8px;
|
|
pointer-events:none
|
|
}
|
|
.paging-control-container .comment-range-text:last-child::after,.paging-control-container .paging-control:last-child::after{
|
|
content:none
|
|
}
|
|
.byline.reactions iframe{
|
|
height:20px
|
|
}
|
|
.b-notification{
|
|
color:#000;
|
|
background-color:#fff;
|
|
border-bottom:solid 1px #000;
|
|
box-sizing:border-box;
|
|
padding:16px 32px;
|
|
text-align:center
|
|
}
|
|
.b-notification.visible{
|
|
-webkit-transition:margin-top .3s cubic-bezier(.4,0,.2,1);
|
|
transition:margin-top .3s cubic-bezier(.4,0,.2,1)
|
|
}
|
|
.b-notification.invisible{
|
|
position:absolute
|
|
}
|
|
.b-notification-close{
|
|
position:absolute;
|
|
right:8px;
|
|
top:8px
|
|
}
|
|
.no-posts-message{
|
|
line-height:40px;
|
|
text-align:center
|
|
}
|
|
@media screen and (max-width:800px){
|
|
body.item-view .post-body a[imageanchor="1"][style*="float: left;"],body.item-view .post-body a[imageanchor="1"][style*="float: right;"]{
|
|
float:none!important;
|
|
clear:none!important
|
|
}
|
|
body.item-view .post-body a[imageanchor="1"] img{
|
|
display:block;
|
|
height:auto;
|
|
margin:0 auto
|
|
}
|
|
body.item-view .post-body>.separator:first-child>a[imageanchor="1"]:first-child{
|
|
margin-top:20px
|
|
}
|
|
.post-body a[imageanchor]{
|
|
display:block
|
|
}
|
|
body.item-view .post-body a[imageanchor="1"]{
|
|
margin-left:0!important;
|
|
margin-right:0!important
|
|
}
|
|
body.item-view .post-body a[imageanchor="1"]+a[imageanchor="1"]{
|
|
margin-top:16px
|
|
}
|
|
}
|
|
.item-control{
|
|
display:none
|
|
}
|
|
#comments{
|
|
border-top:1px dashed rgba(0,0,0,.54);
|
|
margin-top:20px;
|
|
padding:20px
|
|
}
|
|
#comments .comment-thread ol{
|
|
margin:0;
|
|
padding-left:0;
|
|
padding-left:0
|
|
}
|
|
#comments .comment .comment-replybox-single,#comments .comment-thread .comment-replies{
|
|
margin-left:60px
|
|
}
|
|
#comments .comment-thread .thread-count{
|
|
display:none
|
|
}
|
|
#comments .comment{
|
|
list-style-type:none;
|
|
padding:0 0 30px;
|
|
position:relative
|
|
}
|
|
#comments .comment .comment{
|
|
padding-bottom:8px
|
|
}
|
|
.comment .avatar-image-container{
|
|
position:absolute
|
|
}
|
|
.comment .avatar-image-container img{
|
|
border-radius:50%
|
|
}
|
|
.avatar-image-container svg,.comment .avatar-image-container .avatar-icon{
|
|
border-radius:50%;
|
|
border:solid 1px #707070;
|
|
box-sizing:border-box;
|
|
fill:#707070;
|
|
height:35px;
|
|
margin:0;
|
|
padding:7px;
|
|
width:35px
|
|
}
|
|
.comment .comment-block{
|
|
margin-top:10px;
|
|
margin-left:60px;
|
|
padding-bottom:0
|
|
}
|
|
#comments .comment-author-header-wrapper{
|
|
margin-left:40px
|
|
}
|
|
#comments .comment .thread-expanded .comment-block{
|
|
padding-bottom:20px
|
|
}
|
|
#comments .comment .comment-header .user,#comments .comment .comment-header .user a{
|
|
color:#212121;
|
|
font-style:normal;
|
|
font-weight:700
|
|
}
|
|
#comments .comment .comment-actions{
|
|
bottom:0;
|
|
margin-bottom:15px;
|
|
position:absolute
|
|
}
|
|
#comments .comment .comment-actions>*{
|
|
margin-right:8px
|
|
}
|
|
#comments .comment .comment-header .datetime{
|
|
bottom:0;
|
|
color:rgba(33,33,33,.54);
|
|
display:inline-block;
|
|
font-size:13px;
|
|
font-style:italic;
|
|
margin-left:8px
|
|
}
|
|
#comments .comment .comment-footer .comment-timestamp a,#comments .comment .comment-header .datetime a{
|
|
color:rgba(33,33,33,.54)
|
|
}
|
|
#comments .comment .comment-content,.comment .comment-body{
|
|
margin-top:12px;
|
|
word-break:break-word
|
|
}
|
|
.comment-body{
|
|
margin-bottom:12px
|
|
}
|
|
#comments.embed[data-num-comments="0"]{
|
|
border:0;
|
|
margin-top:0;
|
|
padding-top:0
|
|
}
|
|
#comments.embed[data-num-comments="0"] #comment-post-message,#comments.embed[data-num-comments="0"] div.comment-form>p,#comments.embed[data-num-comments="0"] p.comment-footer{
|
|
display:none
|
|
}
|
|
#comment-editor-src{
|
|
display:none
|
|
}
|
|
.comments .comments-content .loadmore.loaded{
|
|
max-height:0;
|
|
opacity:0;
|
|
overflow:hidden
|
|
}
|
|
.extendable .remaining-items{
|
|
height:0;
|
|
overflow:hidden;
|
|
-webkit-transition:height .3s cubic-bezier(.4,0,.2,1);
|
|
transition:height .3s cubic-bezier(.4,0,.2,1)
|
|
}
|
|
.extendable .remaining-items.expanded{
|
|
height:auto
|
|
}
|
|
.svg-icon-24,.svg-icon-24-button{
|
|
cursor:pointer;
|
|
height:24px;
|
|
width:24px;
|
|
min-width:24px
|
|
}
|
|
.touch-icon{
|
|
margin:-12px;
|
|
padding:12px
|
|
}
|
|
.touch-icon:active,.touch-icon:focus{
|
|
background-color:rgba(153,153,153,.4);
|
|
border-radius:50%
|
|
}
|
|
svg:not(:root).touch-icon{
|
|
overflow:visible
|
|
}
|
|
html[dir=rtl] .rtl-reversible-icon{
|
|
-webkit-transform:scaleX(-1);
|
|
-ms-transform:scaleX(-1);
|
|
transform:scaleX(-1)
|
|
}
|
|
.svg-icon-24-button,.touch-icon-button{
|
|
background:0 0;
|
|
border:0;
|
|
margin:0;
|
|
outline:0;
|
|
padding:0
|
|
}
|
|
.touch-icon-button .touch-icon:active,.touch-icon-button .touch-icon:focus{
|
|
background-color:transparent
|
|
}
|
|
.touch-icon-button:active .touch-icon,.touch-icon-button:focus .touch-icon{
|
|
background-color:rgba(153,153,153,.4);
|
|
border-radius:50%
|
|
}
|
|
.Profile .default-avatar-wrapper .avatar-icon{
|
|
border-radius:50%;
|
|
border:solid 1px #707070;
|
|
box-sizing:border-box;
|
|
fill:#707070;
|
|
margin:0
|
|
}
|
|
.Profile .individual .default-avatar-wrapper .avatar-icon{
|
|
padding:25px
|
|
}
|
|
.Profile .individual .avatar-icon,.Profile .individual .profile-img{
|
|
height:120px;
|
|
width:120px
|
|
}
|
|
.Profile .team .default-avatar-wrapper .avatar-icon{
|
|
padding:8px
|
|
}
|
|
.Profile .team .avatar-icon,.Profile .team .default-avatar-wrapper,.Profile .team .profile-img{
|
|
height:40px;
|
|
width:40px
|
|
}
|
|
.snippet-container{
|
|
margin:0;
|
|
position:relative;
|
|
overflow:hidden
|
|
}
|
|
.snippet-fade{
|
|
bottom:0;
|
|
box-sizing:border-box;
|
|
position:absolute;
|
|
width:96px
|
|
}
|
|
.snippet-fade{
|
|
right:0
|
|
}
|
|
.snippet-fade:after{
|
|
content:'\2026'
|
|
}
|
|
.snippet-fade:after{
|
|
float:right
|
|
}
|
|
.post-bottom{
|
|
-webkit-box-align:center;
|
|
-webkit-align-items:center;
|
|
-ms-flex-align:center;
|
|
align-items:center;
|
|
display:-webkit-box;
|
|
display:-webkit-flex;
|
|
display:-ms-flexbox;
|
|
display:flex;
|
|
-webkit-flex-wrap:wrap;
|
|
-ms-flex-wrap:wrap;
|
|
flex-wrap:wrap
|
|
}
|
|
.post-footer{
|
|
-webkit-box-flex:1;
|
|
-webkit-flex:1 1 auto;
|
|
-ms-flex:1 1 auto;
|
|
flex:1 1 auto;
|
|
-webkit-flex-wrap:wrap;
|
|
-ms-flex-wrap:wrap;
|
|
flex-wrap:wrap;
|
|
-webkit-box-ordinal-group:2;
|
|
-webkit-order:1;
|
|
-ms-flex-order:1;
|
|
order:1
|
|
}
|
|
.post-footer>*{
|
|
-webkit-box-flex:0;
|
|
-webkit-flex:0 1 auto;
|
|
-ms-flex:0 1 auto;
|
|
flex:0 1 auto
|
|
}
|
|
.post-footer .byline:last-child{
|
|
margin-right:1em
|
|
}
|
|
.jump-link{
|
|
-webkit-box-flex:0;
|
|
-webkit-flex:0 0 auto;
|
|
-ms-flex:0 0 auto;
|
|
flex:0 0 auto;
|
|
-webkit-box-ordinal-group:3;
|
|
-webkit-order:2;
|
|
-ms-flex-order:2;
|
|
order:2
|
|
}
|
|
.centered-top-container.sticky{
|
|
left:0;
|
|
position:fixed;
|
|
right:0;
|
|
top:0;
|
|
width:auto;
|
|
z-index:50;
|
|
-webkit-transition-property:opacity,-webkit-transform;
|
|
transition-property:opacity,-webkit-transform;
|
|
transition-property:transform,opacity;
|
|
transition-property:transform,opacity,-webkit-transform;
|
|
-webkit-transition-duration:.2s;
|
|
transition-duration:.2s;
|
|
-webkit-transition-timing-function:cubic-bezier(.4,0,.2,1);
|
|
transition-timing-function:cubic-bezier(.4,0,.2,1)
|
|
}
|
|
.centered-top-placeholder{
|
|
display:none
|
|
}
|
|
.collapsed-header .centered-top-placeholder{
|
|
display:block
|
|
}
|
|
.centered-top-container .Header .replaced h1,.centered-top-placeholder .Header .replaced h1{
|
|
display:none
|
|
}
|
|
.centered-top-container.sticky .Header .replaced h1{
|
|
display:block
|
|
}
|
|
.centered-top-container.sticky .Header .header-widget{
|
|
background:0 0
|
|
}
|
|
.centered-top-container.sticky .Header .header-image-wrapper{
|
|
display:none
|
|
}
|
|
.centered-top-container img,.centered-top-placeholder img{
|
|
max-width:100%
|
|
}
|
|
.collapsible{
|
|
-webkit-transition:height .3s cubic-bezier(.4,0,.2,1);
|
|
transition:height .3s cubic-bezier(.4,0,.2,1)
|
|
}
|
|
.collapsible,.collapsible>summary{
|
|
display:block;
|
|
overflow:hidden
|
|
}
|
|
.collapsible>:not(summary){
|
|
display:none
|
|
}
|
|
.collapsible[open]>:not(summary){
|
|
display:block
|
|
}
|
|
.collapsible:focus,.collapsible>summary:focus{
|
|
outline:0
|
|
}
|
|
.collapsible>summary{
|
|
cursor:pointer;
|
|
display:block;
|
|
padding:0
|
|
}
|
|
.collapsible:focus>summary,.collapsible>summary:focus{
|
|
background-color:transparent
|
|
}
|
|
.collapsible>summary::-webkit-details-marker{
|
|
display:none
|
|
}
|
|
.collapsible-title{
|
|
-webkit-box-align:center;
|
|
-webkit-align-items:center;
|
|
-ms-flex-align:center;
|
|
align-items:center;
|
|
display:-webkit-box;
|
|
display:-webkit-flex;
|
|
display:-ms-flexbox;
|
|
display:flex
|
|
}
|
|
.collapsible-title .title{
|
|
-webkit-box-flex:1;
|
|
-webkit-flex:1 1 auto;
|
|
-ms-flex:1 1 auto;
|
|
flex:1 1 auto;
|
|
-webkit-box-ordinal-group:1;
|
|
-webkit-order:0;
|
|
-ms-flex-order:0;
|
|
order:0;
|
|
overflow:hidden;
|
|
text-overflow:ellipsis;
|
|
white-space:nowrap
|
|
}
|
|
.collapsible-title .chevron-down,.collapsible[open] .collapsible-title .chevron-up{
|
|
display:block
|
|
}
|
|
.collapsible-title .chevron-up,.collapsible[open] .collapsible-title .chevron-down{
|
|
display:none
|
|
}
|
|
.flat-button{
|
|
cursor:pointer;
|
|
display:inline-block;
|
|
font-weight:700;
|
|
text-transform:uppercase;
|
|
border-radius:2px;
|
|
padding:8px;
|
|
margin:-8px
|
|
}
|
|
.flat-icon-button{
|
|
background:0 0;
|
|
border:0;
|
|
margin:0;
|
|
outline:0;
|
|
padding:0;
|
|
margin:-12px;
|
|
padding:12px;
|
|
cursor:pointer;
|
|
box-sizing:content-box;
|
|
display:inline-block;
|
|
line-height:0
|
|
}
|
|
.flat-icon-button,.flat-icon-button .splash-wrapper{
|
|
border-radius:50%
|
|
}
|
|
.flat-icon-button .splash.animate{
|
|
-webkit-animation-duration:.3s;
|
|
animation-duration:.3s
|
|
}
|
|
.overflowable-container{
|
|
max-height:46px;
|
|
overflow:hidden;
|
|
position:relative
|
|
}
|
|
.overflow-button{
|
|
cursor:pointer
|
|
}
|
|
#overflowable-dim-overlay{
|
|
background:0 0
|
|
}
|
|
.overflow-popup{
|
|
box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);
|
|
background-color:#ffffff;
|
|
left:0;
|
|
max-width:calc(100% - 32px);
|
|
position:absolute;
|
|
top:0;
|
|
visibility:hidden;
|
|
z-index:101
|
|
}
|
|
.overflow-popup ul{
|
|
list-style:none
|
|
}
|
|
.overflow-popup .tabs li,.overflow-popup li{
|
|
display:block;
|
|
height:auto
|
|
}
|
|
.overflow-popup .tabs li{
|
|
padding-left:0;
|
|
padding-right:0
|
|
}
|
|
.overflow-button.hidden,.overflow-popup .tabs li.hidden,.overflow-popup li.hidden{
|
|
display:none
|
|
}
|
|
.pill-button{
|
|
background:0 0;
|
|
border:1px solid;
|
|
border-radius:12px;
|
|
cursor:pointer;
|
|
display:inline-block;
|
|
padding:4px 16px;
|
|
text-transform:uppercase
|
|
}
|
|
.ripple{
|
|
position:relative
|
|
}
|
|
.ripple>*{
|
|
z-index:1
|
|
}
|
|
.splash-wrapper{
|
|
bottom:0;
|
|
left:0;
|
|
overflow:hidden;
|
|
pointer-events:none;
|
|
position:absolute;
|
|
right:0;
|
|
top:0;
|
|
z-index:0
|
|
}
|
|
.splash{
|
|
background:#ccc;
|
|
border-radius:100%;
|
|
display:block;
|
|
opacity:.6;
|
|
position:absolute;
|
|
-webkit-transform:scale(0);
|
|
-ms-transform:scale(0);
|
|
transform:scale(0)
|
|
}
|
|
.splash.animate{
|
|
-webkit-animation:ripple-effect .4s linear;
|
|
animation:ripple-effect .4s linear
|
|
}
|
|
@-webkit-keyframes ripple-effect{
|
|
100%{
|
|
opacity:0;
|
|
-webkit-transform:scale(2.5);
|
|
transform:scale(2.5)
|
|
}
|
|
}
|
|
@keyframes ripple-effect{
|
|
100%{
|
|
opacity:0;
|
|
-webkit-transform:scale(2.5);
|
|
transform:scale(2.5)
|
|
}
|
|
}
|
|
.search{
|
|
display:-webkit-box;
|
|
display:-webkit-flex;
|
|
display:-ms-flexbox;
|
|
display:flex;
|
|
line-height:24px;
|
|
width:24px
|
|
}
|
|
.search.focused{
|
|
width:100%
|
|
}
|
|
.search.focused .section{
|
|
width:100%
|
|
}
|
|
.search form{
|
|
z-index:101
|
|
}
|
|
.search h3{
|
|
display:none
|
|
}
|
|
.search form{
|
|
display:-webkit-box;
|
|
display:-webkit-flex;
|
|
display:-ms-flexbox;
|
|
display:flex;
|
|
-webkit-box-flex:1;
|
|
-webkit-flex:1 0 0;
|
|
-ms-flex:1 0 0px;
|
|
flex:1 0 0;
|
|
border-bottom:solid 1px transparent;
|
|
padding-bottom:8px
|
|
}
|
|
.search form>*{
|
|
display:none
|
|
}
|
|
.search.focused form>*{
|
|
display:block
|
|
}
|
|
.search .search-input label{
|
|
display:none
|
|
}
|
|
.centered-top-placeholder.cloned .search form{
|
|
z-index:30
|
|
}
|
|
.search.focused form{
|
|
border-color:#ffffff;
|
|
position:relative;
|
|
width:auto
|
|
}
|
|
.collapsed-header .centered-top-container .search.focused form{
|
|
border-bottom-color:transparent
|
|
}
|
|
.search-expand{
|
|
-webkit-box-flex:0;
|
|
-webkit-flex:0 0 auto;
|
|
-ms-flex:0 0 auto;
|
|
flex:0 0 auto
|
|
}
|
|
.search-expand-text{
|
|
display:none
|
|
}
|
|
.search-close{
|
|
display:inline;
|
|
vertical-align:middle
|
|
}
|
|
.search-input{
|
|
-webkit-box-flex:1;
|
|
-webkit-flex:1 0 1px;
|
|
-ms-flex:1 0 1px;
|
|
flex:1 0 1px
|
|
}
|
|
.search-input input{
|
|
background:0 0;
|
|
border:0;
|
|
box-sizing:border-box;
|
|
color:#ffffff;
|
|
display:inline-block;
|
|
outline:0;
|
|
width:calc(100% - 48px)
|
|
}
|
|
.search-input input.no-cursor{
|
|
color:transparent;
|
|
text-shadow:0 0 0 #ffffff
|
|
}
|
|
.collapsed-header .centered-top-container .search-action,.collapsed-header .centered-top-container .search-input input{
|
|
color:#212121
|
|
}
|
|
.collapsed-header .centered-top-container .search-input input.no-cursor{
|
|
color:transparent;
|
|
text-shadow:0 0 0 #212121
|
|
}
|
|
.collapsed-header .centered-top-container .search-input input.no-cursor:focus,.search-input input.no-cursor:focus{
|
|
outline:0
|
|
}
|
|
.search-focused>*{
|
|
visibility:hidden
|
|
}
|
|
.search-focused .search,.search-focused .search-icon{
|
|
visibility:visible
|
|
}
|
|
.search.focused .search-action{
|
|
display:block
|
|
}
|
|
.search.focused .search-action:disabled{
|
|
opacity:.3
|
|
}
|
|
.widget.Sharing .sharing-button{
|
|
display:none
|
|
}
|
|
.widget.Sharing .sharing-buttons li{
|
|
padding:0
|
|
}
|
|
.widget.Sharing .sharing-buttons li span{
|
|
display:none
|
|
}
|
|
.post-share-buttons{
|
|
position:relative
|
|
}
|
|
.centered-bottom .share-buttons .svg-icon-24,.share-buttons .svg-icon-24{
|
|
fill:#212121
|
|
}
|
|
.sharing-open.touch-icon-button:active .touch-icon,.sharing-open.touch-icon-button:focus .touch-icon{
|
|
background-color:transparent
|
|
}
|
|
.share-buttons{
|
|
background-color:#ffffff;
|
|
border-radius:2px;
|
|
box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);
|
|
color:#212121;
|
|
list-style:none;
|
|
margin:0;
|
|
padding:8px 0;
|
|
position:absolute;
|
|
top:-11px;
|
|
min-width:200px;
|
|
z-index:101
|
|
}
|
|
.share-buttons.hidden{
|
|
display:none
|
|
}
|
|
.sharing-button{
|
|
background:0 0;
|
|
border:0;
|
|
margin:0;
|
|
outline:0;
|
|
padding:0;
|
|
cursor:pointer
|
|
}
|
|
.share-buttons li{
|
|
margin:0;
|
|
height:48px
|
|
}
|
|
.share-buttons li:last-child{
|
|
margin-bottom:0
|
|
}
|
|
.share-buttons li .sharing-platform-button{
|
|
box-sizing:border-box;
|
|
cursor:pointer;
|
|
display:block;
|
|
height:100%;
|
|
margin-bottom:0;
|
|
padding:0 16px;
|
|
position:relative;
|
|
width:100%
|
|
}
|
|
.share-buttons li .sharing-platform-button:focus,.share-buttons li .sharing-platform-button:hover{
|
|
background-color:rgba(128,128,128,.1);
|
|
outline:0
|
|
}
|
|
.share-buttons li svg[class*=" sharing-"],.share-buttons li svg[class^=sharing-]{
|
|
position:absolute;
|
|
top:10px
|
|
}
|
|
.share-buttons li span.sharing-platform-button{
|
|
position:relative;
|
|
top:0
|
|
}
|
|
.share-buttons li .platform-sharing-text{
|
|
display:block;
|
|
font-size:16px;
|
|
line-height:48px;
|
|
white-space:nowrap
|
|
}
|
|
.share-buttons li .platform-sharing-text{
|
|
margin-left:56px
|
|
}
|
|
.sidebar-container{
|
|
background-color:#ffffff;
|
|
max-width:284px;
|
|
overflow-y:auto;
|
|
-webkit-transition-property:-webkit-transform;
|
|
transition-property:-webkit-transform;
|
|
transition-property:transform;
|
|
transition-property:transform,-webkit-transform;
|
|
-webkit-transition-duration:.3s;
|
|
transition-duration:.3s;
|
|
-webkit-transition-timing-function:cubic-bezier(0,0,.2,1);
|
|
transition-timing-function:cubic-bezier(0,0,.2,1);
|
|
width:284px;
|
|
z-index:101;
|
|
-webkit-overflow-scrolling:touch
|
|
}
|
|
.sidebar-container .navigation{
|
|
line-height:0;
|
|
padding:16px
|
|
}
|
|
.sidebar-container .sidebar-back{
|
|
cursor:pointer
|
|
}
|
|
.sidebar-container .widget{
|
|
background:0 0;
|
|
margin:0 16px;
|
|
padding:16px 0
|
|
}
|
|
.sidebar-container .widget .title{
|
|
color:#212121;
|
|
margin:0
|
|
}
|
|
.sidebar-container .widget ul{
|
|
list-style:none;
|
|
margin:0;
|
|
padding:0
|
|
}
|
|
.sidebar-container .widget ul ul{
|
|
margin-left:1em
|
|
}
|
|
.sidebar-container .widget li{
|
|
font-size:16px;
|
|
line-height:normal
|
|
}
|
|
.sidebar-container .widget+.widget{
|
|
border-top:1px dashed #cccccc
|
|
}
|
|
.BlogArchive li{
|
|
margin:16px 0
|
|
}
|
|
.BlogArchive li:last-child{
|
|
margin-bottom:0
|
|
}
|
|
.Label li a{
|
|
display:inline-block
|
|
}
|
|
.BlogArchive .post-count,.Label .label-count{
|
|
float:right;
|
|
margin-left:.25em
|
|
}
|
|
.BlogArchive .post-count::before,.Label .label-count::before{
|
|
content:'('
|
|
}
|
|
.BlogArchive .post-count::after,.Label .label-count::after{
|
|
content:')'
|
|
}
|
|
.widget.Translate .skiptranslate>div{
|
|
display:block!important
|
|
}
|
|
.widget.Profile .profile-link{
|
|
display:-webkit-box;
|
|
display:-webkit-flex;
|
|
display:-ms-flexbox;
|
|
display:flex
|
|
}
|
|
.widget.Profile .team-member .default-avatar-wrapper,.widget.Profile .team-member .profile-img{
|
|
-webkit-box-flex:0;
|
|
-webkit-flex:0 0 auto;
|
|
-ms-flex:0 0 auto;
|
|
flex:0 0 auto;
|
|
margin-right:1em
|
|
}
|
|
.widget.Profile .individual .profile-link{
|
|
-webkit-box-orient:vertical;
|
|
-webkit-box-direction:normal;
|
|
-webkit-flex-direction:column;
|
|
-ms-flex-direction:column;
|
|
flex-direction:column
|
|
}
|
|
.widget.Profile .team .profile-link .profile-name{
|
|
-webkit-align-self:center;
|
|
-ms-flex-item-align:center;
|
|
-ms-grid-row-align:center;
|
|
align-self:center;
|
|
display:block;
|
|
-webkit-box-flex:1;
|
|
-webkit-flex:1 1 auto;
|
|
-ms-flex:1 1 auto;
|
|
flex:1 1 auto
|
|
}
|
|
.dim-overlay{
|
|
background-color:rgba(0,0,0,.54);
|
|
z-index:100
|
|
}
|
|
body.sidebar-visible{
|
|
overflow-y:hidden
|
|
}
|
|
@media screen and (max-width:1439px){
|
|
.sidebar-container{
|
|
bottom:0;
|
|
position:fixed;
|
|
top:0;
|
|
left:0;
|
|
right:auto
|
|
}
|
|
.sidebar-container.sidebar-invisible{
|
|
-webkit-transition-timing-function:cubic-bezier(.4,0,.6,1);
|
|
transition-timing-function:cubic-bezier(.4,0,.6,1);
|
|
-webkit-transform:translateX(-284px);
|
|
-ms-transform:translateX(-284px);
|
|
transform:translateX(-284px)
|
|
}
|
|
}
|
|
@media screen and (min-width:1440px){
|
|
.sidebar-container{
|
|
position:absolute;
|
|
top:0;
|
|
left:0;
|
|
right:auto
|
|
}
|
|
.sidebar-container .navigation{
|
|
display:none
|
|
}
|
|
}
|
|
.dialog{
|
|
box-shadow:0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.2),0 1px 5px 0 rgba(0,0,0,.12);
|
|
background:#ffffff;
|
|
box-sizing:border-box;
|
|
color:#757575;
|
|
padding:30px;
|
|
position:fixed;
|
|
text-align:center;
|
|
width:calc(100% - 24px);
|
|
z-index:101
|
|
}
|
|
.dialog input[type=email],.dialog input[type=text]{
|
|
background-color:transparent;
|
|
border:0;
|
|
border-bottom:solid 1px rgba(117,117,117,.12);
|
|
color:#757575;
|
|
display:block;
|
|
font-family:Roboto, sans-serif;
|
|
font-size:16px;
|
|
line-height:24px;
|
|
margin:auto;
|
|
padding-bottom:7px;
|
|
outline:0;
|
|
text-align:center;
|
|
width:100%
|
|
}
|
|
.dialog input[type=email]::-webkit-input-placeholder,.dialog input[type=text]::-webkit-input-placeholder{
|
|
color:#757575
|
|
}
|
|
.dialog input[type=email]::-moz-placeholder,.dialog input[type=text]::-moz-placeholder{
|
|
color:#757575
|
|
}
|
|
.dialog input[type=email]:-ms-input-placeholder,.dialog input[type=text]:-ms-input-placeholder{
|
|
color:#757575
|
|
}
|
|
.dialog input[type=email]::placeholder,.dialog input[type=text]::placeholder{
|
|
color:#757575
|
|
}
|
|
.dialog input[type=email]:focus,.dialog input[type=text]:focus{
|
|
border-bottom:solid 2px #2196f3;
|
|
padding-bottom:6px
|
|
}
|
|
.dialog input.no-cursor{
|
|
color:transparent;
|
|
text-shadow:0 0 0 #757575
|
|
}
|
|
.dialog input.no-cursor:focus{
|
|
outline:0
|
|
}
|
|
.dialog input.no-cursor:focus{
|
|
outline:0
|
|
}
|
|
.dialog input[type=submit]{
|
|
font-family:Roboto, sans-serif
|
|
}
|
|
.dialog .goog-buttonset-default{
|
|
color:#2196f3
|
|
}
|
|
.subscribe-popup{
|
|
max-width:364px
|
|
}
|
|
.subscribe-popup h3{
|
|
color:#212121;
|
|
font-size:1.8em;
|
|
margin-top:0
|
|
}
|
|
.subscribe-popup .FollowByEmail h3{
|
|
display:none
|
|
}
|
|
.subscribe-popup .FollowByEmail .follow-by-email-submit{
|
|
color:#2196f3;
|
|
display:inline-block;
|
|
margin:0 auto;
|
|
margin-top:24px;
|
|
width:auto;
|
|
white-space:normal
|
|
}
|
|
.subscribe-popup .FollowByEmail .follow-by-email-submit:disabled{
|
|
cursor:default;
|
|
opacity:.3
|
|
}
|
|
@media (max-width:800px){
|
|
.blog-name div.widget.Subscribe{
|
|
margin-bottom:16px
|
|
}
|
|
body.item-view .blog-name div.widget.Subscribe{
|
|
margin:8px auto 16px auto;
|
|
width:100%
|
|
}
|
|
}
|
|
.tabs{
|
|
list-style:none
|
|
}
|
|
.tabs li{
|
|
display:inline-block
|
|
}
|
|
.tabs li a{
|
|
cursor:pointer;
|
|
display:inline-block;
|
|
font-weight:700;
|
|
text-transform:uppercase;
|
|
padding:12px 8px
|
|
}
|
|
.tabs .selected{
|
|
border-bottom:4px solid #ffffff
|
|
}
|
|
.tabs .selected a{
|
|
color:#ffffff
|
|
}
|
|
body#layout .bg-photo,body#layout .bg-photo-overlay{
|
|
display:none
|
|
}
|
|
body#layout .page_body{
|
|
padding:0;
|
|
position:relative;
|
|
top:0
|
|
}
|
|
body#layout .page{
|
|
display:inline-block;
|
|
left:inherit;
|
|
position:relative;
|
|
vertical-align:top;
|
|
width:540px
|
|
}
|
|
body#layout .centered{
|
|
max-width:954px
|
|
}
|
|
body#layout .navigation{
|
|
display:none
|
|
}
|
|
body#layout .sidebar-container{
|
|
display:inline-block;
|
|
width:40%
|
|
}
|
|
body#layout .hamburger-menu,body#layout .search{
|
|
display:none
|
|
}
|
|
.centered-top-container .svg-icon-24,body.collapsed-header .centered-top-placeholder .svg-icon-24{
|
|
fill:#ffffff
|
|
}
|
|
.sidebar-container .svg-icon-24{
|
|
fill:#707070
|
|
}
|
|
.centered-bottom .svg-icon-24,body.collapsed-header .centered-top-container .svg-icon-24{
|
|
fill:#707070
|
|
}
|
|
.centered-bottom .share-buttons .svg-icon-24,.share-buttons .svg-icon-24{
|
|
fill:#212121
|
|
}
|
|
body{
|
|
background-color:#eeeeee;
|
|
color:#757575;
|
|
font:15px Roboto, sans-serif;
|
|
margin:0;
|
|
min-height:100vh
|
|
}
|
|
img{
|
|
max-width:100%
|
|
}
|
|
h3{
|
|
color:#757575;
|
|
font-size:16px
|
|
}
|
|
a{
|
|
text-decoration:none;
|
|
color:#2196f3
|
|
}
|
|
a:visited{
|
|
color:#2196f3
|
|
}
|
|
a:hover{
|
|
color:#2196f3
|
|
}
|
|
blockquote{
|
|
color:#444444;
|
|
font:italic normal 12px 'Times New Roman', Times, FreeSerif, serif;
|
|
font-size:x-large;
|
|
text-align:center
|
|
}
|
|
.pill-button{
|
|
font-size:12px
|
|
}
|
|
.bg-photo-container{
|
|
height:480px;
|
|
overflow:hidden;
|
|
position:absolute;
|
|
width:100%;
|
|
z-index:1
|
|
}
|
|
.bg-photo{
|
|
background:#eeeeee url(https://themes.googleusercontent.com/image?id=L1lcAxxz0CLgsDzixEprHJ2F38TyEjCyE3RSAjynQDks0lT1BDc1OxXKaTEdLc89HPvdB11X9FDw) no-repeat scroll top center /* Credit: Michael Elkan (http://www.offset.com/photos/394244) */;;
|
|
background-attachment:scroll;
|
|
background-size:cover;
|
|
-webkit-filter:blur(0px);
|
|
filter:blur(0px);
|
|
height:calc(100% + 2 * 0px);
|
|
left:0px;
|
|
position:absolute;
|
|
top:0px;
|
|
width:calc(100% + 2 * 0px)
|
|
}
|
|
.bg-photo-overlay{
|
|
background:rgba(0,0,0,.26);
|
|
background-size:cover;
|
|
height:480px;
|
|
position:absolute;
|
|
width:100%;
|
|
z-index:2
|
|
}
|
|
.hamburger-menu{
|
|
float:left;
|
|
margin-top:0
|
|
}
|
|
.sticky .hamburger-menu{
|
|
float:none;
|
|
position:absolute
|
|
}
|
|
.search{
|
|
border-bottom:solid 1px rgba(255, 255, 255, 0);
|
|
float:right;
|
|
position:relative;
|
|
-webkit-transition-property:width;
|
|
transition-property:width;
|
|
-webkit-transition-duration:.5s;
|
|
transition-duration:.5s;
|
|
-webkit-transition-timing-function:cubic-bezier(.4,0,.2,1);
|
|
transition-timing-function:cubic-bezier(.4,0,.2,1);
|
|
z-index:101
|
|
}
|
|
.search .dim-overlay{
|
|
background-color:transparent
|
|
}
|
|
.search form{
|
|
height:36px;
|
|
-webkit-transition-property:border-color;
|
|
transition-property:border-color;
|
|
-webkit-transition-delay:.5s;
|
|
transition-delay:.5s;
|
|
-webkit-transition-duration:.2s;
|
|
transition-duration:.2s;
|
|
-webkit-transition-timing-function:cubic-bezier(.4,0,.2,1);
|
|
transition-timing-function:cubic-bezier(.4,0,.2,1)
|
|
}
|
|
.search.focused{
|
|
width:calc(100% - 48px)
|
|
}
|
|
.search.focused form{
|
|
display:-webkit-box;
|
|
display:-webkit-flex;
|
|
display:-ms-flexbox;
|
|
display:flex;
|
|
-webkit-box-flex:1;
|
|
-webkit-flex:1 0 1px;
|
|
-ms-flex:1 0 1px;
|
|
flex:1 0 1px;
|
|
border-color:#ffffff;
|
|
margin-left:-24px;
|
|
padding-left:36px;
|
|
position:relative;
|
|
width:auto
|
|
}
|
|
.item-view .search,.sticky .search{
|
|
right:0;
|
|
float:none;
|
|
margin-left:0;
|
|
position:absolute
|
|
}
|
|
.item-view .search.focused,.sticky .search.focused{
|
|
width:calc(100% - 50px)
|
|
}
|
|
.item-view .search.focused form,.sticky .search.focused form{
|
|
border-bottom-color:#757575
|
|
}
|
|
.centered-top-placeholder.cloned .search form{
|
|
z-index:30
|
|
}
|
|
.search_button{
|
|
-webkit-box-flex:0;
|
|
-webkit-flex:0 0 24px;
|
|
-ms-flex:0 0 24px;
|
|
flex:0 0 24px;
|
|
-webkit-box-orient:vertical;
|
|
-webkit-box-direction:normal;
|
|
-webkit-flex-direction:column;
|
|
-ms-flex-direction:column;
|
|
flex-direction:column
|
|
}
|
|
.search_button svg{
|
|
margin-top:0
|
|
}
|
|
.search-input{
|
|
height:48px
|
|
}
|
|
.search-input input{
|
|
display:block;
|
|
color:#ffffff;
|
|
font:16px Roboto, sans-serif;
|
|
height:48px;
|
|
line-height:48px;
|
|
padding:0;
|
|
width:100%
|
|
}
|
|
.search-input input::-webkit-input-placeholder{
|
|
color:#ffffff;
|
|
opacity:.3
|
|
}
|
|
.search-input input::-moz-placeholder{
|
|
color:#ffffff;
|
|
opacity:.3
|
|
}
|
|
.search-input input:-ms-input-placeholder{
|
|
color:#ffffff;
|
|
opacity:.3
|
|
}
|
|
.search-input input::placeholder{
|
|
color:#ffffff;
|
|
opacity:.3
|
|
}
|
|
.search-action{
|
|
background:0 0;
|
|
border:0;
|
|
color:#ffffff;
|
|
cursor:pointer;
|
|
display:none;
|
|
height:48px;
|
|
margin-top:0
|
|
}
|
|
.sticky .search-action{
|
|
color:#757575
|
|
}
|
|
.search.focused .search-action{
|
|
display:block
|
|
}
|
|
.search.focused .search-action:disabled{
|
|
opacity:.3
|
|
}
|
|
.page_body{
|
|
position:relative;
|
|
z-index:20
|
|
}
|
|
.page_body .widget{
|
|
margin-bottom:16px
|
|
}
|
|
.page_body .centered{
|
|
box-sizing:border-box;
|
|
display:-webkit-box;
|
|
display:-webkit-flex;
|
|
display:-ms-flexbox;
|
|
display:flex;
|
|
-webkit-box-orient:vertical;
|
|
-webkit-box-direction:normal;
|
|
-webkit-flex-direction:column;
|
|
-ms-flex-direction:column;
|
|
flex-direction:column;
|
|
margin:0 auto;
|
|
max-width:922px;
|
|
min-height:100vh;
|
|
padding:24px 0
|
|
}
|
|
.page_body .centered>*{
|
|
-webkit-box-flex:0;
|
|
-webkit-flex:0 0 auto;
|
|
-ms-flex:0 0 auto;
|
|
flex:0 0 auto
|
|
}
|
|
.page_body .centered>#footer{
|
|
margin-top:auto
|
|
}
|
|
.blog-name{
|
|
margin:24px 0 16px 0
|
|
}
|
|
.item-view .blog-name,.sticky .blog-name{
|
|
box-sizing:border-box;
|
|
margin-left:36px;
|
|
min-height:48px;
|
|
opacity:1;
|
|
padding-top:12px
|
|
}
|
|
.blog-name .subscribe-section-container{
|
|
margin-bottom:32px;
|
|
text-align:center;
|
|
-webkit-transition-property:opacity;
|
|
transition-property:opacity;
|
|
-webkit-transition-duration:.5s;
|
|
transition-duration:.5s
|
|
}
|
|
.item-view .blog-name .subscribe-section-container,.sticky .blog-name .subscribe-section-container{
|
|
margin:0 0 8px 0
|
|
}
|
|
.blog-name .PageList{
|
|
margin-top:16px;
|
|
padding-top:8px;
|
|
text-align:center
|
|
}
|
|
.blog-name .PageList .overflowable-contents{
|
|
width:100%
|
|
}
|
|
.blog-name .PageList h3.title{
|
|
color:#ffffff;
|
|
margin:8px auto;
|
|
text-align:center;
|
|
width:100%
|
|
}
|
|
.centered-top-container .blog-name{
|
|
-webkit-transition-property:opacity;
|
|
transition-property:opacity;
|
|
-webkit-transition-duration:.5s;
|
|
transition-duration:.5s
|
|
}
|
|
.item-view .return_link{
|
|
margin-bottom:12px;
|
|
margin-top:12px;
|
|
position:absolute
|
|
}
|
|
.item-view .blog-name{
|
|
display:-webkit-box;
|
|
display:-webkit-flex;
|
|
display:-ms-flexbox;
|
|
display:flex;
|
|
-webkit-flex-wrap:wrap;
|
|
-ms-flex-wrap:wrap;
|
|
flex-wrap:wrap;
|
|
margin:0 48px 27px 48px
|
|
}
|
|
.item-view .subscribe-section-container{
|
|
-webkit-box-flex:0;
|
|
-webkit-flex:0 0 auto;
|
|
-ms-flex:0 0 auto;
|
|
flex:0 0 auto
|
|
}
|
|
.item-view #header,.item-view .Header{
|
|
margin-bottom:5px;
|
|
margin-right:15px
|
|
}
|
|
.item-view .sticky .Header{
|
|
margin-bottom:0
|
|
}
|
|
.item-view .Header p{
|
|
margin:10px 0 0 0;
|
|
text-align:left
|
|
}
|
|
.item-view .post-share-buttons-bottom{
|
|
margin-right:16px
|
|
}
|
|
.sticky{
|
|
background:#ffffff;
|
|
box-shadow:0 0 20px 0 rgba(0,0,0,.7);
|
|
box-sizing:border-box;
|
|
margin-left:0
|
|
}
|
|
.sticky #header{
|
|
margin-bottom:8px;
|
|
margin-right:8px
|
|
}
|
|
.sticky .centered-top{
|
|
margin:4px auto;
|
|
max-width:890px;
|
|
min-height:48px
|
|
}
|
|
.sticky .blog-name{
|
|
display:-webkit-box;
|
|
display:-webkit-flex;
|
|
display:-ms-flexbox;
|
|
display:flex;
|
|
margin:0 48px
|
|
}
|
|
.sticky .blog-name #header{
|
|
-webkit-box-flex:0;
|
|
-webkit-flex:0 1 auto;
|
|
-ms-flex:0 1 auto;
|
|
flex:0 1 auto;
|
|
-webkit-box-ordinal-group:2;
|
|
-webkit-order:1;
|
|
-ms-flex-order:1;
|
|
order:1;
|
|
overflow:hidden
|
|
}
|
|
.sticky .blog-name .subscribe-section-container{
|
|
-webkit-box-flex:0;
|
|
-webkit-flex:0 0 auto;
|
|
-ms-flex:0 0 auto;
|
|
flex:0 0 auto;
|
|
-webkit-box-ordinal-group:3;
|
|
-webkit-order:2;
|
|
-ms-flex-order:2;
|
|
order:2
|
|
}
|
|
.sticky .Header h1{
|
|
overflow:hidden;
|
|
text-overflow:ellipsis;
|
|
white-space:nowrap;
|
|
margin-right:-10px;
|
|
margin-bottom:-10px;
|
|
padding-right:10px;
|
|
padding-bottom:10px
|
|
}
|
|
.sticky .Header p{
|
|
display:none
|
|
}
|
|
.sticky .PageList{
|
|
display:none
|
|
}
|
|
.search-focused>*{
|
|
visibility:visible
|
|
}
|
|
.search-focused .hamburger-menu{
|
|
visibility:visible
|
|
}
|
|
.item-view .search-focused .blog-name,.sticky .search-focused .blog-name{
|
|
opacity:0
|
|
}
|
|
.centered-bottom,.centered-top-container,.centered-top-placeholder{
|
|
padding:0 16px
|
|
}
|
|
.centered-top{
|
|
position:relative
|
|
}
|
|
.item-view .centered-top.search-focused .subscribe-section-container,.sticky .centered-top.search-focused .subscribe-section-container{
|
|
opacity:0
|
|
}
|
|
.page_body.has-vertical-ads .centered .centered-bottom{
|
|
display:inline-block;
|
|
width:calc(100% - 176px)
|
|
}
|
|
.Header h1{
|
|
color:#ffffff;
|
|
font:bold 45px Roboto, sans-serif;
|
|
line-height:normal;
|
|
margin:0 0 13px 0;
|
|
text-align:center;
|
|
width:100%
|
|
}
|
|
.Header h1 a,.Header h1 a:hover,.Header h1 a:visited{
|
|
color:#ffffff
|
|
}
|
|
.item-view .Header h1,.sticky .Header h1{
|
|
font-size:24px;
|
|
line-height:24px;
|
|
margin:0;
|
|
text-align:left
|
|
}
|
|
.sticky .Header h1{
|
|
color:#757575
|
|
}
|
|
.sticky .Header h1 a,.sticky .Header h1 a:hover,.sticky .Header h1 a:visited{
|
|
color:#757575
|
|
}
|
|
.Header p{
|
|
color:#ffffff;
|
|
margin:0 0 13px 0;
|
|
opacity:.8;
|
|
text-align:center
|
|
}
|
|
.widget .title{
|
|
line-height:28px
|
|
}
|
|
.BlogArchive li{
|
|
font-size:16px
|
|
}
|
|
.BlogArchive .post-count{
|
|
color:#757575
|
|
}
|
|
#page_body .FeaturedPost,.Blog .blog-posts .post-outer-container{
|
|
background:#ffffff;
|
|
min-height:40px;
|
|
padding:30px 40px;
|
|
width:auto
|
|
}
|
|
.Blog .blog-posts .post-outer-container:last-child{
|
|
margin-bottom:0
|
|
}
|
|
.Blog .blog-posts .post-outer-container .post-outer{
|
|
border:0;
|
|
position:relative;
|
|
padding-bottom:.25em
|
|
}
|
|
.post-outer-container{
|
|
margin-bottom:16px
|
|
}
|
|
.post:first-child{
|
|
margin-top:0
|
|
}
|
|
.post .thumb{
|
|
float:left;
|
|
height:20%;
|
|
width:20%
|
|
}
|
|
.post-share-buttons-bottom,.post-share-buttons-top{
|
|
float:right
|
|
}
|
|
.post-share-buttons-bottom{
|
|
margin-right:24px
|
|
}
|
|
.post-footer,.post-header{
|
|
clear:left;
|
|
color:rgba(0, 0, 0, 0.54);
|
|
margin:0;
|
|
width:inherit
|
|
}
|
|
.blog-pager{
|
|
text-align:center
|
|
}
|
|
.blog-pager a{
|
|
color:#2196f3
|
|
}
|
|
.blog-pager a:visited{
|
|
color:#2196f3
|
|
}
|
|
.blog-pager a:hover{
|
|
color:#2196f3
|
|
}
|
|
.post-title{
|
|
font:normal bold 30px Roboto, sans-serif;
|
|
float:left;
|
|
margin:0 0 8px 0;
|
|
max-width:calc(100% - 48px)
|
|
}
|
|
.post-title a{
|
|
font:bold 30px Roboto, sans-serif
|
|
}
|
|
.post-title,.post-title a,.post-title a:hover,.post-title a:visited{
|
|
color:#212121
|
|
}
|
|
.post-body{
|
|
color:#757575;
|
|
font:normal normal 17px Roboto, sans-serif;
|
|
line-height:1.6em;
|
|
margin:1.5em 0 2em 0;
|
|
display:block
|
|
}
|
|
.post-body img{
|
|
height:inherit
|
|
}
|
|
.post-body .snippet-thumbnail{
|
|
float:left;
|
|
margin:0;
|
|
margin-right:2em;
|
|
max-height:128px;
|
|
max-width:128px
|
|
}
|
|
.post-body .snippet-thumbnail img{
|
|
max-width:100%
|
|
}
|
|
.main .FeaturedPost .widget-content{
|
|
border:0;
|
|
position:relative;
|
|
padding-bottom:.25em
|
|
}
|
|
.FeaturedPost img{
|
|
margin-top:2em
|
|
}
|
|
.FeaturedPost .snippet-container{
|
|
margin:2em 0
|
|
}
|
|
.FeaturedPost .snippet-container p{
|
|
margin:0
|
|
}
|
|
.FeaturedPost .snippet-thumbnail{
|
|
float:none;
|
|
height:auto;
|
|
margin-bottom:2em;
|
|
margin-right:0;
|
|
overflow:hidden;
|
|
max-height:calc(600px + 2em);
|
|
max-width:100%;
|
|
text-align:center;
|
|
width:100%
|
|
}
|
|
.FeaturedPost .snippet-thumbnail img{
|
|
max-width:100%;
|
|
width:100%
|
|
}
|
|
.byline{
|
|
color:rgba(0, 0, 0, 0.54);
|
|
display:inline-block;
|
|
line-height:24px;
|
|
margin-top:8px;
|
|
vertical-align:top
|
|
}
|
|
.byline.post-author:first-child{
|
|
margin-right:0
|
|
}
|
|
.byline.reactions .reactions-label{
|
|
line-height:22px;
|
|
vertical-align:top
|
|
}
|
|
.byline.post-share-buttons{
|
|
position:relative;
|
|
display:inline-block;
|
|
margin-top:0;
|
|
width:100%
|
|
}
|
|
.byline.post-share-buttons .sharing{
|
|
float:right
|
|
}
|
|
.flat-button.ripple:hover{
|
|
background-color:rgba(33,150,243,.12)
|
|
}
|
|
.flat-button.ripple .splash{
|
|
background-color:rgba(33,150,243,.4)
|
|
}
|
|
a.timestamp-link,a:active.timestamp-link,a:visited.timestamp-link{
|
|
color:inherit;
|
|
font:inherit;
|
|
text-decoration:inherit
|
|
}
|
|
.post-share-buttons{
|
|
margin-left:0
|
|
}
|
|
.clear-sharing{
|
|
min-height:24px
|
|
}
|
|
.comment-link{
|
|
color:#2196f3;
|
|
position:relative
|
|
}
|
|
.comment-link .num_comments{
|
|
margin-left:8px;
|
|
vertical-align:top
|
|
}
|
|
#comment-holder .continue{
|
|
display:none
|
|
}
|
|
#comment-editor{
|
|
margin-bottom:20px;
|
|
margin-top:20px
|
|
}
|
|
#comments .comment-form h4,#comments h3.title{
|
|
position:absolute;
|
|
clip:rect(1px,1px,1px,1px);
|
|
padding:0;
|
|
border:0;
|
|
height:1px;
|
|
width:1px;
|
|
overflow:hidden
|
|
}
|
|
.post-filter-message{
|
|
background-color:rgba(0,0,0,.7);
|
|
color:#fff;
|
|
display:table;
|
|
margin-bottom:16px;
|
|
width:100%
|
|
}
|
|
.post-filter-message div{
|
|
display:table-cell;
|
|
padding:15px 28px
|
|
}
|
|
.post-filter-message div:last-child{
|
|
padding-left:0;
|
|
text-align:right
|
|
}
|
|
.post-filter-message a{
|
|
white-space:nowrap
|
|
}
|
|
.post-filter-message .search-label,.post-filter-message .search-query{
|
|
font-weight:700;
|
|
color:#2196f3
|
|
}
|
|
#blog-pager{
|
|
margin:2em 0
|
|
}
|
|
#blog-pager a{
|
|
color:#2196f3;
|
|
font-size:14px
|
|
}
|
|
.subscribe-button{
|
|
border-color:#ffffff;
|
|
color:#ffffff
|
|
}
|
|
.sticky .subscribe-button{
|
|
border-color:#757575;
|
|
color:#757575
|
|
}
|
|
.tabs{
|
|
margin:0 auto;
|
|
padding:0
|
|
}
|
|
.tabs li{
|
|
margin:0 8px;
|
|
vertical-align:top
|
|
}
|
|
.tabs .overflow-button a,.tabs li a{
|
|
color:#cccccc;
|
|
font:700 normal 15px Roboto, sans-serif;
|
|
line-height:18px
|
|
}
|
|
.tabs .overflow-button a{
|
|
padding:12px 8px
|
|
}
|
|
.overflow-popup .tabs li{
|
|
text-align:left
|
|
}
|
|
.overflow-popup li a{
|
|
color:#757575;
|
|
display:block;
|
|
padding:8px 20px
|
|
}
|
|
.overflow-popup li.selected a{
|
|
color:#212121
|
|
}
|
|
a.report_abuse{
|
|
font-weight:400
|
|
}
|
|
.Label li,.Label span.label-size,.byline.post-labels a{
|
|
background-color:#f7f7f7;
|
|
border:1px solid #f7f7f7;
|
|
border-radius:15px;
|
|
display:inline-block;
|
|
margin:4px 4px 4px 0;
|
|
padding:3px 8px
|
|
}
|
|
.Label a,.byline.post-labels a{
|
|
color:rgba(0,0,0,0.54)
|
|
}
|
|
.Label ul{
|
|
list-style:none;
|
|
padding:0
|
|
}
|
|
.PopularPosts{
|
|
background-color:#eeeeee;
|
|
padding:30px 40px
|
|
}
|
|
.PopularPosts .item-content{
|
|
color:#757575;
|
|
margin-top:24px
|
|
}
|
|
.PopularPosts a,.PopularPosts a:hover,.PopularPosts a:visited{
|
|
color:#2196f3
|
|
}
|
|
.PopularPosts .post-title,.PopularPosts .post-title a,.PopularPosts .post-title a:hover,.PopularPosts .post-title a:visited{
|
|
color:#212121;
|
|
font-size:18px;
|
|
font-weight:700;
|
|
line-height:24px
|
|
}
|
|
.PopularPosts,.PopularPosts h3.title a{
|
|
color:#757575;
|
|
font:normal normal 17px Roboto, sans-serif
|
|
}
|
|
.main .PopularPosts{
|
|
padding:16px 40px
|
|
}
|
|
.PopularPosts h3.title{
|
|
font-size:14px;
|
|
margin:0
|
|
}
|
|
.PopularPosts h3.post-title{
|
|
margin-bottom:0
|
|
}
|
|
.PopularPosts .byline{
|
|
color:rgba(0, 0, 0, 0.54)
|
|
}
|
|
.PopularPosts .jump-link{
|
|
float:right;
|
|
margin-top:16px
|
|
}
|
|
.PopularPosts .post-header .byline{
|
|
font-size:.9em;
|
|
font-style:italic;
|
|
margin-top:6px
|
|
}
|
|
.PopularPosts ul{
|
|
list-style:none;
|
|
padding:0;
|
|
margin:0
|
|
}
|
|
.PopularPosts .post{
|
|
padding:20px 0
|
|
}
|
|
.PopularPosts .post+.post{
|
|
border-top:1px dashed #cccccc
|
|
}
|
|
.PopularPosts .item-thumbnail{
|
|
float:left;
|
|
margin-right:32px
|
|
}
|
|
.PopularPosts .item-thumbnail img{
|
|
height:88px;
|
|
padding:0;
|
|
width:88px
|
|
}
|
|
.inline-ad{
|
|
margin-bottom:16px
|
|
}
|
|
.desktop-ad .inline-ad{
|
|
display:block
|
|
}
|
|
.adsbygoogle{
|
|
overflow:hidden
|
|
}
|
|
.vertical-ad-container{
|
|
float:right;
|
|
margin-right:16px;
|
|
width:128px
|
|
}
|
|
.vertical-ad-container .AdSense+.AdSense{
|
|
margin-top:16px
|
|
}
|
|
.inline-ad-placeholder,.vertical-ad-placeholder{
|
|
background:#ffffff;
|
|
border:1px solid #000;
|
|
opacity:.9;
|
|
vertical-align:middle;
|
|
text-align:center
|
|
}
|
|
.inline-ad-placeholder span,.vertical-ad-placeholder span{
|
|
margin-top:290px;
|
|
display:block;
|
|
text-transform:uppercase;
|
|
font-weight:700;
|
|
color:#212121
|
|
}
|
|
.vertical-ad-placeholder{
|
|
height:600px
|
|
}
|
|
.vertical-ad-placeholder span{
|
|
margin-top:290px;
|
|
padding:0 40px
|
|
}
|
|
.inline-ad-placeholder{
|
|
height:90px
|
|
}
|
|
.inline-ad-placeholder span{
|
|
margin-top:36px
|
|
}
|
|
.Attribution{
|
|
color:#757575
|
|
}
|
|
.Attribution a,.Attribution a:hover,.Attribution a:visited{
|
|
color:#2196f3
|
|
}
|
|
.Attribution svg{
|
|
fill:#707070
|
|
}
|
|
.sidebar-container{
|
|
box-shadow:1px 1px 3px rgba(0,0,0,.1)
|
|
}
|
|
.sidebar-container,.sidebar-container .sidebar_bottom{
|
|
background-color:#ffffff
|
|
}
|
|
.sidebar-container .navigation,.sidebar-container .sidebar_top_wrapper{
|
|
background-color:#ffffff
|
|
}
|
|
.sidebar-container .sidebar_top{
|
|
overflow:auto
|
|
}
|
|
.sidebar-container .sidebar_bottom{
|
|
width:100%;
|
|
padding-top:16px
|
|
}
|
|
.sidebar-container .widget:first-child{
|
|
padding-top:0
|
|
}
|
|
.sidebar_top .widget.Profile{
|
|
padding-bottom:16px
|
|
}
|
|
.widget.Profile{
|
|
margin:0;
|
|
width:100%
|
|
}
|
|
.widget.Profile h2{
|
|
display:none
|
|
}
|
|
.widget.Profile h3.title{
|
|
color:rgba(0,0,0,0.52);
|
|
margin:16px 32px
|
|
}
|
|
.widget.Profile .individual{
|
|
text-align:center
|
|
}
|
|
.widget.Profile .individual .profile-link{
|
|
padding:1em
|
|
}
|
|
.widget.Profile .individual .default-avatar-wrapper .avatar-icon{
|
|
margin:auto
|
|
}
|
|
.widget.Profile .team{
|
|
margin-bottom:32px;
|
|
margin-left:32px;
|
|
margin-right:32px
|
|
}
|
|
.widget.Profile ul{
|
|
list-style:none;
|
|
padding:0
|
|
}
|
|
.widget.Profile li{
|
|
margin:10px 0
|
|
}
|
|
.widget.Profile .profile-img{
|
|
border-radius:50%;
|
|
float:none
|
|
}
|
|
.widget.Profile .profile-link{
|
|
color:#212121;
|
|
font-size:.9em;
|
|
margin-bottom:1em;
|
|
opacity:.87;
|
|
overflow:hidden
|
|
}
|
|
.widget.Profile .profile-link.visit-profile{
|
|
border-style:solid;
|
|
border-width:1px;
|
|
border-radius:12px;
|
|
cursor:pointer;
|
|
font-size:12px;
|
|
font-weight:400;
|
|
padding:5px 20px;
|
|
display:inline-block;
|
|
line-height:normal
|
|
}
|
|
.widget.Profile dd{
|
|
color:rgba(0, 0, 0, 0.54);
|
|
margin:0 16px
|
|
}
|
|
.widget.Profile location{
|
|
margin-bottom:1em
|
|
}
|
|
.widget.Profile .profile-textblock{
|
|
font-size:14px;
|
|
line-height:24px;
|
|
position:relative
|
|
}
|
|
body.sidebar-visible .page_body{
|
|
overflow-y:scroll
|
|
}
|
|
body.sidebar-visible .bg-photo-container{
|
|
overflow-y:scroll
|
|
}
|
|
@media screen and (min-width:1440px){
|
|
.sidebar-container{
|
|
margin-top:480px;
|
|
min-height:calc(100% - 480px);
|
|
overflow:visible;
|
|
z-index:32
|
|
}
|
|
.sidebar-container .sidebar_top_wrapper{
|
|
background-color:#f7f7f7;
|
|
height:480px;
|
|
margin-top:-480px
|
|
}
|
|
.sidebar-container .sidebar_top{
|
|
display:-webkit-box;
|
|
display:-webkit-flex;
|
|
display:-ms-flexbox;
|
|
display:flex;
|
|
height:480px;
|
|
-webkit-box-orient:horizontal;
|
|
-webkit-box-direction:normal;
|
|
-webkit-flex-direction:row;
|
|
-ms-flex-direction:row;
|
|
flex-direction:row;
|
|
max-height:480px
|
|
}
|
|
.sidebar-container .sidebar_bottom{
|
|
max-width:284px;
|
|
width:284px
|
|
}
|
|
body.collapsed-header .sidebar-container{
|
|
z-index:15
|
|
}
|
|
.sidebar-container .sidebar_top:empty{
|
|
display:none
|
|
}
|
|
.sidebar-container .sidebar_top>:only-child{
|
|
-webkit-box-flex:0;
|
|
-webkit-flex:0 0 auto;
|
|
-ms-flex:0 0 auto;
|
|
flex:0 0 auto;
|
|
-webkit-align-self:center;
|
|
-ms-flex-item-align:center;
|
|
-ms-grid-row-align:center;
|
|
align-self:center;
|
|
width:100%
|
|
}
|
|
.sidebar_top_wrapper.no-items{
|
|
display:none
|
|
}
|
|
}
|
|
.post-snippet.snippet-container{
|
|
max-height:120px
|
|
}
|
|
.post-snippet .snippet-item{
|
|
line-height:24px
|
|
}
|
|
.post-snippet .snippet-fade{
|
|
background:-webkit-linear-gradient(left,#ffffff 0,#ffffff 20%,rgba(255, 255, 255, 0) 100%);
|
|
background:linear-gradient(to left,#ffffff 0,#ffffff 20%,rgba(255, 255, 255, 0) 100%);
|
|
color:#757575;
|
|
height:24px
|
|
}
|
|
.popular-posts-snippet.snippet-container{
|
|
max-height:72px
|
|
}
|
|
.popular-posts-snippet .snippet-item{
|
|
line-height:24px
|
|
}
|
|
.PopularPosts .popular-posts-snippet .snippet-fade{
|
|
color:#757575;
|
|
height:24px
|
|
}
|
|
.main .popular-posts-snippet .snippet-fade{
|
|
background:-webkit-linear-gradient(left,#eeeeee 0,#eeeeee 20%,rgba(238, 238, 238, 0) 100%);
|
|
background:linear-gradient(to left,#eeeeee 0,#eeeeee 20%,rgba(238, 238, 238, 0) 100%)
|
|
}
|
|
.sidebar_bottom .popular-posts-snippet .snippet-fade{
|
|
background:-webkit-linear-gradient(left,#ffffff 0,#ffffff 20%,rgba(255, 255, 255, 0) 100%);
|
|
background:linear-gradient(to left,#ffffff 0,#ffffff 20%,rgba(255, 255, 255, 0) 100%)
|
|
}
|
|
.profile-snippet.snippet-container{
|
|
max-height:192px
|
|
}
|
|
.has-location .profile-snippet.snippet-container{
|
|
max-height:144px
|
|
}
|
|
.profile-snippet .snippet-item{
|
|
line-height:24px
|
|
}
|
|
.profile-snippet .snippet-fade{
|
|
background:-webkit-linear-gradient(left,#ffffff 0,#ffffff 20%,rgba(255, 255, 255, 0) 100%);
|
|
background:linear-gradient(to left,#ffffff 0,#ffffff 20%,rgba(255, 255, 255, 0) 100%);
|
|
color:rgba(0, 0, 0, 0.54);
|
|
height:24px
|
|
}
|
|
@media screen and (min-width:1440px){
|
|
.profile-snippet .snippet-fade{
|
|
background:-webkit-linear-gradient(left,#f7f7f7 0,#f7f7f7 20%,rgba(247, 247, 247, 0) 100%);
|
|
background:linear-gradient(to left,#f7f7f7 0,#f7f7f7 20%,rgba(247, 247, 247, 0) 100%)
|
|
}
|
|
}
|
|
@media screen and (max-width:800px){
|
|
.blog-name{
|
|
margin-top:0
|
|
}
|
|
body.item-view .blog-name{
|
|
margin:0 48px
|
|
}
|
|
.centered-bottom{
|
|
padding:8px
|
|
}
|
|
body.item-view .centered-bottom{
|
|
padding:0
|
|
}
|
|
.page_body .centered{
|
|
padding:10px 0
|
|
}
|
|
body.item-view #header,body.item-view .widget.Header{
|
|
margin-right:0
|
|
}
|
|
body.collapsed-header .centered-top-container .blog-name{
|
|
display:block
|
|
}
|
|
body.collapsed-header .centered-top-container .widget.Header h1{
|
|
text-align:center
|
|
}
|
|
.widget.Header header{
|
|
padding:0
|
|
}
|
|
.widget.Header h1{
|
|
font-size:24px;
|
|
line-height:24px;
|
|
margin-bottom:13px
|
|
}
|
|
body.item-view .widget.Header h1{
|
|
text-align:center
|
|
}
|
|
body.item-view .widget.Header p{
|
|
text-align:center
|
|
}
|
|
.blog-name .widget.PageList{
|
|
padding:0
|
|
}
|
|
body.item-view .centered-top{
|
|
margin-bottom:5px
|
|
}
|
|
.search-action,.search-input{
|
|
margin-bottom:-8px
|
|
}
|
|
.search form{
|
|
margin-bottom:8px
|
|
}
|
|
body.item-view .subscribe-section-container{
|
|
margin:5px 0 0 0;
|
|
width:100%
|
|
}
|
|
#page_body.section div.widget.FeaturedPost,div.widget.PopularPosts{
|
|
padding:16px
|
|
}
|
|
div.widget.Blog .blog-posts .post-outer-container{
|
|
padding:16px
|
|
}
|
|
div.widget.Blog .blog-posts .post-outer-container .post-outer{
|
|
padding:0
|
|
}
|
|
.post:first-child{
|
|
margin:0
|
|
}
|
|
.post-body .snippet-thumbnail{
|
|
margin:0 3vw 3vw 0
|
|
}
|
|
.post-body .snippet-thumbnail img{
|
|
height:20vw;
|
|
width:20vw;
|
|
max-height:128px;
|
|
max-width:128px
|
|
}
|
|
div.widget.PopularPosts div.item-thumbnail{
|
|
margin:0 3vw 3vw 0
|
|
}
|
|
div.widget.PopularPosts div.item-thumbnail img{
|
|
height:20vw;
|
|
width:20vw;
|
|
max-height:88px;
|
|
max-width:88px
|
|
}
|
|
.post-title{
|
|
line-height:1
|
|
}
|
|
.post-title,.post-title a{
|
|
font-size:20px
|
|
}
|
|
#page_body.section div.widget.FeaturedPost h3 a{
|
|
font-size:22px
|
|
}
|
|
.mobile-ad .inline-ad{
|
|
display:block
|
|
}
|
|
.page_body.has-vertical-ads .vertical-ad-container,.page_body.has-vertical-ads .vertical-ad-container ins{
|
|
display:none
|
|
}
|
|
.page_body.has-vertical-ads .centered .centered-bottom,.page_body.has-vertical-ads .centered .centered-top{
|
|
display:block;
|
|
width:auto
|
|
}
|
|
div.post-filter-message div{
|
|
padding:8px 16px
|
|
}
|
|
}
|
|
@media screen and (min-width:1440px){
|
|
body{
|
|
position:relative
|
|
}
|
|
body.item-view .blog-name{
|
|
margin-left:48px
|
|
}
|
|
.page_body{
|
|
margin-left:284px
|
|
}
|
|
.search{
|
|
margin-left:0
|
|
}
|
|
.search.focused{
|
|
width:100%
|
|
}
|
|
.sticky{
|
|
padding-left:284px
|
|
}
|
|
.hamburger-menu{
|
|
display:none
|
|
}
|
|
body.collapsed-header .page_body .centered-top-container{
|
|
padding-left:284px;
|
|
padding-right:0;
|
|
width:100%
|
|
}
|
|
body.collapsed-header .centered-top-container .search.focused{
|
|
width:100%
|
|
}
|
|
body.collapsed-header .centered-top-container .blog-name{
|
|
margin-left:0
|
|
}
|
|
body.collapsed-header.item-view .centered-top-container .search.focused{
|
|
width:calc(100% - 50px)
|
|
}
|
|
body.collapsed-header.item-view .centered-top-container .blog-name{
|
|
margin-left:40px
|
|
}
|
|
}
|
|
|
|
--></style>
|
|
<style id='template-skin-1' type='text/css'><!--
|
|
body#layout .hidden,
|
|
body#layout .invisible {
|
|
display: inherit;
|
|
}
|
|
body#layout .navigation {
|
|
display: none;
|
|
}
|
|
body#layout .page,
|
|
body#layout .sidebar_top,
|
|
body#layout .sidebar_bottom {
|
|
display: inline-block;
|
|
left: inherit;
|
|
position: relative;
|
|
vertical-align: top;
|
|
}
|
|
body#layout .page {
|
|
float: right;
|
|
margin-left: 20px;
|
|
width: 55%;
|
|
}
|
|
body#layout .sidebar-container {
|
|
float: right;
|
|
width: 40%;
|
|
}
|
|
body#layout .hamburger-menu {
|
|
display: none;
|
|
}
|
|
--></style>
|
|
<style>
|
|
.bg-photo {background-image:url(https\:\/\/themes.googleusercontent.com\/image?id=L1lcAxxz0CLgsDzixEprHJ2F38TyEjCyE3RSAjynQDks0lT1BDc1OxXKaTEdLc89HPvdB11X9FDw);}
|
|
|
|
@media (max-width: 480px) { .bg-photo {background-image:url(https\:\/\/themes.googleusercontent.com\/image?id=L1lcAxxz0CLgsDzixEprHJ2F38TyEjCyE3RSAjynQDks0lT1BDc1OxXKaTEdLc89HPvdB11X9FDw&options=w480);}}
|
|
@media (max-width: 640px) and (min-width: 481px) { .bg-photo {background-image:url(https\:\/\/themes.googleusercontent.com\/image?id=L1lcAxxz0CLgsDzixEprHJ2F38TyEjCyE3RSAjynQDks0lT1BDc1OxXKaTEdLc89HPvdB11X9FDw&options=w640);}}
|
|
@media (max-width: 800px) and (min-width: 641px) { .bg-photo {background-image:url(https\:\/\/themes.googleusercontent.com\/image?id=L1lcAxxz0CLgsDzixEprHJ2F38TyEjCyE3RSAjynQDks0lT1BDc1OxXKaTEdLc89HPvdB11X9FDw&options=w800);}}
|
|
@media (max-width: 1200px) and (min-width: 801px) { .bg-photo {background-image:url(https\:\/\/themes.googleusercontent.com\/image?id=L1lcAxxz0CLgsDzixEprHJ2F38TyEjCyE3RSAjynQDks0lT1BDc1OxXKaTEdLc89HPvdB11X9FDw&options=w1200);}}
|
|
/* Last tag covers anything over one higher than the previous max-size cap. */
|
|
@media (min-width: 1201px) { .bg-photo {background-image:url(https\:\/\/themes.googleusercontent.com\/image?id=L1lcAxxz0CLgsDzixEprHJ2F38TyEjCyE3RSAjynQDks0lT1BDc1OxXKaTEdLc89HPvdB11X9FDw&options=w1600);}}
|
|
</style>
|
|
<!-- Google tag (gtag.js) -->
|
|
<script async='true' src='https://www.googletagmanager.com/gtag/js?id=G-8187JXPXZK'></script>
|
|
<script>
|
|
window.dataLayer = window.dataLayer || [];
|
|
function gtag(){dataLayer.push(arguments);}
|
|
gtag('js', new Date());
|
|
gtag('config', 'G-8187JXPXZK');
|
|
</script>
|
|
<script async='async' src='https://www.gstatic.com/external_hosted/clipboardjs/clipboard.min.js'></script>
|
|
<script type='text/x-mathjax-config'> MathJax.Hub.Config({tex2jax: {inlineMath: [['$','$'], ['\\(','\\)']]}}); </script>
|
|
<script src="//cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML" type="text/javascript"> </script>
|
|
<!-- Google tag (gtag.js) -->
|
|
<script async='async' src='https://www.googletagmanager.com/gtag/js?id=G-8187JXPXZK'></script>
|
|
<script>
|
|
window.dataLayer = window.dataLayer || [];
|
|
function gtag(){dataLayer.push(arguments);}
|
|
gtag('js', new Date());
|
|
|
|
gtag('config', 'G-8187JXPXZK');
|
|
</script>
|
|
<link href='https://draft.blogger.com/dyncss/8436330762136344379/authorization.css?zx=8b51bcf5-dd79-4320-b3e4-1df045ad107d' media='none' onload='if(media!='all')media='all'' rel='stylesheet'/><noscript><link href='https://draft.blogger.com/dyncss/8436330762136344379/authorization.css?zx=8b51bcf5-dd79-4320-b3e4-1df045ad107d' rel='stylesheet'/></noscript>
|
|
<meta name='google-adsense-platform-account' content='ca-host-pub-1556223355139109'/>
|
|
<meta name='google-adsense-platform-domain' content='blogspot.com'/>
|
|
|
|
</head>
|
|
<body class='item-view version-1-3-0'>
|
|
<a class='skip-navigation' href='#main' tabindex='0'>
|
|
Skip to main content
|
|
</a>
|
|
<div class='page'>
|
|
<div class='bg-photo-overlay'></div>
|
|
<div class='bg-photo-container'>
|
|
<div class='bg-photo'></div>
|
|
</div>
|
|
<div class='page_body'>
|
|
<div class='centered'>
|
|
<div class='centered-top-placeholder'></div>
|
|
<header class='centered-top-container' role='banner'>
|
|
<div class='centered-top'>
|
|
<a class='return_link' href='https://muratbuffalo.blogspot.com/'>
|
|
<button class='svg-icon-24-button back-button rtl-reversible-icon flat-icon-button ripple'>
|
|
<svg class='svg-icon-24'>
|
|
<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_arrow_back_black_24dp' xmlns:xlink='http://www.w3.org/1999/xlink'></use>
|
|
</svg>
|
|
</button>
|
|
</a>
|
|
<div class='search'>
|
|
<button aria-label='Search' class='search-expand touch-icon-button'>
|
|
<div class='flat-icon-button ripple'>
|
|
<svg class='svg-icon-24 search-expand-icon'>
|
|
<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_search_black_24dp' xmlns:xlink='http://www.w3.org/1999/xlink'></use>
|
|
</svg>
|
|
</div>
|
|
</button>
|
|
<div class='section' id='search_top' name='Search (Top)'><div class='widget BlogSearch' data-version='2' id='BlogSearch1'>
|
|
<h3 class='title'>
|
|
Search This Blog
|
|
</h3>
|
|
<div class='widget-content' role='search'>
|
|
<form action='https://muratbuffalo.blogspot.com/search' target='_top'>
|
|
<div class='search-input'>
|
|
<input aria-label='Search this blog' autocomplete='off' name='q' placeholder='Search this blog' value=''/>
|
|
</div>
|
|
<input class='search-action flat-button' type='submit' value='Search'/>
|
|
</form>
|
|
</div>
|
|
</div></div>
|
|
</div>
|
|
<div class='clearboth'></div>
|
|
<div class='blog-name container'>
|
|
<div class='container section' id='header' name='Header'><div class='widget Header' data-version='2' id='Header1'>
|
|
<div class='header-widget'>
|
|
<div>
|
|
<h1>
|
|
<a href='https://muratbuffalo.blogspot.com/'>
|
|
Metadata
|
|
</a>
|
|
</h1>
|
|
</div>
|
|
<p>
|
|
On distributed systems broadly defined and other curiosities. The opinions on this site are my own.
|
|
</p>
|
|
</div>
|
|
</div></div>
|
|
<nav role='navigation'>
|
|
<div class='clearboth no-items section' id='page_list_top' name='Page List (Top)'>
|
|
</div>
|
|
</nav>
|
|
</div>
|
|
</div>
|
|
</header>
|
|
<div>
|
|
<div class='vertical-ad-container no-items section' id='ads' name='Ads'>
|
|
</div>
|
|
<main class='centered-bottom' id='main' role='main' tabindex='-1'>
|
|
<div class='main section' id='page_body' name='Page Body'>
|
|
<div class='widget Blog' data-version='2' id='Blog1'>
|
|
<div class='blog-posts hfeed container'>
|
|
<article class='post-outer-container'>
|
|
<div class='post-outer'>
|
|
<div class='post'>
|
|
<script type='application/ld+json'>{
|
|
"@context": "http://schema.org",
|
|
"@type": "BlogPosting",
|
|
"mainEntityOfPage": {
|
|
"@type": "WebPage",
|
|
"@id": "http://muratbuffalo.blogspot.com/2025/06/analyzing-metastable-failures-in.html"
|
|
},
|
|
"headline": "Analyzing Metastable Failures in Distributed Systems","description": "So it goes: your system is purring like a tiger, devouring requests, until, without warning, it slumps into existential dread. Not a crash. ...","datePublished": "2025-06-05T13:50:00-04:00",
|
|
"dateModified": "2025-06-05T13:53:59-04:00","image": {
|
|
"@type": "ImageObject","url": "https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCunDyknolwDduldWxvDQJI-UpUXLRneWkPsgsX80tcGEPcLNvHCKItO4kH1Po-aVXSeHwu3XMtD0CWUFOGJo7bn9tItDIp6lKx4GHSiJRo4_1PJIJ6ffNMhRhiI_70QtlJYYM9wG7ObTA8yU50dh3MxgHIG3cs0O2KAU4UULbX0MMqBKplaA-D6i52lY/w1200-h630-p-k-no-nu/Screenshot%202025-06-05%20at%201.45.47%E2%80%AFPM.png",
|
|
"height": 630,
|
|
"width": 1200},"publisher": {
|
|
"@type": "Organization",
|
|
"name": "Blogger",
|
|
"logo": {
|
|
"@type": "ImageObject",
|
|
"url": "https://blogger.googleusercontent.com/img/b/U2hvZWJveA/AVvXsEgfMvYAhAbdHksiBA24JKmb2Tav6K0GviwztID3Cq4VpV96HaJfy0viIu8z1SSw_G9n5FQHZWSRao61M3e58ImahqBtr7LiOUS6m_w59IvDYwjmMcbq3fKW4JSbacqkbxTo8B90dWp0Cese92xfLMPe_tg11g/h60/",
|
|
"width": 206,
|
|
"height": 60
|
|
}
|
|
},"author": {
|
|
"@type": "Person",
|
|
"name": "Murat"
|
|
}
|
|
}</script>
|
|
<a name='8397392905980257359'></a>
|
|
<h3 class='post-title entry-title'>
|
|
Analyzing Metastable Failures in Distributed Systems
|
|
</h3>
|
|
<div class='post-share-buttons post-share-buttons-top'>
|
|
<div class='byline post-share-buttons goog-inline-block'>
|
|
<div aria-owns='sharing-popup-Blog1-byline-8397392905980257359' class='sharing' data-title='Analyzing Metastable Failures in Distributed Systems'>
|
|
<button aria-controls='sharing-popup-Blog1-byline-8397392905980257359' aria-label='Share' class='sharing-button touch-icon-button' id='sharing-button-Blog1-byline-8397392905980257359' role='button'>
|
|
<div class='flat-icon-button ripple'>
|
|
<svg class='svg-icon-24'>
|
|
<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_share_black_24dp' xmlns:xlink='http://www.w3.org/1999/xlink'></use>
|
|
</svg>
|
|
</div>
|
|
</button>
|
|
<div class='share-buttons-container'>
|
|
<ul aria-hidden='true' aria-label='Share' class='share-buttons hidden' id='sharing-popup-Blog1-byline-8397392905980257359' role='menu'>
|
|
<li>
|
|
<span aria-label='Get link' class='sharing-platform-button sharing-element-link' data-href='https://draft.blogger.com/share-post.g?blogID=8436330762136344379&postID=8397392905980257359&target=' data-url='https://muratbuffalo.blogspot.com/2025/06/analyzing-metastable-failures-in.html' role='menuitem' tabindex='-1' title='Get link'>
|
|
<svg class='svg-icon-24 touch-icon sharing-link'>
|
|
<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_24_link_dark' xmlns:xlink='http://www.w3.org/1999/xlink'></use>
|
|
</svg>
|
|
<span class='platform-sharing-text'>Get link</span>
|
|
</span>
|
|
</li>
|
|
<li>
|
|
<span aria-label='Share to Facebook' class='sharing-platform-button sharing-element-facebook' data-href='https://draft.blogger.com/share-post.g?blogID=8436330762136344379&postID=8397392905980257359&target=facebook' data-url='https://muratbuffalo.blogspot.com/2025/06/analyzing-metastable-failures-in.html' role='menuitem' tabindex='-1' title='Share to Facebook'>
|
|
<svg class='svg-icon-24 touch-icon sharing-facebook'>
|
|
<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_24_facebook_dark' xmlns:xlink='http://www.w3.org/1999/xlink'></use>
|
|
</svg>
|
|
<span class='platform-sharing-text'>Facebook</span>
|
|
</span>
|
|
</li>
|
|
<li>
|
|
<span aria-label='Share to X' class='sharing-platform-button sharing-element-twitter' data-href='https://draft.blogger.com/share-post.g?blogID=8436330762136344379&postID=8397392905980257359&target=twitter' data-url='https://muratbuffalo.blogspot.com/2025/06/analyzing-metastable-failures-in.html' role='menuitem' tabindex='-1' title='Share to X'>
|
|
<svg class='svg-icon-24 touch-icon sharing-twitter'>
|
|
<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_24_twitter_dark' xmlns:xlink='http://www.w3.org/1999/xlink'></use>
|
|
</svg>
|
|
<span class='platform-sharing-text'>X</span>
|
|
</span>
|
|
</li>
|
|
<li>
|
|
<span aria-label='Share to Pinterest' class='sharing-platform-button sharing-element-pinterest' data-href='https://draft.blogger.com/share-post.g?blogID=8436330762136344379&postID=8397392905980257359&target=pinterest' data-url='https://muratbuffalo.blogspot.com/2025/06/analyzing-metastable-failures-in.html' role='menuitem' tabindex='-1' title='Share to Pinterest'>
|
|
<svg class='svg-icon-24 touch-icon sharing-pinterest'>
|
|
<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_24_pinterest_dark' xmlns:xlink='http://www.w3.org/1999/xlink'></use>
|
|
</svg>
|
|
<span class='platform-sharing-text'>Pinterest</span>
|
|
</span>
|
|
</li>
|
|
<li>
|
|
<span aria-label='Email' class='sharing-platform-button sharing-element-email' data-href='https://draft.blogger.com/share-post.g?blogID=8436330762136344379&postID=8397392905980257359&target=email' data-url='https://muratbuffalo.blogspot.com/2025/06/analyzing-metastable-failures-in.html' role='menuitem' tabindex='-1' title='Email'>
|
|
<svg class='svg-icon-24 touch-icon sharing-email'>
|
|
<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_24_email_dark' xmlns:xlink='http://www.w3.org/1999/xlink'></use>
|
|
</svg>
|
|
<span class='platform-sharing-text'>Email</span>
|
|
</span>
|
|
</li>
|
|
<li aria-hidden='true' class='hidden'>
|
|
<span aria-label='Share to other apps' class='sharing-platform-button sharing-element-other' data-url='https://muratbuffalo.blogspot.com/2025/06/analyzing-metastable-failures-in.html' role='menuitem' tabindex='-1' title='Share to other apps'>
|
|
<svg class='svg-icon-24 touch-icon sharing-sharingOther'>
|
|
<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_more_horiz_black_24dp' xmlns:xlink='http://www.w3.org/1999/xlink'></use>
|
|
</svg>
|
|
<span class='platform-sharing-text'>Other Apps</span>
|
|
</span>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class='post-header'>
|
|
<div class='post-header-line-1'>
|
|
<span class='byline post-timestamp'>
|
|
-
|
|
<meta content='http://muratbuffalo.blogspot.com/2025/06/analyzing-metastable-failures-in.html'/>
|
|
<a class='timestamp-link' href='https://muratbuffalo.blogspot.com/2025/06/analyzing-metastable-failures-in.html' rel='bookmark' title='permanent link'>
|
|
<time class='published' datetime='2025-06-05T13:50:00-04:00' title='2025-06-05T13:50:00-04:00'>
|
|
June 05, 2025
|
|
</time>
|
|
</a>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
<div class='post-body entry-content float-container' id='post-body-8397392905980257359'>
|
|
<p>So it goes: your system is purring like a tiger, devouring requests, until, without warning, it slumps into existential dread. Not a crash. Not a bang. A quiet, self-sustaining collapse. The system doesn’t stop. It just refuses to get better. Metastable failure is what happens when the feedback loops in the system go feral. Retries pile up, queues overflow, recovery stalls. Everything runs but nothing improves. The system is busy and useless.</p><p>In an earlier post, I reviewed <a href="https://muratbuffalo.blogspot.com/2023/09/metastable-failures-in-wild.html">the excellent OSDI ’22 paper on metastable failures</a>, which dissected real-world incidents and laid the theoretical groundwork. If you haven’t read that one, start there.</p><p>This <a href="https://sigops.org/s/conferences/hotos/2025/papers/hotos25-106.pdf">HotOS ’25 paper </a>picks up the thread. It introduces tooling and a simulation framework to help engineers identify potential metastable failure modes before disaster strikes. It’s early stage work. A short paper. But a promising start. Let’s walk through it.</p><p><br /></p><h2 style="text-align: left;">Introduction</h2><p>Like most great tragedies, metastable failure doesn't begin with villainy; it begins with good intentions. Systems are built to be resilient: retries, queues, timeouts, backoffs. An immune system for failure, so to speak. But occasionally that immune system misfires and attacks the system itself. Retries amplify load. Timeouts cascade. Error handling makes more errors. Feedback loops go feral and you get an Ouroboros, a snake that eats its tail in an eternal cycle. The system gets stuck in degraded mode, and refuses to get better.</p><p>This paper takes on the problem of identifying where systems are vulnerable to such failures. It proposes a modeling and simulation framework to give operators a macroscopic view: where metastability can strike, and how to steer clear of it.</p><p><br /></p><h2 style="text-align: left;">Overview</h2><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCunDyknolwDduldWxvDQJI-UpUXLRneWkPsgsX80tcGEPcLNvHCKItO4kH1Po-aVXSeHwu3XMtD0CWUFOGJo7bn9tItDIp6lKx4GHSiJRo4_1PJIJ6ffNMhRhiI_70QtlJYYM9wG7ObTA8yU50dh3MxgHIG3cs0O2KAU4UULbX0MMqBKplaA-D6i52lY/s1086/Screenshot%202025-06-05%20at%201.45.47%E2%80%AFPM.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="658" data-original-width="1086" height="243" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCunDyknolwDduldWxvDQJI-UpUXLRneWkPsgsX80tcGEPcLNvHCKItO4kH1Po-aVXSeHwu3XMtD0CWUFOGJo7bn9tItDIp6lKx4GHSiJRo4_1PJIJ6ffNMhRhiI_70QtlJYYM9wG7ObTA8yU50dh3MxgHIG3cs0O2KAU4UULbX0MMqBKplaA-D6i52lY/w400-h243/Screenshot%202025-06-05%20at%201.45.47%E2%80%AFPM.png" width="400" /></a></div><br /><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgt8FshCOgw4JkM675cZ038GL4uixsedr4oENyZWlwm-Fo9Fo62edRJ4OrCyXVSrJXRR8rqYkWLSdNNG2jpMRxV-met7Z2V33jcaZaOIiKZj-X4EyfQDsevpGoq5d7p5pKxAuoUVDl3T0Avo78FfJz-IGST-su10Aw2rqTzKq7UYGFsNHtJvVr53dzMwGQ/s2344/Screenshot%202025-06-05%20at%201.46.37%E2%80%AFPM.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="472" data-original-width="2344" height="128" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgt8FshCOgw4JkM675cZ038GL4uixsedr4oENyZWlwm-Fo9Fo62edRJ4OrCyXVSrJXRR8rqYkWLSdNNG2jpMRxV-met7Z2V33jcaZaOIiKZj-X4EyfQDsevpGoq5d7p5pKxAuoUVDl3T0Avo78FfJz-IGST-su10Aw2rqTzKq7UYGFsNHtJvVr53dzMwGQ/w640-h128/Screenshot%202025-06-05%20at%201.46.37%E2%80%AFPM.png" width="640" /></a></div><p></p><p>The paper proposes a modeling pipeline that spans levels of abstraction: from queueing theory models (CTMC), to simulations (DES), to emulations, and finally, to stress tests on real systems. The further down the stack you go, the more accurate and more expensive the analysis becomes.</p><p>The key idea is a chain of simulations: each stage refines the previous one. Abstract models suggest where trouble might be, and concrete experiments confirm or calibrate. The pipeline is bidirectional: data from low-level runs improves high-level models, and high-level predictions guide where to focus concrete testing.</p><p>The modeling is done using a Python-based DSL. It captures common abstractions: thread pools, queues, retries, service times. Crucially, the authors claim that only a small number of such components are needed to capture the essential dynamics of many production services. Business logic is abstracted away as service-time distributions.</p><p>Figure 2 shows a simple running example used throughout the paper: a single-threaded server handling API requests at 10 RPS, serving a client that sends requests at 5 RPS, with a 5s timeout and five retries. The queue bound is 150. The goal is to understand when this setup tips into metastability and how to tune parameters to avoid that.</p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOwNT557tXL5WMQs8SdZGYVzvVh6HowgOoYPZSW3imn7mASBsZM6AXQP8hlap65nwM2vhZZ1j6zDbUoel6sg9ifi8PE_JK52domugCbtGSsc6VNZ3_pcxiYx7h8C_HbIvOFq5-u2aevl6KhPeBPgy9B1xa4mBjFRn_Z6NZqv3lT1ybGVsx-oiUQ9ETm4g/s1154/Screenshot%202025-06-05%20at%201.46.01%E2%80%AFPM.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="658" data-original-width="1154" height="228" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiOwNT557tXL5WMQs8SdZGYVzvVh6HowgOoYPZSW3imn7mASBsZM6AXQP8hlap65nwM2vhZZ1j6zDbUoel6sg9ifi8PE_JK52domugCbtGSsc6VNZ3_pcxiYx7h8C_HbIvOFq5-u2aevl6KhPeBPgy9B1xa4mBjFRn_Z6NZqv3lT1ybGVsx-oiUQ9ETm4g/w400-h228/Screenshot%202025-06-05%20at%201.46.01%E2%80%AFPM.png" width="400" /></a></div><p><br /></p><h2 style="text-align: left;">Continuous-Time Markov Chains (CTMC)</h2><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2WDeObBgXS9ucLSHtTdRxg8MnTEvOoX8XRt3po_Lffo50SFLl-c1dKzxGfInQRoaEjQKI6C8qWbJKl-WmX5Bx7vIgq4u6X6slmpPq9NzoKEhqGiUL4PDwAd6iSzXk2Zw_ceWijy3hzNbIjY47SDUJ-Oi9xskEBWR5zj8gk3sOSvCrWx7soVqM4fceNWE/s1144/Screenshot%202025-06-05%20at%201.46.24%E2%80%AFPM.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="908" data-original-width="1144" height="318" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2WDeObBgXS9ucLSHtTdRxg8MnTEvOoX8XRt3po_Lffo50SFLl-c1dKzxGfInQRoaEjQKI6C8qWbJKl-WmX5Bx7vIgq4u6X6slmpPq9NzoKEhqGiUL4PDwAd6iSzXk2Zw_ceWijy3hzNbIjY47SDUJ-Oi9xskEBWR5zj8gk3sOSvCrWx7soVqM4fceNWE/w400-h318/Screenshot%202025-06-05%20at%201.46.24%E2%80%AFPM.png" width="400" /></a></div><br /><p>CTMC provides an abstract average-case view of a system, eliding the operational details of the constructs. Figure 3 shows a probabilistic heatmap of queue length vs. retry count (called orbit). Arrows show the most likely next state; lighter color means higher probability. You can clearly see a tipping point: once the queue exceeds 40 and retries hit 30, the system is likely to spiral into a self-sustaining feedback loop. Below that threshold, it trends toward recovery. This model doesn't capture fine-grained behaviors like retry timers, but it's useful for quickly flagging dangerous regions of the state space.</p><p><br /></p><h2 style="text-align: left;">Simulation (DES)</h2><p>Discrete event simulation (DES) hits a sweet spot between abstract math and real-world mess. It validates CTMC predictions but also opens up the system for inspection. You can trace individual requests, capture any metric, and watch metastability unfold. The paper claims that operators often get their "aha" moment here, seeing exactly how retries and queues spiral out of control.</p><p><br /></p><h2 style="text-align: left;">Emulation</h2><p></p><div class="separator" style="clear: both; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnxiiH_VU3pEpQtRZzaaq9JfUfww0wpS2zqejK_YRe6c6S_S7UUHR9AWIzdyInuIyuQ6WKK4d3QVBhoZBloiTxzEbu3q-IquJ0M2SLg7LK9Cv_D8KF0dnK-YIDyrrh9v79ahUkf9su4Ixkf2e1mvAsPczbcadTZHLhxbswzhGjJEOemaWc1rA3SGd5gg0/s2344/Screenshot%202025-06-05%20at%201.46.57%E2%80%AFPM.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="710" data-original-width="2344" height="194" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgnxiiH_VU3pEpQtRZzaaq9JfUfww0wpS2zqejK_YRe6c6S_S7UUHR9AWIzdyInuIyuQ6WKK4d3QVBhoZBloiTxzEbu3q-IquJ0M2SLg7LK9Cv_D8KF0dnK-YIDyrrh9v79ahUkf9su4Ixkf2e1mvAsPczbcadTZHLhxbswzhGjJEOemaWc1rA3SGd5gg0/w640-h194/Screenshot%202025-06-05%20at%201.46.57%E2%80%AFPM.png" width="640" /></a></div><br /><p>Figure 4 shows the emulator results. This stage runs a stripped-down version of the service on production infrastructure. This is not the real system, but its lazy cousin. It doesn't do real work (it just sleeps on request) but it behaves like the real thing under stress. The emulator confirms that the CTMC and DES models are on track: the fake server fails in the same way as the real one.</p><p><br /></p><h2 style="text-align: left;">Testing</h2><p>The final stage is real stress tests on real servers. It's slow, expensive, and mostly useless unless you already know where to look. And that's the point of the whole pipeline: make testing less dumb. Feed it model predictions, aim it precisely, and maybe catch the metastable failure before it catches you.</p><p><br /></p><h2 style="text-align: left;">Discussion</h2><p>There may be a connection between metastability and <a href="https://muratbuffalo.blogspot.com/2017/08/cloud-fault-tolerance.html">self-stabilization</a>. If we think in terms of a global variant function (say, system stress) then metastability is when that function stops decreasing and the system slips into an attractor basin from which recovery is unlikely. Real-world randomness might kick the system out. But sometimes it is already stuck so bad that it doesn't. Probabilistic self-stabilization once explored this terrain, and it may still have lessons here.</p><p>The paper nods at composability, but doesn't deliver. In practice, feedback loops cross the component boundaries. Metastability often emerges from these interdependencies. Component-wise analysis may miss the whole. As we know from self-stabilization: composition is hard. It works by layering or superposition, not naive composition.</p><p>The running example in the paper is useful but tiny. The authors claim this generalizes, but don't show how. For a real system, like Kafka or Spanner, how many components do you need to simulate? What metrics matter? What fidelity is enough? This feels like a "marking territory” paper that maps a problem space.</p><p>There's also a<a href="https://muratbuffalo.blogspot.com/2013/06/antifragility-from-engineering.html"> Black Swan angle</a> here. Like Taleb's rare, high-impact events, metastable failures are hard to predict, easy to explain in hindsight, and often ignored until too late. Like Black Swan detection, I think metastability is less about prediction and more about preparation: structuring our systems and minds to notice fragility before it breaks. The paper stops at identifying potential metastability risks, and recovery is not considered. Load shedding would work, but we need some theoretical and analytical guidance, otherwise it is too easy to do harm instead of recovery via load shedding. Which actions would help nudge the system out of the metastable basin? In what order, as not to cause further harmful feedback loops? What runtime signals suggest you're close?</p><div><a href="https://charap.co/">Aleksey Charapko</a>, the leading author of the <a href="https://muratbuffalo.blogspot.com/2023/09/metastable-failures-in-wild.html">OSDI'22 paper on metastability</a>, is helping MongoDB to identify potential metastability risks and address them with preventive strategies and defenses. </div>
|
|
</div>
|
|
<div class='post-bottom'>
|
|
<div class='post-footer float-container'>
|
|
<div class='post-footer-line post-footer-line-1'>
|
|
<span class='byline post-icons'>
|
|
<span class='item-action'>
|
|
<a href='https://draft.blogger.com/email-post/8436330762136344379/8397392905980257359' title='Email Post'>
|
|
<svg class='svg-icon-24 touch-icon sharing-icon'>
|
|
<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_24_email_dark' xmlns:xlink='http://www.w3.org/1999/xlink'></use>
|
|
</svg>
|
|
</a>
|
|
</span>
|
|
</span>
|
|
</div>
|
|
<div class='post-footer-line post-footer-line-2'>
|
|
<span class='byline post-labels'>
|
|
<span class='byline-label'>
|
|
</span>
|
|
<a href='https://muratbuffalo.blogspot.com/search/label/fault-tolerance' rel='tag'>fault-tolerance</a>
|
|
<a href='https://muratbuffalo.blogspot.com/search/label/metastability' rel='tag'>metastability</a>
|
|
</span>
|
|
</div>
|
|
<div class='post-footer-line post-footer-line-3'>
|
|
</div>
|
|
</div>
|
|
<div class='post-share-buttons post-share-buttons-bottom invisible'>
|
|
<div class='byline post-share-buttons goog-inline-block'>
|
|
<div aria-owns='sharing-popup-Blog1-byline-8397392905980257359' class='sharing' data-title='Analyzing Metastable Failures in Distributed Systems'>
|
|
<button aria-controls='sharing-popup-Blog1-byline-8397392905980257359' aria-label='Share' class='sharing-button touch-icon-button' id='sharing-button-Blog1-byline-8397392905980257359' role='button'>
|
|
<div class='flat-icon-button ripple'>
|
|
<svg class='svg-icon-24'>
|
|
<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_share_black_24dp' xmlns:xlink='http://www.w3.org/1999/xlink'></use>
|
|
</svg>
|
|
</div>
|
|
</button>
|
|
<div class='share-buttons-container'>
|
|
<ul aria-hidden='true' aria-label='Share' class='share-buttons hidden' id='sharing-popup-Blog1-byline-8397392905980257359' role='menu'>
|
|
<li>
|
|
<span aria-label='Get link' class='sharing-platform-button sharing-element-link' data-href='https://draft.blogger.com/share-post.g?blogID=8436330762136344379&postID=8397392905980257359&target=' data-url='https://muratbuffalo.blogspot.com/2025/06/analyzing-metastable-failures-in.html' role='menuitem' tabindex='-1' title='Get link'>
|
|
<svg class='svg-icon-24 touch-icon sharing-link'>
|
|
<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_24_link_dark' xmlns:xlink='http://www.w3.org/1999/xlink'></use>
|
|
</svg>
|
|
<span class='platform-sharing-text'>Get link</span>
|
|
</span>
|
|
</li>
|
|
<li>
|
|
<span aria-label='Share to Facebook' class='sharing-platform-button sharing-element-facebook' data-href='https://draft.blogger.com/share-post.g?blogID=8436330762136344379&postID=8397392905980257359&target=facebook' data-url='https://muratbuffalo.blogspot.com/2025/06/analyzing-metastable-failures-in.html' role='menuitem' tabindex='-1' title='Share to Facebook'>
|
|
<svg class='svg-icon-24 touch-icon sharing-facebook'>
|
|
<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_24_facebook_dark' xmlns:xlink='http://www.w3.org/1999/xlink'></use>
|
|
</svg>
|
|
<span class='platform-sharing-text'>Facebook</span>
|
|
</span>
|
|
</li>
|
|
<li>
|
|
<span aria-label='Share to X' class='sharing-platform-button sharing-element-twitter' data-href='https://draft.blogger.com/share-post.g?blogID=8436330762136344379&postID=8397392905980257359&target=twitter' data-url='https://muratbuffalo.blogspot.com/2025/06/analyzing-metastable-failures-in.html' role='menuitem' tabindex='-1' title='Share to X'>
|
|
<svg class='svg-icon-24 touch-icon sharing-twitter'>
|
|
<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_24_twitter_dark' xmlns:xlink='http://www.w3.org/1999/xlink'></use>
|
|
</svg>
|
|
<span class='platform-sharing-text'>X</span>
|
|
</span>
|
|
</li>
|
|
<li>
|
|
<span aria-label='Share to Pinterest' class='sharing-platform-button sharing-element-pinterest' data-href='https://draft.blogger.com/share-post.g?blogID=8436330762136344379&postID=8397392905980257359&target=pinterest' data-url='https://muratbuffalo.blogspot.com/2025/06/analyzing-metastable-failures-in.html' role='menuitem' tabindex='-1' title='Share to Pinterest'>
|
|
<svg class='svg-icon-24 touch-icon sharing-pinterest'>
|
|
<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_24_pinterest_dark' xmlns:xlink='http://www.w3.org/1999/xlink'></use>
|
|
</svg>
|
|
<span class='platform-sharing-text'>Pinterest</span>
|
|
</span>
|
|
</li>
|
|
<li>
|
|
<span aria-label='Email' class='sharing-platform-button sharing-element-email' data-href='https://draft.blogger.com/share-post.g?blogID=8436330762136344379&postID=8397392905980257359&target=email' data-url='https://muratbuffalo.blogspot.com/2025/06/analyzing-metastable-failures-in.html' role='menuitem' tabindex='-1' title='Email'>
|
|
<svg class='svg-icon-24 touch-icon sharing-email'>
|
|
<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_24_email_dark' xmlns:xlink='http://www.w3.org/1999/xlink'></use>
|
|
</svg>
|
|
<span class='platform-sharing-text'>Email</span>
|
|
</span>
|
|
</li>
|
|
<li aria-hidden='true' class='hidden'>
|
|
<span aria-label='Share to other apps' class='sharing-platform-button sharing-element-other' data-url='https://muratbuffalo.blogspot.com/2025/06/analyzing-metastable-failures-in.html' role='menuitem' tabindex='-1' title='Share to other apps'>
|
|
<svg class='svg-icon-24 touch-icon sharing-sharingOther'>
|
|
<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_more_horiz_black_24dp' xmlns:xlink='http://www.w3.org/1999/xlink'></use>
|
|
</svg>
|
|
<span class='platform-sharing-text'>Other Apps</span>
|
|
</span>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<section class='comments' data-num-comments='0' id='comments'>
|
|
<a name='comments'></a>
|
|
<h3 class='title'>Comments</h3>
|
|
<div id='Blog1_comments-block-wrapper'>
|
|
</div>
|
|
<div class='footer'>
|
|
<a href='https://draft.blogger.com/comment/fullpage/post/8436330762136344379/8397392905980257359' onclick=''>
|
|
Post a Comment
|
|
</a>
|
|
</div>
|
|
</section>
|
|
</article>
|
|
</div>
|
|
</div><div class='widget PopularPosts' data-version='2' id='PopularPosts1'>
|
|
<h3 class='title'>
|
|
Popular posts from this blog
|
|
</h3>
|
|
<div class='widget-content'>
|
|
<div role='feed'>
|
|
<article class='post' role='article'>
|
|
<h3 class='post-title'><a href='https://muratbuffalo.blogspot.com/2026/08/the-safest-job-from-ai-may-be-writing.html'>The Safest Job from AI may be Writing</a></h3>
|
|
<div class='post-header'>
|
|
<div class='post-header-line-1'>
|
|
<span class='byline post-timestamp'>
|
|
-
|
|
<meta content='http://muratbuffalo.blogspot.com/2026/08/the-safest-job-from-ai-may-be-writing.html'/>
|
|
<a class='timestamp-link' href='https://muratbuffalo.blogspot.com/2026/08/the-safest-job-from-ai-may-be-writing.html' rel='bookmark' title='permanent link'>
|
|
<time class='published' datetime='2026-08-31T14:01:00-04:00' title='2026-08-31T14:01:00-04:00'>
|
|
August 31, 2026
|
|
</time>
|
|
</a>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
<div class='item-content float-container'>
|
|
<div class='popular-posts-snippet snippet-container r-snippet-container'>
|
|
<div class='snippet-item r-snippetized'>
|
|
Today, tech folk are scrambling to change their workflows to meet newly inflated 5X productivity quotas, while getting pummeled under the cognitive debt of agent-generated code. With every new model release, the gap is widening and humans are becoming more of a bottleneck in the loop, approaching closer to obsolescence as "coders". While the programmer's job description is getting completely refactored, writing remains surprisingly unaffected. LLMs have gotten very good at generating code, but I am appalled at the absolute shit they spew as prose. They always follow the same robotic cadence and cliches, and sprinkle the same tired vocabulary all around. They take my broken yet soulful writing and transform it into a plastic soulless word slop in the name of improving prose. Their writing communicates no actual understanding and insight. I think we are all developing a visceral ick reaction to AI writing. It is trapped in the uncanny valley, and it may be stuck there for ...
|
|
</div>
|
|
<a class='snippet-fade r-snippet-fade hidden' href='https://muratbuffalo.blogspot.com/2026/08/the-safest-job-from-ai-may-be-writing.html'></a>
|
|
</div>
|
|
<div class='jump-link flat-button ripple'>
|
|
<a href='https://muratbuffalo.blogspot.com/2026/08/the-safest-job-from-ai-may-be-writing.html' title='The Safest Job from AI may be Writing'>
|
|
Read more >>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</article>
|
|
<article class='post' role='article'>
|
|
<h3 class='post-title'><a href='https://muratbuffalo.blogspot.com/2026/05/the-two-abstractions-of-system-design.html'>The Two Abstractions of System Design: Hide or Reduce</a></h3>
|
|
<div class='post-header'>
|
|
<div class='post-header-line-1'>
|
|
<span class='byline post-timestamp'>
|
|
-
|
|
<meta content='http://muratbuffalo.blogspot.com/2026/05/the-two-abstractions-of-system-design.html'/>
|
|
<a class='timestamp-link' href='https://muratbuffalo.blogspot.com/2026/05/the-two-abstractions-of-system-design.html' rel='bookmark' title='permanent link'>
|
|
<time class='published' datetime='2026-05-08T19:27:00-04:00' title='2026-05-08T19:27:00-04:00'>
|
|
May 08, 2026
|
|
</time>
|
|
</a>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
<div class='item-content float-container'>
|
|
<div class='popular-posts-snippet snippet-container r-snippet-container'>
|
|
<div class='snippet-item r-snippetized'>
|
|
When talking about TLA+, I keep referring to "abstraction" as the most important thing to learn . And it is about the hardest to learn as well. But a contradiction has been bugging me. Aren't CS people already supposed to be good at abstraction? Isn't abstraction supposed to be at the root of OS, networking, software engineering? Abstract Data Types (ADTs) are a staple of every in CS curriculum. So why do I (and every other formal methods/modeling person) see such a large skill gap in abstraction, and flag it as the core, make-or-break skill for modeling? I think I finally get to the root of this cognitive disonance. There are two kinds of "abstraction" conflated under the same umbrella term. Modularity abstraction: This is the traditional abstraction taught in CS curricula as ADTs, APIs, layered design, etc. It is all about encapsulation, drawing boundaries, and hiding internals. Modeling abstraction: This is what I talk about when I talk about abstracti...
|
|
</div>
|
|
<a class='snippet-fade r-snippet-fade hidden' href='https://muratbuffalo.blogspot.com/2026/05/the-two-abstractions-of-system-design.html'></a>
|
|
</div>
|
|
<div class='jump-link flat-button ripple'>
|
|
<a href='https://muratbuffalo.blogspot.com/2026/05/the-two-abstractions-of-system-design.html' title='The Two Abstractions of System Design: Hide or Reduce'>
|
|
Read more >>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</article>
|
|
<article class='post' role='article'>
|
|
<h3 class='post-title'><a href='https://muratbuffalo.blogspot.com/2026/01/the-agentic-self-parallels-between-ai.html'>The Agentic Self: Parallels Between AI and Self-Improvement</a></h3>
|
|
<div class='post-header'>
|
|
<div class='post-header-line-1'>
|
|
<span class='byline post-timestamp'>
|
|
-
|
|
<meta content='http://muratbuffalo.blogspot.com/2026/01/the-agentic-self-parallels-between-ai.html'/>
|
|
<a class='timestamp-link' href='https://muratbuffalo.blogspot.com/2026/01/the-agentic-self-parallels-between-ai.html' rel='bookmark' title='permanent link'>
|
|
<time class='published' datetime='2026-01-02T18:12:00-05:00' title='2026-01-02T18:12:00-05:00'>
|
|
January 02, 2026
|
|
</time>
|
|
</a>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
<div class='item-content float-container'>
|
|
<div class='popular-posts-snippet snippet-container r-snippet-container'>
|
|
<div class='snippet-item r-snippetized'>
|
|
2025 was the year of the agent. The goalposts for AGI shifted; we stopped asking AI to merely "talk" and demanded that it "act". As an outsider looking at the architecture of these new agents and agentic system, I noticed something strange. The engineering tricks used to make AI smarter felt oddly familiar. They read less like computer science and more like … self-help advice . The secret to agentic intelligence seems to lie in three very human habits: writing things down, talking to yourself, and pretending to be someone else. They are almost too simple. The Unreasonable Effectiveness of Writing One of the most profound pieces of advice I ever read as a PhD student came from Prof. Manuel Blum, a Turing Award winner. In his essay "Advice to a Beginning Graduate Student", he wrote: "Without writing, you are reduced to a finite automaton. With writing you have the extraordinary power of a Turing machine." If you try to hold a complex argument enti...
|
|
</div>
|
|
<a class='snippet-fade r-snippet-fade hidden' href='https://muratbuffalo.blogspot.com/2026/01/the-agentic-self-parallels-between-ai.html'></a>
|
|
</div>
|
|
<div class='jump-link flat-button ripple'>
|
|
<a href='https://muratbuffalo.blogspot.com/2026/01/the-agentic-self-parallels-between-ai.html' title='The Agentic Self: Parallels Between AI and Self-Improvement'>
|
|
Read more >>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</article>
|
|
<article class='post' role='article'>
|
|
<h3 class='post-title'><a href='https://muratbuffalo.blogspot.com/2020/06/learning-about-distributed-systems.html'> Learning about distributed systems: where to start?</a></h3>
|
|
<div class='post-header'>
|
|
<div class='post-header-line-1'>
|
|
<span class='byline post-timestamp'>
|
|
-
|
|
<meta content='http://muratbuffalo.blogspot.com/2020/06/learning-about-distributed-systems.html'/>
|
|
<a class='timestamp-link' href='https://muratbuffalo.blogspot.com/2020/06/learning-about-distributed-systems.html' rel='bookmark' title='permanent link'>
|
|
<time class='published' datetime='2020-06-10T00:08:00-04:00' title='2020-06-10T00:08:00-04:00'>
|
|
June 10, 2020
|
|
</time>
|
|
</a>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
<div class='item-content float-container'>
|
|
<div class='popular-posts-snippet snippet-container r-snippet-container'>
|
|
<div class='snippet-item r-snippetized'>
|
|
This is definitely not a "learn distributed systems in 21 days" post. I recommend a principled, from the foundations-up, studying of distributed systems, which will take a good three months in the first pass, and many more months to build competence after that. If you are practical and coding oriented you may not like my advice much. You may object saying, "Shouldn't I learn distributed systems with coding and hands on? Why can I not get started by deploying a Hadoop cluster, or studying the Raft code." I think that is the wrong way to go about learning distributed systems, because seeing similar code and programming language constructs will make you think this is familiar territory, and will give you a false sense of security. But, nothing can be further from the truth. Distributed systems need radically different software than centralized systems do.  --A. Tannenbaum This quotation is literally the first sentence in my distributed systems syllabus. Inst...
|
|
</div>
|
|
<a class='snippet-fade r-snippet-fade hidden' href='https://muratbuffalo.blogspot.com/2020/06/learning-about-distributed-systems.html'></a>
|
|
</div>
|
|
<div class='jump-link flat-button ripple'>
|
|
<a href='https://muratbuffalo.blogspot.com/2020/06/learning-about-distributed-systems.html' title=' Learning about distributed systems: where to start?'>
|
|
Read more >>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</article>
|
|
<article class='post' role='article'>
|
|
<h3 class='post-title'><a href='https://muratbuffalo.blogspot.com/2023/10/hints-for-distributed-systems-design.html'>Hints for Distributed Systems Design</a></h3>
|
|
<div class='post-header'>
|
|
<div class='post-header-line-1'>
|
|
<span class='byline post-timestamp'>
|
|
-
|
|
<meta content='http://muratbuffalo.blogspot.com/2023/10/hints-for-distributed-systems-design.html'/>
|
|
<a class='timestamp-link' href='https://muratbuffalo.blogspot.com/2023/10/hints-for-distributed-systems-design.html' rel='bookmark' title='permanent link'>
|
|
<time class='published' datetime='2023-10-02T09:44:00-04:00' title='2023-10-02T09:44:00-04:00'>
|
|
October 02, 2023
|
|
</time>
|
|
</a>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
<div class='item-content float-container'>
|
|
<div class='popular-posts-snippet snippet-container r-snippet-container'>
|
|
<div class='snippet-item r-snippetized'>
|
|
This is with apologies to Butler Lampson, who published the " Hints for computer system design " paper 40 years ago in SOSP'83. I don't claim to match that work of course. I just thought I could draft this post to organize my thinking about designing distributed systems and get feedback from others. I start with the same  disclaimer Lampson gave. These hints are not novel, not foolproof recipes, not laws of design, not precisely formulated, and not always appropriate. They are just hints.  They are context dependent, and some of them may be controversial. That being said, I have seen these hints successfully applied in distributed systems design throughout my 25 years in the field, starting from the theory of distributed systems (98-01), immersing into the practice of wireless sensor networks (01-11), and working on cloud computing systems both in the academia and industry ever since. These heuristic principles have been applied knowingly or unknowingly and has proven...
|
|
</div>
|
|
<a class='snippet-fade r-snippet-fade hidden' href='https://muratbuffalo.blogspot.com/2023/10/hints-for-distributed-systems-design.html'></a>
|
|
</div>
|
|
<div class='jump-link flat-button ripple'>
|
|
<a href='https://muratbuffalo.blogspot.com/2023/10/hints-for-distributed-systems-design.html' title='Hints for Distributed Systems Design'>
|
|
Read more >>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</article>
|
|
<article class='post' role='article'>
|
|
<h3 class='post-title'><a href='https://muratbuffalo.blogspot.com/2021/02/foundational-distributed-systems-papers.html'> Foundational distributed systems papers</a></h3>
|
|
<div class='post-header'>
|
|
<div class='post-header-line-1'>
|
|
<span class='byline post-timestamp'>
|
|
-
|
|
<meta content='http://muratbuffalo.blogspot.com/2021/02/foundational-distributed-systems-papers.html'/>
|
|
<a class='timestamp-link' href='https://muratbuffalo.blogspot.com/2021/02/foundational-distributed-systems-papers.html' rel='bookmark' title='permanent link'>
|
|
<time class='published' datetime='2021-02-27T13:26:00-05:00' title='2021-02-27T13:26:00-05:00'>
|
|
February 27, 2021
|
|
</time>
|
|
</a>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
<div class='item-content float-container'>
|
|
<div class='popular-posts-snippet snippet-container r-snippet-container'>
|
|
<div class='snippet-item r-snippetized'>
|
|
I talked about the importance of reading foundational papers last week. To followup, here is my compilation of foundational papers in the distributed systems area. (I focused on the core distributed systems area, and did not cover networking, security, distributed ledgers, verification work etc. I even left out distributed transactions, I hope to cover them at a later date.)  I classified the papers by subject, and listed them in chronological order. I also listed expository papers and blog posts at the end of each section. Time and State in Distributed Systems Time, Clocks, and the Ordering of Events in a Distributed System. Leslie Lamport, Commn. of the ACM,  1978. Distributed Snapshots: Determining Global States of a Distributed System. K. Mani Chandy Leslie Lamport, ACM Transactions on Computer Systems, 1985. Virtual Time and Global States of Distributed Systems.  Mattern, F. 1988. Practical uses of synchronized clocks in distributed systems. B. Liskov, 1991. Exp...
|
|
</div>
|
|
<a class='snippet-fade r-snippet-fade hidden' href='https://muratbuffalo.blogspot.com/2021/02/foundational-distributed-systems-papers.html'></a>
|
|
</div>
|
|
<div class='jump-link flat-button ripple'>
|
|
<a href='https://muratbuffalo.blogspot.com/2021/02/foundational-distributed-systems-papers.html' title=' Foundational distributed systems papers'>
|
|
Read more >>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</article>
|
|
<article class='post' role='article'>
|
|
<h3 class='post-title'><a href='https://muratbuffalo.blogspot.com/2026/03/building-database-on-s3.html'>Building a Database on S3</a></h3>
|
|
<div class='post-header'>
|
|
<div class='post-header-line-1'>
|
|
<span class='byline post-timestamp'>
|
|
-
|
|
<meta content='http://muratbuffalo.blogspot.com/2026/03/building-database-on-s3.html'/>
|
|
<a class='timestamp-link' href='https://muratbuffalo.blogspot.com/2026/03/building-database-on-s3.html' rel='bookmark' title='permanent link'>
|
|
<time class='published' datetime='2026-03-04T22:06:00-05:00' title='2026-03-04T22:06:00-05:00'>
|
|
March 04, 2026
|
|
</time>
|
|
</a>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
<div class='item-content float-container'>
|
|
<div class='item-thumbnail'>
|
|
<a href='https://muratbuffalo.blogspot.com/2026/03/building-database-on-s3.html'>
|
|
<img alt='Image' sizes='72px' src='https://blogger.googleusercontent.com/img/a/AVvXsEgUV8paJsfBDCdaizCxyZLf_tgGZc_L1c6HYhST-bupV3snzItwcj-3TzIJnc20dDeTmoFeMaEHxyZpxrqsgI80le-78m0BN7QqcMGPBkhwTLTu-BaWTc0DQ9rpXsag-tonr1n-TYZXz2sRYCk7HQaB94VGFboZ8sPvIL9_mIPGhBpOqL3B_42ueVNyq9o=w393-h400' srcset='https://blogger.googleusercontent.com/img/a/AVvXsEgUV8paJsfBDCdaizCxyZLf_tgGZc_L1c6HYhST-bupV3snzItwcj-3TzIJnc20dDeTmoFeMaEHxyZpxrqsgI80le-78m0BN7QqcMGPBkhwTLTu-BaWTc0DQ9rpXsag-tonr1n-TYZXz2sRYCk7HQaB94VGFboZ8sPvIL9_mIPGhBpOqL3B_42ueVNyq9o=w72-h72-p-k-no-nu 72w, https://blogger.googleusercontent.com/img/a/AVvXsEgUV8paJsfBDCdaizCxyZLf_tgGZc_L1c6HYhST-bupV3snzItwcj-3TzIJnc20dDeTmoFeMaEHxyZpxrqsgI80le-78m0BN7QqcMGPBkhwTLTu-BaWTc0DQ9rpXsag-tonr1n-TYZXz2sRYCk7HQaB94VGFboZ8sPvIL9_mIPGhBpOqL3B_42ueVNyq9o=w144-h144-p-k-no-nu 144w'/>
|
|
</a>
|
|
</div>
|
|
<div class='popular-posts-snippet snippet-container r-snippet-container'>
|
|
<div class='snippet-item r-snippetized'>
|
|
Hold your horses, though. I'm not unveiling a new S3-native database. This paper is from 2008. Many of its protocols feel clunky today. Yet it nails the core idea that defines modern cloud-native databases: separate storage from compute. The authors propose a shared-disk design over Amazon S3, with stateless clients executing transactions. The paper provides a blueprint for serverless before the term existed. SQS as WAL and S3 as Pagestore The 2008 S3 was painfully slow, and 100 ms reads weren't unusual. To hide that latency, the database separates "commit" from "apply". Clients write small, idempotent redo logs to Amazon Simple Queue Service (SQS) instead of touching S3 directly. An asynchronous checkpoint by a client applies those logs to B-tree pages on S3 later. This design shows strong parallels to modern disaggregated architectures . SQS becomes the write-ahead log (WAL) and logstore. S3 becomes the pagestore. Modern Aurora follows a similar logic : t...
|
|
</div>
|
|
<a class='snippet-fade r-snippet-fade hidden' href='https://muratbuffalo.blogspot.com/2026/03/building-database-on-s3.html'></a>
|
|
</div>
|
|
<div class='jump-link flat-button ripple'>
|
|
<a href='https://muratbuffalo.blogspot.com/2026/03/building-database-on-s3.html' title='Building a Database on S3'>
|
|
Read more >>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</article>
|
|
<article class='post' role='article'>
|
|
<h3 class='post-title'><a href='https://muratbuffalo.blogspot.com/2026/01/cloudspecs-cloud-hardware-evolution.html'>Cloudspecs: Cloud Hardware Evolution Through the Looking Glass</a></h3>
|
|
<div class='post-header'>
|
|
<div class='post-header-line-1'>
|
|
<span class='byline post-timestamp'>
|
|
-
|
|
<meta content='http://muratbuffalo.blogspot.com/2026/01/cloudspecs-cloud-hardware-evolution.html'/>
|
|
<a class='timestamp-link' href='https://muratbuffalo.blogspot.com/2026/01/cloudspecs-cloud-hardware-evolution.html' rel='bookmark' title='permanent link'>
|
|
<time class='published' datetime='2026-01-09T10:56:00-05:00' title='2026-01-09T10:56:00-05:00'>
|
|
January 09, 2026
|
|
</time>
|
|
</a>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
<div class='item-content float-container'>
|
|
<div class='item-thumbnail'>
|
|
<a href='https://muratbuffalo.blogspot.com/2026/01/cloudspecs-cloud-hardware-evolution.html'>
|
|
<img alt='Image' sizes='72px' src='https://blogger.googleusercontent.com/img/a/AVvXsEhjspXxlUb6cWW1Co2aJyK-hX67_A10kqDPYggxhFSxpW3sncZ1SgKYlJtECVe1Ys1jC6igt4Zs7S9oUFMTRE8755mdxGFVnxoie-Wq8EfUFAT3PMF4hvHXfX_jhLYj-mqmdf0hFxzw-PSstHp0rWfUgY1tJ5sapo6VZAR5Y-yLeOoQMydIKEm2qMO6fC4=w640-h156' srcset='https://blogger.googleusercontent.com/img/a/AVvXsEhjspXxlUb6cWW1Co2aJyK-hX67_A10kqDPYggxhFSxpW3sncZ1SgKYlJtECVe1Ys1jC6igt4Zs7S9oUFMTRE8755mdxGFVnxoie-Wq8EfUFAT3PMF4hvHXfX_jhLYj-mqmdf0hFxzw-PSstHp0rWfUgY1tJ5sapo6VZAR5Y-yLeOoQMydIKEm2qMO6fC4=w72-h72-p-k-no-nu 72w, https://blogger.googleusercontent.com/img/a/AVvXsEhjspXxlUb6cWW1Co2aJyK-hX67_A10kqDPYggxhFSxpW3sncZ1SgKYlJtECVe1Ys1jC6igt4Zs7S9oUFMTRE8755mdxGFVnxoie-Wq8EfUFAT3PMF4hvHXfX_jhLYj-mqmdf0hFxzw-PSstHp0rWfUgY1tJ5sapo6VZAR5Y-yLeOoQMydIKEm2qMO6fC4=w144-h144-p-k-no-nu 144w'/>
|
|
</a>
|
|
</div>
|
|
<div class='popular-posts-snippet snippet-container r-snippet-container'>
|
|
<div class='snippet-item r-snippetized'>
|
|
This paper (CIDR'26) presents a comprehensive analysis of cloud hardware trends from 2015 to 2025, focusing on AWS and comparing it with other clouds and on-premise hardware. TL;DR: While network bandwidth per dollar improved by one order of magnitude (10x), CPU and DRAM gains (again in performance per dollar terms) have been much more modest. Most surprisingly, NVMe storage performance in the cloud has stagnated since 2016. Check out the NVMe SSD discussion below for data on this anomaly. CPU Trends Multi-core parallelism has skyrocketed in the cloud. Maximum core counts have increased by an order of magnitude over the last decade. The largest AWS instance u7in now boasts 448 cores. However, simply adding cores hasn't translated linearly into value. To measure real evolution, the authors normalized benchmarks (SPECint, TPC-H, TPC-C) by instance cost. SPECint benchmarking shows that cost-performance improved roughly 3x over ten years. A huge chunk of that gain comes from AWS G...
|
|
</div>
|
|
<a class='snippet-fade r-snippet-fade hidden' href='https://muratbuffalo.blogspot.com/2026/01/cloudspecs-cloud-hardware-evolution.html'></a>
|
|
</div>
|
|
<div class='jump-link flat-button ripple'>
|
|
<a href='https://muratbuffalo.blogspot.com/2026/01/cloudspecs-cloud-hardware-evolution.html' title='Cloudspecs: Cloud Hardware Evolution Through the Looking Glass'>
|
|
Read more >>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</article>
|
|
<article class='post' role='article'>
|
|
<h3 class='post-title'><a href='https://muratbuffalo.blogspot.com/2026/08/specula-scaling-formal-specifications.html'>Specula: Scaling formal specifications for autonomous model checking of system code</a></h3>
|
|
<div class='post-header'>
|
|
<div class='post-header-line-1'>
|
|
<span class='byline post-timestamp'>
|
|
-
|
|
<meta content='http://muratbuffalo.blogspot.com/2026/08/specula-scaling-formal-specifications.html'/>
|
|
<a class='timestamp-link' href='https://muratbuffalo.blogspot.com/2026/08/specula-scaling-formal-specifications.html' rel='bookmark' title='permanent link'>
|
|
<time class='published' datetime='2026-08-12T17:33:00-04:00' title='2026-08-12T17:33:00-04:00'>
|
|
August 12, 2026
|
|
</time>
|
|
</a>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
<div class='item-content float-container'>
|
|
<div class='item-thumbnail'>
|
|
<a href='https://muratbuffalo.blogspot.com/2026/08/specula-scaling-formal-specifications.html'>
|
|
<img alt='Image' sizes='72px' src='https://blogger.googleusercontent.com/img/a/AVvXsEh8aSdTkjBNIDBP7p8fvUKbmoGBafOb-jBxnAeyJnM1OPzZLOuYV59r42fROakJTkS_EmvpW__nobsHTsPuk_6vWdby_-FMXC81O0NtV0LxsjD2koZQRNJDVix09WaBoj3LvIldsLOmO_a0eSX3Pe4sgLmvlPcFj4rPw3eHZBzyB3IuczPIDt1Rra882no=w277-h640' srcset='https://blogger.googleusercontent.com/img/a/AVvXsEh8aSdTkjBNIDBP7p8fvUKbmoGBafOb-jBxnAeyJnM1OPzZLOuYV59r42fROakJTkS_EmvpW__nobsHTsPuk_6vWdby_-FMXC81O0NtV0LxsjD2koZQRNJDVix09WaBoj3LvIldsLOmO_a0eSX3Pe4sgLmvlPcFj4rPw3eHZBzyB3IuczPIDt1Rra882no=w72-h72-p-k-no-nu 72w, https://blogger.googleusercontent.com/img/a/AVvXsEh8aSdTkjBNIDBP7p8fvUKbmoGBafOb-jBxnAeyJnM1OPzZLOuYV59r42fROakJTkS_EmvpW__nobsHTsPuk_6vWdby_-FMXC81O0NtV0LxsjD2koZQRNJDVix09WaBoj3LvIldsLOmO_a0eSX3Pe4sgLmvlPcFj4rPw3eHZBzyB3IuczPIDt1Rra882no=w144-h144-p-k-no-nu 144w'/>
|
|
</a>
|
|
</div>
|
|
<div class='popular-posts-snippet snippet-container r-snippet-container'>
|
|
<div class='snippet-item r-snippetized'>
|
|
Specula is an agentic system that automates the process of software bug finding through authoring and model-checking a spec for the code. It derives TLA+ specifications automatically from the code, checks code-spec conformance through trace validation, model checks the spec to find concurrency bugs, and reproduces the bug at the code layer by writing integration tests with precise timing. I remember reading the Daikon paper "Quickly detecting relevant program invariants" in 2000 and getting impressed by it, and here we are after 26 years, solving the end-to-end problem much better than I ever thought would be possible in a push-button manner in the year of our lord 2026. But somehow, I am still somewhat unsatisfied with the paper. This may be me being hypercritical and trying to get more out of the paper by arguing with it . So bear with me until I resolve (or learn to accept) these problems over time. I know many of the authors of the Specula work, and respect them, and I...
|
|
</div>
|
|
<a class='snippet-fade r-snippet-fade hidden' href='https://muratbuffalo.blogspot.com/2026/08/specula-scaling-formal-specifications.html'></a>
|
|
</div>
|
|
<div class='jump-link flat-button ripple'>
|
|
<a href='https://muratbuffalo.blogspot.com/2026/08/specula-scaling-formal-specifications.html' title='Specula: Scaling formal specifications for autonomous model checking of system code'>
|
|
Read more >>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</article>
|
|
<article class='post' role='article'>
|
|
<h3 class='post-title'><a href='https://muratbuffalo.blogspot.com/2025/04/what-id-do-as-college-freshman.html'>What I'd do as a College Freshman in 2025</a></h3>
|
|
<div class='post-header'>
|
|
<div class='post-header-line-1'>
|
|
<span class='byline post-timestamp'>
|
|
-
|
|
<meta content='http://muratbuffalo.blogspot.com/2025/04/what-id-do-as-college-freshman.html'/>
|
|
<a class='timestamp-link' href='https://muratbuffalo.blogspot.com/2025/04/what-id-do-as-college-freshman.html' rel='bookmark' title='permanent link'>
|
|
<time class='published' datetime='2025-04-10T10:26:00-04:00' title='2025-04-10T10:26:00-04:00'>
|
|
April 10, 2025
|
|
</time>
|
|
</a>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
<div class='item-content float-container'>
|
|
<div class='popular-posts-snippet snippet-container r-snippet-container'>
|
|
<div class='snippet-item r-snippetized'>
|
|
Do Computer Science Absolutely. Still would. Many are spooked by LLMs. Some, like Jensen Huang, argue that "nobody has to learn how to program."   I argue the opposite . And I double down.  Being supported by AI tools is not a substitute for mastery . You can’t borrow skills. You have to earn them.   Computer science builds vital skills : hacking, debugging, abstract thinking, and quick adaptation. These don’t go out of style.   Do STEM. It’s LLM-resistant. LLMs can retrieve and remix information, but do you know what to do with them? Like the dog chasing the car, what now? STEM teaches you that. It teaches you to think, to reason, to act. It gets you from information to wisdom. But only after you've mastered the foundations. We're heading into the age of π-shaped people: depth in two areas, and generalist across . Building depth first, and then ranging is good strategy .   So yes, I would learn the foundations of both CS and AI. And then do AI + X, where X is s...
|
|
</div>
|
|
<a class='snippet-fade r-snippet-fade hidden' href='https://muratbuffalo.blogspot.com/2025/04/what-id-do-as-college-freshman.html'></a>
|
|
</div>
|
|
<div class='jump-link flat-button ripple'>
|
|
<a href='https://muratbuffalo.blogspot.com/2025/04/what-id-do-as-college-freshman.html' title='What I'd do as a College Freshman in 2025'>
|
|
Read more >>
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</article>
|
|
</div>
|
|
</div>
|
|
</div></div>
|
|
</main>
|
|
</div>
|
|
<footer class='footer section' id='footer' name='Footer'><div class='widget Attribution' data-version='2' id='Attribution1'>
|
|
<div class='widget-content'>
|
|
<div class='blogger'>
|
|
<a href='https://draft.blogger.com' rel='nofollow'>
|
|
<svg class='svg-icon-24'>
|
|
<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_post_blogger_black_24dp' xmlns:xlink='http://www.w3.org/1999/xlink'></use>
|
|
</svg>
|
|
Powered by Blogger
|
|
</a>
|
|
</div>
|
|
<div class='image-attribution'>
|
|
Theme images by <a href="http://www.offset.com/photos/394244">Michael Elkan</a>
|
|
</div>
|
|
<div class='copyright'>Murat Demirbas</div>
|
|
</div>
|
|
</div></footer>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<aside class='sidebar-container container sidebar-invisible' role='complementary'>
|
|
<div class='navigation'>
|
|
<button class='svg-icon-24-button flat-icon-button ripple sidebar-back'>
|
|
<svg class='svg-icon-24'>
|
|
<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_arrow_back_black_24dp' xmlns:xlink='http://www.w3.org/1999/xlink'></use>
|
|
</svg>
|
|
</button>
|
|
</div>
|
|
<div class='sidebar_top_wrapper'>
|
|
<div class='sidebar_top section' id='sidebar_top' name='Sidebar (Top)'><div class='widget Profile' data-version='2' id='Profile1'>
|
|
<div class='wrapper solo'>
|
|
<div class='widget-content individual'>
|
|
<a href='https://draft.blogger.com/profile/07842046940394980130' rel='nofollow'>
|
|
<img alt='My photo' class='profile-img' height='120' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXlMEQx9THTN7WSG1fVU2GRv7E5wkIh1O2A4DiHbnewhZL2VbaCMz_uvrd5T5jiD56R4dzcMb3j_sZN9D03wMq1MQeipbD2Z67YWyXzpjY_8IjtmAYCxD3Y5hg4Ko752nh2egNrmjT6oWcBsBoCedZK1Ahc_cjNaB7xmUsKn7eshu5_ZU/s1600/MuratBuffalo.png' width='120'/>
|
|
</a>
|
|
<div class='profile-info'>
|
|
<dl class='profile-datablock'>
|
|
<dt class='profile-data'>
|
|
<a class='profile-link g-profile' href='https://draft.blogger.com/profile/07842046940394980130' rel='author nofollow'>
|
|
Murat
|
|
</a>
|
|
</dt>
|
|
<dd class='profile-textblock profile-snippet snippet-container r-snippet-container'>
|
|
<div class='snippet-item r-snippetized'>
|
|
I am a principal research scientist at MongoDB Research. Ex-AWS. Ex-professor at SUNY Buffalo. I work on distributed systems, databases, cloud computing, formal methods, and neurosymbolic AI. You can follow me on <a href="https://fediscience.org/@muratdemirbas"> Mastodon</a> or <a href="http://twitter.com/muratdemirbas"> Twitter. </a>
|
|
</div>
|
|
<div class='snippet-fade r-snippet-fade hidden'></div>
|
|
</dd>
|
|
</dl>
|
|
<a class='profile-link visit-profile pill-button' href='https://draft.blogger.com/profile/07842046940394980130' rel='author'>
|
|
Visit profile
|
|
</a>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div></div>
|
|
</div>
|
|
<div class='sidebar_bottom section' id='sidebar_bottom' name='Sidebar (Bottom)'><div class='widget HTML' data-version='2' id='HTML1'>
|
|
<h3 class='title'>
|
|
Subscribe via email
|
|
</h3>
|
|
<div class='widget-content'>
|
|
<iframe src="https://muratdemirbas.substack.com/embed" width="100%" height="120" style="border: 1px solid #EEE; background: white" frameborder="0" scrolling="no"></iframe>
|
|
</div>
|
|
</div><div class='widget Stats' data-version='2' id='Stats1'>
|
|
<h3 class='title'>
|
|
Pageviews
|
|
</h3>
|
|
<div class='widget-content'>
|
|
<div id='Stats1_content' style='display: none;'>
|
|
<script src='https://www.gstatic.com/charts/loader.js' type='text/javascript'></script>
|
|
<span id='Stats1_sparklinespan' style='display:inline-block; width:75px; height:30px'></span>
|
|
<span class='counter-wrapper graph-counter-wrapper' id='Stats1_totalCount'>
|
|
</span>
|
|
</div>
|
|
</div>
|
|
</div><div class='widget BlogArchive' data-version='2' id='BlogArchive1'>
|
|
<details class='collapsible extendable'>
|
|
<summary>
|
|
<div class='collapsible-title'>
|
|
<h3 class='title'>
|
|
Recent Posts
|
|
</h3>
|
|
<svg class='svg-icon-24 chevron-down'>
|
|
<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_expand_more_black_24dp' xmlns:xlink='http://www.w3.org/1999/xlink'></use>
|
|
</svg>
|
|
<svg class='svg-icon-24 chevron-up'>
|
|
<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_expand_less_black_24dp' xmlns:xlink='http://www.w3.org/1999/xlink'></use>
|
|
</svg>
|
|
</div>
|
|
</summary>
|
|
<div class='widget-content'>
|
|
<div id='ArchiveList'>
|
|
<div id='BlogArchive1_ArchiveList'>
|
|
<div class='first-items'>
|
|
<ul class='flat'>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2026/09/'>September<span class='post-count'>2</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2026/08/'>August<span class='post-count'>5</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2026/07/'>July<span class='post-count'>3</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2026/06/'>June<span class='post-count'>7</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2026/05/'>May<span class='post-count'>5</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2026/04/'>April<span class='post-count'>5</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2026/03/'>March<span class='post-count'>13</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2026/02/'>February<span class='post-count'>9</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2026/01/'>January<span class='post-count'>10</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2025/12/'>December<span class='post-count'>7</span></a>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class='remaining-items'>
|
|
<ul class='flat'>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2025/11/'>November<span class='post-count'>5</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2025/10/'>October<span class='post-count'>4</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2025/09/'>September<span class='post-count'>6</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2025/08/'>August<span class='post-count'>8</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2025/07/'>July<span class='post-count'>7</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2025/06/'>June<span class='post-count'>2</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2025/05/'>May<span class='post-count'>8</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2025/04/'>April<span class='post-count'>2</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2025/03/'>March<span class='post-count'>3</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2025/02/'>February<span class='post-count'>5</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2025/01/'>January<span class='post-count'>5</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2024/12/'>December<span class='post-count'>8</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2024/11/'>November<span class='post-count'>5</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2024/10/'>October<span class='post-count'>8</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2024/09/'>September<span class='post-count'>10</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2024/08/'>August<span class='post-count'>9</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2024/07/'>July<span class='post-count'>3</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2024/06/'>June<span class='post-count'>5</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2024/05/'>May<span class='post-count'>2</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2024/04/'>April<span class='post-count'>6</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2024/03/'>March<span class='post-count'>6</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2024/02/'>February<span class='post-count'>9</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2024/01/'>January<span class='post-count'>7</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2023/12/'>December<span class='post-count'>3</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2023/11/'>November<span class='post-count'>4</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2023/10/'>October<span class='post-count'>4</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2023/09/'>September<span class='post-count'>4</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2023/08/'>August<span class='post-count'>4</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2023/07/'>July<span class='post-count'>5</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2023/06/'>June<span class='post-count'>2</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2023/05/'>May<span class='post-count'>3</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2023/04/'>April<span class='post-count'>3</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2023/03/'>March<span class='post-count'>3</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2023/02/'>February<span class='post-count'>5</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2023/01/'>January<span class='post-count'>3</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2022/12/'>December<span class='post-count'>4</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2022/11/'>November<span class='post-count'>4</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2022/10/'>October<span class='post-count'>1</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2022/09/'>September<span class='post-count'>4</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2022/08/'>August<span class='post-count'>5</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2022/07/'>July<span class='post-count'>6</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2022/06/'>June<span class='post-count'>3</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2022/05/'>May<span class='post-count'>3</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2022/04/'>April<span class='post-count'>4</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2022/03/'>March<span class='post-count'>3</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2022/02/'>February<span class='post-count'>3</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2022/01/'>January<span class='post-count'>3</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2021/12/'>December<span class='post-count'>5</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2021/11/'>November<span class='post-count'>3</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2021/10/'>October<span class='post-count'>6</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2021/09/'>September<span class='post-count'>1</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2021/08/'>August<span class='post-count'>4</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2021/07/'>July<span class='post-count'>2</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2021/06/'>June<span class='post-count'>12</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2021/05/'>May<span class='post-count'>1</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2021/04/'>April<span class='post-count'>1</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2021/03/'>March<span class='post-count'>4</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2021/02/'>February<span class='post-count'>4</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2021/01/'>January<span class='post-count'>4</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2020/12/'>December<span class='post-count'>3</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2020/11/'>November<span class='post-count'>7</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2020/10/'>October<span class='post-count'>4</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2020/09/'>September<span class='post-count'>1</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2020/08/'>August<span class='post-count'>3</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2020/07/'>July<span class='post-count'>6</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2020/06/'>June<span class='post-count'>11</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2020/05/'>May<span class='post-count'>9</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2020/04/'>April<span class='post-count'>8</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2020/03/'>March<span class='post-count'>8</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2020/02/'>February<span class='post-count'>7</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2020/01/'>January<span class='post-count'>9</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2019/12/'>December<span class='post-count'>10</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2019/11/'>November<span class='post-count'>14</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2019/10/'>October<span class='post-count'>6</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2019/09/'>September<span class='post-count'>13</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2019/07/'>July<span class='post-count'>3</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2019/06/'>June<span class='post-count'>3</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2019/05/'>May<span class='post-count'>4</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2019/04/'>April<span class='post-count'>6</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2019/03/'>March<span class='post-count'>2</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2019/02/'>February<span class='post-count'>1</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2019/01/'>January<span class='post-count'>3</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2018/12/'>December<span class='post-count'>4</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2018/11/'>November<span class='post-count'>7</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2018/10/'>October<span class='post-count'>2</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2018/09/'>September<span class='post-count'>2</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2018/08/'>August<span class='post-count'>8</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2018/07/'>July<span class='post-count'>2</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2018/06/'>June<span class='post-count'>4</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2018/05/'>May<span class='post-count'>9</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2018/04/'>April<span class='post-count'>6</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2018/03/'>March<span class='post-count'>9</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2018/02/'>February<span class='post-count'>5</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2018/01/'>January<span class='post-count'>13</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2017/12/'>December<span class='post-count'>15</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2017/11/'>November<span class='post-count'>15</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2017/10/'>October<span class='post-count'>5</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2017/09/'>September<span class='post-count'>8</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2017/08/'>August<span class='post-count'>10</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2017/07/'>July<span class='post-count'>3</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2017/06/'>June<span class='post-count'>3</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2017/05/'>May<span class='post-count'>3</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2017/04/'>April<span class='post-count'>4</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2017/02/'>February<span class='post-count'>4</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2017/01/'>January<span class='post-count'>7</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2016/12/'>December<span class='post-count'>7</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2016/11/'>November<span class='post-count'>9</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2016/10/'>October<span class='post-count'>3</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2016/09/'>September<span class='post-count'>1</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2016/07/'>July<span class='post-count'>4</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2016/06/'>June<span class='post-count'>5</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2016/05/'>May<span class='post-count'>1</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2016/04/'>April<span class='post-count'>4</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2016/03/'>March<span class='post-count'>2</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2016/02/'>February<span class='post-count'>2</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2016/01/'>January<span class='post-count'>4</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2015/12/'>December<span class='post-count'>3</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2015/11/'>November<span class='post-count'>2</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2015/10/'>October<span class='post-count'>3</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2015/09/'>September<span class='post-count'>2</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2015/08/'>August<span class='post-count'>3</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2015/06/'>June<span class='post-count'>1</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2015/05/'>May<span class='post-count'>1</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2015/04/'>April<span class='post-count'>6</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2015/03/'>March<span class='post-count'>6</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2015/02/'>February<span class='post-count'>4</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2015/01/'>January<span class='post-count'>3</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2014/11/'>November<span class='post-count'>4</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2014/10/'>October<span class='post-count'>4</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2014/09/'>September<span class='post-count'>6</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2014/08/'>August<span class='post-count'>2</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2014/07/'>July<span class='post-count'>2</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2014/06/'>June<span class='post-count'>3</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2014/03/'>March<span class='post-count'>3</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2014/02/'>February<span class='post-count'>4</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2014/01/'>January<span class='post-count'>1</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2013/12/'>December<span class='post-count'>1</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2013/11/'>November<span class='post-count'>2</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2013/08/'>August<span class='post-count'>2</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2013/07/'>July<span class='post-count'>4</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2013/06/'>June<span class='post-count'>2</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2013/05/'>May<span class='post-count'>5</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2013/04/'>April<span class='post-count'>8</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2013/01/'>January<span class='post-count'>1</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2012/12/'>December<span class='post-count'>1</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2012/11/'>November<span class='post-count'>7</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2012/10/'>October<span class='post-count'>1</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2012/09/'>September<span class='post-count'>2</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2012/08/'>August<span class='post-count'>1</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2012/05/'>May<span class='post-count'>2</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2012/03/'>March<span class='post-count'>1</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2012/02/'>February<span class='post-count'>1</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2012/01/'>January<span class='post-count'>2</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2011/12/'>December<span class='post-count'>3</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2011/09/'>September<span class='post-count'>5</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2011/06/'>June<span class='post-count'>1</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2011/05/'>May<span class='post-count'>5</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2011/04/'>April<span class='post-count'>5</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2011/03/'>March<span class='post-count'>5</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2011/02/'>February<span class='post-count'>9</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2011/01/'>January<span class='post-count'>5</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2010/12/'>December<span class='post-count'>6</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2010/11/'>November<span class='post-count'>9</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2010/10/'>October<span class='post-count'>9</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2010/09/'>September<span class='post-count'>7</span></a>
|
|
</li>
|
|
<li class='archivedate'>
|
|
<a href='https://muratbuffalo.blogspot.com/2007/08/'>August<span class='post-count'>1</span></a>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<span class='show-more pill-button'>Show more</span>
|
|
<span class='show-less hidden pill-button'>Show less</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</details>
|
|
</div><div class='widget Label' data-version='2' id='Label1'>
|
|
<details class='collapsible extendable'>
|
|
<summary>
|
|
<div class='collapsible-title'>
|
|
<h3 class='title'>
|
|
Topics
|
|
</h3>
|
|
<svg class='svg-icon-24 chevron-down'>
|
|
<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_expand_more_black_24dp' xmlns:xlink='http://www.w3.org/1999/xlink'></use>
|
|
</svg>
|
|
<svg class='svg-icon-24 chevron-up'>
|
|
<use xlink:href='/responsive/sprite_v1_6.css.svg#ic_expand_less_black_24dp' xmlns:xlink='http://www.w3.org/1999/xlink'></use>
|
|
</svg>
|
|
</div>
|
|
</summary>
|
|
<div class='widget-content cloud-label-widget-content'>
|
|
<div class='first-items'>
|
|
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/2PC'>2PC<span class='label-count'>2</span></a></span>
|
|
<span class='label-size label-size-3'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/abstraction'>abstraction<span class='label-count'>11</span></a></span>
|
|
<span class='label-size label-size-3'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/agentic'>agentic<span class='label-count'>19</span></a></span>
|
|
<span class='label-size label-size-4'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/AI'>AI<span class='label-count'>29</span></a></span>
|
|
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/analytics'>analytics<span class='label-count'>3</span></a></span>
|
|
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/atomic%20storage'>atomic storage<span class='label-count'>2</span></a></span>
|
|
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/auditability'>auditability<span class='label-count'>5</span></a></span>
|
|
<span class='label-size label-size-3'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/automated%20reasoning'>automated reasoning<span class='label-count'>19</span></a></span>
|
|
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/aws'>aws<span class='label-count'>5</span></a></span>
|
|
<span class='label-size label-size-3'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/Azure'>Azure<span class='label-count'>11</span></a></span>
|
|
</div>
|
|
<div class='remaining-items'>
|
|
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/benchmarks'>benchmarks<span class='label-count'>4</span></a></span>
|
|
<span class='label-size label-size-3'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/bestof'>bestof<span class='label-count'>9</span></a></span>
|
|
<span class='label-size label-size-4'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/big-data'>big-data<span class='label-count'>32</span></a></span>
|
|
<span class='label-size label-size-4'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/Blockchain'>Blockchain<span class='label-count'>39</span></a></span>
|
|
<span class='label-size label-size-4'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/book-review'>book-review<span class='label-count'>56</span></a></span>
|
|
<span class='label-size label-size-1'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/bugs'>bugs<span class='label-count'>1</span></a></span>
|
|
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/calm'>calm<span class='label-count'>5</span></a></span>
|
|
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/chaos'>chaos<span class='label-count'>2</span></a></span>
|
|
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/claude'>claude<span class='label-count'>2</span></a></span>
|
|
<span class='label-size label-size-3'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/cloud%20computing'>cloud computing<span class='label-count'>21</span></a></span>
|
|
<span class='label-size label-size-3'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/ConcurrencyControlBook'>ConcurrencyControlBook<span class='label-count'>7</span></a></span>
|
|
<span class='label-size label-size-4'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/consistency'>consistency<span class='label-count'>34</span></a></span>
|
|
<span class='label-size label-size-3'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/Cosmos%20DB'>Cosmos DB<span class='label-count'>11</span></a></span>
|
|
<span class='label-size label-size-3'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/CosmosDB'>CosmosDB<span class='label-count'>12</span></a></span>
|
|
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/crdts'>crdts<span class='label-count'>2</span></a></span>
|
|
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/data%20warehouse'>data warehouse<span class='label-count'>2</span></a></span>
|
|
<span class='label-size label-size-4'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/databases'>databases<span class='label-count'>70</span></a></span>
|
|
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/datacenter%20networking'>datacenter networking<span class='label-count'>3</span></a></span>
|
|
<span class='label-size label-size-3'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/dataflow'>dataflow<span class='label-count'>11</span></a></span>
|
|
<span class='label-size label-size-1'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/dbos'>dbos<span class='label-count'>1</span></a></span>
|
|
<span class='label-size label-size-3'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/DDIA'>DDIA<span class='label-count'>15</span></a></span>
|
|
<span class='label-size label-size-3'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/disaggregation'>disaggregation<span class='label-count'>9</span></a></span>
|
|
<span class='label-size label-size-4'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/distributed%20consensus'>distributed consensus<span class='label-count'>54</span></a></span>
|
|
<span class='label-size label-size-4'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/distributed%20transactions'>distributed transactions<span class='label-count'>44</span></a></span>
|
|
<span class='label-size label-size-3'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/distSQL'>distSQL<span class='label-count'>10</span></a></span>
|
|
<span class='label-size label-size-3'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/facebook'>facebook<span class='label-count'>16</span></a></span>
|
|
<span class='label-size label-size-3'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/failures'>failures<span class='label-count'>18</span></a></span>
|
|
<span class='label-size label-size-4'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/fault-tolerance'>fault-tolerance<span class='label-count'>49</span></a></span>
|
|
<span class='label-size label-size-4'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/formal%20methods'>formal methods<span class='label-count'>25</span></a></span>
|
|
<span class='label-size label-size-1'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/graph-processing'>graph-processing<span class='label-count'>1</span></a></span>
|
|
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/hpts'>hpts<span class='label-count'>3</span></a></span>
|
|
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/htap'>htap<span class='label-count'>3</span></a></span>
|
|
<span class='label-size label-size-3'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/humans'>humans<span class='label-count'>10</span></a></span>
|
|
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/indexing'>indexing<span class='label-count'>4</span></a></span>
|
|
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/isolation%20levels'>isolation levels<span class='label-count'>5</span></a></span>
|
|
<span class='label-size label-size-1'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/joke'>joke<span class='label-count'>1</span></a></span>
|
|
<span class='label-size label-size-1'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/linearizability'>linearizability<span class='label-count'>1</span></a></span>
|
|
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/links'>links<span class='label-count'>2</span></a></span>
|
|
<span class='label-size label-size-3'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/liveDiscussion'>liveDiscussion<span class='label-count'>9</span></a></span>
|
|
<span class='label-size label-size-4'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/mad-questions'>mad-questions<span class='label-count'>42</span></a></span>
|
|
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/main-memory'>main-memory<span class='label-count'>2</span></a></span>
|
|
<span class='label-size label-size-1'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/measuring'>measuring<span class='label-count'>1</span></a></span>
|
|
<span class='label-size label-size-3'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/metastability'>metastability<span class='label-count'>8</span></a></span>
|
|
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/microservices'>microservices<span class='label-count'>2</span></a></span>
|
|
<span class='label-size label-size-5'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/misc'>misc<span class='label-count'>131</span></a></span>
|
|
<span class='label-size label-size-1'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/ML'>ML<span class='label-count'>1</span></a></span>
|
|
<span class='label-size label-size-3'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/mlbegin'>mlbegin<span class='label-count'>7</span></a></span>
|
|
<span class='label-size label-size-4'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/mldl'>mldl<span class='label-count'>26</span></a></span>
|
|
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/mobile'>mobile<span class='label-count'>2</span></a></span>
|
|
<span class='label-size label-size-3'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/mongodb'>mongodb<span class='label-count'>10</span></a></span>
|
|
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/MVCC'>MVCC<span class='label-count'>4</span></a></span>
|
|
<span class='label-size label-size-4'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/my%20advice'>my advice<span class='label-count'>27</span></a></span>
|
|
<span class='label-size label-size-3'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/my-paper'>my-paper<span class='label-count'>12</span></a></span>
|
|
<span class='label-size label-size-1'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/networking'>networking<span class='label-count'>1</span></a></span>
|
|
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/newsql'>newsql<span class='label-count'>3</span></a></span>
|
|
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/NoSQL'>NoSQL<span class='label-count'>3</span></a></span>
|
|
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/OLAP'>OLAP<span class='label-count'>2</span></a></span>
|
|
<span class='label-size label-size-3'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/OLTP'>OLTP<span class='label-count'>7</span></a></span>
|
|
<span class='label-size label-size-3'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/ostep'>ostep<span class='label-count'>8</span></a></span>
|
|
<span class='label-size label-size-5'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/paper-review'>paper-review<span class='label-count'>154</span></a></span>
|
|
<span class='label-size label-size-4'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/paxos'>paxos<span class='label-count'>55</span></a></span>
|
|
<span class='label-size label-size-1'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/postgres'>postgres<span class='label-count'>1</span></a></span>
|
|
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/presenting'>presenting<span class='label-count'>4</span></a></span>
|
|
<span class='label-size label-size-1'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/privacy'>privacy<span class='label-count'>1</span></a></span>
|
|
<span class='label-size label-size-3'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/programming'>programming<span class='label-count'>7</span></a></span>
|
|
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/query-processing'>query-processing<span class='label-count'>2</span></a></span>
|
|
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/raft'>raft<span class='label-count'>4</span></a></span>
|
|
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/RDMA'>RDMA<span class='label-count'>3</span></a></span>
|
|
<span class='label-size label-size-4'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/reading-group'>reading-group<span class='label-count'>27</span></a></span>
|
|
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/recent-reads'>recent-reads<span class='label-count'>2</span></a></span>
|
|
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/reconfiguration'>reconfiguration<span class='label-count'>4</span></a></span>
|
|
<span class='label-size label-size-4'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/research-advice'>research-advice<span class='label-count'>58</span></a></span>
|
|
<span class='label-size label-size-4'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/research-question'>research-question<span class='label-count'>45</span></a></span>
|
|
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/Rust'>Rust<span class='label-count'>3</span></a></span>
|
|
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/scheduling'>scheduling<span class='label-count'>5</span></a></span>
|
|
<span class='label-size label-size-1'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/security'>security<span class='label-count'>1</span></a></span>
|
|
<span class='label-size label-size-3'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/seminar'>seminar<span class='label-count'>9</span></a></span>
|
|
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/serializability'>serializability<span class='label-count'>4</span></a></span>
|
|
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/serverless'>serverless<span class='label-count'>2</span></a></span>
|
|
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/smartphones'>smartphones<span class='label-count'>2</span></a></span>
|
|
<span class='label-size label-size-3'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/snapshot%20isolation'>snapshot isolation<span class='label-count'>9</span></a></span>
|
|
<span class='label-size label-size-1'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/sonification'>sonification<span class='label-count'>1</span></a></span>
|
|
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/SQL'>SQL<span class='label-count'>6</span></a></span>
|
|
<span class='label-size label-size-3'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/stabilization'>stabilization<span class='label-count'>7</span></a></span>
|
|
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/statistics'>statistics<span class='label-count'>3</span></a></span>
|
|
<span class='label-size label-size-3'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/stream-processing'>stream-processing<span class='label-count'>12</span></a></span>
|
|
<span class='label-size label-size-4'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/teaching'>teaching<span class='label-count'>33</span></a></span>
|
|
<span class='label-size label-size-3'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/tensorflow'>tensorflow<span class='label-count'>11</span></a></span>
|
|
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/testing'>testing<span class='label-count'>5</span></a></span>
|
|
<span class='label-size label-size-3'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/time'>time<span class='label-count'>23</span></a></span>
|
|
<span class='label-size label-size-3'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/time%20synchronization'>time synchronization<span class='label-count'>8</span></a></span>
|
|
<span class='label-size label-size-3'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/timeDB'>timeDB<span class='label-count'>8</span></a></span>
|
|
<span class='label-size label-size-4'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/tla'>tla<span class='label-count'>68</span></a></span>
|
|
<span class='label-size label-size-1'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/tpbook'>tpbook<span class='label-count'>1</span></a></span>
|
|
<span class='label-size label-size-4'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/transactions'>transactions<span class='label-count'>42</span></a></span>
|
|
<span class='label-size label-size-4'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/trip-report'>trip-report<span class='label-count'>43</span></a></span>
|
|
<span class='label-size label-size-2'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/wpaxos'>wpaxos<span class='label-count'>6</span></a></span>
|
|
<span class='label-size label-size-4'><a class='label-name' href='https://muratbuffalo.blogspot.com/search/label/writing'>writing<span class='label-count'>32</span></a></span>
|
|
</div>
|
|
<span class='show-more pill-button'>Show more</span>
|
|
<span class='show-less hidden pill-button'>Show less</span>
|
|
</div>
|
|
</details>
|
|
</div>
|
|
</div>
|
|
</aside>
|
|
<script type="text/javascript" src="https://resources.blogblog.com/blogblog/data/res/608349471-indie_compiled.js" async="true"></script>
|
|
|
|
<script type="text/javascript" src="https://www.blogger.com/static/v1/widgets/851759228-widgets.js"></script>
|
|
<script type='text/javascript'>
|
|
window['__wavt'] = 'AAPvtVk6ByTq2OXYRy6qYwtzzg3f:1789195456458';_WidgetManager._Init('//draft.blogger.com/rearrange?blogID\x3d8436330762136344379','//muratbuffalo.blogspot.com/2025/06/analyzing-metastable-failures-in.html','8436330762136344379');
|
|
_WidgetManager._SetDataContext([{'name': 'blog', 'data': {'blogId': '8436330762136344379', 'title': 'Metadata', 'url': 'https://muratbuffalo.blogspot.com/2025/06/analyzing-metastable-failures-in.html', 'canonicalUrl': 'http://muratbuffalo.blogspot.com/2025/06/analyzing-metastable-failures-in.html', 'homepageUrl': 'https://muratbuffalo.blogspot.com/', 'searchUrl': 'https://muratbuffalo.blogspot.com/search', 'canonicalHomepageUrl': 'http://muratbuffalo.blogspot.com/', 'blogspotFaviconUrl': 'https://muratbuffalo.blogspot.com/favicon.ico', 'bloggerUrl': 'https://draft.blogger.com', 'hasCustomDomain': false, 'httpsEnabled': true, 'enabledCommentProfileImages': true, 'gPlusViewType': 'FILTERED_POSTMOD', 'adultContent': false, 'analyticsAccountNumber': 'G-8187JXPXZK', 'analytics4': true, 'encoding': 'UTF-8', 'locale': 'en', 'localeUnderscoreDelimited': 'en', 'languageDirection': 'ltr', 'isPrivate': false, 'isMobile': false, 'isMobileRequest': false, 'mobileClass': '', 'isPrivateBlog': false, 'isDynamicViewsAvailable': true, 'feedLinks': '\x3clink rel\x3d\x22alternate\x22 type\x3d\x22application/atom+xml\x22 title\x3d\x22Metadata - Atom\x22 href\x3d\x22https://muratbuffalo.blogspot.com/feeds/posts/default\x22 /\x3e\n\x3clink rel\x3d\x22alternate\x22 type\x3d\x22application/rss+xml\x22 title\x3d\x22Metadata - RSS\x22 href\x3d\x22https://muratbuffalo.blogspot.com/feeds/posts/default?alt\x3drss\x22 /\x3e\n\x3clink rel\x3d\x22service.post\x22 type\x3d\x22application/atom+xml\x22 title\x3d\x22Metadata - Atom\x22 href\x3d\x22https://draft.blogger.com/feeds/8436330762136344379/posts/default\x22 /\x3e\n\n\x3clink rel\x3d\x22alternate\x22 type\x3d\x22application/atom+xml\x22 title\x3d\x22Metadata - Atom\x22 href\x3d\x22https://muratbuffalo.blogspot.com/feeds/8397392905980257359/comments/default\x22 /\x3e\n', 'meTag': '', 'adsenseHostId': 'ca-host-pub-1556223355139109', 'adsenseHasAds': false, 'adsenseAutoAds': false, 'boqCommentIframeForm': true, 'loginRedirectParam': '', 'view': '', 'dynamicViewsCommentsSrc': '//www.blogblog.com/dynamicviews/4224c15c4e7c9321/js/comments.js', 'dynamicViewsScriptSrc': '//www.blogblog.com/dynamicviews/31d4351e075118ef', 'plusOneApiSrc': 'https://apis.google.com/js/platform.js', 'disableGComments': true, 'interstitialAccepted': false, 'sharing': {'platforms': [{'name': 'Get link', 'key': 'link', 'shareMessage': 'Get link', 'target': ''}, {'name': 'Facebook', 'key': 'facebook', 'shareMessage': 'Share to Facebook', 'target': 'facebook'}, {'name': 'BlogThis!', 'key': 'blogThis', 'shareMessage': 'BlogThis!', 'target': 'blog'}, {'name': 'X', 'key': 'twitter', 'shareMessage': 'Share to X', 'target': 'twitter'}, {'name': 'Pinterest', 'key': 'pinterest', 'shareMessage': 'Share to Pinterest', 'target': 'pinterest'}, {'name': 'Email', 'key': 'email', 'shareMessage': 'Email', 'target': 'email'}], 'disableGooglePlus': true, 'googlePlusShareButtonWidth': 0, 'googlePlusBootstrap': '\x3cscript type\x3d\x22text/javascript\x22\x3ewindow.___gcfg \x3d {\x27lang\x27: \x27en\x27};\x3c/script\x3e'}, 'hasCustomJumpLinkMessage': true, 'jumpLinkMessage': 'Read more \x26gt;\x26gt;', 'pageType': 'item', 'postId': '8397392905980257359', 'postImageThumbnailUrl': 'https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCunDyknolwDduldWxvDQJI-UpUXLRneWkPsgsX80tcGEPcLNvHCKItO4kH1Po-aVXSeHwu3XMtD0CWUFOGJo7bn9tItDIp6lKx4GHSiJRo4_1PJIJ6ffNMhRhiI_70QtlJYYM9wG7ObTA8yU50dh3MxgHIG3cs0O2KAU4UULbX0MMqBKplaA-D6i52lY/s72-w400-c-h243/Screenshot%202025-06-05%20at%201.45.47%E2%80%AFPM.png', 'postImageUrl': 'https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCunDyknolwDduldWxvDQJI-UpUXLRneWkPsgsX80tcGEPcLNvHCKItO4kH1Po-aVXSeHwu3XMtD0CWUFOGJo7bn9tItDIp6lKx4GHSiJRo4_1PJIJ6ffNMhRhiI_70QtlJYYM9wG7ObTA8yU50dh3MxgHIG3cs0O2KAU4UULbX0MMqBKplaA-D6i52lY/w400-h243/Screenshot%202025-06-05%20at%201.45.47%E2%80%AFPM.png', 'pageName': 'Analyzing Metastable Failures in Distributed Systems', 'pageTitle': 'Metadata: Analyzing Metastable Failures in Distributed Systems'}}, {'name': 'features', 'data': {}}, {'name': 'messages', 'data': {'edit': 'Edit', 'linkCopiedToClipboard': 'Link copied to clipboard!', 'ok': 'Ok', 'postLink': 'Post Link'}}, {'name': 'template', 'data': {'name': 'custom', 'localizedName': 'Custom', 'isResponsive': true, 'isAlternateRendering': false, 'isCustom': true}}, {'name': 'view', 'data': {'classic': {'name': 'classic', 'url': '?view\x3dclassic'}, 'flipcard': {'name': 'flipcard', 'url': '?view\x3dflipcard'}, 'magazine': {'name': 'magazine', 'url': '?view\x3dmagazine'}, 'mosaic': {'name': 'mosaic', 'url': '?view\x3dmosaic'}, 'sidebar': {'name': 'sidebar', 'url': '?view\x3dsidebar'}, 'snapshot': {'name': 'snapshot', 'url': '?view\x3dsnapshot'}, 'timeslide': {'name': 'timeslide', 'url': '?view\x3dtimeslide'}, 'isMobile': false, 'title': 'Analyzing Metastable Failures in Distributed Systems', 'description': 'So it goes: your system is purring like a tiger, devouring requests, until, without warning, it slumps into existential dread. Not a crash. ...', 'featuredImage': 'https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCunDyknolwDduldWxvDQJI-UpUXLRneWkPsgsX80tcGEPcLNvHCKItO4kH1Po-aVXSeHwu3XMtD0CWUFOGJo7bn9tItDIp6lKx4GHSiJRo4_1PJIJ6ffNMhRhiI_70QtlJYYM9wG7ObTA8yU50dh3MxgHIG3cs0O2KAU4UULbX0MMqBKplaA-D6i52lY/w400-h243/Screenshot%202025-06-05%20at%201.45.47%E2%80%AFPM.png', 'url': 'https://muratbuffalo.blogspot.com/2025/06/analyzing-metastable-failures-in.html', 'type': 'item', 'isSingleItem': true, 'isMultipleItems': false, 'isError': false, 'isPage': false, 'isPost': true, 'isHomepage': false, 'isArchive': false, 'isLabelSearch': false, 'postId': 8397392905980257359}}, {'name': 'widgets', 'data': [{'title': 'Search This Blog', 'type': 'BlogSearch', 'sectionId': 'search_top', 'id': 'BlogSearch1'}, {'title': 'Metadata (Header)', 'type': 'Header', 'sectionId': 'header', 'id': 'Header1'}, {'title': 'Blog Posts', 'type': 'Blog', 'sectionId': 'page_body', 'id': 'Blog1', 'posts': [{'id': '8397392905980257359', 'title': 'Analyzing Metastable Failures in Distributed Systems', 'featuredImage': 'https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiCunDyknolwDduldWxvDQJI-UpUXLRneWkPsgsX80tcGEPcLNvHCKItO4kH1Po-aVXSeHwu3XMtD0CWUFOGJo7bn9tItDIp6lKx4GHSiJRo4_1PJIJ6ffNMhRhiI_70QtlJYYM9wG7ObTA8yU50dh3MxgHIG3cs0O2KAU4UULbX0MMqBKplaA-D6i52lY/w400-h243/Screenshot%202025-06-05%20at%201.45.47%E2%80%AFPM.png', 'showInlineAds': false}], 'headerByline': {'regionName': 'header1', 'items': [{'name': 'share', 'label': ''}, {'name': 'timestamp', 'label': '-'}]}, 'footerBylines': [{'regionName': 'footer1', 'items': [{'name': 'comments', 'label': 'comments'}, {'name': 'icons', 'label': ''}]}, {'regionName': 'footer2', 'items': [{'name': 'labels', 'label': ''}]}, {'regionName': 'footer3', 'items': [{'name': 'location', 'label': 'Location:'}]}], 'allBylineItems': [{'name': 'share', 'label': ''}, {'name': 'timestamp', 'label': '-'}, {'name': 'comments', 'label': 'comments'}, {'name': 'icons', 'label': ''}, {'name': 'labels', 'label': ''}, {'name': 'location', 'label': 'Location:'}]}, {'title': '', 'type': 'PopularPosts', 'sectionId': 'page_body', 'id': 'PopularPosts1', 'posts': [{'title': 'The Safest Job from AI may be Writing', 'id': 3474170472248755218}, {'title': 'The Two Abstractions of System Design: Hide or Reduce', 'id': 3031374066882365427}, {'title': 'The Agentic Self: Parallels Between AI and Self-Improvement', 'id': 7002344051705218447}, {'title': ' Learning about distributed systems: where to start?', 'id': 1265255918931660489}, {'title': 'Hints for Distributed Systems Design', 'id': 541578283189852885}, {'title': ' Foundational distributed systems papers', 'id': 9195727313486447941}, {'title': 'Building a Database on S3', 'id': 6882654946668462778}, {'title': 'Cloudspecs: Cloud Hardware Evolution Through the Looking Glass', 'id': 9104187276584034736}, {'title': 'Specula: Scaling formal specifications for autonomous model checking of system code', 'id': 6722390316485163334}, {'title': 'What I\x27d do as a College Freshman in 2025', 'id': 6461457030698793296}]}, {'type': 'Attribution', 'sectionId': 'footer', 'id': 'Attribution1'}, {'title': 'About Me', 'type': 'Profile', 'sectionId': 'sidebar_top', 'id': 'Profile1'}, {'title': 'Subscribe via email', 'type': 'HTML', 'sectionId': 'sidebar_bottom', 'id': 'HTML1'}, {'title': 'Pageviews', 'type': 'Stats', 'sectionId': 'sidebar_bottom', 'id': 'Stats1'}, {'title': 'Recent Posts', 'type': 'BlogArchive', 'sectionId': 'sidebar_bottom', 'id': 'BlogArchive1'}, {'title': 'Topics', 'type': 'Label', 'sectionId': 'sidebar_bottom', 'id': 'Label1'}]}]);
|
|
_WidgetManager._RegisterWidget('_BlogSearchView', new _WidgetInfo('BlogSearch1', 'search_top', document.getElementById('BlogSearch1'), {}, 'displayModeFull'));
|
|
_WidgetManager._RegisterWidget('_HeaderView', new _WidgetInfo('Header1', 'header', document.getElementById('Header1'), {}, 'displayModeFull'));
|
|
_WidgetManager._RegisterWidget('_BlogView', new _WidgetInfo('Blog1', 'page_body', document.getElementById('Blog1'), {'cmtInteractionsEnabled': false, 'lightboxEnabled': true, 'lightboxModuleUrl': 'https://www.blogger.com/static/v1/jsbin/120969204-lbx.js', 'lightboxCssUrl': 'https://www.blogger.com/static/v1/v-css/828616780-lightbox_bundle.css'}, 'displayModeFull'));
|
|
_WidgetManager._RegisterWidget('_PopularPostsView', new _WidgetInfo('PopularPosts1', 'page_body', document.getElementById('PopularPosts1'), {}, 'displayModeFull'));
|
|
_WidgetManager._RegisterWidget('_AttributionView', new _WidgetInfo('Attribution1', 'footer', document.getElementById('Attribution1'), {}, 'displayModeFull'));
|
|
_WidgetManager._RegisterWidget('_ProfileView', new _WidgetInfo('Profile1', 'sidebar_top', document.getElementById('Profile1'), {}, 'displayModeFull'));
|
|
_WidgetManager._RegisterWidget('_HTMLView', new _WidgetInfo('HTML1', 'sidebar_bottom', document.getElementById('HTML1'), {}, 'displayModeFull'));
|
|
_WidgetManager._RegisterWidget('_StatsView', new _WidgetInfo('Stats1', 'sidebar_bottom', document.getElementById('Stats1'), {'title': 'Pageviews', 'showGraphicalCounter': true, 'showAnimatedCounter': true, 'showSparkline': true, 'statsUrl': '//muratbuffalo.blogspot.com/b/stats?style\x3dBLACK_TRANSPARENT\x26timeRange\x3dALL_TIME\x26token\x3dAEz_qU-YFd6GIHr4SuvtjywtTdXKKbYX4kUylat4mNlxx3nCTREUVTqhnWNf1TnKhkT8piXdeFCX6z3YRatyFCo'}, 'displayModeFull'));
|
|
_WidgetManager._RegisterWidget('_BlogArchiveView', new _WidgetInfo('BlogArchive1', 'sidebar_bottom', document.getElementById('BlogArchive1'), {'languageDirection': 'ltr', 'loadingMessage': 'Loading\x26hellip;'}, 'displayModeFull'));
|
|
_WidgetManager._RegisterWidget('_LabelView', new _WidgetInfo('Label1', 'sidebar_bottom', document.getElementById('Label1'), {}, 'displayModeFull'));
|
|
</script>
|
|
</body>
|
|
</html> |