\u003C/a>\n\nThis is a major milestone -- we've \u003Cstrong>essentially de-obfuscated the WMD code\u003C/strong>, which was my #1 goal!\n\nA few thanks are in order:\n\n\u003Col>\n \u003Cli>\u003Ca href=\"http://stackoverflow.com/users/13/chris-jester-young\">Chris Jester-Young\u003C/a> for getting the ball rolling, doing quite a bit of de-obfuscation, and setting up the initial repository.\u003C/li>\n \u003Cli>\u003Ca href=\"http://stackoverflow.com/users/26/shawn\">Shawn\u003C/a> for contributing versions and setting up \u003Ca href=\"http://stackoverflow.com/questions/406132/reverse-engineering-the-wmd-editor\">a stack overflow \"question\" on this topic\u003C/a>.\u003C/li>\n \u003Cli>\u003Ca href=\"http://stackoverflow.com/users/3161/dana\">Dana\u003C/a> for doing the lion's share of the de-obfuscation work and getting us to that magical 1.0, completely de-obfuscated milestone.\u003C/li>\n\u003C/ol>\n\nAlso, \u003Ca href=\"http://stackoverflow.com/users/2119/can-berk-g252der\">cbguder\u003C/a>, \u003Ca href=\"http://stackoverflow.com/users/745/dbr\">dbr\u003C/a>, and \u003Ca href=\"http://stackoverflow.com/users/2603/zacherates\">zacherates\u003C/a> -- we appreciate you jumping in early as well. Hopefully you'll keep going and help us on the 1.0 stuff!\n\nIt turns out Dana is a huge fan of \u003Ca href=\"http://www.fakeplasticrock.com/\">fake plastic rock\u003C/a>, just like me, so I was happy to reward him for his work with one of my \u003Ca href=\"http://www.fakeplasticrock.com/2008/11/09/guitar-hero-world-tour-guitar-the-best-fake-plastic-axe-ever/\">customized\u003C/a> Les Paul guitars:\n\n\u003Cimg src=\"http://stackoverflow.blog/wp-content/uploads/2017/02/bloodvoodooguitarjx81.jpg\" alt=\"blood-voodoo-red-metallic-guitar\" />\n\n(ok, it's not exactly this one, but it's very similar -- silver metallic instead of red metallic faceplate!)\n\nNow that we've gotten the painful de-obfuscation / un-minification out of the way, it's time to begin improving our WMD editor:\n\n\u003Col>\n \u003Cli>\u003Ca href=\"http://stackoverflow.uservoice.com/pages/general/suggestions/14681-arrow-keys-don-t-work-on-question-answers-pages\">Arrow keys don't work in Firefox 3 on questions/answer pages\u003C/a>\u003C/li>\n \u003Cli>\u003Ca href=\"http://stackoverflow.uservoice.com/pages/general/suggestions/16598-make-ctrl-delete-work-like-a-normal-text-editor\">Make ctrl-delete work like a normal text editor\u003C/a> (WMD keyboard shortcuts should be configurable and/or disable-able)\u003C/li>\n \u003Cli>\u003Ca href=\"http://stackoverflow.uservoice.com/pages/general/suggestions/19254-disabled-characters-in-editor\">Several\u003C/a> \u003Ca href=\"http://stackoverflow.uservoice.com/pages/general/suggestions/38866-fix-the-backslash-in-the-markdown-editor\">Problems\u003C/a> with international keyboards -- all related to keyboard shortcuts\u003C/li>\n \u003Cli>\u003Ca href=\"http://stackoverflow.uservoice.com/pages/general/suggestions/86059-improve-performance-of-so-on-firefox3-on-windows\">General WMD performance concerns\u003C/a>. We believe WMD could do with some optimization, particularly for the \"idle\" case.\u003C/li>\n \u003Cli>I'd like to see us use \u003Ca href=\"http://www.alistapart.com/articles/sprites\">CSS image sprites\u003C/a> for the toolbar buttons rather than downloading 6-8 individual button graphics in 6-8 HTTP requests.\u003C/li>\n\u003C/ol>\n\nAnyway, if you have JavaScript chops and want to dive in, I \u003Cstrong>encourage you to \u003Ca href=\"http://code.google.com/p/wmd-new/\">grab the repository\u003C/a>\u003C/strong> and go for it!\n\nYour hard work could be rewarded in your job search. Check out these \u003Ca href=\"https://stackoverflow.com/jobs/developer-jobs-using-javascript?utm_source=so-owned&utm_medium=blog&utm_campaign=dev-c4al&utm_content=c4al-link\" target=\"_blank\" rel=\"noopener\">Javascript job listings\u003C/a>.","html","2009-01-10T12:00:00.000Z",{"current":379},"wmd-editor-reverse-engineered",[381,389,394],{"_createdAt":382,"_id":383,"_rev":384,"_type":385,"_updatedAt":382,"slug":386,"title":388},"2023-05-23T16:43:21Z","wp-tagcat-community","9HpbCsT2tq0xwozQfkc4ih","blogTag",{"current":387},"community","Community",{"_createdAt":382,"_id":390,"_rev":384,"_type":385,"_updatedAt":382,"slug":391,"title":393},"wp-tagcat-company",{"current":392},"company","Company",{"_createdAt":382,"_id":395,"_rev":384,"_type":385,"_updatedAt":382,"slug":396,"title":398},"wp-tagcat-design",{"current":397},"design","Design","WMD Editor Reverse Engineered",[401,407,413,419],{"_id":402,"publishedAt":403,"slug":404,"sponsored":12,"title":406},"f0807820-02d7-4fc5-845f-3d76514b81c0","2025-08-11T16:00:00.000Z",{"_type":10,"current":405},"renewing-chat-on-stack-overflow","Renewing Chat on Stack Overflow ",{"_id":408,"publishedAt":409,"slug":410,"sponsored":12,"title":412},"e33464c4-b21b-4019-8b86-64a46335a95e","2025-08-07T16:00:00.000Z",{"_type":10,"current":411},"a-new-worst-coder-has-entered-the-chat-vibe-coding-without-code-knowledge","A new worst coder has entered the chat: vibe coding without code knowledge",{"_id":414,"publishedAt":415,"slug":416,"sponsored":12,"title":418},"8b04b236-51d5-4747-9de8-2fe6e6a2512e","2025-08-04T16:00:00.000Z",{"_type":10,"current":417},"cross-pollination-as-a-strategic-advantage-for-forward-thinking-organizations","Cross-pollination as a strategic advantage for forward-thinking organizations",{"_id":420,"publishedAt":421,"slug":422,"sponsored":12,"title":424},"5bddfa7a-32ce-4f9b-9919-10f03a9ef39b","2025-07-31T16:00:00.000Z",{"_type":10,"current":423},"do-ai-coding-tools-help-with-imposter-syndrome-or-make-it-worse","Do AI coding tools help with imposter syndrome or make it worse?",{"count":426,"lastTimestamp":12},0,["Reactive",428],{"$sarticleModal":373},["Set"],["ShallowReactive",431],{"sanity-nLyM7PoRmnDQNDhkMkl7zFbwFUxT4XazlRNG-j833IY":-1,"sanity-comment-wp-post-3304-1755545620130":-1},"/2009/01/10/wmd-editor-reverse-engineered"]