[{"data":1,"prerenderedAt":350},["ShallowReactive",2],{"project-12421042":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":28,"sentiment":29,"stance_mix":30,"scored_comments":34,"aspects":35,"strip":42,"post_text":45,"what":46,"said":85,"maker_in_thread":187,"shape":194,"grid":199,"attempts":312,"same_week":313,"maker_shows":43,"maker_hidden":342,"reader_version":343,"card":344},"12421042","Grumbles.js","Detects when your users swear out loud","title","Show HN: Grumbles.js – Detects when your users swear out loud","http:\u002F\u002Fknpw.rs\u002Fgrumbles.js\u002F","knpw.rs","kpthunder",1472934609,2016,91,45,420,2264,19,"notable","languages","javascript library","library",[24,25,26,27],"speech recognition","profanity detection","web speech api","javascript","mixed",-0.133,{"positive":31,"neutral":32,"mixed":31,"critical":33},3,11,6,23,{"execution":36,"idea":38,"privacy":40,"performance":41},{"positive":37,"critical":31},0,{"positive":39,"critical":37},2,{"positive":37,"critical":31},{"positive":37,"critical":37},[31,37,37,37,37,31,31,43,37,37,37,31,37,37,43,44,37,31,31,31,37,37,43,43,43,37,31,31,37,37,37,31,31,43,44,31,37,37,37,37],1,5,null,{"problem":47,"audience":45,"pricing":45,"motivation":53,"time_to_build":45,"stack":62,"openness":83,"stage":84,"team_size":84},{"value":48,"source":49,"evidence":50},"Detects when users swear out loud in the browser","maker",[51],{"id":52},"post",{"value":54,"source":49,"evidence":55},"Side project; the maker found the speech API censors swear words, which made detection easy",[56,59],{"id":57,"by":11,"text":58},"12421948","Yeah, like I said in response to another comment: > My original idea was going to involve a dependency on one of the bad words lists available on npm, but then I saw the API…",{"id":60,"by":11,"text":61},"12421936","My original idea was going to involve a dependency on one of the bad words lists available on npm, but then I saw the API censors said words and thought, \"Oh, that's easy.\"",[63,71],{"value":64,"source":65,"evidence":66},"JavaScript","inferred",[67],{"id":68,"by":69,"text":70},"12421879","zschuessler","Fun fact: this won't tell you which bad word. Google's implementation of the speech API returns asterisks for words it deems bad. See:…",{"value":72,"source":73,"evidence":74},"Web Speech API (SpeechRecognition)","commenter",[75,79],{"id":76,"by":77,"text":78},"12421844","templaedhel","I think the most interesting part of this for me is the fact it relies on the the SpeechRecognition api to return swear words redacted with asterisks. See for example George…",{"id":80,"by":81,"text":82},"12422326","Klathmon","The Speech Recognition API doesn't go to anyone's servers, it's entirely done in the browser, and is fully available offline as well.","open_source","unknown",{"praise":86,"objections":106,"requests":159,"questions":167,"alternatives":179},[87,95],{"value":88,"source":73,"evidence":89},"Clever use of the API's built-in asterisk censoring",[90,91],{"id":76,"by":77,"text":78},{"id":92,"by":93,"text":94},"12421912","besselheim","Agreed, it's neat to see an anti-feature being subverted such that it becomes a feature. (The anti-feature being the enforcement of American prudity onto what should be an…",{"value":96,"source":73,"evidence":97},"Funny and fun idea",[98,102],{"id":99,"by":100,"text":101},"12421580","mrspeaker","Ha ha, funny idea! After examining my own behaviour the other day I realised that if I ever owned a store that faced the street, I would totally put a microphone in the window to…",{"id":103,"by":104,"text":105},"12421996","diegorbaquero","Although the demo takes some time this is awesome! Thanks for sharing",[107,126,137,152],{"value":108,"source":73,"evidence":109},"Privacy concerns about always-on microphone listening",[110,114,118,122],{"id":111,"by":112,"text":113},"12423632","taneq","Wow, because I really want to have my computer listening in on everything I say and snitching (with context) to an unknown listener if I say a bad word. Cool tech. Uncool use.",{"id":115,"by":116,"text":117},"12421529","Dwolk","because that's not creepy.",{"id":119,"by":120,"text":121},"12422278","gcr","I don't like the idea of streaming every visitor's audio to Google servers as they're viewing the site.",{"id":123,"by":124,"text":125},"12421592","nerdponx","Does this mean that Chrome is always listening on my computer's internal microphone?",{"value":127,"source":73,"evidence":128},"Browser support is limited; no mobile support",[129,133],{"id":130,"by":131,"text":132},"12423130","EdSharkey","\"Your browser does not support the SpeechRecognition API. :(\" HURRAY! And, it never shall.",{"id":134,"by":135,"text":136},"12421649","jamshid","It works but Chrome's Web Speech api seems slow. Test at https:\u002F\u002Fwww.google.com\u002Fintl\u002Fen\u002Fchrome\u002Fdemos\u002Fspeech.html. The Web Speech api doesn't work on mobile browsers, would be a…",{"value":138,"source":73,"evidence":139},"Detection is unreliable; single words only and misses phrases",[140,144,148],{"id":141,"by":142,"text":143},"12423228","jjallen","FYI, only single words worked: fu## and sh##. Didn't print out entire phrases, even when I simplified the swear words (stemmed them).",{"id":145,"by":146,"text":147},"12422203","cyberferret","Nifty idea - but I couldn't trigger it. Must be because it detected my sweet choir boy nature, and knew that my attempts at profanity was 'cute' rather than grumpy!",{"id":149,"by":150,"text":151},"12421587","vorotato","Neat idea but the piece of shit ;) couldn't detect me calling it one.",{"value":153,"source":73,"evidence":154},"Censorship is culturally biased and can break some use cases",[155],{"id":156,"by":157,"text":158},"12423417","harperlee","I get that this is a free service and all, but I find that ridiculous. They are basically crippling the functionality of a service that is global and it is not aimed at a…",[160],{"value":161,"source":73,"evidence":162},"Open source or Linux-compatible speech recognition",[163],{"id":164,"by":165,"text":166},"12423289","atesti","Is it open sourced? Can it be used on Linux? Any links are appreciated",[168,172],{"value":169,"source":73,"evidence":170},"Does Chrome listen constantly on the microphone?",[171],{"id":123,"by":124,"text":125},{"value":173,"source":73,"evidence":174},"What are good use cases for this library?",[175],{"id":176,"by":177,"text":178},"12422115","justinlardinois","Ignoring the unlikelihood of someone actually authorizing microphone permissions (because it's no fun if we take that into consideration), what are some good use cases for this…",[180],{"value":181,"source":73,"evidence":182},"IBM Watson Tone Analyzer",[183],{"id":184,"by":185,"text":186},"12422650","trothamel","IBM's Watson doesn't detect sarcasm, but it does detect anger in your post. https:\u002F\u002Ftone-analyzer-demo.mybluemix.net\u002F",{"comments":44,"answered":37,"key":188},[189,190,193],{"id":57,"text":58},{"id":191,"text":192},"12422430","A code review app can measure WTFs \u002F minute, as in the classic web comic: http:\u002F\u002Fimgur.com\u002Fa\u002FBHlkA",{"id":60,"text":61},{"commenters":195,"max_depth":196,"maker_replies":44,"first_comment_mins":197,"lifespan_hours":198},38,4,112,46,[200,202,204,208,211,215,217,220,223,225,227,230,233,234,235,238,239,241,242,243,247,249,253,257,258,261,263,266,267,269,271,275,277,280,283,285,288,292,294,297,299,302,305,308,310],[68,37,31,201,69,37],"project\u002Fneutral\u002Fexecution",[57,37,37,203,11,43],"project\u002Fneutral\u002Fidea",[205,37,37,206,207,37],"12422036","other\u002Fneutral\u002Fnone","c22",[209,37,37,206,210,37],"12422889","Houshalter",[212,37,37,213,214,37],"12429903","commenter\u002Fneutral\u002Fnone","slededit",[216,37,31,201,177,37],"12422105",[218,37,31,201,219,37],"12422484","jdbernard",[221,37,31,201,222,37],"12424459","Digit-Al",[156,37,43,224,157,37],"project\u002Fcritical\u002Fexecution",[226,37,37,213,157,37],"12423844",[228,37,37,206,229,37],"12426491","bfuller",[231,37,37,206,232,37],"12431636","atomical",[176,43,31,203,177,37],[191,43,37,203,11,43],[236,43,37,206,237,37],"12422916","mirimir",[130,39,43,224,131,37],[76,31,44,240,77,37],"project\u002Fpositive\u002Fidea",[92,31,44,240,93,37],[60,31,37,203,11,43],[244,196,31,245,246,37],"12421830","project\u002Fneutral\u002Fnone","booleandilemma",[145,44,31,248,146,37],"project\u002Fmixed\u002Fexecution",[250,33,31,251,252,37],"12421581","project\u002Fmixed\u002Fidea","chowes",[254,255,37,206,256,37],"12422393",7,"sverige",[184,255,37,206,185,37],[111,259,43,260,112,37],8,"project\u002Fcritical\u002Fprivacy",[115,262,43,260,116,37],9,[134,264,31,265,135,37],10,"project\u002Fmixed\u002Fperformance",[119,32,43,260,120,37],[80,32,37,268,81,37],"commenter\u002Fneutral\u002Fprivacy",[164,32,31,270,165,37],"project\u002Fneutral\u002Fprivacy",[272,273,31,245,274,37],"12422827",12,"djrogers",[99,276,37,206,100,37],13,[278,276,37,206,279,37],"12421604","joeframbach",[281,276,37,206,282,37],"12422133","wheaties",[149,284,31,245,150,37],14,[286,284,37,287,11,43],"12422100","maker\u002Fneutral\u002Fnone",[289,290,31,245,291,37],"12422496",15,"andrewclunn",[141,293,43,224,142,37],16,[103,295,44,296,104,37],17,"project\u002Fpositive\u002Fnone",[123,298,31,270,124,37],18,[300,298,37,268,301,37],"12421757","d0vs",[303,298,37,268,304,37],"12421886","gruez",[306,298,37,213,307,37],"12425120","mod",[309,298,37,268,11,43],"12421944",[311,298,37,268,81,37],"12422329",[],[314,319,323,328,333,338],{"id":315,"name":316,"points":317,"category":318},"12404871","Duet",396,"web_saas",{"id":320,"name":321,"points":322,"category":318},"12427505","Postacard",218,{"id":324,"name":325,"points":326,"category":327},"12431724","HN Chat",180,"consumer_social",{"id":329,"name":330,"points":331,"category":332},"12441302","sdees",100,"security_privacy",{"id":334,"name":335,"points":336,"category":337},"12424738","Txt.wav",98,"creative",{"id":339,"name":340,"points":14,"category":341},"12421804","Mobi.css","dev_tools",false,"v2",{"id":345,"name":5,"line":6,"ai":342,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":346,"top":18,"kw":347,"maker":11,"domain":10,"tier":19,"attempts":37,"strip":348,"url":9,"mix":349,"praise":88,"objection":108,"sub":21},12421042,-0.13,[24,25,26,27],"3000033100030015033300111033000331530000",[31,32,31,33],1794036547287]