[{"data":1,"prerenderedAt":481},["ShallowReactive",2],{"project-23370646":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":45,"post_text":46,"what":47,"said":90,"maker_in_thread":205,"shape":211,"grid":215,"attempts":443,"same_week":444,"maker_shows":40,"maker_hidden":473,"reader_version":474,"card":475},"23370646","WiFi Card","Print a WiFi Login Card","title","Show HN: Print a WiFi Login Card","https:\u002F\u002Fwifi.dev.bdw.to","wifi.dev.bdw.to","bndw",1590942891,2020,305,88,136,3028,5,"legend","productivity","wifi sharing","web_app",[24,25,26,27],"wifi qr code","guest wifi","wifi login card","print wifi qr","debated",0.112,{"positive":31,"neutral":32,"mixed":33,"critical":31},6,8,3,23,{"idea":36,"execution":38,"privacy":41,"performance":43,"design":44},{"positive":33,"critical":37},0,{"positive":39,"critical":40},1,4,{"positive":39,"critical":42},2,{"positive":37,"critical":37},{"positive":37,"critical":37},[33,37,39,37,37,37,37,37,37,33,39,39,33,33,39,33,37,37,39,33,37,37,37,37,39,37,37,18,37,18,37,18,33,33,18,37,37,37,33,18],null,{"problem":48,"audience":46,"pricing":46,"motivation":64,"time_to_build":46,"stack":71,"openness":87,"stage":88,"team_size":89},{"value":49,"source":50,"evidence":51},"Lets guests join a WiFi network by scanning a printed QR code instead of typing the password","inferred",[52,56,60],{"id":53,"by":54,"text":55},"23371188","chrismorgan","Per https:\u002F\u002Fgithub.com\u002Fbndw\u002Fwifi-card\u002Fblob\u002F5d7fbbda1e8eac5802c8d7b4a9644e8f37a4e041\u002Fsrc\u002Fcomponents\u002FCard.js#L22, the QR code text is of this form: ```…",{"id":57,"by":58,"text":59},"23371700","seesawtron","Can someone give a short explaination as to how it works in the backend? The QR code contains username and password. But how does my phone's QR scanner know that its an SSID\u002Fpw…",{"id":61,"by":62,"text":63},"23375402","jedberg","I made one of these before a party and put it up by the door for the guest wifi. It was great because I didn't have to tell anyone the wifi password during the party!",{"value":65,"source":66,"evidence":67},"Maker built it as a weekend project to solve a personal need","maker",[68],{"id":69,"by":11,"text":70},"23371855","All good. This was a random weekend hack project meant to solve a specific, personal need. Figured I'd share it out in case others were interested. I'm glad it's sparked your…",[72,83],{"value":73,"source":74,"evidence":75},"React","commenter",[76,79],{"id":77,"by":54,"text":78},"23371400","Another fun bug report: I entered lots of input, and the page suddenly went blank. In the console: ``` Error: code length overflow. (28252>23648) ``` So yeah, seems like all you…",{"id":80,"by":81,"text":82},"23372277","Shakahs","This is what React error boundaries are for, containing the exception and optionally showing a fallback or error.",{"value":84,"source":74,"evidence":85},"JavaScript",[86],{"id":53,"by":54,"text":55},"open_source","launched","solo",{"praise":91,"objections":107,"requests":133,"questions":146,"alternatives":165},[92],{"value":93,"source":74,"evidence":94},"Useful and easy to use; no server needed to generate the QR image",[95,99,103],{"id":96,"by":97,"text":98},"23371241","lucb1e","I like the interface and that it doesn't need a server to generate the QR image, but it doesn't work for my network ¯\\_(ツ)_\u002F¯ Edit: perhaps I should clarify that that's my…",{"id":100,"by":101,"text":102},"23384645","hikari_techlab","This is convenient and easy to use. It would be nice to be able to print multiple access points with one print.",{"id":104,"by":105,"text":106},"23371100","groundpepper","This is incredibly useful, I didn't know our phones had this feature.",[108,118,126],{"value":109,"source":74,"evidence":110},"Passing WiFi passwords into a website is a privacy risk",[111,115],{"id":112,"by":113,"text":114},"23372417","pathseeker","Woah, do not get into the habit of putting your wifi network password into a website if you care about security. This particular site might or might not collect it now but it's a…",{"id":116,"by":58,"text":117},"23372497","True. How else would one implement this as a workaround for security? Perhaps a locally running version of the same thing that hopefully doesn't upload the data back to some…",{"value":119,"source":74,"evidence":120},"SSID escaping bug: backslash, semicolon, comma and colon are not escaped",[121,122,125],{"id":96,"by":97,"text":98},{"id":123,"by":54,"text":124},"23371321","Hah, I noticed the lack of escaping when skimming the code (see my comment—workaround until fixed will be for you to double the backslash yourself) but didn’t expect it to…",{"id":53,"by":54,"text":55},{"value":127,"source":74,"evidence":128},"Page crashes on very long input (code length overflow)",[129,130],{"id":77,"by":54,"text":78},{"id":131,"by":54,"text":132},"23371559","FYI, maxlength is actually not enough to protect against people like me that are determined to break things for fun: Firefox 77 starts letting you exceed maxlength if pasting…",[134,138],{"value":135,"source":74,"evidence":136},"Generate multiple access points on one print",[137],{"id":100,"by":101,"text":102},{"value":139,"source":74,"evidence":140},"Offline or local-only version",[141,142],{"id":116,"by":58,"text":117},{"id":143,"by":144,"text":145},"23377518","lozf","You can use `qrencode` on your local machine. https:\u002F\u002Fgithub.com\u002Ffukuchi\u002Flibqrencode",[147,154],{"value":148,"source":74,"evidence":149},"How does the phone turn the QR string into a network join?",[150,151],{"id":57,"by":58,"text":59},{"id":152,"by":58,"text":153},"23372066","Yes I saw, that is what the QR code contains (username and password of the WIFI). But I do not understand what my phone does when it sees that. There are tons of dubmbed-down…",{"value":155,"source":74,"evidence":156},"Do all Android and iOS devices support WiFi QR scanning?",[157,161],{"id":158,"by":159,"text":160},"23371395","Flimm","Do all Android and iOS devices support this feature?",{"id":162,"by":163,"text":164},"23372858","dheera","Might be a dumb question but how do you scan a QR code like this on Android without a 3rd party app? The only way I've ever known to scan QR codes is by scanning from within…",[166,173,187,198],{"value":167,"source":74,"evidence":168},"LibreOffice Writer built-in QR generator",[169],{"id":170,"by":171,"text":172},"23371976","graton","I just did this the other day using the newest version (6.4.4) of LibreOffice Writer. It has a QR Code generator built in. As mentioned by someone else it uses the form of: ```…",{"value":174,"source":74,"evidence":175},"qrencode command line tool",[176,180,184],{"id":177,"by":178,"text":179},"23371576","jasonjayr","qrencode is in debian\u002Fubuntu (https:\u002F\u002Ffukuchi.org\u002Fworks\u002Fqrencode\u002F) ``` qrencode -t ansiutf8 'WIFI:T:WPA;S:{ssid};P:{password};;' ``` No docker required ...",{"id":181,"by":182,"text":183},"23371653","davb","You can generate QR codes using qrencode (available in most distros package repos), as follows: qrencode -o wifi.png \"WIFI:T:WPA;S:\u003CSSID>;P:\u003CPASSWORD>;;\"",{"id":185,"by":144,"text":186},"23377404","Even my Mum's old Moto G4 has this feature in the Camera. I've been using a shell alias to call `qrencode` with the appropriate details for a few years now.",{"value":188,"source":74,"evidence":189},"qr-code-generator.com and other online QR generators",[190,194],{"id":191,"by":192,"text":193},"23372236","thephyber","Neat. I investigated doing something like this a few weeks ago, but it turned out there's a site that has a variety of QR code tools: https:\u002F\u002Fwww.qr-code-generator.com\u002F (not…",{"id":195,"by":196,"text":197},"23372464","srhngpr","Recently came across a QR Coder [1] that can generate for a variety of different purposes, including Wifi (e.g., Bookmarks, Email, Contact, GeoLocation, SMS, URL link, etc.) -…",{"value":199,"source":74,"evidence":200},"Password manager features such as 1Password",[201],{"id":202,"by":203,"text":204},"23375679","tzs","This should be a feature of password managers, or at least password managers that have a separate item type for wireless networks. Someone suggested it on the 1Password forums…",{"comments":42,"answered":37,"key":206},[207,210],{"id":208,"text":209},"23371475","Thanks, fixed. TIL ssids have a max char count of 32: https:\u002F\u002Fserverfault.com\u002Fquestions\u002F45439\u002Fwhat-is-the-maximum-length-of-a-wifi-access-points-ssid",{"id":69,"text":70},{"commenters":212,"max_depth":31,"maker_replies":42,"first_comment_mins":213,"lifespan_hours":214},61,64,63,[216,218,222,226,228,230,234,236,239,243,246,248,249,252,255,258,260,263,265,267,270,272,275,276,277,278,280,283,284,287,289,292,295,297,299,302,305,308,311,313,317,318,321,324,326,329,332,334,336,337,340,341,344,347,350,352,353,355,357,359,363,365,367,370,373,374,379,383,386,388,390,392,394,399,402,404,406,408,411,414,417,419,421,423,426,429,433,438],[170,37,33,217,171,37],"project\u002Fneutral\u002Fidea",[219,37,37,220,221,37],"23372338","other\u002Fneutral\u002Fnone","ShamelessC",[223,37,37,224,225,37],"23372401","commenter\u002Fneutral\u002Fnone","Stratoscope",[227,37,37,224,221,37],"23372461",[229,37,37,224,225,37],"23372608",[231,37,39,232,233,37],"23373226","project\u002Fcritical\u002Fexecution","anaisbetts",[235,37,37,224,221,37],"23386050",[237,37,37,224,238,37],"23373519","superhuzza",[240,37,37,241,242,37],"23375812","commenter\u002Fneutral\u002Fprivacy","HenryBemis",[244,37,37,224,245,37],"23376131","alias_neo",[247,37,37,224,144,37],"23377414",[185,37,37,220,144,37],[250,37,37,224,251,37],"23372369","BiteCode_dev",[253,37,37,224,254,37],"23372802","londons_explore",[256,37,37,224,257,37],"23372907","wazzaps",[259,37,37,224,251,37],"23373102",[261,37,37,224,262,37],"23373399","dudus",[264,37,37,224,233,37],"23375414",[266,37,37,224,245,37],"23376144",[268,37,37,224,269,37],"23381787","BrandoElFollito",[53,39,33,271,54,37],"maker\u002Fneutral\u002Fexecution",[273,39,37,224,274,37],"23376075","brujoand",[77,42,39,232,54,37],[208,42,37,271,11,39],[131,42,39,232,54,37],[69,42,37,279,11,39],"maker\u002Fneutral\u002Fnone",[281,42,37,224,282,37],"23375413","hombre_fatal",[80,42,33,271,81,37],[285,33,33,217,286,37],"23371394","CapriciousCptl",[288,33,37,224,159,37],"23371406",[290,33,37,220,291,37],"23372467","wise_young_man",[293,33,37,220,294,37],"23373711","rhinoceraptor",[112,40,39,296,113,37],"project\u002Fcritical\u002Fprivacy",[116,40,33,298,58,37],"project\u002Fneutral\u002Fprivacy",[300,40,37,220,301,37],"23372884","tialaramex",[303,40,37,224,304,37],"23373128","unethical_ban",[306,40,37,224,307,37],"23376309","Dylan16807",[309,40,37,224,310,37],"23373576","h4waii",[312,40,37,224,301,37],"23374733",[314,40,33,315,316,37],"23375687","project\u002Fmixed\u002Fprivacy","tjbiddle",[143,40,39,296,144,37],[319,18,33,217,320,37],"23372154","wiml",[322,18,37,220,323,37],"23372226","bronco21016",[325,18,37,220,113,37],"23372429",[327,18,37,224,328,37],"23372994","dvtrn",[330,18,37,224,331,37],"23373971","joe5150",[333,18,37,224,323,37],"23373189",[335,18,37,224,320,37],"23401052",[57,31,37,220,58,37],[338,31,37,220,339,37],"23371889","macintux",[152,31,37,224,58,37],[342,31,37,220,343,37],"23372283","daveevad",[345,31,37,220,346,37],"23372521","kevin_thibedeau",[348,31,37,220,349,37],"23372303","est31",[96,351,39,232,97,37],7,[123,351,37,224,54,37],[354,351,37,224,97,37],"23371478",[356,351,37,224,54,37],"23371572",[358,351,37,224,97,37],"23377092",[360,32,18,361,362,37],"23371355","project\u002Fpositive\u002Fexecution","toomuchtodo",[177,32,37,364,178,37],"other\u002Fneutral\u002Fidea",[366,32,37,224,362,37],"23372178",[368,32,37,224,369,37],"23372185","dewey",[371,32,37,372,362,37],"23372562","commenter\u002Fpositive\u002Fnone",[181,32,37,364,182,37],[375,376,18,377,378,37],"23375025",9,"project\u002Fpositive\u002Fidea","canada_dry",[380,376,37,381,382,37],"23375217","commenter\u002Fneutral\u002Fidea","quickthrower2",[384,376,37,224,385,37],"23376000","derN3rd",[387,376,37,224,382,37],"23385478",[61,389,18,377,62,37],10,[202,391,33,217,203,37],11,[393,391,37,364,294,37],"23379063",[395,396,33,397,398,37],"23373481",12,"project\u002Fmixed\u002Fperformance","encom",[400,396,37,224,401,37],"23375105","shakna",[195,403,37,220,196,37],13,[104,405,18,377,105,37],14,[162,407,37,220,163,37],15,[409,407,37,220,410,37],"23373710","lwhsiao",[412,407,37,220,413,37],"23374217","Aachen",[415,407,37,220,416,37],"23374910","wingworks",[191,418,37,220,192,37],16,[158,420,37,220,159,37],17,[422,420,37,220,97,37],"23371511",[424,420,37,220,425,37],"23371672","ken",[100,427,33,428,101,37],18,"project\u002Fmixed\u002Fdesign",[430,431,33,217,432,37],"23372985",19,"castratikron",[434,435,18,436,437,37],"23371938",20,"project\u002Fpositive\u002Fprivacy","paddlesteamer",[439,440,18,441,442,37],"23378006",21,"project\u002Fpositive\u002Fnone","djronin47",[],[445,450,454,459,464,468],{"id":446,"name":447,"points":448,"category":449},"23339244","RoughNotation",696,"dev_tools",{"id":451,"name":452,"points":453,"category":449},"23366532","Simpdf",327,{"id":455,"name":456,"points":457,"category":458},"23392049","HN Blogs",289,"learning_science",{"id":460,"name":461,"points":462,"category":463},"23408144","Virus Cafe",278,"consumer_social",{"id":465,"name":466,"points":467,"category":449},"23363767","git-fuzzy",251,{"id":469,"name":470,"points":471,"category":472},"23407643","Stock Performance of US Senators",246,"finance_crypto",false,"v2",{"id":476,"name":5,"line":6,"ai":473,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":477,"top":18,"kw":478,"maker":11,"domain":10,"tier":19,"attempts":37,"strip":479,"url":9,"mix":480,"praise":93,"objection":109,"sub":21},23370646,0.11,[24,25,26,27],"3010000003113313001300001005050533500035",[31,32,33,31],1794036591368]