[{"data":1,"prerenderedAt":259},["ShallowReactive",2],{"project-8294170":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":35,"aspects":36,"strip":44,"post_text":47,"what":48,"said":77,"maker_in_thread":167,"shape":175,"grid":177,"attempts":221,"same_week":222,"maker_shows":33,"maker_hidden":251,"reader_version":252,"card":253},"8294170","Thumbor","open-source on-demand image cropping, resizing, and filters","title","Show HN: Thumbor – open-source on-demand image cropping, resizing, and filters","http:\u002F\u002Fthumbor.org","thumbor.org","heynemann",1410308041,2014,113,21,248,2272,11,"notable","infrastructure","image processing server","api",[24,25,26,27],"image resizing","thumbnails","image cropping","on-demand images","mixed",-0.093,{"positive":31,"neutral":32,"mixed":33,"critical":34},2,6,1,4,13,{"performance":37,"idea":39,"docs":40,"execution":41,"privacy":42,"design":43},{"positive":38,"critical":38},0,{"positive":33,"critical":38},{"positive":38,"critical":33},{"positive":33,"critical":31},{"positive":38,"critical":33},{"positive":38,"critical":38},[45,38,46,45,45,33,38,45,38,45,38,46,33,38,38,33,33,38,45,45,38],3,5,null,{"problem":49,"audience":61,"pricing":47,"motivation":47,"time_to_build":47,"stack":66,"openness":74,"stage":75,"team_size":76},{"value":50,"source":51,"evidence":52},"Generating image thumbnails of arbitrary sizes on demand instead of in batch","commenter",[53,57],{"id":54,"by":55,"text":56},"8294818","hcarvalhoalves","Dealing with on-demand thumbnails is annoying, I've done something similar in the past [1]. In any case, transparently generating thumbnails from URLs is the saner solution,…",{"id":58,"by":59,"text":60},"8296012","gingerlime","It looks like you could use thumbor (or any similar solution) as an external resource[0], so it doesn't matter what language it's written in. That said, it usually feels safer to…",{"value":62,"source":51,"evidence":63},"Websites and news sites serving images in many sizes",[64,65],{"id":54,"by":55,"text":56},{"id":58,"by":59,"text":60},[67],{"value":68,"source":69,"evidence":70},"Python","inferred",[71],{"id":72,"by":11,"text":73},"8297836","It can be easily implemented as a filter[1][2]. If you need to use it via command-line you can save the current buffer as a tempfile[3], call your CLI with the tempfile path and…","open_source","launched","unknown",{"praise":78,"objections":98,"requests":123,"questions":138,"alternatives":151},[79,87],{"value":80,"source":81,"evidence":82},"Extensible storage and filter plugins","maker",[83,86],{"id":84,"by":11,"text":85},"8296187","Not sure how it compares, but thumbor is fully extensible. There are people using it with HBase, others with Amazon's S3 and Cloudfront, others with filesystem based solutions…",{"id":72,"by":11,"text":73},{"value":88,"source":51,"evidence":89},"Good work on the project",[90,94],{"id":91,"by":92,"text":93},"8296140","p4bl0","Nice work! > By upgrading your image server to thumbor you would go from 0kb to 0kb for 0 images, thus saving NaN% (using WebP images). Maybe a special message could be used in…",{"id":95,"by":96,"text":97},"8294821","ceejayoz","This looks like it has come a long way since the last time I played with it. We wound up building something internally, but it might be time to re-eval.",[99,109,116],{"value":100,"source":81,"evidence":101},"Image size estimates on thumborize.me can be inaccurate",[102,105],{"id":103,"by":11,"text":104},"8296204","Yes. Sometimes thumborize.me will get the image sizes weirdly. It's there mainly to give you an idea. The settings are the standard ones that come with thumbor. If you tinker…",{"id":106,"by":107,"text":108},"8295442","cfstras","> By upgrading your image server to thumbor you would go from 12989.07kb to 16106.04kb for 22 images (using WebP images). On my gallery page: > By upgrading your image server to…",{"value":110,"source":51,"evidence":111},"Images fail to load in Firefox due to WebP support",[112],{"id":113,"by":114,"text":115},"8294519","morenoh149","on firefox maybe you should display a dummy webp image. Seems like FF doesn't support it yet, you should degrade gracefully in this case.",{"value":117,"source":51,"evidence":118},"Requires cookies to serve images",[119],{"id":120,"by":121,"text":122},"8296211","exceptione","Some people might downvote me for this (as happened before) but I have cookies disabled by default. Only if I need to interact with a website I am ok with traces and I allow…",[124,132],{"value":125,"source":51,"evidence":126},"Show a message when no images are detected",[127,128],{"id":91,"by":92,"text":93},{"id":129,"by":130,"text":131},"8294729","ZoF","Would definitely recommend showing a message akin to 'no images detected' in that event. Maybe with a few common reasons that might happen(such as the above) Cool stuff though!",{"value":133,"source":51,"evidence":134},"Support for third-party image processing filters",[135],{"id":136,"by":59,"text":137},"8296218","any tips on plugging-in any 3rd party image processing filters? Maybe I looked in the wrong place, but could only see storage plugins on the wiki. For example, we have a…",[139,147],{"value":140,"source":51,"evidence":141},"Rails equivalent or integration",[142,146],{"id":143,"by":144,"text":145},"8295685","hackerboos","Anybody know of a rails equivalent?",{"id":58,"by":59,"text":60},{"value":148,"source":51,"evidence":149},"Why images need cookies",[150],{"id":120,"by":121,"text":122},[152,156,163],{"value":153,"source":51,"evidence":154},"django-rest-thumbnails",[155],{"id":54,"by":55,"text":56},{"value":157,"source":51,"evidence":158},"magickly",[159],{"id":160,"by":161,"text":162},"8295453","aidanfeldman","A similar app I worked on, which focuses on extensibility: http:\u002F\u002Fmagickly.afeld.me\u002F",{"value":164,"source":51,"evidence":165},"carrierwave",[166],{"id":58,"by":59,"text":60},{"comments":168,"answered":45,"key":169},7,[170,171,174],{"id":103,"text":104},{"id":172,"text":173},"8296209","Yep, that happens when we don't find any images in the DOM. I'll work it out to improve the wording...",{"id":84,"text":85},{"commenters":35,"max_depth":34,"maker_replies":168,"first_comment_mins":14,"lifespan_hours":176},17,[178,180,182,184,186,188,190,192,193,194,195,196,198,200,203,205,207,210,212,215,217],[106,38,45,179,107,38],"project\u002Fneutral\u002Fperformance",[103,38,38,181,11,33],"maker\u002Fneutral\u002Fperformance",[54,33,46,183,55,38],"project\u002Fpositive\u002Fidea",[143,33,45,185,144,38],"project\u002Fneutral\u002Fnone",[58,33,45,187,59,38],"project\u002Fneutral\u002Fidea",[91,31,33,189,92,38],"project\u002Fcritical\u002Fdocs",[172,31,38,191,11,33],"maker\u002Fneutral\u002Fdocs",[160,45,45,187,161,38],[84,45,38,183,11,33],[136,45,45,187,59,38],[72,45,38,191,11,33],[95,34,46,197,96,38],"project\u002Fpositive\u002Fexecution",[113,46,33,199,114,38],"project\u002Fcritical\u002Fexecution",[201,46,38,202,11,33],"8294537","maker\u002Fneutral\u002Fexecution",[204,46,38,202,11,33],"8294542",[120,46,33,206,121,38],"project\u002Fcritical\u002Fprivacy",[208,32,33,199,209,38],"8294553","fourstar",[211,32,38,202,11,33],"8294581",[213,32,45,214,209,38],"8294673","project\u002Fneutral\u002Fexecution",[129,32,45,216,130,38],"project\u002Fmixed\u002Fdesign",[218,168,38,219,220,38],"8296862","other\u002Fneutral\u002Fnone","tuananh",[],[223,228,233,237,242,246],{"id":224,"name":225,"points":226,"category":227},"8270951","Famous Outfits",358,"consumer_social",{"id":229,"name":230,"points":231,"category":232},"8284785","CloudTunes",307,"productivity",{"id":234,"name":235,"points":236,"category":232},"8284616","Creddle",225,{"id":238,"name":239,"points":240,"category":241},"8299511","What's the Fare",181,"web_saas",{"id":243,"name":244,"points":245,"category":227},"8267675","Bootstrappers.io",161,{"id":247,"name":248,"points":249,"category":250},"8268927","t3tr0s-slides",157,"learning_science",false,"v2",{"id":254,"name":5,"line":6,"ai":251,"cat":20,"year":13,"points":14,"comments":15,"rec":28,"s":255,"top":18,"kw":256,"maker":11,"domain":10,"tier":19,"attempts":38,"strip":257,"url":9,"mix":258,"praise":80,"objection":100,"sub":21},8294170,-0.09,[24,25,26,27],"305331030305100110330",[31,32,33,34],1793990911909]