[{"data":1,"prerenderedAt":376},["ShallowReactive",2],{"project-24221708":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":27,"sentiment":28,"stance_mix":29,"scored_comments":34,"aspects":35,"strip":44,"post_text":46,"what":47,"said":93,"maker_in_thread":187,"shape":195,"grid":199,"attempts":339,"same_week":340,"maker_shows":43,"maker_hidden":368,"reader_version":369,"card":370},"24221708","Analysis Tools","Compare Analysis Tools For Python, Ruby, C, PHP, Go","title","Show HN: Compare Analysis Tools For Python, Ruby, C, PHP, Go","https:\u002F\u002Fanalysis-tools.dev","analysis-tools.dev","omn1",1597918591,2020,175,57,337,3028,12,"notable","dev_tools","static analysis","web_app",[21,24,25,26],"linter comparison","code quality tools","open source","curious",-0.076,{"positive":30,"neutral":31,"mixed":32,"critical":33},4,16,0,7,27,{"idea":36,"docs":38,"design":39,"pricing":41,"execution":42},{"positive":32,"critical":37},1,{"positive":37,"critical":32},{"positive":37,"critical":40},2,{"positive":32,"critical":37},{"positive":32,"critical":43},3,[32,43,43,37,43,32,45,43,37,43,32,37,43,43,45,45,32,32,32,43,32,43,32,32,32,32,32,32,45,32,43,37,43,32,43,43,37,37,32,37],5,null,{"problem":48,"audience":58,"pricing":64,"motivation":71,"time_to_build":46,"stack":75,"openness":90,"stage":91,"team_size":92},{"value":49,"source":50,"evidence":51},"Finding and comparing static analysis tools across languages is hard","inferred",[52,54],{"id":53},"post",{"id":55,"by":56,"text":57},"24233195","archi42","Nice list! But I'm curious how you plan to improve the comparability? Static analysis covers a wide range, and I'd dare to say a beautifier is a little bit different than a rule…",{"value":59,"source":50,"evidence":60},"Developers choosing static analysis tools",[61],{"id":62,"by":11,"text":63},"24234134","Good point. Couple of thoughts: It helps to put different tools (formatters, linters) into separate groups per language. On top of that, adding the mode of execution (rule-based,…",{"value":65,"source":66,"evidence":67},"Funded by GitHub sponsors; site is free to use","maker",[68],{"id":69,"by":11,"text":70},"24222279","Hey, this post got more attention than I thought. Happy to answer your questions and get some feedback on what to improve. Maybe people are interested in some tech: My colleague…",{"value":72,"source":66,"evidence":73},"Build a steady open-source business; the list is open to contributors",[74],{"id":69,"by":11,"text":70},[76,80,84],{"value":77,"source":66,"evidence":78},"GatsbyJS",[79],{"id":69,"by":11,"text":70},{"value":81,"source":66,"evidence":82},"Cloudflare Edge Workers",[83],{"id":69,"by":11,"text":70},{"value":85,"source":66,"evidence":86},"Firebase on GCP",[87],{"id":88,"by":11,"text":89},"24223756","Cloudflare provides a simple key-value store for values up to 2MB (https:\u002F\u002Fwww.cloudflare.com\u002Fproducts\u002Fworkers-kv\u002F). We don't use that, though and instead use firebase on GCP…","open_source","launched","team",{"praise":94,"objections":110,"requests":132,"questions":157,"alternatives":172},[95,103],{"value":96,"source":97,"evidence":98},"Comprehensive and useful list","commenter",[99],{"id":100,"by":101,"text":102},"24222096","raxxorrax","That is really comprehensive and useful, thank you.",{"value":104,"source":97,"evidence":105},"Good idea for comparing tools",[106],{"id":107,"by":108,"text":109},"24222132","esnard","It looks like those tools are sorted by votes, but some of them can analyze different languages, and votes are shared between their languages. For example, CodeScene, which…",[111,118,125],{"value":112,"source":97,"evidence":113},"Votes are shared across languages, skewing rankings",[114,115],{"id":107,"by":108,"text":109},{"id":116,"by":11,"text":117},"24222195","Oh yeah, we realized that as well. What do you think about putting services for multiple languages into a separate group and exclude them from the votings for the individual…",{"value":119,"source":97,"evidence":120},"Black is a formatter, not an analysis tool",[121],{"id":122,"by":123,"text":124},"24226973","boxed","The glaring error right at the very first entry seems bad. Black is not an analysis tool, it's a code formatter.",{"value":126,"source":97,"evidence":127},"Unauthenticated voting can be gamed by bots",[128],{"id":129,"by":130,"text":131},"24223799","giovannibonetti","Am I the only one worried about unauthenticated voting? I guess it'll become a major headache pretty quickly. Imagine people using bots to vote \"up\" on their favorite tools and…",[133,143,150],{"value":134,"source":97,"evidence":135},"Filter by cost, license, and tool type",[136,140],{"id":137,"by":138,"text":139},"24224034","KoenDG","This site could really use a filter option for cost of the product being mentioned.",{"id":141,"by":11,"text":142},"24224477","Yes, that's the next feature we're working on. You'll be able to filter by license, maintenance level, and type (commandline, service,...). Jakub is currently restructuring the…",{"value":144,"source":97,"evidence":145},"Show which tools support SARIF",[146],{"id":147,"by":148,"text":149},"24222224","dhekir","It would be useful to list which tools support the SARIF standardized format (https:\u002F\u002Fsarifweb.azurewebsites.net\u002F).",{"value":151,"source":97,"evidence":152},"Tag security-focused tools",[153],{"id":154,"by":155,"text":156},"24223345","tpool","Great work! I think it would be helpful to tag static analyzer tools that are dedicated to security with a security tag (SAST tools like, Brakeman, Fortify SCA, Checkmarx CxSAST,…",[158,165],{"value":159,"source":97,"evidence":160},"How to integrate these tools into CI",[161],{"id":162,"by":163,"text":164},"24222579","scott31","How can I easily integrate all of them in my CI?",{"value":166,"source":97,"evidence":167},"Where is the data store for the site",[168],{"id":169,"by":170,"text":171},"24223685","pqdbr","I'm not familiar with Cloudflare Edge Workers, so sorry if this is an obvious question, but what kind of data store (database) can you use in a setup like this?",[173,180],{"value":174,"source":97,"evidence":175},"Phpstan and phpcs for PHP",[176],{"id":177,"by":178,"text":179},"24222303","DJBunnies","For real. Phpstan and phpcs for life.",{"value":181,"source":97,"evidence":182},"Teamscale and CodeScene mentioned as tools listed",[183,186],{"id":184,"by":138,"text":185},"24224019","Never heard of Teamscale before, yet it has a lot of votes in all its categories. Also one of those expensive ones.",{"id":107,"by":108,"text":109},{"comments":188,"answered":33,"key":189},22,[190,191,192],{"id":69,"text":70},{"id":88,"text":89},{"id":193,"text":194},"24227570","The `formatter` tag is already part of the underlying data [1], it's just not reflected on the website yet. We plan to put formatters into a visually separate group per language…",{"commenters":34,"max_depth":196,"maker_replies":188,"first_comment_mins":197,"lifespan_hours":198},6,67,26,[200,202,204,206,209,211,213,217,220,223,225,226,228,229,233,235,238,241,244,247,250,253,255,259,262,265,267,270,271,274,277,279,283,285,288,290,293,296,298,300,302,303,305,308,309,312,314,316,318,321,324,326,330,332,334,336,337],[69,32,32,201,11,37],"maker\u002Fneutral\u002Fnone",[169,32,43,203,170,32],"project\u002Fneutral\u002Fnone",[88,32,32,205,11,37],"maker\u002Fneutral\u002Fexecution",[207,32,43,203,208,32],"24225381","oneweekwonder",[122,32,37,210,123,32],"project\u002Fcritical\u002Fidea",[193,32,32,212,11,37],"maker\u002Fneutral\u002Fdesign",[214,32,43,215,216,32],"24228887","project\u002Fneutral\u002Fdocs","uryga",[218,32,32,219,11,37],"24229895","maker\u002Fneutral\u002Fdocs",[221,32,45,222,216,32],"24230794","maker\u002Fpositive\u002Fdocs",[55,32,43,224,56,32],"project\u002Fneutral\u002Fidea",[62,32,32,212,11,37],[107,37,37,227,108,32],"project\u002Fcritical\u002Fdesign",[116,37,32,212,11,37],[230,37,43,231,232,32],"24222309","project\u002Fneutral\u002Fdesign","smichel17",[234,37,32,231,11,37],"24222416",[236,37,37,227,237,32],"24222456","captn3m0",[239,37,32,240,11,37],"24222537","commenter\u002Fneutral\u002Fdesign",[242,37,43,231,243,32],"24227070","setr",[245,37,43,231,246,32],"24222488","rckoepke",[248,37,43,212,249,32],"24223046","jakubsacha",[251,37,45,252,108,32],"24223301","project\u002Fpositive\u002Fdesign",[177,37,45,254,178,32],"project\u002Fpositive\u002Fnone",[256,40,32,257,258,32],"24222931","commenter\u002Fpositive\u002Fnone","yboris",[260,40,32,261,11,37],"24223075","maker\u002Fpositive\u002Fnone",[263,40,32,264,258,32],"24223483","commenter\u002Fneutral\u002Fnone",[266,40,32,261,11,37],"24223770",[268,40,32,264,269,32],"24224660","videlov",[147,43,43,231,148,32],[272,43,32,273,11,37],"24222242","maker\u002Fpositive\u002Fidea",[275,43,43,224,276,32],"24223677","Strum355",[278,43,43,224,148,32],"24232704",[280,30,32,281,282,32],"24222085","other\u002Fneutral\u002Fidea","stabbles",[284,30,32,201,11,37],"24222202",[286,45,32,264,287,32],"24223045","Benjamin_Dobell",[289,45,32,201,11,37],"24223108",[291,196,32,281,292,32],"24223147","rgovostes",[294,196,32,281,295,32],"24223188","LittlePeter",[297,196,32,281,11,37],"24223956",[299,196,32,281,292,32],"24224595",[301,196,32,281,11,37],"24229936",[100,33,45,254,101,32],[304,33,32,201,11,37],"24222214",[137,306,43,307,138,32],8,"project\u002Fneutral\u002Fpricing",[141,306,32,212,11,37],[184,310,37,311,138,32],9,"project\u002Fcritical\u002Fpricing",[313,310,32,212,11,37],"24224496",[154,315,43,224,155,32],10,[317,315,32,273,11,37],"24223785",[162,319,43,320,163,32],11,"project\u002Fneutral\u002Fexecution",[322,319,32,323,11,37],"24222892","maker\u002Fneutral\u002Fidea",[325,319,43,320,155,32],"24223361",[327,18,37,328,329,32],"24222681","project\u002Fcritical\u002Fexecution","muglug",[331,18,32,205,11,37],"24222867",[333,18,37,328,329,32],"24222906",[335,18,32,205,11,37],"24223083",[129,18,37,328,130,32],[338,18,43,205,249,32],"24223996",[],[341,346,350,355,359,363],{"id":342,"name":343,"points":344,"category":345},"24286335","ztext.js",257,"languages",{"id":347,"name":348,"points":349,"category":20},"24249646","rust_cmd_lib",231,{"id":351,"name":352,"points":353,"category":354},"24258098","ultimate-go",185,"learning_science",{"id":356,"name":357,"points":358,"category":20},"24269609","Will It CORS?",152,{"id":360,"name":361,"points":362,"category":20},"24280413","Vim-Like Layer for Xorg and Wayland",148,{"id":364,"name":365,"points":366,"category":367},"24240680","ePaper.js",145,"hardware",false,"v2",{"id":371,"name":5,"line":6,"ai":368,"cat":20,"year":13,"points":14,"comments":15,"rec":27,"s":372,"top":18,"kw":373,"maker":11,"domain":10,"tier":19,"attempts":32,"strip":374,"url":9,"mix":375,"praise":96,"objection":112,"sub":21},24221708,-0.08,[21,24,25,26],"0331305313013355000303000000503130331101",[30,31,32,33],1794036594940]