Help
RSS
API
Feed
Maltego
Contact
Domain > codical.org
×
More information on this domain is in
AlienVault OTX
Is this malicious?
Yes
No
DNS Resolutions
Date
IP Address
2025-11-19
104.21.29.68
(
ClassC
)
Port 443
HTTP/1.1 200 OKDate: Wed, 19 Nov 2025 10:55:27 GMTContent-Type: text/html; charsetutf-8Transfer-Encoding: chunkedConnection: keep-aliveServer: cloudflarelast-modified: Tue, 04 Nov 2025 21:42:54 GMTaccess-control-allow-origin: *expires: Wed, 19 Nov 2025 11:05:27 GMTCache-Control: max-age600Report-To: {group:cf-nel,max_age:604800,endpoints:{url:https://a.nel.cloudflare.com/report/v4?sZ3TDEmbUiywdE4nBYXAeZqAkYVo%2BpLaXTPDEMTM%2F%2BqUaRSRSEBFgbJweWYrl4wDwWndKV1YAXlDq%2B4gZPrWwnpFhHdSokabAzp%2Fb}}x-proxy-cache: MISSx-github-request-id: C412:A4DCE:1D70015:1E0E31A:691DA21BNel: {report_to:cf-nel,success_fraction:0.0,max_age:604800}Age: 0via: 1.1 varnishx-served-by: cache-pdx12320-PDXx-cache: MISSx-cache-hits: 0x-timer: S1763549727.375605,VS0,VE78vary: Accept-Encodingx-fastly-request-id: cc43551019b720c1a5b0baa810a8eb7f605d8f99cf-cache-status: DYNAMICCF-RAY: 9a0f2ce40af768f1-PDXalt-svc: h3:443; ma86400 !doctype html>html langen classno-js> head> meta charsetutf-8> meta nameviewport contentwidthdevice-width,initial-scale1> meta namedescription contentcodical (adjective): of or relating to a codex or code> meta nameauthor contentJonathan Striebel> link relcanonical hrefhttps://codical.org/> link relnext hrefposts/about_profiling/> link relicon hrefimg/logo.svg> meta namegenerator contentmkdocs-1.6.1, mkdocs-material-9.6.18> title>About code:Tools & Thoughts for Software Engineers - Codical/title> link relstylesheet hrefassets/stylesheets/main.7e37652d.min.css> link relstylesheet hrefassets/stylesheets/palette.06af60db.min.css> link relstylesheet hrefcss/extra.css> link relstylesheet hrefcss/fonts.css> script>__md_scopenew URL(.,location),__md_hashe>...e.reduce(((e,_)>(e5)-e+_.charCodeAt(0)),0),__md_get(e,_localStorage,t__md_scope)>JSON.parse(_.getItem(t.pathname+.+e)),__md_set(e,_,tlocalStorage,a__md_scope)>{try{t.setItem(a.pathname+.+e,JSON.stringify(_))}catch(e){}}/script> meta propertyog:type contentwebsite > meta propertyog:title contentCodical > meta propertyog:description contentcodical (adjective): of or relating to a codex or code > meta propertyog:image contenthttps://codical.org/assets/images/social/index.png > meta propertyog:image:type contentimage/png > meta propertyog:image:width content1200 > meta propertyog:image:height content630 > meta propertyog:url contenthttps://codical.org/ > meta nametwitter:card contentsummary_large_image > meta nametwitter:title contentCodical > meta nametwitter:description contentcodical (adjective): of or relating to a codex or code > meta nametwitter:image contenthttps://codical.org/assets/images/social/index.png > !-- Preload fonts for better performance --> link relpreload hreffonts/josefin-sans-v26-latin-300.woff2 asfont typefont/woff2 crossorigin> link relpreload hreffonts/josefin-sans-v26-latin-700.woff2 asfont typefont/woff2 crossorigin> link relpreload hreffonts/josefin-sans-v26-latin-regular.woff2 asfont typefont/woff2 crossorigin> link relpreload hreffonts/josefin-sans-v26-latin-italic.woff2 asfont typefont/woff2 crossorigin> link relpreload hreffonts/fira-code-v21-latin-regular.woff2 asfont typefont/woff2 crossorigin> /head> body dirltr data-md-color-schemecodical data-md-color-primaryindigo data-md-color-accentindigo> input classmd-toggle data-md-toggledrawer typecheckbox id__drawer autocompleteoff> input classmd-toggle data-md-togglesearch typecheckbox id__search autocompleteoff> label classmd-overlay for__drawer>/label> div data-md-componentskip> a href#codical-a-software-engineering-blog classmd-skip> Skip to content /a> /div> div data-md-componentannounce> /div> header classmd-header md-header--shadow data-md-componentheader> nav classmd-header__inner md-grid aria-labelHeader> a href. titleCodical classmd-header__button md-logo aria-labelCodical data-md-componentlogo> img srcimg/logo.svg altlogo> /a> label classmd-header__button md-icon for__drawer> svg xmlnshttp://www.w3.org/2000/svg viewBox0 0 24 24>path dM3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z/>/svg> /label> div classmd-header__title data-md-componentheader-title> div classmd-header__ellipsis> div classmd-header__topic> span classmd-ellipsis> Codical /span> /div> div classmd-header__topic data-md-componentheader-topic> span classmd-ellipsis> About code:Tools & Thoughts for Software Engineers /span> /div> /div> /div> label classmd-header__button md-icon for__search> svg xmlnshttp://www.w3.org/2000/svg viewBox0 0 24 24>path dM9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5/>/svg> /label> div classmd-search data-md-componentsearch roledialog> label classmd-search__overlay for__search>/label> div classmd-search__inner rolesearch> form classmd-search__form namesearch> input typetext classmd-search__input namequery aria-labelSearch placeholderSearch autocapitalizeoff autocorrectoff autocompleteoff spellcheckfalse data-md-componentsearch-query required> label classmd-search__icon md-icon for__search> svg xmlnshttp://www.w3.org/2000/svg viewBox0 0 24 24>path dM9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5/>/svg> svg xmlnshttp://www.w3.org/2000/svg viewBox0 0 24 24>path dM20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z/>/svg> /label> nav classmd-search__options aria-labelSearch> button typereset classmd-search__icon md-icon titleClear aria-labelClear tabindex-1> svg xmlnshttp://www.w3.org/2000/svg viewBox0 0 24 24>path dM19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z/>/svg> /button> /nav> /form> div classmd-search__output> div classmd-search__scrollwrap tabindex0 data-md-scrollfix> div classmd-search-result data-md-componentsearch-result> div classmd-search-result__meta> Initializing search /div> ol classmd-search-result__list rolepresentation>/ol> /div> /div> /div> /div>/div> /nav> /header> div classmd-container data-md-componentcontainer> main classmd-main data-md-componentmain> div classmd-main__inner md-grid> div classmd-sidebar md-sidebar--primary data-md-componentsidebar data-md-typenavigation > div classmd-sidebar__scrollwrap> div classmd-sidebar__inner> nav classmd-nav md-nav--primary aria-labelNavigation data-md-level0> label classmd-nav__title for__drawer> a href. titleCodical classmd-nav__button md-logo aria-labelCodical data-md-componentlogo> img srcimg/logo.svg altlogo> /a> Codical /label> ul classmd-nav__list data-md-scrollfix> li classmd-nav__item md-nav__item--active> input classmd-nav__toggle md-toggle typecheckbox id__toc> a href. classmd-nav__link md-nav__link--active> ?xml version1.0 encodingUTF-8 standaloneno?>svg xmlns:dchttp://purl.org/dc/elements/1.1/ xmlns:cchttp://creativecommons.org/ns# xmlns:rdfhttp://www.w3.org/1999/02/22-rdf-syntax-ns# xmlns:svghttp://www.w3.org/2000/svg xmlnshttp://www.w3.org/2000/svg xmlns:sodipodihttp://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd xmlns:inkscapehttp://www.inkscape.org/namespaces/inkscape version1.1 idsvg1901 inkscape:version0.92.4 (5da689c313, 2019-01-14) sodipodi:docnameCodical (copy).svg.2023_05_17_17_56_54.0.svg x0px y0px viewBox346.5 473.844 52.995997 53.544997 enable-backgroundnew 346.5 473.844 53.417 53.99 xml:spacepreserve>metadata idmetadata40>rdf:RDF>cc:Work rdf:about>dc:format>image/svg+xml/dc:format>dc:type rdf:resourcehttp://purl.org/dc/dcmitype/StillImage />dc:title />/cc:Work>/rdf:RDF>/metadata>sodipodi:namedview idnamedview1769 showgridfalse pagecolor#ffffff bordercolor#666666 inkscape:cy38.519226 guidetolerance10 inkscape:cx10.015137 gridtolerance10 inkscape:zoom10.069334 objecttolerance10 borderopacity1 inkscape:current-layerlayer2 inkscape:window-y55 inkscape:window-x0 inkscape:snap-gridstrue inkscape:window-height1311 inkscape:window-width2560 inkscape:pageshadow2 inkscape:pageopacity0 inkscape:window-maximized1 fit-margin-top0 fit-margin-left0 fit-margin-right0 fit-margin-bottom0> inkscape:grid typexygrid idgrid4583 originx-0.25716998 originy-0.20318483 />/sodipodi:namedview>defs iddefs5 />g idlayer2 transformtranslate(115.367,74.007)> path idrect4895 dm 236.654,400.587 h 41.954 c 2.634,0 4.771,1.797 4.771,4.012 v 44.021 c 0,2.216 -2.136,4.012 -4.771,4.012 h -41.954 c -2.634,0 -4.771,-1.796 -4.771,-4.012 v -44.021 c 0,-2.215 2.136,-4.012 4.771,-4.012 z inkscape:connector-curvature0 stylefill:#656565 /> rect idrect4897 x272.07401 y404.453 width11.279 height34.563 stylefill:#d6d6d6 /> linearGradient idpath4899_1_ gradientUnitsuserSpaceOnUse x1-885.3761 y1640.05511 x2-888.40662 y2652.68213 gradientTransformmatrix(0.2087,0,0,-0.208,461.3392,537.5479)> stop offset0 stylestop-color:#D6D6D6 idstop9 /> stop offset1 stylestop-color:#656565 idstop11 /> /linearGradient> path idpath4899 dm 274.235,407.467 9.094,-2.972 c -0.361,-2.856 -2.329,-3.846 -5.069,-3.937 -3.646,0.105 -7.203,0.26 -9.094,1.337 z inkscape:connector-curvature0 stylefill:url(#path4899_1_) /> rect idrect4901 x240.976 y439.646 width33.469002 height12.975 stylefill:#929292 /> linearGradient idpath4903_1_ gradientUnitsuserSpaceOnUse x12230.7595 y1454.89789 x22250.8057 y2439.24011 gradientTransformmatrix(-0.2087,0,0,-0.208,744.2323,537.5479)> stop offset0 stylestop-color:#D6D6D6 idstop16 /> stop offset1 stylestop-color:#939393 idstop18 /> /linearGradient> path idpath4903 dm 272.535,436.6 10.805,1.155 0.04,10.506 c -0.005,2.709 -2.167,4.266 -4.401,4.359 l -4.81,-0.052 -5.324,-12.345 z inkscape:connector-curvature0 stylefill:url(#path4903_1_) /> linearGradient idpath4905_1_ gradientUnitsuserSpaceOnUse x1-1084.8995 y1454.4057 x2-1061.9962 y2438.74789 gradientTransformmatrix(0.2087,0,0,-0.208,461.3392,537.5479)> stop offset0 stylestop-color:#656565 idstop22 /> stop offset1 stylestop-color:#939393 idstop24 /> /linearGradient> path idpath4905 dm 239.395,436.495 -7.484,1.261 -0.04,10.506 c 0.005,2.709 2.167,4.266 4.401,4.359 l 4.81,-0.052 1.687,-12.292 z inkscape:connector-curvature0 stylefill:url(#path4905_1_) /> path idrect4907 dm 243.424,401.246 h 26.994 c 2.635,0 4.771,2.128 4.771,4.754 v 30.736 c 0,2.626 -2.136,4.755 -4.771,4.755 h -26.994 c -2.635,0 -4.771,-2.129 -4.771,-4.755 V 406 c 0.001,-2.627 2.136,-4.754 4.771,-4.754 z inkscape:connector-curvature0 stylefill:#f1f1f1 /> linearGradient idrect4909_1_ gradientUnitsuserSpaceOnUse x1-1143.3112 y1401.05219 x2-1066.7612 y2401.05219 gradientTransformmatrix(0.2087,0,0,-0.208,488.0692,504.7872)> stop offset0 stylestop-color:#D8D8D8 idstop29 /> stop offset1 stylestop-color:#B1B1B1 idstop31 /> /linearGradient> path idrect4909 dm 243.424,401.246 h 25.94 c 2.635,0 4.771,2.128 4.771,4.754 v 30.736 c 0,2.626 -2.136,4.755 -4.771,4.755 h -25.94 c -2.635,0 -4.771,-2.129 -4.771,-4.755 V 406 c 0.001,-2.627 2.136,-4.754 4.771,-4.754 z inkscape:connector-curvature0 stylefill:url(#rect4909_1_) /> text transformmatrix(1.0034,0,0,1,243.4012,419.0444) font-size13.9762 idtext35 stylefont-size:13.9762001px;line-height:0%;font-family:DejaVuSansCondensed /> path idrect4915 dm 236.654,400.587 h 41.954 c 2.634,0 4.771,1.797 4.771,4.012 v 44.021 c 0,2.216 -2.136,4.012 -4.771,4.012 h -41.954 c -2.634,0 -4.771,-1.796 -4.771,-4.012 v -44.021 c 0,-2.215 2.136,-4.012 4.771,-4.012 z inkscape:connector-curvature0 stylefill:none;stroke:#0c1a59;stroke-width:1.5;stroke-opacity:1 />g aria-labelC stylefont-style:normal;font-weight:normal;font-size:25.17703629px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.62942588 idtext853>path dm 257.30199,421.29724 q -0.45318,0.30212 -1.23367,0.67978 -0.78049,0.37765 -1.83793,0.62943 -1.03225,0.25177 -2.26593,0.25177 -2.11487,-0.0252 -3.82691,-0.75532 -1.68686,-0.73013 -2.87018,-1.98898 -1.18332,-1.25885 -1.83792,-2.89536 -0.62943,-1.66168 -0.62943,-3.52479 0,-2.03934 0.6546,-3.75137 0.67978,-1.73722 1.88828,-2.99607 1.2085,-1.28403 2.84501,-1.98899 1.66168,-0.70495 3.62549,-0.70495 1.63651,0 2.97089,0.45318 1.33438,0.42801 2.29111,1.03226 l -0.9819,2.26593 q -0.75532,-0.50354 -1.83793,-0.95672 -1.05743,-0.45319 -2.36664,-0.45319 -1.33438,0 -2.5177,0.52872 -1.18332,0.52872 -2.0897,1.48544 -0.90637,0.95673 -1.43509,2.24076 -0.50354,1.25885 -0.50354,2.71912 0,1.48544 0.45319,2.76947 0.47836,1.25886 1.33438,2.19041 0.8812,0.93155 2.11487,1.46026 1.23368,0.52872 2.76948,0.52872 1.38473,0 2.46735,-0.42801 1.08261,-0.42801 1.78756,-0.95673 z stylefont-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:Josefin Sans;-inkscape-font-specification:Josefin Sans;fill:#0c1a59;fill-opacity:1;stroke-width:0.62942588 idpath843 />/g>text xml:spacepreserve stylefont-style:normal;font-weight:normal;font-size:40px;line-height:1.25;font-family:sans-serif;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none x298.16821 y417.53058 idtext4622>tspan sodipodi:roleline idtspan4620 x298.16821 y452.9212 />/text>/g>/svg> span classmd-ellipsis> Home /span> /a> /li> li classmd-nav__item md-nav__item--section md-nav__item--nested> input classmd-nav__toggle md-toggle md-toggle--indeterminate typecheckbox id__nav_2 > label classmd-nav__link for__nav_2 id__nav_2_label tabindex> span classmd-ellipsis> Posts /span> span classmd-nav__icon md-icon>/span> /label> nav classmd-nav data-md-level1 aria-labelledby__nav_2_label aria-expandedfalse> label classmd-nav__title for__nav_2> span classmd-nav__icon md-icon>/span> Posts /label> ul classmd-nav__list data-md-scrollfix> li classmd-nav__item> a hrefposts/about_profiling/ classmd-nav__link> svg xmlnshttp://www.w3.org/2000/svg viewBox0 0 16 16>path dM5.75.75A.75.75 0 0 1 6.5 0h3a.75.75 0 0 1 0 1.5h-.75v1l-.001.041a6.7 6.7 0 0 1 3.464 1.435l.007-.006.75-.75a.749.749 0 0 1 1.275.326.75.75 0 0 1-.215.734l-.75.75-.006.007a6.75 6.75 0 1 1-10.548 0L2.72 5.03l-.75-.75a.75.75 0 0 1 .018-1.042.75.75 0 0 1 1.042-.018l.75.75.007.006A6.7 6.7 0 0 1 7.25 2.541V1.5H6.5a.75.75 0 0 1-.75-.75M8 14.5a5.25 5.25 0 1 0-.001-10.501A5.25 5.25 0 0 0 8 14.5m.389-6.7 1.33-1.33a.75.75 0 1 1 1.061 1.06L9.45 8.861A1.503 1.503 0 0 1 8 10.75a1.499 1.499 0 1 1 .389-2.95/>/svg> span classmd-ellipsis> About Profiling /span> /a> /li> li classmd-nav__item> a hrefposts/python_profilers/ classmd-nav__link> svg xmlnshttp://www.w3.org/2000/svg viewBox0 0 24 24>path dM19.5 17H18c1.1 0 2-.9 2-2s-.9-2-2-2V9c0-1 0-2-1.08-2.86.05-.21.08-.42.08-.64C17 3.57 15 2 12.5 2c-2.26 0-4.12 1.31-4.43 3H6L3.71 2.79 3 3.5l2 2-2 2 .71.71L6 6h2.07c.31 1.69 2.17 3 4.43 3 .5 0 1-.08 1.43-.2.04.07.07.14.07.2v4H8c-1.1 0-2 .9-2 2s.9 2 2 2H6.5A2.5 2.5 0 0 0 4 19.5c0 .17 0 .34.05.5H4c-1.1 0-2 .9-2 2h17.5a2.5 2.5 0 0 0 0-5M12 5c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1/>/svg> span classmd-ellipsis> Python Profiler Overview /span> /a> /li> li classmd-nav__item> a hrefposts/moving_averages/ classmd-nav__link> svg xmlnshttp://www.w3.org/2000/svg viewBox0 0 24 24>path dm16 11.78 4.24-7.33 1.73 1-5.23 9.05-6.51-3.75L5.46 19H22v2H2V3h2v14.54L9.5 8z/>/svg> span classmd-ellipsis> Moving Averages /span> /a> /li> /ul> /nav> /li> li classmd-nav__item md-nav__item--section md-nav__item--nested> input classmd-nav__toggle md-toggle md-toggle--indeterminate typecheckbox id__nav_3 > label classmd-nav__link for__nav_3 id__nav_3_label tabindex> span classmd-ellipsis> Meta /span> span classmd-nav__icon md-icon>/span> /label> nav classmd-nav data-md-level1 aria-labelledby__nav_3_label aria-expandedfalse> label classmd-nav__title for__nav_3> span classmd-nav__icon md-icon>/span> Meta /label> ul classmd-nav__list data-md-scrollfix> li classmd-nav__item> a hreftags/ classmd-nav__link> svg xmlnshttp://www.w3.org/2000/svg viewBox0 0 16 16>path dM1 7.775V2.75C1 1.784 1.784 1 2.75 1h5.025c.464 0 .91.184 1.238.513l6.25 6.25a1.75 1.75 0 0 1 0 2.474l-5.026 5.026a1.75 1.75 0 0 1-2.474 0l-6.25-6.25A1.75 1.75 0 0 1 1 7.775m1.5 0c0 .066.026.13.073.177l6.25 6.25a.25.25 0 0 0 .354 0l5.025-5.025a.25.25 0 0 0 0-.354l-6.25-6.25a.25.25 0 0 0-.177-.073H2.75a.25.25 0 0 0-.25.25ZM6 5a1 1 0 1 1 0 2 1 1 0 0 1 0-2/>/svg> span classmd-ellipsis> Tags /span> /a> /li> li classmd-nav__item> a hrefabout/ classmd-nav__link> svg xmlnshttp://www.w3.org/2000/svg viewBox0 0 16 16>path dM0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8m8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13M6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75M8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2/>/svg> span classmd-ellipsis> About /span> /a> /li> /ul> /nav> /li> /ul>/nav> /div> /div> /div> div classmd-sidebar md-sidebar--secondary data-md-componentsidebar data-md-typetoc > div classmd-sidebar__scrollwrap> div classmd-sidebar__inner> nav classmd-nav md-nav--secondary aria-labelTable of contents> /nav> /div> /div> /div> div classmd-content data-md-componentcontent> article classmd-content__inner md-typeset> h1 idcodical-a-software-engineering-blog>Codical – A Software Engineering Bloga classheaderlink href#codical-a-software-engineering-blog titlePermanent link>¶/a>/h1>div classadmonition quote>p classadmonition-title>codical, em>adjective/em>/p>p>a hrefhttps://www.merriam-webster.com/dictionary/codical>of or relating to a codex or code/a>/p>/div>!-- use html instead of md to avoid toc -->h2>Posts/h2>p>style> .md-typeset .blog-post:first-of-type h3 { margin-top: 0; } .md-typeset .blog-post-title { margin-bottom: 0; } .md-typeset .blog-post-extra { color: var(--md-default-fg-color--light); } .md-typeset .blog-center { text-align: center; } .md-typeset .blog-pagination { display: inline-block; margin-top: 20px; } .md-typeset .blog-pagination a { color: var(--md-typeset-color); float: left; padding: .25em 1em; text-decoration: none; border-radius: 1em; margin-left: .25em; margin-right: .25em; transition: all .15s ease-in-out; } .md-typeset .blog-pagination a.active { background-color: var(--md-typeset-a-color); color: white; font-weight: bold; } .md-typeset .blog-pagination a:hover:not(.active) { background-color: #dddddda1; } .md-typeset .blog-hidden { display: none; }/style>style> .blog-override-post { padding: 30px 60px 30px 0; margin-top: 10px; border: 1px solid transparent; cursor: default; } .blog-override-post .blog-post-title { color: var(--md-typeset-a-color); margin-top: 0; } .blog-post-description { color: var(--md-typeset-color); } .blog-override-post:first-of-type { margin-top: 0; } .blog-override-post:hover { border: 1px solid #e8e8e877; box-shadow: 3px 4px 10px #e8e8e8; } .blog-override-post, .blog-override-post>* { transition: all 0.3s ease-in-out; } .blog-override-post:hover>* { transform: translateX(30px); } .blog-post-description, .blog-post-extra { opacity: 0.8; } .blog-override-post:hover .blog-post-description, .blog-override-post:hover .blog-post-extra { opacity: 1; } @media only screen and (max-width: 1000px) { .blog-override-post, .blog-override-post>* { transition: none; } .blog-override-post:hover>* { transform: none; } .blog-override-post { padding: 30px 0 30px 0; border: none; cursor: pointer; } .blog-override-post:hover { border: none; box-shadow: none; } .blog-post-description, .blog-post-extra, .blog-override-post:hover .blog-post-description, .blog-override-post:hover .blog-post-extra { opacity: 1; } }/style> style> .md-typeset .blogging-tags-grid { display: flex; flex-direction: row; flex-wrap: wrap; gap: 8px; margin-top: 5px; } .md-typeset .blogging-tag { color: var(--md-typeset-color); background-color: var(--md-typeset-code-color); white-space: nowrap; display: block; } .md-typeset .blogging-tag code { border-radius: 5px; }/style> div class md-typeset> div classpages> div classpage idpage1> a hrefhttps://codical.org/posts/moving_averages/> div classblog-override-post> h3 classblog-post-title>Moving Averages/h3> div classblogging-tags-grid> code stylecolor: var(--md-typeset-color)>#data-science/code> /div> p classblog-post-description>Introducing a novel parametrized moving average that unifies cumulative and exponential moving averages./p> div classblog-post-extra> Published at: 2025-11-02 /div> /div>/a> a hrefhttps://codical.org/posts/about_profiling/> div classblog-override-post> h3 classblog-post-title>About Profiling/h3> div classblogging-tags-grid> code stylecolor: var(--md-typeset-color)>#profilers/code> /div> p classblog-post-description>An introduction to Profiling, covering Speed & Memory Profiling, as well as Deterministic Instrumenting vs Statistical Sampling./p> div classblog-post-extra> Published at: 2023-05-25 /div> /div>/a> a hrefhttps://codical.org/posts/python_profilers/> div classblog-override-post> h3 classblog-post-title>Python Profiler Overview/h3> div classblogging-tags-grid> code stylecolor: var(--md-typeset-color)>#python/code> code stylecolor: var(--md-typeset-color)>#profilers/code> /div> p classblog-post-description>Comparing different Python profilers, both for memory and time profiling. E.g. py-spy, memray, Scalene, Austin, pyinstrument, …/p> div classblog-post-extra> Published at: 2023-05-25 /div> /div>/a> /div> /div> div classblog-center blog-hidden> div classblog-pagination idblog-pagination> a classpage-number href>1/a> /div> div>Total b>3/b> posts./div> /div>/div>/p> /article> /div> script>var targetdocument.getElementById(location.hash.slice(1));target&&target.name&&(target.checkedtarget.name.startsWith(__tabbed_))/script> /div> button typebutton classmd-top md-icon data-md-componenttop hidden> svg xmlnshttp://www.w3.org/2000/svg viewBox0 0 24 24>path dM13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z/>/svg> Back to top/button> /main> footer classmd-footer> div classmd-footer-meta md-typeset> div classmd-footer-meta__inner md-grid> div classmd-copyright> div classmd-copyright__highlight> Made with ♥ by a hrefhttps://jonathanstriebel.de target_blank>Jonathan Striebel/a> a href/legal_disclosure classlegal-disclosure>Legal Disclosure/a> /div> /div> div classmd-social> a hrefhttps://twitter.com/jostriebel target_blank relnoopener titletwitter.com classmd-social__link> svg xmlnshttp://www.w3.org/2000/svg viewBox0 0 512 512>!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.-->path fillcurrentColor dM459.4 151.7c.3 4.5.3 9.1.3 13.6 0 138.7-105.6 298.6-298.6 298.6-59.5 0-114.7-17.2-161.1-47.1 8.4 1 16.6 1.3 25.3 1.3 49.1 0 94.2-16.6 130.3-44.8-46.1-1-84.8-31.2-98.1-72.8 6.5 1 13 1.6 19.8 1.6 9.4 0 18.8-1.3 27.6-3.6-48.1-9.7-84.1-52-84.1-103v-1.3c14 7.8 30.2 12.7 47.4 13.3-28.3-18.8-46.8-51-46.8-87.4 0-19.5 5.2-37.4 14.3-53C87.4 130.8 165 172.4 252.1 176.9c-1.6-7.8-2.6-15.9-2.6-24C249.5 95.1 296.3 48 354.4 48c30.2 0 57.5 12.7 76.7 33.1 23.7-4.5 46.5-13.3 66.6-25.3-7.8 24.4-24.4 44.8-46.1 57.8 21.1-2.3 41.6-8.1 60.4-16.2-14.3 20.8-32.2 39.3-52.6 54.3/>/svg> /a> a hrefhttps://github.com/jstriebel target_blank relnoopener titlegithub.com classmd-social__link> svg xmlnshttp://www.w3.org/2000/svg viewBox0 0 512 512>!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.-->path fillcurrentColor dM173.9 397.4c0 2-2.3 3.6-5.2 3.6-3.3.3-5.6-1.3-5.6-3.6 0-2 2.3-3.6 5.2-3.6 3-.3 5.6 1.3 5.6 3.6m-31.1-4.5c-.7 2 1.3 4.3 4.3 4.9 2.6 1 5.6 0 6.2-2s-1.3-4.3-4.3-5.2c-2.6-.7-5.5.3-6.2 2.3m44.2-1.7c-2.9.7-4.9 2.6-4.6 4.9.3 2 2.9 3.3 5.9 2.6 2.9-.7 4.9-2.6 4.6-4.6-.3-1.9-3-3.2-5.9-2.9M252.8 8C114.1 8 8 113.3 8 252c0 110.9 69.8 205.8 169.5 239.2 12.8 2.3 17.3-5.6 17.3-12.1 0-6.2-.3-40.4-.3-61.4 0 0-70 15-84.7-29.8 0 0-11.4-29.1-27.8-36.6 0 0-22.9-15.7 1.6-15.4 0 0 24.9 2 38.6 25.8 21.9 38.6 58.6 27.5 72.9 20.9 2.3-16 8.8-27.1 16-33.7-55.9-6.2-112.3-14.3-112.3-110.5 0-27.5 7.6-41.3 23.6-58.9-2.6-6.5-11.1-33.3 2.6-67.9 20.9-6.5 69 27 69 27 20-5.6 41.5-8.5 62.8-8.5s42.8 2.9 62.8 8.5c0 0 48.1-33.6 69-27 13.7 34.7 5.2 61.4 2.6 67.9 16 17.7 25.8 31.5 25.8 58.9 0 96.5-58.9 104.2-114.8 110.5 9.2 7.9 17 22.9 17 46.4 0 33.7-.3 75.4-.3 83.6 0 6.5 4.6 14.4 17.3 12.1C436.2 457.8 504 362.9 504 252 504 113.3 391.5 8 252.8 8M105.2 352.9c-1.3 1-1 3.3.7 5.2 1.6 1.6 3.9 2.3 5.2 1 1.3-1 1-3.3-.7-5.2-1.6-1.6-3.9-2.3-5.2-1m-10.8-8.1c-.7 1.3.3 2.9 2.3 3.9 1.6 1 3.6.7 4.3-.7.7-1.3-.3-2.9-2.3-3.9-2-.6-3.6-.3-4.3.7m32.4 35.6c-1.6 1.3-1 4.3 1.3 6.2 2.3 2.3 5.2 2.6 6.5 1 1.3-1.3.7-4.3-1.3-6.2-2.2-2.3-5.2-2.6-6.5-1m-11.4-14.7c-1.6 1-1.6 3.6 0 5.9s4.3 3.3 5.6 2.3c1.6-1.3 1.6-3.9 0-6.2-1.4-2.3-4-3.3-5.6-2/>/svg> /a> a hrefhttps://jonathanstriebel.de target_blank relnoopener titlejonathanstriebel.de classmd-social__link> svg xmlnshttp://www.w3.org/2000/svg viewBox0 0 448 512>!--! Font Awesome Free 7.0.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2025 Fonticons, Inc.-->path fillcurrentColor dM224 248a120 120 0 1 0 0-240 120 120 0 1 0 0 240m-29.7 56C95.8 304 16 383.8 16 482.3c0 16.4 13.3 29.7 29.7 29.7h356.6c16.4 0 29.7-13.3 29.7-29.7 0-98.5-79.8-178.3-178.3-178.3z/>/svg> /a> /div> /div> /div>/footer> /div> div classmd-dialog data-md-componentdialog> div classmd-dialog__inner md-typeset>/div> /div> script id__config typeapplication/json>{base: ., features: navigation.instant, navigation.tracking, navigation.expand, navigation.sections, navigation.top, toc.follow, search: assets/javascripts/workers/search.973d3a69.min.js, tags: null, translations: {clipboard.copied: Copied to clipboard, clipboard.copy: Copy to clipboard, search.result.more.one: 1 more on this page, search.result.more.other: # more on this page, search.result.none: No matching documents, search.result.one: 1 matching document, search.result.other: # matching documents, search.result.placeholder: Type to start searching, search.result.term.missing: Missing, select.version: Select version}, version: null}/script> script srcassets/javascripts/bundle.92b07e13.min.js>/script> script srcjs/open_in_new_tab.js>/script> /body>/html>script>var currentPage 0const lastComponent window.location.href.split(/).slice(-1).pop()if (lastComponent && lastComponent.slice(0, 7) #blog-p) { const page parseInt(lastComponent.slice(7)) if (page) { currentPage page - 1 }}function scrollToTop() { setTimeout(function () { window.scrollTo(0, 0); }, 100);}const onButtonClick (ele) > { var current pagination.getElementsByClassName(active); if (current.length) { current0.className current0.className.replace( active, ); } ele.className + active; // Togglg visibility of pages const destPage parseInt(ele.textContent) var pages document.getElementsByClassName(page) if (destPage && pages.length) { for (var j 0; j pages.length; j++) { const pageId parseInt(pagesj.id.replace(page, )) if (pageId ! destPage) { // This is not the destination page if (!pagesj.className.includes(blog-hidden)) { pagesj.className + blog-hidden } } else { // This is the destination page pagesj.className pagesj.className.replace( blog-hidden, ) } } scrollToTop(); }};var pagination document.getElementById(blog-pagination);if (pagination) { var links pagination.getElementsByClassName(page-number); if (links.length) { for (var i 0; i links.length; i++) { // Toggle pagination highlight linksi.addEventListener(click, function () { onButtonClick(this); }); } linkscurrentPage.className + active onButtonClick(linkscurrentPage); }}/script>
View on OTX
|
View on ThreatMiner
Please enable JavaScript to view the
comments powered by Disqus.
Data with thanks to
AlienVault OTX
,
VirusTotal
,
Malwr
and
others
. [
Sitemap
]