The Best of Kickstarter 2012 - <AUTHOR> http://www.kickstarter.com/year/2012 <comment><USER2>
      TEXT-ONLY VERSION FOR MOBILE BROWSERS &C;

\-----

From groundbreaking projects to inspiring stories, 2012 was a year of many memorable moments on Kickstarter.

To celebrate the year that was, our team put together this look back at some of our favorite projects and moments. We hope you enjoy!

\-----

Let's begin with some numbers

In 2012 2,241,475 people

pledged a total of $319,786,629

and successfully funded 18,109 projects

Backers pledged $606.76 per minute to projects in 2012

\-----

Of the 2.2 million people who backed a project in 2012

570,672 people backed two or more projects

50,047 people backed ten or more projects

452 people backed 100 or more projects

\-----

People in 177 countries backed a project in 2012

That's 90% of the countries in the world

\-----

Of Kickstarter's 13 creative categories

Music had the most funded projects with 5,067

Games had the most money pledged at $83 million

Art, Film, Music, Publishing, and Theater each had more than 1,000 funded projects

\-----

17 projects raised $1 million+ in 2012

<comment><USER2> _January_

10% of the films at Sundance are Kickstarter-funded

19 films selected; four win top prizes (<http://www.kickstarter.com/pages/Sundance2012?ref=yir2012>)

FUBAR hits the New York Times Best Sellers List ([http://www.kickstarter.com/projects/1607639297/fubar-2-empir...](http://www.kickstarter.com/projects/1607639297/fubar-2-empire- of-the-rising-dead?ref=yir2012))

The Kickstarter Popsicle Little Bee Pops celebrates backers with a new flavor ([http://www.kickstarter.com/projects/730155451/little-bee- pop...](http://www.kickstarter.com/projects/730155451/little-bee- pops/posts/160739?ref=yir2012))

Incident in New Baghdad nominated for an Oscar Second Kickstarter-funded film to be nominated ([http://www.kickstarter.com/projects/1941167757/incident- in-n...](http://www.kickstarter.com/projects/1941167757/incident-in-new- baghdad-oscar-qualifying-la-releas?ref=yir2012))

\-----

 _February_

Double Fine Adventure ([http://www.kickstarter.com/projects/doublefine/double- fine-a...](http://www.kickstarter.com/projects/doublefine/double-fine- adventure?ref=yir2012) ) kicks off a huge year for games

Games in 2012: 561,574 backers $83,144,565 pledged 2,796 projects

\-----

 _March_

Backers make Chattanooga the first US city with its own font Font integrated into bike lanes, billboards, and even the public library, then released online for free ([http://www.kickstarter.com/projects/chatype/chatype-a- typefa...](http://www.kickstarter.com/projects/chatype/chatype-a-typeface-for- chattanooga-tennessee?ref=yir2012))

Stanford teaches Kickstarter for class credit (Our Kickstarter School is still free) (<http://www.kickstarter.com/pages/storyviz?ref=yir2012>)

A Kickstarter-funded bus stop in Georgia Athens artist spices up the morning commute ([http://www.kickstarter.com/projects/1016187241/the-love- shac...](http://www.kickstarter.com/projects/1016187241/the-love-shack-bus- stop?ref=yir2012))

\-----

 _April_

Google Maps integrates images from DIY mapping project ([http://www.kickstarter.com/projects/1775485688/balloon- mappi...](http://www.kickstarter.com/projects/1775485688/balloon-mapping- kits?ref=yir2012))

Dark Sky app predicts the weather ([http://www.kickstarter.com/projects/jackadam/dark-sky- hyperl...](http://www.kickstarter.com/projects/jackadam/dark-sky-hyperlocal- weather-prediction-and-visuali?ref=yir2012))

Air Quality Egg makes fighting pollution awesome ([http://www.kickstarter.com/projects/edborden/air-quality- egg...](http://www.kickstarter.com/projects/edborden/air-quality- egg?ref=yir2012))

Kickstarter turns three ([http://www.kickstarter.com/blog/happy-3rd-birthday- kickstart...](http://www.kickstarter.com/blog/happy-3rd-birthday- kickstarter?ref=yir2012))

\-----

 _May_

Classical music goes open source Musopen and Open Goldberg Variations release recordings to the public domain ([http://www.kickstarter.com/projects/Musopen/record-and- relea...](http://www.kickstarter.com/projects/Musopen/record-and-release-free- music-without-copyrights?ref=yir2012)) ([http://www.kickstarter.com/projects/293573191/open- goldberg-...](http://www.kickstarter.com/projects/293573191/open-goldberg- variations-setting-bach-free?ref=yir2012))

Cards Against Humanity tops the Amazon charts Friends make irreverent card game, sell 100,000+ copies, ruin family gatherings forever ([http://www.kickstarter.com/projects/maxtemkin/cards- against-...](http://www.kickstarter.com/projects/maxtemkin/cards-against- humanity?ref=yir2012))

\-----

 _June_

A Kickstarter-funded opera premieres at the Kennedy Center 188 backers help produce Paola Prestini's Oceanic Verses ([http://www.kickstarter.com/projects/MexicoSings/oceanic- vers...](http://www.kickstarter.com/projects/MexicoSings/oceanic-verses-an- opera?ref=yir2012))

MaKey MaKey inspires the world's first banana piano One project, infinite possibilities ([http://www.kickstarter.com/projects/joylabs/makey-makey- an-i...](http://www.kickstarter.com/projects/joylabs/makey-makey-an-invention- kit-for-everyone?ref=yir2012))

Open source geiger counters measure radiation levels in Japan ([http://www.kickstarter.com/projects/seanbonner/safecast-x- ki...](http://www.kickstarter.com/projects/seanbonner/safecast-x-kickstarter- geiger-counter?ref=yir2012))

Musician writes songs for backers, including his grandma The cutest thing we saw all year ([http://www.kickstarter.com/projects/2031742392/he-said- she-s...](http://www.kickstarter.com/projects/2031742392/he-said-she-said- thats-what-she-said/posts/239704?ref=yir2012))

\-----

 _July_

Kentucky sixth-graders send a camera to space ([http://www.kickstarter.com/projects/scifres/the-edge-and- bac...](http://www.kickstarter.com/projects/scifres/the-edge-and- back?ref=yir2012))

Design firm Final Frontier develops a civilian space suit ([http://www.kickstarter.com/projects/872281861/final- frontier...](http://www.kickstarter.com/projects/872281861/final-frontier- designs-3g-space-suit?ref=yir2012))

Publisher's Weekly calls Kickstarter the #2 publisher of graphic novels ([http://www.publishersweekly.com/pw/by-topic/industry- news/co...](http://www.publishersweekly.com/pw/by-topic/industry- news/comics/article/52925-is-kickstarter-the-2-graphic-novel-publisher.html))

Kickstarter gets parodied The New Yorker, The Daily Show, Portlandia, McSweeney's, The Onion, Funny or Die, and others make us laugh ([http://www.newyorker.com/humor/issuecartoons/2012/07/30/cart...](http://www.newyorker.com/humor/issuecartoons/2012/07/30/cartoons_20120723#slide=17)) (<http://www.kick-stopper.com/>) (<http://www.ifc.com/portlandia/videos/portlandia-kickstarter>) ([http://www.mcsweeneys.net/articles/welcome-to-the- official-k...](http://www.mcsweeneys.net/articles/welcome-to-the-official- kickstarter-page-for-greece)) ([http://www.funnyordie.com/videos/70f7ef3d34/bar-refaeli-s- se...](http://www.funnyordie.com/videos/70f7ef3d34/bar-refaeli-s-sex-tape- kickstarter))

\-----

 _August_

T-Rex wins Olympic gold Boxer Claressa Shields, subject of the doc T-Rex, triumphs in London (<http://www.kickstarter.com/projects/zcdc/t-rex/posts/286163>)

87 projects go to Burning Man Art cars, bathroom beacons, laser lights, oh my! (<http://www.kickstarter.com/projects/search?term=burning+man>)

Kickstarter-funded journalists cover the world (<http://www.kickstarter.com/pages/journalism?ref=yir2012>)

\-----

 _September_

Amanda Palmer debuts in the Billboard Top Ten Thanks 24,883 backers with a block party ([http://www.kickstarter.com/projects/amandapalmer/amanda- palm...](http://www.kickstarter.com/projects/amandapalmer/amanda-palmer-the- new-record-art-book-and-tour?ref=yir2012))

The world's first pizza museum Philadelphians pay tribute to the glory that is pizza ([http://www.kickstarter.com/projects/2023690459/pizza- brain-t...](http://www.kickstarter.com/projects/2023690459/pizza-brain-the- worlds-first-pizza-museum-and-rest?ref=yir2012))

Kindergarten class launches experiments into space ([http://www.kickstarter.com/projects/1569698176/1000-student-...](http://www.kickstarter.com/projects/1569698176/1000-student- projects-to-the-edge-of-space?ref=yir2012))

XOXO Fest explores the creative universe Kickstarter-funded festival unites artists, creators, and technologists ([http://www.kickstarter.com/projects/waxpancake/xoxo- festival...](http://www.kickstarter.com/projects/waxpancake/xoxo- festival?ref=yir2012))

Projects transform public spaces The Lowline, Kulturpark, and Logan Parklet create new urban environments ([http://www.kickstarter.com/projects/855802805/lowline-an- und...](http://www.kickstarter.com/projects/855802805/lowline-an-underground- park-on-nycs-lower-east-sid?ref=yir2012)) ([http://www.kickstarter.com/projects/1353197694/kulturpark?re...](http://www.kickstarter.com/projects/1353197694/kulturpark?ref=yir2012)) ([http://www.kickstarter.com/projects/122241678/lets-build- the...](http://www.kickstarter.com/projects/122241678/lets-build-the-logan- parklet?ref=yir2012))

\-----

 _October_

The first hackerspace opens in Baghdad ([http://www.kickstarter.com/projects/bilal/baghdad- community-...](http://www.kickstarter.com/projects/bilal/baghdad-community- hackerspace-workshops?ref=yir2012))

Kickstarter opens to UK creators Picade first to launch, Chime Pavilion first to succeed ([http://www.kickstarter.com/projects/pimoroni/picade-the- arca...](http://www.kickstarter.com/projects/pimoroni/picade-the-arcade- cabinet-kit-for-your-raspberry-p?ref=yir2012)) ([http://www.kickstarter.com/projects/georginanaishmsa/the- chi...](http://www.kickstarter.com/projects/georginanaishmsa/the-chime- pavillion?ref=yir2012))

Photography exhibition travels across Afghanistan ([http://www.kickstarter.com/projects/52943134/streets-of- afgh...](http://www.kickstarter.com/projects/52943134/streets-of-afghanistan- exhibition-hits-the-streets?ref=yir2012))

\-----

 _November_

OpenROV sends underwater robots around the world ([http://www.kickstarter.com/projects/openrov/openrov-the- open...](http://www.kickstarter.com/projects/openrov/openrov-the-open-source- underwater-robot?ref=yir2012))

Atlanta's first squirrel census Turns out, there are even more squirrels than we thought ([http://www.kickstarter.com/projects/jamiewashere/inman- park-...](http://www.kickstarter.com/projects/jamiewashere/inman-park- squirrel-census?ref=yir2012))

Windowfarms grow in the American Museum of Natural History ([http://www.kickstarter.com/projects/windowfarms/learn-to- gro...](http://www.kickstarter.com/projects/windowfarms/learn-to-grow-and- share-with-new-windowfarms?ref=yir2012))

\-----

 _December_

63 Kickstarter-funded films (<http://www.kickstarter.com/pages/filmsintheaters?ref=yir2012>) open in theaters

The first marriage proposal via Kickstarter project ([http://www.kickstarter.com/projects/1042570429/the-last- door...](http://www.kickstarter.com/projects/1042570429/the-last-door- episodic-horror-adventure/posts/366903?ref=yir2012))

The Griz Coat ([http://www.kickstarter.com/projects/hansr/griz- coat?ref=yir2...](http://www.kickstarter.com/projects/hansr/griz- coat?ref=yir2012)) makes bear hugs even better (Aaron's dancing skills not included)

<comment><USER2> _2012: The Stats_

      Total pledged
      $319,786,629
      +221% from 2011

      Total collected
      $274,391,721
      +238% from 2011

      Total backers
      2,241,475
      +134% from 2011

      Pageviews
      709 million
      +279% from 2011

      Unique visitors
      86 million
      +252% from 2011

\-----

      Category      Launched        Successful      Pledged         Pledges
      Art           3,783           1,837           $10,477,939     155,782
      Comics        1,170           542             $9,242,233      177,070
      Dance         512             381             $1,773,304      23,807
      Design        1,882           759             $50,124,041     536,469
      Fashion       1,659           434             $6,317,799      83,067
      Film & Video  9,600           3,891           $57,951,876     647,361
      Food          1,828           688             $11,117,486     138,204
      Games         2,796           911             $83,144,565     1,378,143
      Music         9,086           5,067           $34,953,600     522,441
      Photography   1,197           427             $3,283,635      46,550
      Publishing    5,634           1,666           $15,311,251     262,738
      Technology    831             312             $29,003,932     270,912
      Theater       1,787           1,194           $7,084,968      95,225

\-----

Thank you!

Thanks to everyone for making 2012 an unforgettable year. Here's to an amazing 2013!

Love, Team Kickstarter Perry, Yancey, Charles, Lance, Cassie, Fred, Andrew, Brett, Cindy, Daniella, Cedric, Samuel, Kendel, Mike, Justin, Meaghan, Tieg, Elisabeth, Jed, Jared, Cooper, Nicole, Aaron, Zack, Stephanie, Aurora, Callan, Jessica, Alex, Chris, Andrew, Dan, Brandon, Tomasz, Katherine, Bridget, Erik, Emily, Shannon, Niina, Bethany, Ian, Luke, Michal, Aaron, Eli, Chris, Leland, Michael, Ellen, Shayne & Jake (<http://www.kickstarter.com/team?ref=yir2012>)

P.S.: We're hiring! (<http://www.kickstarter.com/jobs?ref=yir2012>)

</comment></comment></comment><comment><USER3> Slightly off-topic, but not really...

That design is gorgeous. Maybe not the most practical, but I couldn't stop clicking the arrow to see more. I don't remember being this excited about eye candy since the first time I saw Flash.

Is this a trend or an outlier?

<comment><USER4> Awful design. It would be much more digestible as a single page of data that didn't screw up your back button.

<comment><USER5> I liked it, but I agree, not being to back into the hacker news comments in one click is frustrating.

<comment><USER6> I'm surprised there are people who don't open their links in new tabs on HN.

<comment><USER7> I find managing tabs annoying. What I would really like is for ctrl/alt clicking the back button to take me back to the previous domain.

<comment><USER8> How is it annoying "managing" tabs? They really aren't that difficult. If you open the link in a new tab, then when you're done you close the tab, it will go back to the previous domain (because they undo in the order they were created) - in other words, exactly what you wanted.

</comment></comment></comment></comment></comment></comment><comment><USER9> All I can say is... holy cow. I had no idea Kickstarter had so much influence, from Oscar nominations, to amazing technical products.

<comment><USER10> I've heard, and thought, about all the bad rap they got for the worthless ideas that were presented. From what I've seen in the past couple years, it looks like Kickstarter is allowing the kind of change, the avenue to enable and realize, that was difficult or impossible to achieve in the past.

I should be more clear, I think it's good for positive change that couldn't have otherwise happened.

<comment><USER11> I honestly think that Kickstarter and crowd funding will be one of the most significant developments of the 21st century. It empowers individuals and strengthens the bond between artists/fans or makers/consumers in a quite dramatic way, and I think we've only seen the tip of the iceberg in terms of its potential and its disruptive and transformative impact on the economy, society, and culture.

</comment></comment></comment><comment><USER12> I know Kickstarter has been around for awhile, but 2012 seems like the year it really took off. I'll be very curious to see what percentage of funded projects see completion. I genuinely hope it's high, because I would like to see Kickstarter be a permanent fixture in the world of project funding.

<comment><USER13> Near the end of the presentation they show the numbers on launched/successful <http://www.kickstarter.com/year/2012#category>

Art 49% Comics 46% Dance 74% Design 40% Fashion 26% Film & Video 41% Food 38% Games 33% Music 56% Photography 36% Publishing 30% Technology 38% Theater 67%

<comment><USER14> Same data, but sorted and formatted.

      Dance         74%
      Theater       67%
      Music         56%
      Art           49%
      Comics        46%
      Film & Video  41%
      Design        40%
      Food          38%
      Technology    38%
      Photography   36%
      Games         33%
      Publishing    30%
      Fashion       26%

</comment></comment></comment><comment><USER15> I've backed over 20 projects on Kickstarter & I check it daily for promising upcoming projects. I know of no other use of my money that delivers a better bang for the buck in terms of making a difference. I'm grateful it exists. I just wish it would grow faster. Launch in more countries, accept other forms of payment, enlarge the scope of projects it accepts. It's such an amazing mechanism for raising money.

</comment><comment><USER16> I've backed almost 30 projects on Kickstarter. I managed enough diversity to finished my pie. :-) However, I'd still like to see more projects that do big things. Like build a rocket engine:

[http://www.kickstarter.com/projects/hermesspace/hermes- space...](http://www.kickstarter.com/projects/hermesspace/hermes- spacecraft?ref=live)

There's another site that claims to do real science.

<http://petridish.org>

Wouldn't it be great if we could crowd source, and solve, "real" problems too?

<comment><USER17> Do you mind if I ask?

Are you rich? Did you just contribute $1? Did you really "buy the thing?" How many big, crazy perks have you bought?

I really want to know more about those 452 people that funded 100 or more.

<comment><USER16> I'm not rich, but I'm old enough not to have to worry about $25 here and there. For this project, I did give $250, which was the amount needed to get it across the line on the last day. Most projects are only $10-$50. Here's my list:

<http://www.kickstarter.com/profile/982897515>

Personally, I find it very satisfying to give to a worthwhile project. I live near NYC where it costs $30-$40 for two people to go to a movie with refreshments. In many ways, Kickstarter is money better spent.

<comment><USER18> You're amazing!

</comment></comment></comment></comment><comment><USER19> Interesting note: There wasn't a single mention of the Pebble watch or Ouya game console, by far their two biggest financial successes. Kickstarter is not a store. <http://www.kickstarter.com/blog/kickstarter-is-not-a-store>

</comment><comment><USER20> This is amazing. By the way - it seems they did around $14M in revenues. From their help page[1] - they state they're charging a 5% of collected money from successfully funded projects.

Knowing that $274,391,721 has been pledged on successful projects.

[1][http://www.kickstarter.com/help/faq/kickstarter%20basics#Wha...](http://www.kickstarter.com/help/faq/kickstarter%20basics#WhatAreTheFees)

</comment><comment><USER21> How many of the projects delivered products to their backers within 3 months of the Estimated Delivery Date?

<comment><USER22> You are completely wrong about what is precious about Kickstarter. If you expect projects to be on time you couldn't have picked a worse thing than Kickstarter. That's not what it's good at. And it's nevertheless completely awesome.

Take the Double Fine Adventure: It will completely overshoot the estimated delivery date by a long, long time. However, following its progress has been one of the most awesome media consumption things I have done this year. I don't even care if the game is ever released (well, I do, but only because I want Double Fine to do well, not for my own enjoyment).

At Kickstarter you give money to something that might or might not work out in the end, but that will most definitely overshoot its estimated delivery date – if it doesn't it's a fluke. That's how you have to see it. Maybe that's not something for you, but for me it's great fun. And that's all that matters.

<comment><USER21> I certainly understand the point of "crowd funding".

> If you expect projects to be on time you couldn't have picked a worse thing > than Kickstarter... Take the Double Fine Adventure: It will completely > overshoot the estimated delivery date by a long, long time

This is a problem with estimation. It's way worse to overshoot a delivery time than deliver before it. This is poor project planning. If I would have known this, I perhaps would not have backed Double Fine Adventures.

> At Kickstarter you give money to something that might or might not work out > in the end, but that will most definitely overshoot its estimated delivery > date

I disagree fundamentally. If a project is funded, then _it is funded_. The backer rewards aren't qualified with "if we're successful". They're "you will get ___".

> if it doesn't it's a fluke.

If I didn't get my backer reward, then they stole from me. If I do, and I get it late, then they poorly managed their delivery date.

<comment><USER23> >> if it doesn't it's a fluke. >If I didn't get my backer reward, then they stole from me.

<http://www.kickstarter.com/blog/kickstarter-is-not-a-store>

</comment></comment></comment></comment><comment><USER24> Kickstartes is absolutely amazing. Any 3rd party statistics of project deliveries after they were funded?

Delays are common, but they are acceptable (at least for me), but I wonder how much actually never delivered anything close to the promises.

Anyway, I would guess it is still far better than most VCs.

</comment><comment><USER25> Word to the wise -- open this link up in a new tab unless you like clicking back more than a dozen times

<comment><USER26> In Chrome, you can just hold down the back button to get a list of recent urls - the referrer is at the bottom. Makes getting back to where you were after long slide shows easy.

<comment><USER27> Right clicking on the back button will also perform this function.

</comment></comment></comment><comment><USER28> I've backed several projects on Kickstarter and Indiegogo over the last 1 year and am happy with them. Most of the projects were successfully funded and I have received the products. Sometimes I wish there was more.

</comment><comment><USER29> If you plan to launch a Kickstarter in 2013, then get in touch with the Teelaunch team; we'd love to work with you.

<https://teelaunch.com>

We print and ship your t-shirt rewards.

</comment><comment><USER30> "In 2012 2,241,475 people pledged a total of $319,786,629 and successfully funded 18,109 projects"

Kickstarter and Amazon Payments both took 5% of that, for a total of $15,989,331 apiece.

Not that I'm complaining; $5,928 (before KS/Amazon's cuts) of that $320k was for one of my own projects.

</comment><comment><USER31> 18k projects?? Think of all the ukulele players needed to create the bg music on all those pitch videos!

</comment><comment><USER32> Kickstarter is a great organization and I think that this page, for the most part, nicely showcases its impact in 2012. That said, they might some lose viewers' attention by opening with several pages of stats.

As a public relations student specializing in social cause-related campaigns, I learned that it's usually most effective to choose a "killer fact" (or 1-3 facts) and to tether those facts to a memorable short story with visuals.

To be fair, the stats interest me and I'm sure that they appeal to other HN readers, who probably have an above-average ability to appreciate data. Just saying that all this info, when presented to a broader (non-technical) audience, is probably too much of a good thing.

</comment><comment><USER33> I wish I knew how to do the kickstarter thing. And thank you to those folks who reposted some of the info here. My Android isn't coping so well with it.

It makes me grateful to be alive in the Internet era and reminds me of all the ways in which my life has been made infinitely better by the Internet and technology and the infofmation age.

<comment><USER30>
      1. make a cool thing[1]
      2. make a pitch video
      3. launch kickstarter campaign
      4. promote kickstarter
      5. make and ship the final products and various higher-tier perks
      6. profit![2]

[1] alternatively:

      0. spend a decade or two building up a reputation
      1. promise to make a cool thing

[2] assuming you don't end up eating all your profits and then some on manufacturing and shipping those perks.

<comment><USER33> I have spent a decade or more building up a reputation. Part of that is a good thing. Part of that, I am still trying to live down.

If "make a cool thing" were easy, I wouldn't need to ask. I have done some very cool things. I don't know how to turn that into some kind of "product" (for lack of a better word, because it galls me to use that one since it was a favorite of someone incredibly disrespectful who liked spitting in my face about how my work is "worthless" and "not monetizable", though they found it personally life changing).

I am still trying to wrap my brain around a few things and I am very clear that there are logistical challenges inherent in some of my goals. In other words, some of this is not me, it is the nature of the beast of what I wish to do. I sometimes wish to god I could stop being me and just become some money grubbing type, and to hell with my personal values, etc. But after 47 years of being me, it seems I am very unlikely to stop being me. Besides, it seems sort of boring to take that approach. I think it would be fun to pull off my goals. :-)

But thank you for replying.

</comment></comment></comment><comment><USER34> Of everyone who backed a project in 2012, only around 25% backed more than one. That seems kinda low to me.

<comment><USER35> Many people are being drawn to a particular project on kickstarter rather than the brand as a whole. Given that it doesn't seem unusual.

</comment></comment><comment><USER36> Check out the kickstarter for startups here <http://www.rockthepost.com>

</comment><comment><USER37> That popsicle sounds pretty damned good.

</comment><comment><USER38> Not readable on nexus 7:/

<comment><USER2>
      I'll post a text only version in a sec.

<comment><USER39> Thanks; even some of us on full computers don't like to have to disable flashblock and noscript just to view what is essentially a list.

<comment><USER2> Warning, it's a long one! Refresh and you'll see it, but I'll try and fix up the formatting too. Seems I mussed my double returns and a few other things.

Whole thing: <http://news.ycombinator.com/item?id=5028958>

The list (month-by-month): <http://news.ycombinator.com/edit?id=5028959>

Stats overview: <http://news.ycombinator.com/item?id=5028961>

</comment></comment></comment></comment><comment><USER40> They are certainly great at self-promotion, I'll give them that.

</comment><comment><USER41> Congress needs to allow "poor" people to become investors, that'd make Kickstarter 1000X more effective because you'd be able to purchase shares in these companies rather than merely being promised a one-time thing.

<comment><USER42> from this article: [http://allthingsd.com/20121105/kickstarter-ceo-no-ipo-for- us...](http://allthingsd.com/20121105/kickstarter-ceo-no-ipo-for-us-and-no- equity-crowdfunding-either/)

" Kickstarter has no plans to get into equity crowdfunding — where small backers would get a piece of the companies they fund — despite legislative efforts like the JOBS Act to make such investments more accessible and legal. "We think the most disruptive aspect [of Kickstarter] is the removal of the investment component," Chen said. "People are supporting projects because they want to see them happen. It's so different than giving money because you want to make a profit." "

<comment><USER43> I think they are right, that is where all information based media needs to head. It is a bygone concept to keep charging per unit for something infinite and have it funded by people trying to make money off the sales. Makes much more sense for people to put money into what they want and directly fund it.

</comment></comment></comment><comment><USER44> Sincerely amazing. It's just unbeleivable. For me, Kickstarter is the startup of the year 2012. They did amazingly well as a company _and_ by the way make possible so much good things for people and creators.

Thanks so much Kickstarter.</comment>


Ask HN: What can I do about Facebook scam ads? - <AUTHOR> On my facebook feed I seem to often receive advertisements for obviously scam websites "selling" products at substantial discount. Example item: https://www.nuxtfit.com/index.php?route=product%2Fproduct&product_id=205.
I constantly report these to facebook, and they simply do nothing. I often review the pages associated by the ads and see that users complaining that they never received their items, couldn't contact retailer, etc.
How can facebook keep supporting this behaviour? What can someone do other than sit back and watch them supporting these scam artists in exchange for ad revenue? Surely they should be accountable in some way - especially if they have been notified?
This is a SUBSTANTIAL percentage of my facebook feed ads. Is there someone way I can get them to deal with these seriously? <comment><USER2> Rejecting ads doesn't make Facebook money.

It's simple: never patronize any Facebook ad, and recommend that your friends do the same.</comment>


Netbooks way to Windows alternative - <AUTHOR> http://economictimes.indiatimes.com/Infotech/Netbooks-way-to-Windows-alternative/articleshow/4249844.cms

<comment><USER2> This makes a lot of sense. I would certainly rather run something lightweight like Linux on a netbook than Windows. I use Vista on my desktop computer, but I could never stand it on something with lower end hardware.</comment>


Make the most of the C/C++ static analysis tools - <AUTHOR> http://www.codergears.com/Blog/?p=1792 <comment><USER2> The simplest static analysis tool is your compiler. It's great to consider more advanced ones. But IMO you should maximize the benefit from the compiler warnings before graduating to a full static analysis tool. It's terribly simple to opt-in to warnings from most compilers. Most of them allow you to opt in to classes of warnings, opt out of specific warnings and treat warnings as compilation errors.

This approach (specific warnings + warnings-as-errors) is ideal for keeping a codebase consistent among a team.</comment>


AWS SES and Gmail = Free Business Email ID - <AUTHOR> https://dev.to/daltonfury42/aws-ses-gmail-free-business-email-id-4phj <comment><AUTHOR> Easy and free Email IDs for your domain name, using gmail. One of my first articles, feedbacks please...</comment>


Franky Zapata's Jet-Powered Hoverboard Sets Guiness World Record for 2km Flight - <AUTHOR> http://www.gizmag.com/franky-zapata-interview/43151/ <comment><USER2> I wish we had more information on the engines used and their configuration.

<comment><AUTHOR> Agreed. At first I thought it was an old April Fools joke. How could they have miniaturised a jet engine to that size? And what is his and the teams background?

<comment><USER3> [http://jetcatusa.com/rc-turbines/turbines/](http://jetcatusa.com/rc- turbines/turbines/)</comment></comment></comment>


JavaScript Utilization - <AUTHOR> After years of programming with Javascript I only recently took a deep dive into the ECMAScript 5.1 Specification ( highly recommended if you haven't ) to get a better understanding of the underlying architecture
http://www.ecma-international.org/ecma-262/5.1/Ecma-262.pdf
Since then I've begun to think about how we took this tool ( Javascript ), built an ecosystem around it and followed a general roadmap over a couple decades to where we find ourselves today
In hindsight, I'm curious to hear whether you feel that we've utilized the language to get the most out of it
Thoughts? <comment><USER2> I think that some have utilized JS too much, and never noticed that the web got slower because of it. Many have forgotten what HTML and CSS are good for, and some build pages that are nothing but a bit of JS to async load their markdown authored blogs. (It's asynchronous, that makes it soooo fast!)

On the other hand, I'm genuinely pleased by features of APIs that are accessible with JS (like WebGL), rather than JS itself.</comment>


Google Android and iPhone Apps downloads are similar (Image) - <AUTHOR> http://androgeek.com/android-and-iphone-apps-downloads-are-similar-image.html The adMob report "January 2010 Mobile Metrics Report" shows  that Google Android Apps downloads are approaching the iPhone app downloads <comment><USER2> Careful with conclusions. These graphs have been carefully prepared.

Notice how:

1\. Paid apps and free apps are lumped together, you can't really see the difference in paid apps clearly. This is important from a developer standpoint — only paid apps will pay your salary.

2\. iPhone OS is split into two platforms, while all Android devices are lumped together. Huh?

3\. Everything is on a per-user basis. This is fine, but those are not the numbers you should be looking at if you are a developer (as most of us on Hacker News are). You want the aggregate market size. You want to plan your revenues. You don't want per-user statistics.

<comment><USER3> Yep. I'd go as far as saying that the fact that Android users, on average, are downloading a similar number of apps as iphone users is hardly interesting at all. The average smartphone user just seems to get around 9 free and one or two paid apps per month. What is important is the number of users that are doing this on a particular platform and maybe any associated trends, if they exist.

The correct headline for this information is "iphone and android users have similar app download behavior". The actual headline implies that Android app download volume would be similar to iphone volume. That would have been a bit of a sensation (to me)... But that's just not what happened.

<comment><USER4> Honestly I'm kind of surprised the Android numbers aren't higher, since Android device sales so far have presumably skewed heavily toward "geeks" who seem more likely to download stuff just to try it out.

Perhaps it's a function of there just being fewer apps available and, of those apps that are available, many may be coming from non-Android Market suppliers?

</comment></comment></comment><comment><USER5> The PDF of the full report (much more interesting) is here:

[http://metrics.admob.com/wp-content/uploads/2010/02/AdMob- Mo...](http://metrics.admob.com/wp-content/uploads/2010/02/AdMob-Mobile- Metrics-Jan-10.pdf)

I'm not sure if it's worth re-submitting the AdMob post, but I did so here:

<http://news.ycombinator.com/item?id=1158960>

</comment><comment><USER6> Thats no surprise the only difference is with android you can get apps that get rejected from apple and more good free apps.

<comment><USER5> That's silly, it's not as if rejected App Store apps magically get rewritten and submitted to the Android Market, and the "more good free apps" comment is, so far as I can tell, pulled from thin air.

Besides, if it was that simple the Android numbers would beat the iPhone, and if you actually treat this as "App Store" vs "Android Market" it's more like 10.5 to 8.1 (respectively).</comment></comment>


Is there a site that teaches you how to build clones of existing sites/apps? - <AUTHOR> From a recruiting or hiring standpoint, is this strategy a bad idea?
I want to level up my portfolio by building my own version of popular sites and apps. I have names and concepts for some of them already, color schemes, layouts, UIs drawn out. I've built plenty of websites for clients but I want to level up my skills to apply for higher level jobs and land bigger projects for my agency/consultancy.
I've heard of CodeSchool, Codecademy, FreeCodeCamp, PluralSight, Egghead, Siteground. Haven't used all of them but have been to all their sites (not recently for a few of them). If there are others out there, I would love to know. If one of these is the BEST, I would love to know that as well.
Thanks for any insight and direction. I really appreciate it! <comment><USER2> I've thought about building this given that I've built solutions for:

\- Grocery Delivery (Shipt) \- Gym Management and Scheduling (SimpleGym.co) \- Data Visualization Platform ([https://chart.ly](https://chart.ly)) \- Photo editor \- Email marketing (salesjoy.co) \- Football Pick'em Site \- Job listing site \- and others

Would be a fun to do, but just haven't gotten around to it.

Best of luck with your growth!

<comment><AUTHOR> Cool! This is the kind of stuff I'd like to build in React/Node. Guess I could just do it with Google searches and the documentation. StackOverflow when stuck.

Thanks! I learn the most when I am building things I would use myself.

</comment></comment><comment> stack-underflow [https://code4startup.com/](https://code4startup.com/)

<comment><AUTHOR> thanks! this is perfect. AirBnB is one of the main ones for me. :)

I also don't know Ruby on Rails, so this would help for sure.

I wonder if there are others like this site with more stuff, more languages.</comment></comment>


Ask HN: Raspberry Pi for encrypting calls from my phone? - <AUTHOR> How can I build raspberry pi that will encrypt calls on my phone (say lets VoIP calls, as cellular ones are harder but still an option). The rasp Pi would need to be connected in-between my earphones and my iPhone. There seems to be a product that tried to do this and launched on kickstart but they seem defunct now (https://www.kickstarter.com/projects/620001568/jackpair-safeguard-your-phone-conversation). I cant seem to figure it out whether theyre defunct because of lack of demand or due to product not working well. <comment><USER2> You want to scramble your voice before it's sent through the phone? In this case you'll need a descrambler on the other end, and the quality will probably suffer since voice codecs are lossy and you'll have to account for that in your algorithm.

It sounds like a fun project but practically speaking why not just use some end-to-end encrypted VoIP protocol? The only practical use case I can see for your solution would be to do it over normal GSM calls when you don't have a data connection. Then it could have some value.

<comment><AUTHOR> Yeah both VoIP and GSM. For VoIP it would be easier I suppose, but still, I want to make a device that would encrypt my voice before it reaches my iPhone. Once I solve for VoIP I can then focus on the GSM part and the analog to digital and back conversions

</comment></comment><comment><USER3> This is somewhat nonsensical, what are you trying to go for?

Why not just E2E-encapsulate a VoIP packet/connection?

<comment><AUTHOR> What are you suggesting?

<comment><USER3> Is the goal here that you want to encrypt audio pre-device, so that you can run some kind of encryption on any phone you use, without having to trust that phone, and the person on the other end does the same thing?

<comment><AUTHOR> Yes exactly that

</comment></comment></comment></comment><comment><USER4> Are you trying to be the next EncroChat?

<comment><AUTHOR> I only heard about EncroChat now a day or two ago with the arrests and the crime stuff actually. I am just now googling about what EncroChat was. On the news they said smth about android phones with mics and cameras taken out and apps installed.</comment></comment>


Palo Alto gridlock – residents doing their own traffic studies - <AUTHOR> http://www.paloaltoonline.com/news/2016/12/16/gridlock-frustrates-local-drivers-and-residents <comment><AUTHOR> I'm curious what kind of software they use -- whether they're analyzing the camera data automatically. Is this easy to do with something like OpenCV?

They also mention using Placemeter in Menlo Park ($99/mo): [https://techcrunch.com/2015/06/23/placemeter-uses- computer-v...](https://techcrunch.com/2015/06/23/placemeter-uses-computer- vision-to-help-businesses-and-cities-measure-vehicle-and-pedestrian-traffic/)</comment>


How is PyTorch different from Tensorflow? - <AUTHOR> https://medium.com/@debarko/how-is-pytorch-different-from-tensorflow-2c90f44747d6#.1pyjhm1q7 <comment><USER2> Kickass article

<comment><AUTHOR> thanks</comment></comment>


Nginx WebServer Best Security Practices - <AUTHOR> http://www.cyberciti.biz/tips/linux-unix-bsd-nginx-webserver-security.html <comment><USER2> Some of those tips won't be applicable to any real-life server set-up. I mean, for example:

      ## Start: Size Limits & Buffer Overflows ##
      client_body_buffer_size  1K;
      client_header_buffer_size 1k;
      client_max_body_size 1k;
      large_client_header_buffers 2 1k;

Many web-apps will need larger request and body sizes than this! And I'm not sure why setting a buffer size protects from buffer overflows. Why does a 1k size work better than a 16k size? If the buffer is used correctly, it shouldn't overflow, no matter its size...

Seems to me that cargo-culting this set of "best practices" is a good way to DoS your own server. Who needs crackers when you can do it all yourself?

</comment><comment><USER3> Although most of the pro-tips are good (in general), some look like put together without understanding... Especially this fragment got my attention:

        # Drop sync
        $IPT -A INPUT -i ${PUB_IF} -p tcp ! --syn -m state --state NEW -j DROP

        # Drop Fragments
        $IPT -A INPUT -i ${PUB_IF} -f -j DROP

1\. First rule drops everything _apart from_ SYN on unknown connection, so the comment is wrong.

2\. Why would anyone drop fragmented packets? Good luck with people on strange / misconfigured links.

3\. spoof ips looks very dodgy... why would anyone drop localhost?

4\. (own rule) You should never ever follow anything that mentions "SSL" and "Type the following commands" without reading the openssl docs and understanding how certificates work.

</comment><comment><USER4> Labeling this article a list of "Nginx" security best practices is probably a bit misleading. Of the 20 tips listed, only half really deal specifically with Nginx (and half of those feel like filler: hotlinking, for instance, is decidedly not a security issue). The remainder are more general-purpose *nix- lockdown mechanisms. That's not to say that they're not worth reading, as there are some interesting nuggets in the list, but it's not what I was expecting from the title.

</comment><comment><USER5> > You can't use traditional chroot kind of setup with nginx.

I'm curious why this is the case. If even a beast like apache can be run from a chroot jail, shouldn't it be easier to do it with something lightweight like nginx?

<comment><USER6>
        $ ldd `which nginx`
        /usr/local/sbin/nginx:
            Start            End              Type Open Ref GrpRef Name
            0000000000400000 000000000089c000 exe  1    0   0      /usr/local/sbin/nginx
            0000000206c17000 0000000207042000 rlib 0    1   0      /usr/local/lib/libpcre.so.2.3
            00000002082fd000 000000020874b000 rlib 0    1   0      /usr/lib/libssl.so.15.1
            000000020874b000 0000000208cd7000 rlib 0    1   0      /usr/lib/libcrypto.so.18.0
            0000000204a0e000 0000000204e22000 rlib 0    1   0      /usr/lib/libz.so.4.1
            00000002017b8000 0000000201c99000 rlib 0    1   0      /usr/lib/libc.so.53.1
            0000000204600000 0000000204600000 rtld 0    1   0      /usr/libexec/ld.so

Doesn't look too bad. Start by copying the relevant libraries and config directory to the appropriate places within the chroot jail, then test. (Those paths are on OpenBSD 4.7-beta, probably different on your system.)

<comment><USER7> .. and by 'moving those libraries' you mean 'copying' them, right? :)

A quick look at nginx's ./configure script doesn't show any options that enable static linking on the libraries, but that would be useful for looking into chrooting it.

<comment><USER6> Yeah, whoops. Copying.

<comment><USER8> You could also hardlink them.

<comment><USER9> You don't want to do that. If there is an exploit and an ability to gain root access, those libraries could be modified and affect everything else that uses those libraries outside the chroot jail. Best to just copy them.

</comment></comment></comment></comment></comment></comment><comment><USER10> Re: #10

I find it much more clean and convenient to simply create a default website with blank webpage (or return error if preferred) that will respond to all non-matched queries.</comment>


Ask HN: How to monetize for an extremely niche market? - <AUTHOR>

I am currently near the end of creating an iOS application that focuses on making it easier for students at my University to check the bus timetable. The timetable is only available either at the bus stops, or online as a difficult to read PDF document. Most bus stops aren't even covered, but my application estimates them from distance and time measurements. Furthermore I've pinned down every bus stop on the route by parsing OpenStreetMap. These bus stops are not available anywhere else (and especially not with any times associated with them).
Some screenshots are available here: https://i.freeih.com/7278/iphone_screenshot.png https://i.freeih.com/7279/iphone_screenshot_3.png
How would you go about monetizing such an application, if at all possible? Obviously, it will never make much, but pocket money would be pretty awesome, no one has paid me for my apps before.
My ideas:
 - Fully free app with ads. The ads would come from reaching out to local student centric businesses (student lettings agencies, pubs, bars, clubs etc)  and possibly including student offers via the app.
 - Free basic version with iOS ads, pro version without ads + added features such as reminders
I wish to pursue the first idea as it sounds interesting to go and talk to these businesses and see what they think. Any advice? <comment><USER2> Make the app then license or sell it to the bus company? I am in the exact same boat, at my university. Actually, a couple years ago I started making an iOS app too for bus timetables but never finished because after a couple months of development google added the city's routes to google maps. Does google maps not have your city's routes? I'd be interested in helping out.

Also I thought that was one screenshot linked and I got this: "[https://i.freeih.com/7278/iphone_screenshot.png%20https://i....](https://i.freeih.com/7278/iphone_screenshot.png%20https://i.freeih.com/7279/iphone_screenshot_3.png") and was quite confused...

</comment><comment><USER3> I accidentally copied and pasted the two URLs together (I didnt realize there were to URLs). It loaded a handgun, weird. "[https://i.freeih.com/7278/iphone_screenshot.png](https://i.freeih.com/7278/iphone_screenshot.png) [https://i.freeih.com/7279/iphone_screenshot_3.png"](https://i.freeih.com/7279/iphone_screenshot_3.png")

<comment><USER3> [https://i.freeih.com/7278/iphone_screenshot.png%20https://i....](https://i.freeih.com/7278/iphone_screenshot.png%20https://i.freeih.com/7279/iphone_screenshot_3.png)

</comment></comment><comment><USER4> Oh man, I am in the VERY same situation as You! (for ref :[https://play.google.com/store/apps/details?id=fr.lengrand.br...](https://play.google.com/store/apps/details?id=fr.lengrand.brestram)) I am thinking about starting to add ads too this very morning :).

Definitely bookmarking this!

<comment><AUTHOR> Ha! It's almost as if there should be an all in one service for university buses. What type of ads are you placing in? Generic ads or student specific? I fear if I placed iAds in my application, the fill rate would be incredibly poor.

<comment><USER4> Yeah, That's also the conclusion I came to. I am currently searching whether the service could not be generalized. I am not placing ads yet, but was thinking about having one ad displayed instead of a spinner during the schedule search. That would make a 100% fill rate for 3/4 seconds. You probably could make it that way too, having some kind of timer and only displaying ads once, but in full screen.

My app does not only target students, so they would be more general. :) I am currently implementing the ad, so can't provide any feedback yet :).

Update: To be 100% sure, by fill rate you mean the actual size of the ad on screen, or something else? (I find several definitions on the web)

<comment><AUTHOR> Cool let me know how it goes! By fill rate, I mean how often an ad is served given the number of requests. I.e. if one the students uses my app and goes to the screen with an ad on, it'll send a request to the iAd network for an advertisement. Due to my specific demographic it probably won't always have an ad for me, and thus maybe only 1% of all requests will actually feature an advertisement.

As such, it might be better for me personally to pursue ads from local companies where the students have a much larger impact.

Of course, your app will probably fair better due to more people and a larger demographic!

</comment></comment></comment></comment><comment><USER5> Offer the source code for the app to others looking to develop similar applications. Doesn't have to be a lot of $ and you could include N (say 5) hours of customization for a $250 or $500 license fee.

<comment><AUTHOR> Interesting idea! How would you personally go about this? Having an option on the website to license would be my first thought as I'm not sure how fruitful actively trying to find such people would be.

<comment><USER6> I think this is pretty interesting. I live in a city with two Universities and the city hall refuses to open source bus time data. Public transport could really be improved if people just had more visibility.

Depending on the setup required I'd be interested in replicating this for the buses between my local Universities.

Also, in the paid app could there be some kind of user sourced live updates option. Even if it's just displaying a tweet feed of a particular uni bus hashtag e.g " The B4 bus is at the Smith Street stop." Then you can see when your bus is a couple of stops away, you know it's en route.

</comment></comment></comment><comment><USER7> Look into getting a grant from a student organization or university department?

<comment><AUTHOR> Hadn't thought of that. Will give it a look though I suppose I'm attempting to monetize more for the experience of it rather than the actual funds.</comment></comment>


A step-by-step guide to building a simple chess AI - <AUTHOR> https://medium.com/@lhartikk/simple-chess-ai-step-by-step-1d55a9266977 <comment><USER2> Love this article. I went through a lot of these same steps when I was tinkering with my own chess bot. Bitboard representation with bitshifting operations can dramatically speed everything up (see here [https://chessprogramming.wikispaces.com/Bitboards](https://chessprogramming.wikispaces.com/Bitboards)). Another easy step is to integrate an opening book. The "Encyclopaedia of Chess Openings" provide a great set. Here is link to CSV of the openings for easy parsing: [https://github.com/notnil/opening/blob/master/csv/openings_a...](https://github.com/notnil/opening/blob/master/csv/openings_alg.csv)

Plug: Any gophers out there looking to build their own bot can use my chess engine [https://github.com/notnil/chess](https://github.com/notnil/chess)

Edit: wording

<comment><USER3> Thank you!

</comment></comment><comment> david-given No story about chess engines is complete without a mention of 1k Chess for the Sinclair ZX81:

[http://users.ox.ac.uk/~uzdm0006/scans/1kchess/](http://users.ox.ac.uk/~uzdm0006/scans/1kchess/)

How big is it? 672 bytes.

How much memory did that ZX81 have after the OS had claimed its share? 672 bytes.

<comment><USER4> Afaik it was an incomplete engine (didn't implement all the rules of the game), right? Still impressive, but important to keep that in mind.

<comment> david-given It didn't understand castling, en passant and promotions. It would also only play white.

I did once try to pit it against a modern engine. It seemed to do reasonably well until the modern engine sneakily castled, and I was unable to tell 1k Chess about this, thus forcing it to forfeit the game.

Of course, since posting that, I since found this:

[http://nanochess.org/chess6.html](http://nanochess.org/chess6.html)

Chess for the PC; 392 bytes. You put it in your boot sector. Still no castling, en passant and promotions, though, although there's an 831 byte version which has those.

</comment></comment></comment><comment><USER5> > _I 'm having trouble beating a chess program I wrote. Not sure if I'm a bad > player or the algorithm is decent_

Most beginners will lose to even a chess engine that only looks one step ahead, as it will not drop pieces in obvious ways, but the beginner will.

Chess.js etc. is great btw. Last time I made some chess ai, most of the time was spent generating possible moves. En passant, promotion and stuff adds complexity.

</comment><comment><USER6> I think sunfish ([https://github.com/thomasahle/sunfish/blob/master/sunfish.py](https://github.com/thomasahle/sunfish/blob/master/sunfish.py)) would be a much better example of a simple chess AI (~100 lines of python code), even if it's not very well documented.

The article doesn't talk about very important concepts like quiescence search ([https://chessprogramming.wikispaces.com/Quiescence+Search](https://chessprogramming.wikispaces.com/Quiescence+Search) )

Sunfish doesn't use any of the "further improvements" proposed in the article and still performs much better

</comment><comment><USER7> I spent some time trying to develop a chess AI a short time ago. I had this crazy idea that if I stored all of the possible moves in memory I'd only need to calculate the nth level of depth after every move.

This kills the computer.

After deciding it was best to simply re-evaluate every time, what caught me up was en passant castling and so fourth. It's a challenging topic. I recommend it.

</comment><comment><USER8> Interesting that it's deterministic. I can get it to play the same game again and again. Why is this not the case with more advanced chess engines?

Edit: Apparently single-threaded stockfish is deterministic. Maybe my experience with non-deterministic chess engines just has to do with the handicapping related to providing easier levels of play.

<comment><USER9> Never checked but somehow got me surprised: aren't all chess engines deterministic? The same program, given the same input, should give the same output unless it is specifically programed to try to avoid it (and then we have PRNGs).

<comment><USER10> Some things that make chess engines non-deterministic: 1) Most chess engines use an opening book instead of calculating moves early in the game. These books are often programmed probabilistically, so it may have 4 reasonable responses to a given move and pick one randomly. 2) Many engines are programmed to "ponder", that is do optimistic calculations during the opponents turn. This means that the time taken by you to make the move could potentially affect the calculations performed by the engine.

<comment><USER11> You forgot two more things, they might not happen often enough because of the sheer number of possible positions in the early gameplay but it does make a difference in the game if you play the same position every time.

\- Opening Book learning. \- Position Learning.

Most decent chess engines have these features.

</comment></comment></comment></comment><comment><USER12> I'm very interested in the values assigned to pieces. Does anyone know the source or reasoning behind the table in step 2?

How are pieces relative values calculated? What's to say a pawn is 1/3 of a rook or a knight?

And why is the king 900, not simply the total value of all other pieces or slightly more? 8 pawns (10 ea), 2 knights (30 ea), 2 rooks (30 ea) and a queen (90) totals 290 points. Why can't a king simply be 300 points? If it needed to be worth more than both sets (white and black) for some reason why couldn't it be worth 600? The value 900 seems arbitrary to me.

If there's sound reasoning behind this can anyone recommend material related to deriving similar weighted values?

<comment><USER13> Check out this chess programming wiki article [1] for a (still fairly hand- wavy) rationale for similar piece values, and the Wikipedia article on chess piece relative values [2] for a more in-depth look at various weightings. Some modern approaches use analysis of a huge corpus of master games to come up with piece values, but many of the systems are based on intuition and empirical evidence.

[1] [https://chessprogramming.wikispaces.com/Simplified+evaluatio...](https://chessprogramming.wikispaces.com/Simplified+evaluation+function) [2] [https://en.wikipedia.org/wiki/Chess_piece_relative_value](https://en.wikipedia.org/wiki/Chess_piece_relative_value)

<comment><USER14> Good parent question and interesting links, thanks, will take a look.

To follow on though, shoukdn't it technically be the case that piece values should in theory fluctuate based on current situation.

For instance, my castle is worth zero to me if I'm throwing it so I can get you in check.

Will I know modern chess engines take this stuff into account. Mostly just a random thought.

<comment><USER15> > To follow on though, shoukdn't it technically be the case that piece values > should in theory fluctuate based on current situation.

Yes. One common example is knights and bishops. Both are worth about 3 pawns, but knights are generally more useful in closed positions due to their ability to jump over pieces, while bishops are better in open positions since they can more attack and move long distances.

<comment><USER14> Fascinating.

So in some sense, and I'm just brain-farting here, the value of a piece is a weighted sum of all the possible squares it could occupy during move generation. Something like a rudimentary path trace.

Now trying my best not to get distracted building chess machines. :/

</comment></comment></comment></comment></comment><comment><USER16> For those interested in understanding how chess programs work, also see _Toledo Nanochess: The commented source code_

[http://www.lulu.com/shop/oscar-toledo-gutierrez/toledo- nanoc...](http://www.lulu.com/shop/oscar-toledo-gutierrez/toledo-nanochess- the-commented-source-code/hardcover/product-21429040.html)

      Toledo Nanochess is the world's current smallest chess
      program written in C language. Now for the first time is
      published the complete documented source code. Also
      including the documented source code of the JS1K 2010
      Chess entry (2nd place winner)

</comment><comment><USER17> Nice write up.

To learn Elm (and to learn more about chess engine implementations) I wrote a pure client-side chess engine and game. [https://github.com/darrensiegel/elm- chess](https://github.com/darrensiegel/elm-chess)

You can play it live here: [https://elm-chess.com/](https://elm-chess.com/)

</comment><comment><USER18> I recently wrote a chess AI in javascript, and found that it wasn't able to evaluate nearly as many moves per second as I expected, even though the implementation was pretty light (though not extensively optimized).

My feeling is that for serious AIs that need to perform huge tree evaluations (whether classical alpha-beta or something closer to monte-carlo minimum regret searches) there's several orders of magnitudes of optimization that can be performed, huge gains from subtle tradeoffs (larger static memory allocations, memory caching strategies, etc) and deep heuristics that can lead to pruning search spaces by huge percentages.

Highly tuned implementations such as these - or the graphics visualizations from the demo scene - have always fascinated me as an art form.

In practice, for most practical purposes, the industry seems to value more code for more features over the incredible feats of superimplementation.

</comment><comment><USER19> Here's an article explaining AlphaGo, which I suppose could lead to a better chess implementation, [1].

[1] [https://www.tastehit.com/blog/google-deepmind-alphago-how- it...](https://www.tastehit.com/blog/google-deepmind-alphago-how-it-works/)

</comment><comment><USER20> I am working on building a generic card game environment/runner which could plugin into different AI systems, and this is very helpful.

I've been looking for a reinforcement-learning version of this. How do you build an AI that plays Tic-Tac-Toe against itself to figure out the best strategy?

</comment><comment><USER21> I made a few minimax based AIs for games in uni, but I had always wondered how I would calculate score. How are these point systems made? Are they just educated guesses? How far can minimax take you as far as skill level?

<comment><USER22> > How are these point systems made?

I'm currently in the process of building my own chess AI (in python), and I'm using as a score a weighted combination of the material and of the number of squares controlled by each side. I am planing to experiment with weighting more the squares that are closed to the opponent's king, and possibly to improve the evaluation function using reinforcement learning.

That said, my program is currently pretty weak, first I have to optimize its calculation speed to it can calculate deeper.

</comment></comment><comment><USER23> Why don't we have artificial intelligence? Well, I imagine that it would require that 'intelligence' be something other than an delusional artifact of our neurophysiology in the first place...

</comment><comment><USER24> chess engine on PicoLisp [https://bitbucket.org/mihailp/picolisp/src/b0d59b0e01acfc35f...](https://bitbucket.org/mihailp/picolisp/src/b0d59b0e01acfc35ffbf04f89d19e36f09cd8674/games/chess.l?at=default&fileviewer=file- view-default)

</comment><comment><USER25> Would anyone besides me like to step forward and admit they cannot even beat an opponent that makes random moves?

<comment><USER26> I'm not quite that bad at chess, but bad enough that I wrote a chess game that plays random moves so I could always beat it:

[http://www.notesfromandy.com/2016/09/27/chessfidget/](http://www.notesfromandy.com/2016/09/27/chessfidget/)

That got boring, so I added very weak AI by connecting to the chess engine that comes preinstalled on macOS (inside Chess.app).

<comment><USER27> > connecting to the chess engine that comes preinstalled on macOS

Can you elaborate on this please? The presentation at your link doesn't say.

<comment><USER26> One of the preinstalled apps on macOS is /Applications/Chess.app. Turns out it uses an open-source chess engine called sjeng, the binary for which is inside the app bundle. Chess.app is itself open source, so I tweaked Apple's code for my own purposes. The code launches an sjeng process, opens a pipe to it, and sends commands over the pipe.

There's a couple of sentences about this in the _README file here (as well as my tweaked source files):

[https://github.com/aglee/ChessFidget/tree/master/ChessFidget...](https://github.com/aglee/ChessFidget/tree/master/ChessFidget/Chess%20Engine)

Fun fact: you can play chess in a terminal window by running /Applications/Chess.app/Contents/Resources/sjeng.ChessEngine. You can enter the `help` command for instructions. Note this will create four files with .lrn extensions in your home directory. I forget how to control this behavior -- you can Google "sjeng" for details.

<comment><USER27> Thanks for the explanation!

</comment></comment></comment></comment></comment><comment><USER28> huh. this is pretty simple stuff. i'm surprised there is such a market for posts like that.</comment>


We Just Got a Rare Look at US National Security Surveillance - <AUTHOR> https://www.nytimes.com/2019/12/11/us/politics/fisa-surveillance-fbi.html <comment><USER2> One important thing to note for people reading media sources on this topic - "Consensually recorded" in IG-speak means the CHS (confidential human source) agreed to wear a wire--not that the target agreed to be recorded. This is why AG Barr call this spying. The same with sending FBI into "briefing" to collect info on General Flynn.

Media is spinning this "consensually recorded" as if both parties agreed to be recorded and therefore not spying but that's not true at all.

[https://oig.justice.gov/special/0509/chapter6.htm](https://oig.justice.gov/special/0509/chapter6.htm)

> Consensual monitoring is the interception by an electronic device of any > wire, oral, or electronic communication where one of the parties to the > communication has given prior consent to the monitoring or recording.

<comment><USER3> In a just alternate universe we spy on the government (oversight) and they can't spy on us (people).

I'm utterly devoid of sympathy when the government spies on itself.

</comment></comment><comment><USER4> This is not the worst yet.

Durham's investigation may reveal something even worse.

[https://www.justice.gov/usao-ct/pr/statement-us-attorney- joh...](https://www.justice.gov/usao-ct/pr/statement-us-attorney-john-h- durham)

<comment><USER5> How do you know?

</comment></comment><comment><USER6> If the FBI can't follow protocol for actions at the highest levels and engage in amateur tactics, just imagine how they conduct themselves with ordinary citizens.

Now, I was under the impression FISA courts has an aversion to allowing spying if there was a possibility of one of the targets being a US national.

Witness Martha Stewart. Now, she's not your average citizen, but you can see how they railroaded her. Yup, they didn't get her on FTC violations, nope, they got her for "lying". If she's not guilty of a crime how the hell do you get people for "lying".

<comment><USER7> It is a crime to lie to federal agents in the course of a criminal investigation. You can avoid committing that crime by not lying to agents.

Note that this is not the same as the "if you're honest, you have nothing to hide anyway" argument in favor of mass surveillance. This is about answering a specific set of questions from a member of law enforcement in the course of a specific investigation. You always have the right to decline to answer questions under the Fifth Amendment in that situation as well (another way to avoid telling a lie). Obviously that's not true under a regime of mass surveillance, which is one of the many reasons I think mass surveillance is a bad idea and unconstitutional.

<comment><USER8> > Witness Martha Stewart. Now, she's not your average citizen, but you can see > how they railroaded her. Yup, they didn't get her on FTC violations, nope, > they got her for "lying". If she's not guilty of a crime how the hell do you > get people for "lying".

The Martha Stewart case is a prime example of why you should never talk to investigators. Never help any investigator. Ever. I'm pretty sure you can find something to hang me by if you let me ramble for hours.

> You always have the right to decline to answer questions under the Fifth > Amendment in that situation as well (another way to avoid telling a lie).

I've read criminal defense lawyers advise people that they first contact a good lawyer before contacting the police (and have them present during any communication) if their spouse is missing.

What we have to remember is it is just a job for law enforcement and prosecutors. It is best to think of them as machines that act on some kind of feedback loop (incentives). We cannot directly make improvements to the machines. We have to try to change the incentive structure if we want any change in how the machines work.

So the question is: what are the incentives and what needs changing?

<comment><USER9> >I've read criminal defense lawyers advise people that they first contact a good lawyer before contacting the police (and have them present during any communication) if their spouse is missing.

This is pretty poor advice. A prosecutor will absolutely subpoena your phone records and use the fact that you called a lawyer first to convince a jury you're guilty.

But you're right - in most cases, talk to investigators as little as possible. The classic YoutTube video [1] on this topic is worth a watch if people haven't seen it.

[1] [https://www.youtube.com/watch?v=d-7o9xYp7eE](https://www.youtube.com/watch?v=d-7o9xYp7eE)

<comment><USER10> Does the video also bring examples, where it was bad to talk to the police, when you were in fact innocent?

I only watched till the first example, where he brings the example of a stupid lawer who talked to the police .. when his problem was lying to the police and giving contradicting accounts of what happened. Yeah, this is stupid.

But I do really not like the idea of mandatory lawers as it cements the class justice system, with good outcome for people who can afford good lawers and people qho cannot.

When I have done nothing wrong I don't want to need a lawer by design. But it makes sense, that lawers think different about that.

<comment><USER11> > Does the video also bring examples, where it was bad to talk to the police, > when you were in fact innocent?

Yes. It's much closer to the end of his talk where there is an erroneous contradicting witness and you can wind up convicted of lying to the police.

He also points to things like "Possession of a lobster can be a felony". You simply _can 't_ know all the laws, so getting a lawyer forces the police to narrow the scope immediately. At that point you can address the actual charges rather than letting the police fish through hours of your babbling hunting for something to hang you with.

> When I have done nothing wrong I don't want to need a lawer by design.

That's fine. But "Shut the hell up" remains good advice. The only benefit to "cooperating" with the police is at _SENTENCING_. And, if I'm actually innocent, that's a bit of a problem, no?

<comment><USER12> >That's fine. But "Shut the hell up" remains good advice. The only benefit to "cooperating" with the police is at SENTENCING. And, if I'm actually innocent, that's a bit of a problem, no?

I agree with the basic advice. That being said, if a cop knocks on my door and says the neighbor's kid is missing, I'm still willing to take the minute personal risk of being implicated in order to help the police in their search.

Yes, technically I could have been the last one to see the kid alive and this could make me a suspect, but I also couldn't live with myself if I knew something but withheld it and something bad happened.

<comment><USER10> Yes, this is what I mean. Of course in that case I would speak as well. And probably most would, without lawer as time matters.

One idea of the police was to be servants of the people and not a power tool of the elite.

The "never speak to the police" paradigm would mean to me that police is all evil intended. And that would be the case, I dont think the solution is just more lawers.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER13> I searched this article on reddit to see how the usual left leaning subreddits are reacting to it and was surprised to see it is nowhere to be found. Truly both sides are living in their own echo chambers

<comment><USER14> So far, the article was posted in 37 different subs. The highest upvotes:

/r/politics - 155 karma

/r/libertarian - 49 karma

/r/conservative - 34 karma

I'm not trying to make any case for any side here. Just providing some numbers.

<comment><USER15> So what are those results, normalized for active users?

<comment><USER16> No, those are absolute numbers.

/r/politics is default sub-reddit, so every user is subscribed to it unless manually opted out.

r/politics/ \- 5.6M members

r/conservative/ \- 275K members

r/libertarian/ \- 349K members

<comment><USER2> Like I pointed out in another comment, these numbers are useless comparison if it excludes T_D. T_D had multiple threads on this with 5-6k upvotes and thousands of comments since Monday. They even had a stickied post for the entire day on Monday as well as Wednesday when Horowitz testified. Their votes and sub count are throttled so I would expect the real number to be much higher.

<comment><USER14> Two different things here. The person I replied to said that every reddit was ignoring this specific article "I searched this article on reddit". My point was to show that that specific article was covered across 37 different subreddits. My conclusion would be that this specific NYT article didn't get much traction on any subreddit, due to the lack or relative upvotes.

That said, there are dozens of FISA posts on many of the political subreddits, typically linking to others sites, not the NYT article. The T_D has been very vocal about the FISA abuses, as they should be. Apparently T_D can't link to this specific article due to subreddit specific rules. So I can't really compare this specific NYT article. Plus comparing the # of upvotes across subreddits has a lot of other issues.

IMO, this recent abuse is due to the lack of transparency in the entire FISA process. There shouldn't be secret courts ordering secret wiretaps on Americans with no oversight. The whole program should be scrapped. Tell your reps to vote it down next time.

</comment></comment></comment></comment></comment></comment><comment><USER17> History has always proven in any system where there is a great power/responsibility granted to a group, no matter how many levels of oversight, there will always be some level of abuse at one or more of those levels.

</comment><comment><USER18> So secret courts free from alternative adversarial opinions are abused? Shocking!

<comment><USER19> Not only that, a secret court setup specifically for foreign surveillance was used to spy domestically.

It's why you don't give governments secret toys and extra judicial powers, the people that run it are worst than toddlers, and more abusive and dishonest.

<comment><USER20> The court was set up to spy on foreigners and Americans. To get a FISA warrant on a US citizen you have to show probable cause that the person is an agent of a foreign government engaging in intelligence activities.

<comment><USER21> In practice the bar is so incredibly low. Carter Page was wiretapped based on nothing but the word of a foreign intelligence agent. Page had previously aided the US government in an investigation of a Russian asset. There was no other corroborating evidence. Suggesting that Page was committing or contemplating the commission of a crime.

When hearsay from foreigners is sufficient 'probable cause' for a FISA warrant, there is no barrier to obtaining one.

I read in a recent article that, out of more than a thousand FISA applications, ONE was rejected.

FISA courts are a rubber stamp for wonton state surveillance.

<comment><USER19> Love or hate Trump, doesn't matter. Americans have been able to peek behind the curtain if you will, and see how these secret courts are operating, and it doesn't inspire an incredible amount of confidence.

Seeing as they knew what buttons to push and strings to pull to obtain these warrants, one has to wonder how many other times this script has been played.

</comment></comment></comment></comment></comment><comment><USER22> [http://archive.is/LiASs](http://archive.is/LiASs)

</comment><comment><USER23> would love to read this :P

</comment><comment><USER24> And these kinds of behaviors are bipartisan, equally bad, on _both sides_. That's just sad.

</comment><comment><USER25> Wouldn't it be more fair it the Times waited until after the election to publish this piece? They used to know better: [https://www.eff.org/deeplinks/2013/11/eff-nytimes-dont- get-f...](https://www.eff.org/deeplinks/2013/11/eff-nytimes-dont-get-fooled- again-claims-nsa-spying-legality-0)

Edit: I was being _extremely_ sarcastic. I was hoping linking to the EFF would be enough of a clue.

<comment><USER26> Sorry, but abuse of power by a federal institution that once upon a time harassed MLK isn't partisan, it's a problem.

The USA political system fosters a short term focus on who gets to be king of the hill, at the expense of reforming this shit show.

We get it: orange man bad. But guess what? Orange man didn't create this system. That was done over decades. Orange man didn't start a needless war that cost trillions and the deaths of thousands of troops and hundreds of thousands of Iraqi citizens. Obama, who I voted for twice, not counting my primary votes for him, kept us in Afghanistan, and didn't pardon Snowden, but did pardon Chelsea Manning.

I don't care if this helps orange man a little bit, because he will be gone in a few years, worst case scenario, a few months best case. But the smooth talking, non offensive marketing figurehead for the other party will hopefully not have so much power to abuse when they take office.

<comment><USER27> > Sorry, but abuse of power by a federal institution that once upon a time > harassed MLK isn't partisan, it's a problem.

It's not as big of a problemas abuse of power by a federal institution that directed genocide and, incidentally, which that other federal institution answers to, which makes it strange that that's exactly what you are using it to minimize.

> Orange man didn't create this system.

The manner in which Donald Trump has corrupted the administration of the executive branch and for which is defenders—includig those who can't bring themselves to a direct defense by only engage in the kind do distraction you are engaging in now—are desperate to set the precedent of total absence of accountability is one of greatest dangers to democratic-republican government in the history of the nation. Certainly, it builds on a history tracing back at least through the Nixon pardon, the relative lack of accountability in Iran-Contra, the Republican Congress so burnt out from a failed attempt to impeach Clinton for lying about sex that it couldn't muster up accountability for a war waged not only without Congressional action, but against direct Congressional _denial_ of authority, and scores of abuses, including bad faith in making determinations Congress required in the Iraq AUMF, war crimes, torture, etc., directed at the highest levels of the Bush Administration, etc.

But we're running out of opportunities to draw a line in executive abuses of power before there is no more capacity to restrain.

> Obama [...] did pardon Chelsea Manning.

In fact, he did not. He commuted Manning's sentence, which is a very different thing. Not that I see how the issue would be relevant to the rest of the discussion either way.

<comment><USER28> Clinton was impeached by the house. He was not convicted and removed from office by the senate. While "lying about sex" may have sounded innocuous at the time, in a post #metoo and Epstein world the behavior has different cultural meaning. In addition, Clinton's impeachable behavior went beyond lying about his own behavior, but witness tampering. In of itself Clinton's behavior might have been a personal matter or an HR issue, but the lies and witness tampering were related to his defence against an previously filed workplace sexual harassment lawsuit.

 _On December 19, 1998, Clinton became the second American president to be impeached (the first being Andrew Johnson, who was impeached in 1868)[a] when the House formally adopted articles of impeachment and forwarded them to the United States Senate for adjudication. A trial in the Senate began in January 1999, with Chief Justice William Rehnquist presiding. On February 12, Clinton was acquitted on both counts as neither received the necessary two-thirds majority vote of the senators present for conviction and removal from office – in this instance 67._

[https://en.wikipedia.org/wiki/Impeachment_of_Bill_Clinton](https://en.wikipedia.org/wiki/Impeachment_of_Bill_Clinton)</comment></comment></comment></comment>


Gotk3: GTK3 the Go way - <AUTHOR> https://blog.conformal.com/gotk3-gtk3-the-go-way/ <comment><USER2> Glad to see some more work being done on UI frameworks in Go, though I doubt this will end the splintered nature of all the different (mostly half-baked, honestly) options.

I've personally been using a Qt5.1/QML based solution with a Go/CGO based QML plugin that acts as a bridge between QML and backend Go code. It doesn't try to export much of Qt to Go, it basically expects you to write the UI logic in QML/QtQuick and then just use Go for the underlying app logic, using the QML plugin bridge to allow Go code to call QML functions and vice-versa. In practice this works somewhat like writing a Go server that manages an HTML UI for doing browser-based UIs with a web-based RPC system, except I can write the UI code in QML which I find much preferable to HTML/JavaScript (variable binding Just Works, no need for frameworks like Angular, no need to mess with CSS, can efficiently pass around binary data in byte arrays easily, etc).

Currently my solution isn't even half-baked, I've been implementing it to serve a specific app, and it currently has some dependencies that force it to be Windows only (these could be trivially removed, but doing so isn't important for my app). I may share the code for this sometime in the future after it has matured a bit more, though there's really not that much to it.

<comment><USER3> I'd also love to see some source to get an idea of how this works and what the binding code you end up writing looks like.

</comment></comment><comment><USER4> Slightly off topic, but something I've been curious about. Go decided on garbage collection to manage memory. Why do so few languages offer something like C++'s RAII?[1]

In C++, when you define a class, you define the constructor(s) and the destructor. Then the destructor is called whenever the object goes out of scope. Easy. This is the gist of RAII. Furthermore, in C++, a default destructor is automatically generated for you, which will ensure all the objects members are destructed with your object,[2] so you can avoid even worrying about the destructor.

Yeah, it's not as simple as GC, but it seems like a great compromise between manual memory management and garbage collection.

[1]: [http://en.wikipedia.org/wiki/Resource_Acquisition_Is_Initial...](http://en.wikipedia.org/wiki/Resource_Acquisition_Is_Initialization)

[2]: Provided no members are dynamically allocated. If you allocate an array in your constructor, for example, you need to free it in the destructor. You need to define a destructor to free dynamically-allocated memory, or to do other cleanup.

<comment><USER5> Preferring RAII over garbage collection is the decision that Rust made.

Probably the reason that more languages don't use RAII for memory management is safety. C++, even with RAII, is not safe—you can violate memory safety with certain uses of references and iterators. Rust has to go to great lengths (lifetimes and the borrow check—things that have only been in the research landscape) to make this safe.

<comment><USER6> I'm actually a huge fan of Rust's memory model and wished Go had something similar, since it's faster to use smart pointers, and less calls to the garbage collector are required. I also love how rust uses three different kinds of pointers depending on how the memory is managed, and although it adds some complexity, it gives more semantic value to the data you are working with.

Unfortunately for me, the rust compiler is written in rust, so I would have to adventure to grab a Linux and try my hand at a cross compile before I can play with it on my OpenBSD box.

<comment><USER7> Or just install it on a Linux VM!

</comment></comment></comment></comment><comment><USER8> I am on ubuntu raring with the packaged golang and I can't compile your example code, copied directly out of _Sample Use_.

      kbarrett@vernon-linux:~/go-work/gotk$ go version
      go version go1.0.2
      kbarrett@vernon-linux:~/go-work/gotk$ go build
      # github.com/conformal/gotk3/glib
      glib.go:380[/tmp/go-build210667265/github.com/conformal/gotk3/glib/_obj/glib.cgo1.go:370]: function ends without a return statement
      glib.go:743[/tmp/go-build210667265/github.com/conformal/gotk3/glib/_obj/glib.cgo1.go:741]: function ends without a return statement

function ends without a return statement. If this is a problem with my version of go, I will try and fetch the latest head from git. I am interested!

sudo go get github.com/conformal/gotk3/gtk -- gives the same error.

<comment><USER9> Yes. I think that syntax became legal in 1.1.

<comment><USER8> I see, ubuntu's go is very old. You can tell I'm not doing this stuff every day. (It's obviously because I'm on a release from April...)

I'm going to try it on FreeBSD.

<comment><USER8> (That worked.)

<comment><USER10> If you want the latest Go version on Ubuntu : [http://blog.labix.org/2013/06/15/in-flight-deb-packages- of-g...](http://blog.labix.org/2013/06/15/in-flight-deb-packages-of-go)

<comment><USER2> You can also just build tip on your own locally. Go has virtually no hard dependencies other than gcc (and mercurial to get the repo, unless you pull the code some other way).

      hg clone http://code.google.com/p/go
      cd go/src
      ./make.bash

(or ./all.bash if you want to run all the unit tests)

Same holds true even on Windows if you have a local gcc like MinGW (the only notable difference is you'll execute make.bat instead of make.bash if you're in a Windows cmd shell instead of bash).

<comment><USER11> Google also distributes binaries for Linux, for me all I do is unzip the file and set up my .profile to look for go in the path it was exported in..I set this up on a per-user basis but it works fine for me.

</comment></comment></comment></comment></comment></comment></comment><comment><USER12> I was kinda meh on Go (reminded me of my days in the Ada code), but making native GTK Apps seem really interesting to me. Will have to check this out.

<comment><USER13> I'd say both Go and Ada are much nicer than C and C++ though :P

</comment></comment><comment><USER14> No mention of goroutines or concurrency in the post. Is it addressed by the project at all? I can't imagine that the GTK main loop will deal well with being cooperatively scheduled -- the UI would block any time another goroutine ran on the same OS thread.

Ideally the GTK main loop would run in its own OS thread, and there would need to be a way to ensure that no GTK calls happen in other goroutines. Other (threaded) environments tend to handle this by deferring via a one-off "idle" function that is scheduled and run by the GTK main loop for things like that.

<comment><USER6> We do try to deal with concurrency and goroutines as much as we can. I'd recommend taking a look at the (rather simple) goroutine example as part of the gtk package. Unfortunately though, as you said, GTK is not thread safe (calling GTK from multiple threads was deprecated as of the last release I believe) and calls must be made using glib.IdleAdd() to run the functions in GTK's main loop context.

</comment></comment><comment><USER15> Does anyone else think we need a new open-source widget toolkit? Qt, GTK, and what else is there? Those guys are old. I've done both, and WPF, and WPF is just so much better. I wish there was an open-source toolkit that didn't just suck.

<comment><USER16> Yes, most are old and tiered. But another problem is, there is not a company/organization or even language community to take on such a big endeavour.

I'd like to see a C based toolkit, that's made specifically for wrapping it up for other languages (in C++, Ruby, Python, Go etc) and has niceties to help with this.

<comment><USER17> > I'd like to see a C based toolkit, that's made specifically for wrapping it > up for other languages (in C++, Ruby, Python, Go etc) and has niceties to > help with this.

This is exactly, why GTK+ and essentially the whole GNOME stack is now introspected with GObjectIntrospection. So, there you have it.

</comment></comment></comment><comment><USER18> How is this different than this? [https://github.com/norisatir/go- gtk3](https://github.com/norisatir/go-gtk3)

They also set finalizers.

<comment><USER6> In short, we weren't aware of the project.

I just gave it a try now, but the code will not compile on my dev box (OpenBSD, go tip). Even after making some minor fixes (I fixed an #include directive, removed a call to a deprecated function, etc.) there appear to be some serious issues (one error I got mentioned the size of an array being negative).

It appears this code has not been updated in a year, and we wished to target a recent GTK version (3.8, to be precise) with our bindings. Had we known about the project, we probably would have considered submitted patches to fix its issue and bring it up to date with newer dependencies, but even then, I feel that it would be almost as much or perhaps even more to fix and verify an unfamiliar and broken code base than rolling our own.

But I'm glad to see this project seems to be doing memory management in a Go- like manner.

<comment><USER18> Just to be clear, this isn't my project, but it has been working fine for me for awhile now, but I am probably not exercising the same pathways as you. Anyway, I have written additional bindings for the Gtk Docking Library and the Syntax Highlighter against this project. Everything compiles, runs, and works well.

It is a little frustrating as it is one of the first projects that comes up when searching for "go" and "gtk3" on Google. So, it is is an alternative to what you are doing I guess.

<comment><USER6> Actually, some of my coworkers had tried it previously and couldn't get it working either. I just didn't know they had tried it, and they didn't ask me to play around with it to try and get it in shape (this may have been before I started working full time with Conformal).

So this was just me not being aware of it, but others of us at Conformal were, and due to the above issues we decided to do our own.

</comment></comment></comment></comment><comment><USER19> Are channels and CSP failing as the favored design approach? I keep seeing frameworks that just seem to use Go as if it were C with closures.

<comment><USER2> That approach isn't too surprising when the Go framework is, like this one, a Go wrapper on top of existing C code. And quite a lot of Go frameworks are that.

However, even ignoring the CGO-based frameworks, there's nothing wrong with mostly using Go as if it were C with closures (and garbage collection, and interfaces, and optional implicit typing and reflection), that's how most Go code looks, even in the standard library. Channels/CSP are great if you need to easily pass data among concurrent goroutines, but not all code neatly fits into that model nor benefits from concurrent execution.

One of the early mistakes most newbie Go programmers make (and I did this myself as well) is overusing channels, just because "hey, channels are super cool"!

</comment></comment><comment><USER20> Nice! Have this queued up to look at after work. :)

</comment><comment><USER21> Hmm, does the name "GTK" mean "Gnu Tk"? I thought this was "Go Tk" for a moment when I read the title.

<comment><USER22> GIMP toolkit, as in the graphic package.

<comment><USER23> it is gimp isnt it.

</comment></comment></comment><comment><USER13> I was thinking of writing a small aplication, originally I was going to use Python... but might as well try this. Thanks.

</comment><comment><USER24> Just tested on win7 and everything works great! Really nice work.</comment>


Is Google Voice a Threat to AT&T (Pogue's take on the fiasco)? - <AUTHOR> http://www.nytimes.com/2009/08/06/technology/personaltech/06pogue-email.html <comment><USER2> Of course it's a threat to AT&T.

It removes any trace of their lock-in. It elevates profit-rich features out of AT&T's grasp. Google could switch the 'last mile' to VoIP, and unlike Skype, it would be marketed, promoted and popular.

With Google Voice & voip, a mifi-type device + iPod touch is an iPhone with (essentially) unlimited minutes from anywhere to anywhere in the world, (essentially) unlimited texts and a feature list that makes AT&T's look quaint. For $60/mo. Today.

Google Voice threatens the commodification of wireless services to a simple data plan. It's something everyone knows is coming, but the carriers assumed they had more time to take profit and develop their own services.</comment>


Banned from Amazon: The Shoppers Who Make Too Many Returns - <AUTHOR> https://www.wsj.com/articles/banned-from-amazon-the-shoppers-who-make-too-many-returns-1526981401 <comment><USER2> Dupe:

[https://news.ycombinator.com/item?id=17124924](https://news.ycombinator.com/item?id=17124924)

Repeating my comment from the same thread:

 _This isn 't surprising at all. Amazon's return policy is prone to social engineering. And there is a cottage industry out there taking advantage of this situation to con money out of Amazon. A friend's account was hacked last year and his account information changed. Then the hacker proceeded to request a gift card refund on a previously purchased laptop. The gift card was then used to buy another laptop shipped to a freight forwarder. Couple of months later, Amazon banned the account.

Amazon actually needs to improve its fraud detection capabilities. But until the time it does that, blaming customers for too many returns seem to be the go to strategy._

<comment><USER3> > Dupe:

The previous one seems to have died on the vine. This one has more comments and votes.

</comment></comment><comment><USER4> They shouldn't do this.

One time I made an order with a few things, but namely cat litter and an (expensive) air filter. The cat litter and air filter were cutely packaged together with no protection for the air filter. Of course the air filter was smashed and unusable.

I forgot this "bug" twice more and realized they weren't going to fix the issue. I determined that I should _not_ order these items from Amazon lest they ban me for returning the filters too many times. I sent feedback each time, but I guess they'd rather just ban customers or whatever.

<comment><USER5> Who orders cat litter from Amazon? The delivery fees on something that heavy would cost as much as the item itself! Yeah, yeah, it's heavy and you might not have a car to pick it up from the store, I get it.

But still. Knowing what we know about the amazon warehouses and how quickly the staff are forced to work, maybe it's in your best interest to be cognizant of what you're ordering and _not_ order certain items together.

<comment><USER6> I order drinking water from Amazon, beat that!

<comment><USER7> I once Amazon Now'd a 12 pack of coke. What? I was thirsty.

</comment></comment></comment></comment><comment><USER8> I have placed 106 Amazon orders in the last 6 months.

Recently I have had more returns than normal. Why? The products I am receiving are broken or not as advertised or the quality is just very poor.

I returned a screen protector because it just would not stick to the screen of my phone.

I returned an iPad case because it wouldn't close all the way even though it was for my iPad size.

I returned a laser pointer and goggles because I couldn't see the beam.

I wonder too how much I am being penalized by Amazon's internal systems for these.

</comment><comment><USER9> I know someone who orders toys for their children and returns them after one month when the kids get bored with them and buys new ones.

</comment><comment><USER10> Can't say I'm surprised, dealing with returns is expensive, I'd want to block people who abused the system.

<comment><USER11> On the one hand, I agree. But with the increasing scammers on Amazon, this policy is going to bite them. I ordered a Nest Protect a few years ago and what I received was a cheap First Alert detector inside a Nest's box. Did I get flagged for that return?

As an aside, clearly their returns department doesn't bother to check returns like they indicate with a "Amazon Inspected" sticker on the box. So not only was I scammed, but Amazon was complicit in it AND may have penalized me for the return.

Lately I've gone through three adaptors from three different manufacturers and sellers and every one of them has broken within weeks, maybe months, of receiving it. And they all had great reviews at the time I bought them. But when I go back later, I notice a lot of obviously fake reviews that weren't there before. Not sure how that scam works but it's costing me money.

I used to stay with Amazon in large part because of their fantastic customer service, but that's not enough anymore. The scammers are running rampant on their platform and Amazon is choosing to view me as the troublemaker.

</comment></comment><comment><USER12> I have to wonder what the actual parameters are to end up being flagged in this way. I feel like I'm fairly liberal in returning things to Amazon and the painlessness of returns is really one of the primary motivators behind ordering from Amazon for me.

I've purchased around 1700 items and spent around $56,000 at Amazon since 2006. Of those I've returned a total of 90 items.

</comment><comment><USER13> From the article: "If your behavior is consistently outside the norm, you're not really the kind of customer they want," said James Thomson, a former senior manager at Amazon and now partner at brand consultancy Buy Box Experts.

Today it is Amazon _normalization_ , tomorrow ...?

<comment><USER14> > Today it is Amazon normalization, tomorrow ...?

Companies "firing", both explicitly by bans and by putting them into service hell until they go away, customers that are expensive to service because their behavior is outside of what the firm is optimized around is decidedly not new or something Amazon invented.

</comment></comment><comment><USER15> Pay walled article.

<comment><USER16> Try fullwsj, it goes through Facebook affiliate link.

<comment><USER17> Now that there is a domain dedicated to this hack I can't imagine it will last much longer.

<comment><USER9> True, it didn't work for me yesterday, but maybe it was just a fluke.

<comment><USER16> I've always opened the links in cognito with success, so maybe cookies might have played a part.</comment></comment></comment></comment></comment>