[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"sanity-u7BhZ0cPbHtSrEbv-9PGtjOZWCxGIFbN5iVwr23wyEA":3,"sanity-atOOX1lEgtsO2bnexvEiFGwpyVx4bm3ZmfwG5zYtwg4":553},{"data":4,"sourceMap":-1},{"latestPodcast":5,"latestReleases":14,"post":39,"recent":528},[6],{"_id":7,"publishedAt":8,"slug":9,"sponsored":12,"title":13},"d53f9358-3bb2-4f69-aebe-d31d19522cd4","2026-07-10T07:40:00.000Z",{"_type":10,"current":11},"slug","building-more-than-just-an-agent-harness",null,"Building more than just an agent harness",[15,21,27,33],{"_id":16,"publishedAt":17,"slug":18,"title":20},"eb5b66eb-9410-4329-83bb-22bbff39402a","2026-04-28T13:00:00.000Z",{"_type":10,"current":19},"turn-scattered-knowledge-into-trusted-intelligence","Turning scattered knowledge into trusted intelligence: Stack Internal 2026.3",{"_id":22,"publishedAt":23,"slug":24,"title":26},"369c2401-b62e-4a37-8ff8-bf603023ecad","2026-03-02T15:03:00.988Z",{"_type":10,"current":25},"what-s-new-at-stack-overflow-march-2026","What’s new at Stack Overflow: March 2026",{"_id":28,"publishedAt":29,"slug":30,"title":32},"5e9053a4-07ea-447c-91ea-29e0b6228537","2026-02-02T15:00:00.000Z",{"_type":10,"current":31},"what-s-new-at-stack-overflow-february-2026","What’s new at Stack Overflow: February 2026",{"_id":34,"publishedAt":35,"slug":36,"title":38},"a1b538eb-a8a6-46d0-80a1-ac70ec9bb935","2026-01-05T10:00:00.000-05:00",{"_type":10,"current":37},"what-s-new-at-stack-overflow-january-2026","What’s new at Stack Overflow: January 2026",{"_createdAt":40,"_id":41,"_rev":42,"_type":43,"_updatedAt":44,"author":45,"body":57,"comments":499,"dateUrl":500,"excerpt":501,"legacyBody":502,"product":12,"publishedAt":505,"slug":506,"sponsored":12,"tags":508,"title":527,"visible":499},"2023-05-25T09:37:02Z","wp-post-4548","07ZbrKPSUrjrV4wQ6fIJZZ","blogPost","2023-07-13T14:54:49Z",[46],{"_createdAt":47,"_id":48,"_rev":49,"_type":50,"_updatedAt":47,"avatar":51,"employee":53,"name":54,"slug":55},"2023-05-23T16:27:18Z","wp-author-147","9HpbCsT2tq0xwozQfkcuVr","blogAuthor",{"_type":52},"image","current","Sam Saffron",{"current":56},"sam",[58,92,101,142,150,180,185,189,208,216,246,250,258,309,317,365,373,383,391,399,407,415,423,431,439],{"_key":59,"_type":60,"children":61,"markDefs":85,"style":91},"a44642990140","block",[62,67,72,76,81],{"_key":63,"_type":64,"marks":65,"text":66},"a446429901400","span",[],"It has been a year and a half since we launched ",{"_key":68,"_type":64,"marks":69,"text":71},"a446429901401",[70],"9f2ea7d9560d","Data Explorer",{"_key":73,"_type":64,"marks":74,"text":75},"a446429901402",[],". In the past few months ",{"_key":77,"_type":64,"marks":78,"text":80},"a446429901403",[79],"ce0a70ba9e7d","Tim Stone",{"_key":82,"_type":64,"marks":83,"text":84},"a446429901404",[]," (on a community grant) and I have pushed a major round of changes. Thanks Tim!",[86,89],{"_key":70,"_type":87,"href":88,"reference":12},"link","http:\u002F\u002Fblog.stackoverflow.com\u002F2010\u002F06\u002Fintroducing-stack-exchange-data-explorer\u002F",{"_key":79,"_type":87,"href":90,"reference":12},"http:\u002F\u002Fmeta.stackoverflow.com\u002Fusers\u002F150235\u002Ftim-stone","normal",{"_key":93,"_type":60,"children":94,"markDefs":99,"style":100},"9cfe90820f4a",[95],{"_key":96,"_type":64,"marks":97,"text":98},"9cfe90820f4a0",[],"Recap on last years changes",[],"h3",{"_key":102,"_type":60,"children":103,"markDefs":135,"style":91},"bcaa6163e041",[104,108,113,117,122,126,131],{"_key":105,"_type":64,"marks":106,"text":107},"bcaa6163e0410",[],"Since we publicly launched data explorer, the most notable change contributed back from the community was support for ",{"_key":109,"_type":64,"marks":110,"text":112},"bcaa6163e0411",[111],"e717de7e305c","query plans",{"_key":114,"_type":64,"marks":115,"text":116},"bcaa6163e0412",[],", big thanks to ",{"_key":118,"_type":64,"marks":119,"text":121},"bcaa6163e0413",[120],"77f9e4135189","Justin",{"_key":123,"_type":64,"marks":124,"text":125},"bcaa6163e0414",[]," for submitting the patch. We also added quite a few bug fixes\u002Ffeatures, mostly around merging users. Some features were added to defend data.se against an onslaught of public queries. A few features were added to support non Stack Exchange data dumps, most notably a system for white listing. Our very own ",{"_key":127,"_type":64,"marks":128,"text":130},"bcaa6163e0415",[129],"f9a1cd69e42a","Rebecca Chernoff",{"_key":132,"_type":64,"marks":133,"text":134},"bcaa6163e0416",[]," ported Data Explorer to ASP.NET MVC3 amongst many other fixes. The current round of changes offers some very cool new functionality, which is worth listing:",[136,138,140],{"_key":111,"_type":87,"href":137,"reference":12},"http:\u002F\u002Fmeta.stackoverflow.com\u002Fquestions\u002F78050\u002Fdata-explorer-merge-request-execution-plans",{"_key":120,"_type":87,"href":139,"reference":12},"http:\u002F\u002Fmeta.stackoverflow.com\u002Fusers\u002F136084\u002Fjustin",{"_key":129,"_type":87,"href":141,"reference":12},"http:\u002F\u002Fblog.stackoverflow.com\u002F2011\u002F01\u002Fwelcome-valued-associate-rebecca-chernoff\u002F",{"_key":143,"_type":60,"children":144,"markDefs":149,"style":100},"d7b7db3083f5",[145],{"_key":146,"_type":64,"marks":147,"text":148},"d7b7db3083f50",[],"Query revisions",[],{"_key":151,"_type":60,"children":152,"markDefs":175,"style":91},"bd802b902f21",[153,157,162,166,171],{"_key":154,"_type":64,"marks":155,"text":156},"bd802b902f210",[],"When we created Data Explorer there was no way to track a query's \"lineage\". This was particularly problematic because we had no way of updating featured queries or shared queries. Even I ",{"_key":158,"_type":64,"marks":159,"text":161},"bd802b902f211",[160],"f1e351724741","complained about this",{"_key":163,"_type":64,"marks":164,"text":165},"bd802b902f212",[]," on meta. The new pipeline works just like ",{"_key":167,"_type":64,"marks":168,"text":170},"bd802b902f213",[169],"cdf9d209fd11","Gist",{"_key":172,"_type":64,"marks":173,"text":174},"bd802b902f214",[],", you can track the history of your query as you are editing (attributing the various editors along the way):",[176,178],{"_key":160,"_type":87,"href":177,"reference":12},"http:\u002F\u002Fmeta.stackoverflow.com\u002Fquestions\u002F108623\u002Fsaving-and-editing-queries-on-data-explorer-is-giving-me-a-headache",{"_key":169,"_type":87,"href":179,"reference":12},"https:\u002F\u002Fgist.github.com\u002F",{"_key":181,"_type":52,"alt":12,"asset":182,"markDefs":12},"c417e0ff991f",{"_ref":183,"_type":184},"image-1db9e5b67d77056ed88e01fee11c0292d20c0d84-494x256-png","reference",{"_key":186,"_type":52,"alt":12,"asset":187,"markDefs":12},"af810e5cc583",{"_ref":188,"_type":184},"image-6d5db7692616d9d8b2ac92c7deafc87819aa0508-503x304-png",{"_key":190,"_type":60,"children":191,"markDefs":205,"style":91},"92fd28ca92f2",[192,196,201],{"_key":193,"_type":64,"marks":194,"text":195},"92fd28ca92f20",[],"You can link to a specific revision, or simply share a \"query set\" by using the permalink. By sharing a \"query set\" you can later on fix up any issues the query has, without needing to update ",{"_key":197,"_type":64,"marks":198,"text":200},"92fd28ca92f21",[199],"25545ab48b50","the link",{"_key":202,"_type":64,"marks":203,"text":204},"92fd28ca92f22",[],". The new pipeline allows you to \"fork\" any query created by other users and tracks attribution along the way.",[206],{"_key":199,"_type":87,"href":207,"reference":12},"http:\u002F\u002Fdata.stackexchange.com\u002Fstackoverflow\u002Fquery\u002F6772\u002Fstackoverflow-rank-and-percentile",{"_key":209,"_type":60,"children":210,"markDefs":215,"style":100},"f093d32b5f7e",[211],{"_key":212,"_type":64,"marks":213,"text":214},"f093d32b5f7e0",[],"Graphs",[],{"_key":217,"_type":60,"children":218,"markDefs":241,"style":91},"d2fbedd0d217",[219,223,228,232,237],{"_key":220,"_type":64,"marks":221,"text":222},"d2fbedd0d2170",[],"We added some basic graphing facilities, supporting 2 types of line graphs: The first type is a simple graph, where the first column represents the X-axis and the other columns the data points. For example: ",{"_key":224,"_type":64,"marks":225,"text":227},"d2fbedd0d2171",[226],"1a74dbd26e5e","a graph of questions and answers per month",{"_key":229,"_type":64,"marks":230,"text":231},"d2fbedd0d2172",[],". The second type is a bit trickier, it unpivots the second column in the result set. For example: ",{"_key":233,"_type":64,"marks":234,"text":236},"d2fbedd0d2173",[235],"785e45e0d82e","a graph of questions per tag for top 10 tags",{"_key":238,"_type":64,"marks":239,"text":240},"d2fbedd0d2174",[],".",[242,244],{"_key":226,"_type":87,"href":243,"reference":12},"http:\u002F\u002Fdata.stackexchange.com\u002Fstackoverflow\u002Fquery\u002F59302\u002Fquestions-and-answers-per-month",{"_key":235,"_type":87,"href":245,"reference":12},"http:\u002F\u002Fdata.stackexchange.com\u002Fstackoverflow\u002Fquery\u002F59301\u002Fquestions-per-month-top-10-tags-compared",{"_key":247,"_type":52,"alt":12,"asset":248,"markDefs":12},"3aa3c133af1d",{"_ref":249,"_type":184},"image-ff0db76ec758e8b600fa544b8a57edcccdc3ca14-300x168-png",{"_key":251,"_type":60,"children":252,"markDefs":257,"style":100},"86fc0adcc5c4",[253],{"_key":254,"_type":64,"marks":255,"text":256},"86fc0adcc5c40",[],"Huge open source upgrade",[],{"_key":259,"_type":60,"children":260,"markDefs":300,"style":91},"9044824dbc88",[261,265,270,274,279,283,288,292,297],{"_key":262,"_type":64,"marks":263,"text":264},"9044824dbc880",[],"Data Explorer consumes a fair amount of open source libraries. In the past year and a half many have evolved. We took the time to upgrade them all. The excellent ",{"_key":266,"_type":64,"marks":267,"text":269},"9044824dbc881",[268],"d3ff2c723f46","Code Mirror",{"_key":271,"_type":64,"marks":272,"text":273},"9044824dbc882",[]," was updated to the 2.0 version, the new version no longer uses messy iframes. Marjin wrote a ",{"_key":275,"_type":64,"marks":276,"text":278},"9044824dbc883",[277],"9ee6349418ed","great post",{"_key":280,"_type":64,"marks":281,"text":282},"9044824dbc884",[]," explaining the changes, a fantastic read for any JavaScript developers. ",{"_key":284,"_type":64,"marks":285,"text":287},"9044824dbc885",[286],"d1ace1d3ba7b","SlickGrid",{"_key":289,"_type":64,"marks":290,"text":291},"9044824dbc886",[],", which in my opinion is the best grid control built on jQuery, was upgraded to ",{"_key":293,"_type":64,"marks":294,"text":296},"9044824dbc887",[295],"5a300a6636c0","version infinity",{"_key":298,"_type":64,"marks":299,"text":240},"9044824dbc888",[],[301,303,305,307],{"_key":268,"_type":87,"href":302,"reference":12},"http:\u002F\u002Fcodemirror.net\u002F",{"_key":277,"_type":87,"href":304,"reference":12},"http:\u002F\u002Fcodemirror.net\u002Fdoc\u002Finternals.html",{"_key":286,"_type":87,"href":306,"reference":12},"https:\u002F\u002Fgithub.com\u002Fmleibman\u002FSlickGrid",{"_key":295,"_type":87,"href":308,"reference":12},"http:\u002F\u002Fwww.codinghorror.com\u002Fblog\u002F2011\u002F05\u002Fthe-infinite-version.html",{"_key":310,"_type":60,"children":311,"markDefs":316,"style":100},"d4aa140dc2fe",[312],{"_key":313,"_type":64,"marks":314,"text":315},"d4aa140dc2fe0",[],"100% more Dapper",[],{"_key":318,"_type":60,"children":319,"markDefs":356,"style":91},"296ebf139e51",[320,325,329,334,338,343,347,352],{"_key":321,"_type":64,"marks":322,"text":324},"296ebf139e510",[323],"f543f9845ffd","Dapper",{"_key":326,"_type":64,"marks":327,"text":328},"296ebf139e511",[]," our open source micro ORM is the only ORM Data Explorer uses. We took the time to port the entire solution to Dapper. I even added a few CRUD helpers so you are not stuck hard coding INSERT and UPDATE statements everywhere. Data Explorer is a good ",{"_key":330,"_type":64,"marks":331,"text":333},"296ebf139e512",[332],"f835776b1cb9","open source example",{"_key":335,"_type":64,"marks":336,"text":337},"296ebf139e513",[]," of how we code web sites at Stack Overflow. It is built on our stack using many of our helpers. Dapper and related helpers are used for data access. It uses the same homebrew migration system we use in production and an interesting asset packaging system I wrote (for the record, ",{"_key":339,"_type":64,"marks":340,"text":342},"296ebf139e514",[341],"6bf012d10499","Ben",{"_key":344,"_type":64,"marks":345,"text":346},"296ebf139e515",[]," wrote a much more awesome one that we use in production, lobby him to get it blogged). It also uses ",{"_key":348,"_type":64,"marks":349,"text":351},"296ebf139e516",[350],"18dd7a383f29","MiniProfiler",{"_key":353,"_type":64,"marks":354,"text":355},"296ebf139e517",[]," for profiling. MiniProfiler is even enabled in production, so go have a play.",[357,359,361,363],{"_key":323,"_type":87,"href":358,"reference":12},"http:\u002F\u002Fcode.google.com\u002Fp\u002Fdapper-dot-net\u002F",{"_key":332,"_type":87,"href":360,"reference":12},"http:\u002F\u002Fcode.google.com\u002Fp\u002Fstack-exchange-data-explorer\u002F",{"_key":341,"_type":87,"href":362,"reference":12},"https:\u002F\u002Ftwitter.com\u002F#!\u002Fbalpha",{"_key":350,"_type":87,"href":364,"reference":12},"http:\u002F\u002Fcode.google.com\u002Fp\u002Fmvc-mini-profiler\u002F",{"_key":366,"_type":60,"children":367,"markDefs":372,"style":100},"b4e9a402ed79",[368],{"_key":369,"_type":64,"marks":370,"text":371},"b4e9a402ed790",[],"Lots of smaller less notable fixes",[],{"_key":374,"_type":60,"children":375,"level":380,"listItem":381,"markDefs":382,"style":91},"8ee89ce7ed9d",[376],{"_key":377,"_type":64,"marks":378,"text":379},"8ee89ce7ed9d0",[],"We now have a concept of \"user preferences\", so we can remember which tab you selected, etc.",1,"bullet",[],{"_key":384,"_type":60,"children":385,"level":380,"listItem":381,"markDefs":390,"style":91},"d8547a854023",[386],{"_key":387,"_type":64,"marks":388,"text":389},"d8547a8540230",[],"We remember the page you were at and try to redirect you there after you log on.",[],{"_key":392,"_type":60,"children":393,"level":380,"listItem":381,"markDefs":398,"style":91},"2aa808d2ed2a",[394],{"_key":395,"_type":64,"marks":396,"text":397},"2aa808d2ed2a0",[],"We attribute the query properly to the creator \u002F editor from the query show page.",[],{"_key":400,"_type":60,"children":401,"level":380,"listItem":381,"markDefs":406,"style":91},"ff9ce807b52b",[402],{"_key":403,"_type":64,"marks":404,"text":405},"ff9ce807b52b0",[],"You can page through your queries on your user page.",[],{"_key":408,"_type":60,"children":409,"level":380,"listItem":381,"markDefs":414,"style":91},"b2331e9397aa",[410],{"_key":411,"_type":64,"marks":412,"text":413},"b2331e9397aa0",[],"Support for arbitrary hyperlinks",[],{"_key":416,"_type":60,"children":417,"level":380,"listItem":381,"markDefs":422,"style":91},"e97cdf42fc61",[418],{"_key":419,"_type":64,"marks":420,"text":421},"e97cdf42fc610",[],"Revamped object browser, you can collapse table definitions",[],{"_key":424,"_type":60,"children":425,"level":380,"listItem":381,"markDefs":430,"style":91},"f491b5c02bdf",[426],{"_key":427,"_type":64,"marks":428,"text":429},"f491b5c02bdf0",[],"Lots of other stuff I forgot :)",[],{"_key":432,"_type":60,"children":433,"markDefs":438,"style":100},"3d7ebd3b8459",[434],{"_key":435,"_type":64,"marks":436,"text":437},"3d7ebd3b84590",[],"You too can run Data Explorer",[],{"_key":440,"_type":60,"children":441,"markDefs":489,"style":91},"856b1081e4ff",[442,446,450,454,459,463,467,471,476,480,485],{"_key":443,"_type":64,"marks":444,"text":445},"856b1081e4ff0",[],"At Stack Exchange we run 3 different instances of Data Explorer. We have the public ",{"_key":447,"_type":64,"marks":448,"text":71},"856b1081e4ff1",[449],"6827e8ee8153",{"_key":451,"_type":64,"marks":452,"text":453},"856b1081e4ff2",[]," and a couple of private instances we use to explore other data sets. The first private instance is used for raw site database access. The other is used to browse through our ",{"_key":455,"_type":64,"marks":456,"text":458},"856b1081e4ff3",[457],"0d9eea9123f9","haproxy logs",{"_key":460,"_type":64,"marks":461,"text":462},"856b1081e4ff4",[],". There is nothing forcing you to point ",{"_key":464,"_type":64,"marks":465,"text":71},"856b1081e4ff5",[466],"f40971dcbc4a",{"_key":468,"_type":64,"marks":469,"text":470},"856b1081e4ff6",[]," at a Stack Exchange data dump, the vast majority of the features work fine pointed at an arbitrary database. Hope you enjoy this round of changes. If there are any bugs or feature requests please post them to ",{"_key":472,"_type":64,"marks":473,"text":475},"856b1081e4ff7",[474],"9068e0c9cb6d","Meta Stack Overflow",{"_key":477,"_type":64,"marks":478,"text":479},"856b1081e4ff8",[],". Data Explorer is open source, patches welcome. Do you enjoy exploring and mining data? Discover new ",{"_key":481,"_type":64,"marks":482,"text":484},"856b1081e4ff9",[483],"b24f192106d1","job opportunities using big data",{"_key":486,"_type":64,"marks":487,"text":488},"856b1081e4ff10",[]," on Stack Overflow Jobs.",[490,492,494,495,497],{"_key":449,"_type":87,"href":491,"reference":12},"http:\u002F\u002Fdata.stackexchange.com",{"_key":457,"_type":87,"href":493,"reference":12},"http:\u002F\u002Fhaproxy.1wt.eu\u002F",{"_key":466,"_type":87,"href":360,"reference":12},{"_key":474,"_type":87,"href":496,"reference":12},"http:\u002F\u002Fmeta.stackoverflow.com",{"_key":483,"_type":87,"href":498,"reference":12},"https:\u002F\u002Fstackoverflow.com\u002Fjobs\u002Fdeveloper-jobs-using-bigdata?utm_source=so-owned&utm_medium=blog&utm_campaign=dev-c4al&utm_content=c4al-link",true,"2012\u002F01\u002F16","",{"code":503,"language":504},"It has been a year and a half since we launched \u003Ca href=\"http:\u002F\u002Fblog.stackoverflow.com\u002F2010\u002F06\u002Fintroducing-stack-exchange-data-explorer\u002F\">Data Explorer\u003C\u002Fa>. In the past few months \u003Ca href=\"http:\u002F\u002Fmeta.stackoverflow.com\u002Fusers\u002F150235\u002Ftim-stone\">Tim Stone\u003C\u002Fa> (on a community grant) and I have pushed a major round of changes. Thanks Tim!\n\n\u003Ch3>Recap on last years changes\u003C\u002Fh3>\n\nSince we publicly launched data explorer, the most notable change contributed back from the community was support for \u003Ca href=\"http:\u002F\u002Fmeta.stackoverflow.com\u002Fquestions\u002F78050\u002Fdata-explorer-merge-request-execution-plans\">query plans\u003C\u002Fa>, big thanks to \u003Ca href=\"http:\u002F\u002Fmeta.stackoverflow.com\u002Fusers\u002F136084\u002Fjustin\">Justin\u003C\u002Fa> for submitting the patch.\n\nWe also added quite a few bug fixes\u002Ffeatures, mostly around merging users. Some features were added to defend data.se against an onslaught of public queries. A few features were added to support non Stack Exchange data dumps, most notably a system for white listing. Our very own \u003Ca href=\"http:\u002F\u002Fblog.stackoverflow.com\u002F2011\u002F01\u002Fwelcome-valued-associate-rebecca-chernoff\u002F\">Rebecca Chernoff\u003C\u002Fa> ported Data Explorer to ASP.NET MVC3 amongst many other fixes.\n\nThe current round of changes offers some very cool new functionality, which is worth listing:\n\n\u003Ch3>Query revisions\u003C\u002Fh3>\n\nWhen we created Data Explorer there was no way to track a query's \"lineage\". This was particularly problematic because we had no way of updating featured queries or shared queries. Even I \u003Ca href=\"http:\u002F\u002Fmeta.stackoverflow.com\u002Fquestions\u002F108623\u002Fsaving-and-editing-queries-on-data-explorer-is-giving-me-a-headache\">complained about this\u003C\u002Fa> on meta.\n\nThe new pipeline works just like \u003Ca href=\"https:\u002F\u002Fgist.github.com\u002F\">Gist\u003C\u002Fa>, you can track the history of your query as you are editing (attributing the various editors along the way):\n\n\u003Ca href=\"http:\u002F\u002Fdata.stackexchange.com\u002Fstackoverflow\u002Fquery\u002F6772\u002Fstackoverflow-rank-and-percentile\">\u003Cimg src=\"http:\u002F\u002Fstackoverflow.blog\u002Fwp-content\u002Fuploads\u002F2017\u002F02\u002FhOhnY.png\" alt=\"\" \u002F>\u003C\u002Fa>\n\u003Cimg src=\"http:\u002F\u002Fstackoverflow.blog\u002Fwp-content\u002Fuploads\u002F2017\u002F02\u002Ffork2.png\" alt=\"\" \u002F>\n\nYou can link to a specific revision, or simply share a \"query set\" by using the permalink. By sharing a \"query set\" you can later on fix up any issues the query has, without needing to update \u003Ca href=\"http:\u002F\u002Fdata.stackexchange.com\u002Fstackoverflow\u002Fquery\u002F6772\u002Fstackoverflow-rank-and-percentile\">the link\u003C\u002Fa>. The new pipeline allows you to \"fork\" any query created by other users and tracks attribution along the way.\n\n\u003Ch3>Graphs\u003C\u002Fh3>\n\nWe added some basic graphing facilities, supporting 2 types of line graphs:\n\nThe first type is a simple graph, where the first column represents the X-axis and the other columns the data points. For example: \u003Ca href=\"http:\u002F\u002Fdata.stackexchange.com\u002Fstackoverflow\u002Fquery\u002F59302\u002Fquestions-and-answers-per-month\">a graph of questions and answers per month\u003C\u002Fa>.\n\nThe second type is a bit trickier, it unpivots the second column in the result set. For example: \u003Ca href=\"http:\u002F\u002Fdata.stackexchange.com\u002Fstackoverflow\u002Fquery\u002F59301\u002Fquestions-per-month-top-10-tags-compared\">a graph of questions per tag for top 10 tags\u003C\u002Fa>.\n\n\u003Cimg src=\"http:\u002F\u002Fstackoverflow.blog\u002Fwp-content\u002Fuploads\u002F2017\u002F02\u002Fgraph-300x168.png\" alt=\"\" \u002F>\n\n\u003Ch3>Huge open source upgrade\u003C\u002Fh3>\n\nData Explorer consumes a fair amount of open source libraries. In the past year and a half many have evolved. We took the time to upgrade them all.\n\nThe excellent \u003Ca href=\"http:\u002F\u002Fcodemirror.net\u002F\">Code Mirror\u003C\u002Fa> was updated to the 2.0 version, the new version no longer uses messy iframes. Marjin wrote a \u003Ca href=\"http:\u002F\u002Fcodemirror.net\u002Fdoc\u002Finternals.html\">great post\u003C\u002Fa> explaining the changes, a fantastic read for any JavaScript developers.\n\n\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmleibman\u002FSlickGrid\">SlickGrid\u003C\u002Fa>, which in my opinion is the best grid control built on jQuery, was upgraded to \u003Ca href=\"http:\u002F\u002Fwww.codinghorror.com\u002Fblog\u002F2011\u002F05\u002Fthe-infinite-version.html\">version infinity\u003C\u002Fa>.\n\n\u003Ch3>100% more Dapper\u003C\u002Fh3>\n\n\u003Ca href=\"http:\u002F\u002Fcode.google.com\u002Fp\u002Fdapper-dot-net\u002F\">Dapper\u003C\u002Fa> our open source micro ORM is the only ORM Data Explorer uses. We took the time to port the entire solution to Dapper. I even added a few CRUD helpers so you are not stuck hard coding INSERT and UPDATE statements everywhere.\n\nData Explorer is a good \u003Ca href=\"http:\u002F\u002Fcode.google.com\u002Fp\u002Fstack-exchange-data-explorer\u002F\">open source example\u003C\u002Fa> of how we code web sites at Stack Overflow. It is built on our stack using many of our helpers. Dapper and related helpers are used for data access. It uses the same homebrew migration system we use in production and an interesting asset packaging system I wrote (for the record, \u003Ca href=\"https:\u002F\u002Ftwitter.com\u002F#!\u002Fbalpha\">Ben\u003C\u002Fa> wrote a much more awesome one that we use in production, lobby him to get it blogged). It also uses \u003Ca href=\"http:\u002F\u002Fcode.google.com\u002Fp\u002Fmvc-mini-profiler\u002F\">MiniProfiler\u003C\u002Fa> for profiling. MiniProfiler is even enabled in production, so go have a play.\n\n\u003Ch3>Lots of smaller less notable fixes\u003C\u002Fh3>\n\n\u003Cul>\n    \u003Cli>We now have a concept of \"user preferences\", so we can remember which tab you selected, etc.\u003C\u002Fli>\n    \u003Cli>We remember the page you were at and try to redirect you there after you log on.\u003C\u002Fli>\n    \u003Cli>We attribute the query properly to the creator \u002F editor from the query show page.\u003C\u002Fli>\n    \u003Cli>You can page through your queries on your user page.\u003C\u002Fli>\n    \u003Cli>Support for arbitrary hyperlinks\u003C\u002Fli>\n    \u003Cli>Revamped object browser, you can collapse table definitions\u003C\u002Fli>\n    \u003Cli>Lots of other stuff I forgot :)\u003C\u002Fli>\n\u003C\u002Ful>\n\n\u003Ch3>You too can run Data Explorer\u003C\u002Fh3>\n\nAt Stack Exchange we run 3 different instances of Data Explorer. We have the public \u003Ca href=\"http:\u002F\u002Fdata.stackexchange.com\">Data Explorer\u003C\u002Fa> and a couple of private instances we use to explore other data sets. The first private instance is used for raw site database access. The other is used to browse through our \u003Ca href=\"http:\u002F\u002Fhaproxy.1wt.eu\u002F\">haproxy logs\u003C\u002Fa>.\n\nThere is nothing forcing you to point \u003Ca href=\"http:\u002F\u002Fcode.google.com\u002Fp\u002Fstack-exchange-data-explorer\u002F\">Data Explorer\u003C\u002Fa> at a Stack Exchange data dump, the vast majority of the features work fine pointed at an arbitrary database.\n\nHope you enjoy this round of changes.\n\nIf there are any bugs or feature requests please post them to \u003Ca href=\"http:\u002F\u002Fmeta.stackoverflow.com\">Meta Stack Overflow\u003C\u002Fa>. Data Explorer is open source, patches welcome.\n\nDo you enjoy exploring and mining data? Discover new \u003Ca href=\"https:\u002F\u002Fstackoverflow.com\u002Fjobs\u002Fdeveloper-jobs-using-bigdata?utm_source=so-owned&amp;utm_medium=blog&amp;utm_campaign=dev-c4al&amp;utm_content=c4al-link\" target=\"_blank\" rel=\"noopener\">job opportunities using big data\u003C\u002Fa> on Stack Overflow Jobs.","html","2012-01-16T12:00:00.000Z",{"current":507},"stack-exchange-data-explorer-2-0",[509,517,522],{"_createdAt":510,"_id":511,"_rev":512,"_type":513,"_updatedAt":510,"slug":514,"title":516},"2023-05-23T16:43:21Z","wp-tagcat-cc-wiki-dump","9HpbCsT2tq0xwozQfkc4ih","blogTag",{"current":515},"cc-wiki-dump","Cc-wiki-dump",{"_createdAt":510,"_id":518,"_rev":512,"_type":513,"_updatedAt":510,"slug":519,"title":521},"wp-tagcat-community",{"current":520},"community","Community",{"_createdAt":510,"_id":523,"_rev":512,"_type":513,"_updatedAt":510,"slug":524,"title":526},"wp-tagcat-company",{"current":525},"company","Company","Stack Exchange Data Explorer 2.0",[529,535,541,547],{"_id":530,"publishedAt":531,"slug":532,"sponsored":12,"title":534},"76c9771b-34e6-4d98-8641-ecefc711f0ef","2026-07-06T15:23:34.559Z",{"_type":10,"current":533},"when-the-sensor-starts-thinking-snortml-agentic-ai-and-the-evolving-architecture-of-intrusion-detection","When the sensor starts thinking: SnortML, agentic AI, and the evolving architecture of intrusion detection",{"_id":536,"publishedAt":537,"slug":538,"sponsored":12,"title":540},"28e560af-f0aa-4d46-bd90-f435ad604aa7","2026-06-26T14:00:27.102Z",{"_type":10,"current":539},"paging-charity-how-can-engineering-leaders-avoid-becoming-bond-villains","Paging Charity! How can engineering leaders avoid becoming Bond villains?",{"_id":542,"publishedAt":543,"slug":544,"sponsored":12,"title":546},"4b22c2a3-3779-4966-93eb-5230391dbdce","2026-06-23T14:08:58.595Z",{"_type":10,"current":545},"your-ai-shipped-a-backend-that-boots-that-is-the-whole-problem","Your AI shipped a backend that boots. That is the whole problem.",{"_id":548,"publishedAt":549,"slug":550,"sponsored":12,"title":552},"5cf362e1-fe7b-45af-b69c-914731c6a052","2026-06-23T14:00:00.000Z",{"_type":10,"current":551},"the-2026-developer-survey-is-now-open-for-human-developers-only","The 2026 Developer Survey is now open (for human developers only)!",{"data":554,"sourceMap":-1},{"count":555,"lastTimestamp":12},0]