[{"data":1,"prerenderedAt":384},["ShallowReactive",2],{"project-17152630":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":41,"post_text":44,"what":45,"said":98,"maker_in_thread":213,"shape":222,"grid":227,"attempts":340,"same_week":346,"maker_shows":31,"maker_hidden":376,"reader_version":377,"card":378},"17152630","NimForum","A lightweight alternative to Discourse","title","Show HN: NimForum – A lightweight alternative to Discourse","https:\u002F\u002Fgithub.com\u002Fnim-lang\u002Fnimforum","github.com","dom96",1527248888,2018,186,49,197,2155,10,"notable","infrastructure","self-hosted forum software","web_app",[24,25,26,27],"forum","nim","discourse alternative","self-hosted forum","curious",0.119,{"positive":31,"neutral":32,"mixed":33,"critical":33},4,13,1,19,{"design":36,"idea":37,"performance":39,"execution":40},{"positive":33,"critical":33},{"positive":33,"critical":38},0,{"positive":38,"critical":38},{"positive":38,"critical":38},[42,38,42,38,38,38,38,38,43,43,38,43,38,43,43,43,43,38,38,38,42,38,38,38,43,38,43,38,43,38,43,42,38,43,38,33,38,38,38,43],5,3,null,{"problem":46,"audience":52,"pricing":44,"motivation":62,"time_to_build":44,"stack":70,"openness":95,"stage":96,"team_size":97},{"value":47,"source":48,"evidence":49},"Provides a lightweight alternative to Discourse for running discussion forums","commenter",[50],{"id":51},"post",{"value":53,"source":54,"evidence":55},"Communities that want to run their own forum, especially the Nim community","maker",[56,59],{"id":57,"by":11,"text":58},"17162542","I do agree that NimForum is a bit of a lame name for end-users. The initial NimForum implementation was very much intended to only be used for the Nim community, with this new…",{"id":60,"by":11,"text":61},"17162601","You're very right to point out high availability and disaster recovery. I must be honest that I haven't considered the impact that the use of SQLite has on redundancy, but in the…",{"value":63,"source":54,"evidence":64},"Dogfooding for the Nim community; wanted others to be able to use it too",[65,69],{"id":66,"by":67,"text":68},"17162232","beagle3","Nim is awesome - the programming language, the community, and the emerging ecosystem. Live example, for discussing the Nim programming language: https:\u002F\u002Fforum.nim-lang.org\u002F ;…",{"id":57,"by":11,"text":58},[71,78,82,88],{"value":72,"source":54,"evidence":73},"Nim",[74,77],{"id":75,"by":11,"text":76},"17162521","I didn't realise the ability to run Nim code on the forum was such a coveted feature. I did initially plan to reimplement it for the new forum (the \"Run\" button is there, it just…",{"id":66,"by":67,"text":68},{"value":79,"source":54,"evidence":80},"Karax (Nim front-end framework)",[81],{"id":75,"by":11,"text":76},{"value":83,"source":54,"evidence":84},"SQLite",[85],{"id":86,"by":11,"text":87},"17162564","For our use case, SQLite has been working fine for many years. I like to think that for most communities SQLite will be perfectly adequate. The main reason for choosing SQLite is…",{"value":89,"source":48,"evidence":90},"Jester",[91],{"id":92,"by":93,"text":94},"17164072","e12e","Since it's a forum using jester; troupe ? Ensemble ?","open_source","launched","team",{"praise":99,"objections":118,"requests":151,"questions":172,"alternatives":192},[100,108],{"value":101,"source":48,"evidence":102},"Fast and responsive",[103,104],{"id":66,"by":67,"text":68},{"id":105,"by":106,"text":107},"17165445","vasili111","It is very fast and responsive. It is really a pleasure to navigate it :)",{"value":109,"source":48,"evidence":110},"Clean, simple, snappy design",[111,114],{"id":112,"by":67,"text":113},"17162613","For sure, the new version is much more aesthetically pleasing and (if JS is enabled) at least as functional. I wasn't trying to criticize anything, just point it out as a matter…",{"id":115,"by":116,"text":117},"17165936","kybernetikos","The forums seem simple, pleasant and fairly snappy to navigate. I've recently been looking at 'head-less' CMSs. Does anyone know of forum software that separates the head from…",[119,124,135,146],{"value":120,"source":48,"evidence":121},"Does not work without JavaScript",[122,123],{"id":66,"by":67,"text":68},{"id":112,"by":67,"text":113},{"value":125,"source":48,"evidence":126},"Uses SQLite, limiting for client-server and high availability",[127,131],{"id":128,"by":129,"text":130},"17162354","wiradikusuma","I wonder why sqlite? Isn't quite limiting for a client-server app?",{"id":132,"by":133,"text":134},"17162453","mwcampbell","I suppose nimforum's developer is comfortable limiting it to just one web server, because with an efficient, AOT-compiled language like Nim, a single server can bear a heavy…",{"value":136,"source":48,"evidence":137},"Name is tied to the Nim language",[138,142],{"id":139,"by":140,"text":141},"17162304","gyyfl","This is great but I wish developers would get away from naming software based on the language it's coded in, in general. It's purely a public relations thing but I think the…",{"id":143,"by":144,"text":145},"17162424","reificator","Libraries I don't mind: how much time do you really want to spend naming the 394th serialization library? But for products aimed at end-users? Absolutely don't name it after the…",{"value":147,"source":48,"evidence":148},"Run-code button not yet reimplemented",[149,150],{"id":66,"by":67,"text":68},{"id":75,"by":11,"text":76},[152,156,160,165],{"value":153,"source":48,"evidence":154},"Restore running example code within the forum",[155],{"id":66,"by":67,"text":68},{"value":157,"source":48,"evidence":158},"Server-side rendering for non-JS users",[159],{"id":75,"by":11,"text":76},{"value":161,"source":48,"evidence":162},"Rename the project",[163,164],{"id":143,"by":144,"text":145},{"id":57,"by":11,"text":58},{"value":166,"source":48,"evidence":167},"Use SQLite backup API and WAL mode",[168,169],{"id":60,"by":11,"text":61},{"id":170,"by":67,"text":171},"17162780","If it isn't already, it's worth switching the sqlite database to WAL mode (perhaps even by default, or as an admin option) using \"pragma journal_mode=WAL\"[0]; In standard…",[173,177,184],{"value":174,"source":48,"evidence":175},"Are forum topics indexed by search engines without JavaScript?",[176],{"id":112,"by":67,"text":113},{"value":178,"source":48,"evidence":179},"How are backups done and is redundancy in place?",[180,181],{"id":132,"by":133,"text":134},{"id":182,"by":133,"text":183},"17162607","Fair enough. How do you do backups?",{"value":185,"source":48,"evidence":186},"Why SQLite and why build for a single database?",[187,188],{"id":128,"by":129,"text":130},{"id":189,"by":190,"text":191},"17166604","gravypod","What I'm interested in is why write all of your code for a single database? Are there no query level abstractions for Nim? Even a basic ORM or even a query-builder would allow…",[193,200,206],{"value":194,"source":48,"evidence":195},"Discourse",[196,199],{"id":197,"by":11,"text":198},"17166503","NimForum does exactly that. The API probably isn't as stable as it could be though. Discourse could be another alternative for you.",{"id":66,"by":67,"text":68},{"value":201,"source":48,"evidence":202},"phpBB",[203],{"id":204,"by":67,"text":205},"17162650","Occasionally things change enough that a rebranding is in order. Kodi was previously XBMC which stood for \"X-Box Media Center\" long after the X-Box was no longer their focus of…",{"value":207,"source":48,"evidence":208},"DFeed (D language forums)",[209],{"id":210,"by":211,"text":212},"17165369","WalterBright","The D language forums: ``` https:\u002F\u002Fforum.dlang.org\u002F ``` are powered by DFeed, written in D: ``` https:\u002F\u002Fgithub.com\u002FCyberShadow\u002FDFeed ```",{"comments":214,"answered":215,"key":216},11,9,[217,218,219],{"id":75,"text":76},{"id":57,"text":58},{"id":220,"text":221},"17162865","Hehe, good idea, but that clashes with the name of our package manager: https:\u002F\u002Fgithub.com\u002Fnim-lang\u002Fnimble :)",{"commenters":223,"max_depth":224,"maker_replies":214,"first_comment_mins":225,"lifespan_hours":226},26,7,1604,93,[228,230,232,234,238,241,243,245,247,250,252,255,257,258,261,262,264,265,268,271,272,273,275,278,281,284,287,289,292,295,297,299,301,303,305,306,308,310,312,316,317,318,320,322,325,327,330,332,336],[66,38,42,229,67,38],"project\u002Fpositive\u002Fnone",[75,38,38,231,11,33],"maker\u002Fneutral\u002Fexecution",[112,38,42,233,67,38],"project\u002Fpositive\u002Fdesign",[235,33,38,236,237,38],"17162964","other\u002Fneutral\u002Fnone","Quequau",[239,33,38,236,240,38],"17164037","yoavm",[242,33,38,236,237,38],"17166316",[244,33,38,236,240,38],"17168666",[246,33,38,236,237,38],"17172902",[248,33,38,236,249,38],"17175496","jtrtoo",[251,33,38,236,237,38],"17176766",[139,253,43,254,140,38],2,"project\u002Fmixed\u002Fidea",[143,253,43,256,144,38],"project\u002Fneutral\u002Fidea",[57,253,38,256,11,33],[259,253,43,256,260,38],"17162852","tbirdz",[220,253,38,256,11,33],[263,253,38,236,144,38],"17164692",[92,253,43,256,93,38],[266,253,43,256,267,38],"17164213","pavlov",[269,253,43,256,270,38],"17164684","apocrypher",[204,253,43,256,67,38],[210,43,38,236,211,38],[105,43,38,274,106,38],"other\u002Fneutral\u002Fperformance",[276,43,38,236,277,38],"17166574","ShorsHammer",[279,43,38,236,280,38],"17175642","SamReidHughes",[282,31,42,229,283,38],"17162236","bberrry",[285,42,38,236,286,38],"17163041","accnumnplus1",[288,42,38,236,93,38],"17164031",[290,42,38,236,291,38],"17164209","k__",[293,42,38,236,294,38],"17164631","nitely",[115,296,43,256,116,38],6,[197,296,38,298,11,33],"project\u002Fneutral\u002Fdocs",[128,224,43,300,129,38],"project\u002Fneutral\u002Fdesign",[132,224,43,302,133,38],"project\u002Fneutral\u002Fperformance",[60,224,38,304,11,33],"project\u002Fneutral\u002Fexecution",[182,224,43,304,133,38],[307,224,38,304,11,33],"17162658",[309,224,43,304,133,38],"17162870",[311,224,38,304,11,33],"17166773",[313,224,42,314,315,38],"17163803","project\u002Fpositive\u002Fidea","omnimus",[86,224,38,300,11,33],[170,224,43,302,67,38],[319,224,38,304,11,33],"17162873",[189,224,33,321,190,38],"project\u002Fcritical\u002Fdesign",[323,224,38,324,11,33],"17169037","commenter\u002Fneutral\u002Fnone",[326,224,38,324,190,38],"17169124",[328,224,38,329,11,33],"17171586","project\u002Fneutral\u002Fnone",[331,224,38,236,190,38],"17171661",[333,224,38,334,335,38],"17177592","commenter\u002Fneutral\u002Fdesign","syseng1002",[337,338,43,300,339,38],"17166493",8,"weego",[341,345],{"id":342,"t":343,"points":344,"comments":33},"17144974",1527175901,15,{"id":4,"t":12,"points":14,"comments":15},[347,352,357,362,367,372],{"id":348,"name":349,"points":350,"category":351},"17146451","Wired-elements",650,"dev_tools",{"id":353,"name":354,"points":355,"category":356},"17173051","Crypto51",581,"finance_crypto",{"id":358,"name":359,"points":360,"category":361},"17147272","Parabola.io",291,"web_saas",{"id":363,"name":364,"points":365,"category":366},"17189652","Writing Streak",262,"productivity",{"id":368,"name":369,"points":370,"category":371},"17180686","Recursive Recipes",250,"consumer_social",{"id":373,"name":374,"points":375,"category":366},"17149371","Clippi.io",208,false,"v2",{"id":379,"name":5,"line":6,"ai":376,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":380,"top":18,"kw":381,"maker":11,"domain":10,"tier":19,"attempts":253,"strip":382,"url":9,"mix":383,"praise":101,"objection":120,"sub":21},17152630,0.12,[24,25,26,27],"5050000033030333300050003030303503010003",[31,32,33,33],1794036566304]