Alternatives to Mixpanel? - <AUTHOR>

Currently my app is right around the 200K events mark (yes we could be a bit leaner with our events) so I'm deciding whether to pay Mixpanel or switch to Google Analytics/AWS Mobile Analytics.<p>Any suggestions/advices on how to decide one vs. another? <comment><USER2> I believe there are too many alternatives and it is just a matter of what exactly are you searching for in an analytics tool and what are your needs. People actually looking for different kinds of metrics when using analytics tools.

[http://www.woopra.com](http://www.woopra.com) is a great tool but their pricing is a bit high for the amount of events you described in your question. They also include analytics for web.

[http://www.kilometer.io](http://www.kilometer.io) looks very promising as it targets to analytics for startups and aims to be very simple. Event based analytics such as this are really the best ones.

What are the current problems you are having with MixPanel?

</comment><comment><USER3> You should definitely check out Amplitude.

disclosure: I work there, but there's no reason you shouldn't try us out if you're looking for an alternative.

Our free plan is for 1 million monthly events: [https://amplitude.com/pricing](https://amplitude.com/pricing)

all the basics you're used to, like Funnels and Retention, plus some other cool stuff like unlimited user timelines (this is extra as part of Mixpanel's People plan)and Event Flows.

<comment><AUTHOR> Thanks for the note, I will try it out.</comment></comment>


Show HN: IvyAuthority – Message app to ask Ivy Leaguers about college process - <AUTHOR> http://ivyauthority.com/

<comment><AUTHOR> Hey everyone, we're a team of Ivy League graduates from middle-class backgrounds who realized how hard it is to learn the application process without expensive college consultants and books on the topic. So we've teamed up to build this app. We really want anyone, even kids in small towns (like where we are from) to have a direct line to someone who can provide great advice.

Please let us know your thoughts! We hope to use the proceeds to launch future scholarships and more.

</comment><comment><USER2> Any plans for an Android version?

<comment><AUTHOR> Yes - We're planning an Android version.</comment></comment>


Our Economy Is Obsessed with Efficiency and Terrible at Everything Else - <AUTHOR> https://hbr.org/2016/03/our-economy-is-obsessed-with-efficiency-and-terrible-at-everything-else <comment><USER2> The economy is based on supply and demand. People demand things "cheaper," so anyone who builds a cheaper mousetrap can make a lot of money.

When people demand "better" it gives that to them, too (like the HP in our cars has gone up dramatically over the last 30 years....because people mostly are willing to pay for that)</comment>


Www.Thump.in - Ad reviews by consumers - <AUTHOR>

What do you think of a common place (www.thump.in) for reviewing ads? Do you think consumers will take to sharing opinions and would that help marketeers to better communicate and interact? <comment><USER2> "Find out what other people are saying about...your favorite brands."

This sounds like a great resource for ad people, but I simply cannot see myself ever gushing about the new Nike commercial.

Sadly, there is probably a userbase for this--I just hope to never meet a Thump.in user in the wild.

</comment><comment><USER2> clickable link <http://www.thump.in></comment>


PHP 5 – Which Random Sources You Should Trust, by Order of Preference - <AUTHOR> https://github.com/paragonie/random_compat/blob/master/ERRATA.md

<comment><AUTHOR> This document is part of the random_compat project, which aims to provide a sane polyfill for PHP 7's random_bytes() and random_int() functions in PHP 5 projects.

We had a couple of issues in the tracker pop up about which strategy for obtaining random bytes from the OS should be relied on in favor of the others, so I put this document together to explain our decision. Should someone raise a point that causes us to change the priority, we will amend the document to reflect this.</comment>


Rice University carbon nanotube device channels heat into light - <AUTHOR> https://news.rice.edu/2019/07/12/rice-device-channels-heat-into-light/ <comment><USER3> What frequencies are they able to redirect to? My understanding that photovoltaics have specific frequency ranges that are more efficient, but the paywalls mean I can't tell what frequencies they're currently able to target not how tunable this might be. I can't imagine it's visible light because that would seem like press-release gold

<comment><USER4> Solar cells have a band gap energy which corresponds to a specific frequency of light. Photons below that frequency don't knock any electrons loose (they just make heat) and photons above that frequency still only knock one electron loose (and the rest of the energy goes to heat). So a single band gap cell is limited to 20-something % max efficiency as a theoretical limit. The ability to re-emit heat at a specific frequency (that could be fed into a cell tuned for that frequency) would be really neat.

<comment><USER3> I recall an article last week (I think?) about a team managing to get multiple electrons (?) from a single photon, so it seems like would could put everything together and get a decent (overall %) efficiency increase - <USER2> I'm sure none of these are particularly close to mass production/deployment

</comment></comment></comment><comment><USER5> Would this be useful as a cooling device?</comment>


Searching python related open source projects actively looking for developers - <AUTHOR>

Please suggest some python based open source projects (relaed to the scipy numpy family) that are looking for volunteers/developers, and which does not have a steep learning curve. <comment><USER2> It's impossible to join such a project and start contributing right away. On the other hand, pretty much all those projects want contributors. But they don't search actively. Mainly you need to follow the bug tracking and mailinglists, then maybe pick a low hanging fruit.

There is no such thing as a shallow learning curve in contributing to less than trivial open source software...

</comment><comment><USER3> Your title seems to say that there are scientific python related open source projects actively looking for developers. But in fact you are looking for such a project. Maybe it would be more constructive to say that instead.

As to "a steep learning curve", given the field and the possible applications, I think that goes without saying.

<comment><AUTHOR> thanks. done.</comment></comment>


Ambulances in Sweden to block drivers' music so sirens can be heard - <AUTHOR> http://www.telegraph.co.uk/technology/2017/01/17/ambulances-sweden-block-drivers-music-sirens-can-heard/ <comment><USER2> Interesting idea, but i'm not sure how practical it is, especially since it's FM only. Won't affect you if you're listening to CDs, mp3s, etc.

I think the biggest problem emergency vehicles face is people talking on mobile phones and not paying attention to their mirrors.</comment>


The Shadow Inc. app that failed in Iowa last night - <AUTHOR> https://www.vice.com/en_ca/article/y3m33x/heres-the-shadow-inc-app-that-failed-in-iowa-last-night <comment><USER3> I started a company that was asked to write a proposal to make what became the app that failed last night. I declined because it was outside of our core skillset. You can read my prior comments or look at my profile to validate this. If you want my perspective as someone who started a Democratic software company, you should keep reading.

This app emerged from a mandate to make the caucus more accessible and transparent. It was well-intentioned but underfunded and lacked comprehensive organizational buy-in. Introducing tech can help but you have to spend tons of money to make it reliable and usable, then you have to spend more to train everyone in using it. This is a problem organizations of all sizes and shapes face when making massive IT changes.

Shadow is a firm that makes custom software for Democrats and progressives. It has an unnecessarily sinister name. There are not a lot of companies that make software for Democrats because it's an awful job. You make very little money. Everyone hates you when things go wrong, which they will, because the product testing cycle and margins are nonexistent. Then everyone will assume things went wrong because you are some combination– you choose– of secretly evil, secretly working for Bernie, secretly working for The Establishment/Hillary (per someone's unpersuasive Imgur post below), or secretly working for Buttigieg.

Others have noted that Shadow also made software for the Buttigieg campaign. If you take my claims above as true, this should be unsurprising to you: a hard market where everyone hates you and no one has money to pay you is not attractive to enterprising software engineers, so there are few firms available to choose.

<comment><USER4> I don't know whether I heard correctly or if the number was accurate, but I heard someone throw out $60k as the amount paid for the app development this morning on the radio.

That sounds like a lot of money to a lay-person, but assuming $100/hr, which seems like at least a reasonable ballpark rate, that breaks down to 600 man- hours, or 15 man-weeks.

That is a very tight deadline to turn out a critical app like this. Especially since I assume it wasn't just a single person doing the coding.

People don't realize that software is expensive and a custom built application is probably not the correct choice for a single-use product. I'm sure whoever was in charge felt that $60k was a quite generous offer to build this. In reality it's basically nothing.

I used to have acquaintances approach me and say, "Hey I've got this great app idea you could help me with."

The response I found shut them down real quick was, "Great. Do you have $100k lying around to get the first beta out the door?"

<comment><USER5> The two founders of Instagram spent $65k (out of $500k they raised) to launch the very first version of Instagram in 2010 [1].

[1] [https://lnns.co/8zhgtOF0YCo](https://lnns.co/8zhgtOF0YCo)

<comment><USER6> So what? What's your point?

<comment><USER7> That they should have used Django for the backend :-)

</comment></comment></comment></comment></comment><comment><USER8> Checked their LinkedIn and the employees who work there. The founder is non- technical and there are two developers: one who is a "back-end intern" and the other is a front-end developer (both are fresh from bootcamps).

...Yikes.

<comment><USER9> The career path of prep cook -> software certification mill -> wrecking american democracy is the best thing I've ever seen.

<comment><USER10> For most software development work a bootcamper is just as likely to be a solid team member as someone with a CS degree after a few years of good industry experience. They key issue isn't that they are bootcampers but that they are _fresh_ bootcampers with no more senior people around to guide the project or mentor them. (similarly a fresh CS grad is fairly worthless in serious production work and will not improve much if they don't get the opportunity to work on serious projects with great sr devs and leadership invested in mentoring them)

<comment><USER11> A fresh bootcamp graduate can be a good developer, but I would argue that someone fresh off of bootcamp is way less prepared than a CS grad to directly start working in a small team with mostly non technical people. A CS grad is usually way more knowledgeable when it comes to software architecture, handling data, optimization etc. Bootcamps usually focus on specific stacks and tools, which can be great. But that means almost no skill/knowledge outside of that specific stack

<comment><USER12> My experience has been the same with fresh grads from everywhere. There's a non negligible amount of work to get them up to speed with business communication and task definition.

Basically schools give you assignments or projects that are well defined and have clearly defined goals/results and cover solved problems. While that's true in the generic sense of business problems it's not how we work, we have to be able to take initiative to define and adjust those goals as reality shifts and goals are more loosely defined. You really have to put it the work to get new folks up to speed with defining their tasks to reach the goals.

Not for nothing but it's tough when you don't have a senior or two on hand to bring people up to speed and mentor them for a month or two before you can really get a new grad productive. And it's difficult with time constraints to do that well, I have to define my own tasks and can't spend as much time defining things for a junior as well as I'd like or train them as much as I should.

College grads may be more blank a slate but I haven't noticed a big difference in terms of actual onboarding. For what it's worth I think boot camps are the next trade schools and we're going to see a division in labor between software techs and engineers just like we have for electrical engineers and electricians or MechEs and mechanics. Tale as old as time, all the work is valuable, just more nuanced.

</comment></comment></comment></comment></comment><comment><USER13> I'm picturing the Dos Equis meme saying "I don't always test, but when I do, I test in production. Stay on call, my friends."

At least now I don't feel bad about when I test in production. (just kidding, I didn't feel bad before).

<comment><USER14> The app was sent out through the free version of a beta testing platform.

[https://www.theverge.com/2020/2/4/21122737/iowa- democractic-...](https://www.theverge.com/2020/2/4/21122737/iowa-democractic- caucus-voting-app-android-testfairy-screenshots-app-store)

<comment><USER15> Why? Ponying up $100 for a developer certificate is too much?

<comment><USER16> It is when you workhorse dev is an intern I guess...

</comment></comment></comment></comment><comment><USER17> If there's any good that comes out of this, it's that people will hopefully see the value of physical paper ballots or records.

<comment><USER18> There always was a paper trail. The purpose of the app is/was to send a set of numbers from the precinct to central.

<comment><USER19> I'm kind of amazed at how it failed. 1,681 precincts in Iowa - that data could fit on a floppy disk.

<comment><USER20> IKR? And for all options they may end up with, they chose an APP. WHY? Does laptop not exist anymore? Does phones lack the ability to open webpages anymore?

Hasn't logging in been one of the things we perfected over 30 years?

<comment><USER21> Yes, if you want to have a small tool for volunteers without logistics of shipping machines, laptops don't exist anymore. Developing desktop software for such purpose is way more complex, especially when considering updates etc. Which Windows version are you targeting? And Mac? What libraries you need?

For app development, even if for two platforms (Android and iOS) it is a lot simpler these days, than desktop.

<comment><USER20> The alternative is web, not desktop.

<comment><USER21> The GP asked "Don't laptops exist anymore" to that I answered. And no - <USER2> webapp isn't an alternative for those crappy laptops, filled with viruses, outdated browsers, and/or weird privacy plugins the (grand-)son installed are not an alternative. (We could argue about requirements of integrity here ... an app can offer a little bit more than a webapp on an arbitrary windows PC ... But integrity can be guaranteed by having the second channel (other people watching and then comparing published results) as there is no secrecy involved (for one we talk about summaries, for second caucuses are public anyways))

</comment></comment></comment></comment></comment></comment></comment><comment> geoff-dot What did this app do exactly? It was just a reporting app, I'm assuming that the source data collected, albeit perhaps in different formats, lived somewhere else and that there wasn't a lot of data or a lot of variations. From my understanding it seems there was an Auth0 redirect issue, but why wasn't this just a night of taking the source data and doing scripting then shipping out the reports via a secure DropBox type service? We've all be there where an ETL job fails, since it isn't critical (e.g., financial transaction), it wasn't tested every which way and we just had to some scripting.

Even if it is, say, 500TB of data, in 300 different formats usually those formats aren't drastically "different." Maybe I'm not understanding what the application was supposed to do to not understand why this wasn't solved every quickly. Or maybe given the timeline it was solved quickly once the right people got involved and figured out what needed to be done.

</comment><comment><USER22> $50000 for a mission critical, scalable app? They got exactly what they paid for.

I would have written an app that doesn't work for only $25000

<comment><USER23> Alternatively, they could have paid IBM a billion dollars and still gotten an app that didn't work. At least they saved some money?

<comment><USER22> Well, at least if they paid a billion dollars they could have had an expectation that the app would work, and they could sue IBM if it didn't. Indeed at that $$$$$ they would have been ripped off though!!

At $50k they certainly weren't going to get what they wanted delivered, and they have no-one to blame but themselves.

</comment></comment></comment><comment><USER24> Shadow has got to be the worst name for a company associated with politics, unless you want to rub it in everyone's face

<comment><USER25> I'm truly astounded that anyone thought this was a good name and took the time to write this marketing copy:

 _Why Shadow?

When a light is shining, Shadows are a constant companion. We see ourselves as building a long-term, side-by-side "Shadow" of tech infrastructure to the Democratic Party and the progressive community at large._

[https://shadowinc.io/about](https://shadowinc.io/about)

<comment><USER26> That makes it even worse.

<comment><USER27> Really? They're basically saying: 'shadow' is your 'buddy' who is always there for you. So, we want to be that.

In retrospect, it sounds bad but really, it's just a nothingburger.

<comment><USER28> Given the party tried to make them hide their name, can we really only say it is retrospect?

</comment></comment></comment></comment></comment><comment><USER29> I'm all about Hanlon's razor but naming the ticking time-bomb of a voting software startup "Shadow Inc." seems a bit too on the nose to be pure stupidity.

Everything about this reeks of a publicity stunt to "ruin" electronic voting in the public eye.

</comment><comment><USER30> More info:

[https://thegrayzone.com/2020/02/04/pro-israel-buttigieg- seth...](https://thegrayzone.com/2020/02/04/pro-israel-buttigieg-seth-klarman- iowas-voting-app/)

<comment><USER31> That's not a reputable source in any way, please do not promote conspiracy sites.

<comment><USER30> ...says the greenbean account. Blumenthal is an excellent reporter, and all of his reporting is extensively sourced. The article linked above is liberally peppered with links to sources, several per paragraph. If there's anything there you doubt, you can just click through.

</comment></comment></comment><comment><USER32> How long will it take our society to realize that democracy is threatened when machines are involved in voting or vote counting?

Going back to voting exclusively by ink on paper and hand counting is imperative.

<comment><USER33> Paper ballots with scanned results in the booth. No scan means redo your vote. That way you have a track record + instant results.

Folks can take home the stub to ensure non-repudiation etc..

They can look up the serial number on the stub they take home to see for sure it was recorded.

FYI we should also have basic ID requirements for voting. The arguments against it are kind of ridiculous, and federal or state ID should be free.

There should be no 'voter registration' required either: the state knows your address and that's that.

For lighter elections like city alderman, you can use your ID + passcode to SMS or email your vote.

Maybe make a law requiring that any tech used for legal voting has to get the thumbs up from the NSA or some super amazing agency that is also secular in nature. None of this 'quickie app for voting' rubbish.

At this point, I hate politics so much, I think every nation needs a 'caretaker' Pres/PM from the bureaucracy - someone who can clean out the cobwebs, get rid of a bunch of old laws, clean up the tax code, take on the public unions (I mean reform not destroy, I mean teachers probably need higher salaries) and basically do a big, operational house cleaning that has nothing to do with politics.

<comment><USER34> _At this point, I hate politics so much, I think every nation needs a 'caretaker' Pres/PM from the bureaucracy - someone who can clean out the cobwebs, get rid of a bunch of old laws, clean up the tax code, take on the public unions (I mean reform not destroy, I mean teachers probably need higher salaries) and basically do a big, operational house cleaning that has nothing to do with politics._

You realize that every single thing you said there is political, right?

<comment><USER35> Why would an operational house cleaning be political?

<comment><USER34> I'm going to assume good faith here, and answer it seriously.

> "clean out the cobwebs"

This isn't specific enough to respond to.

> "get rid of a bunch of old laws"

Which ones, and why? Sure there are probably some like where people can tie up horses or something that aren't especially relevant, but having them there causes no harm because they aren't used.

> "clean up the tax code"

There is no way to do this without creating winners and losers. Choosing who wins and who loses is a political act.

> "take on the public unions"

Taking on unions is one of the most political acts you can do. Whether or not it is "right", unions are a powerbase of some political groups.

> "operational house cleaning that has nothing to do with politics"

What - specifically - do you mean? The two examples you give here are highly political.

<comment><USER35> I only asked why operational house cleaning would be political

</comment></comment></comment></comment></comment></comment><comment><USER36> This app failed because no one did enough testing and enough training. What I saw was a relatively simple app to input some data. The problem seems to have been that they never tested it at scale and they assumed that all the users would be able to download it and use it.

My experience is that customers hate to pay for testing once they see the product running. They assume that it's done. I had a customer tell me that if I did the programming right it should always work and testing should be minimal. I had to explain to him that that's not the case with software and testing is one of the most important parts of the software development cycle. He felt it was a waste and that I was looking to add extra costs for no reason.

I bet there was not enough money. People seem to feel that a few grand will cover the costs. They figure 10k is an outrageous amount. What they don't seem to understand is that it will barely cover the costs of planning the app.

Both the developers and the people that approved the app for use need to take responsibility. Too bad since it could have saved a lot of money and time in the long run.

BTW, this could have been a Google Form with a spreadsheet as a back end. But user training would have still been an issue. You can't get around that.

</comment><comment><USER37> This should really be getting more attention, here is an alternative breakdown: [https://imgur.com/gallery/ycOC0HX](https://imgur.com/gallery/ycOC0HX). The jest of it is one of the most important institutions in the United States (the Democratic National Committee) uses a highly nepotistic and incompetent system for managing IT which leads to colossal failures in marketing, canvassing, and security. Not to mention massive PII violations as millions of emails, phone numbers and SSNs, are passed around in plain-text via CSV files.

The reason this happens is because hundreds of millions of dollars are lit on fire during election season and all the sharks, including former Google employees, come out to swim. Even well intentioned projects get slammed by the crunch of the election season (seriously try shipping a well scaled app in < 2 months with terrible product direction) and ultimately fail - failing the needs of the entire citizenship of the country.

After the success of Obama's 2008 and 2012 campaigns even more money was funneled into IT as a sort of perceived silver bullet. But in 2016 it wasn't, and yet no analysis was done to correct the problems for the 2020 cycle - because the decision makers (all these "CTOs") are clueless fucks who are just there for the money and could care less about the integrity of our democratic system.

\- in 2016 I worked for one of the companies in this niche and saw the bidding/sales/engineering processes first hand. FWIW I am a life long democratic voter and this makes me sick to my stomach.

<comment><USER38> The DNC doesn't run the Iowa Caucuses.

<comment><USER39> Tell that to Tom Perez [https://twitter.com/jeffzeleny/status/1225472426894647296](https://twitter.com/jeffzeleny/status/1225472426894647296)

<comment><USER39> Now it seems the DNC also needs to be told it as well: [https://news.yahoo.com/shadow-inc-idp-contract-dnc- documents...](https://news.yahoo.com/shadow-inc-idp-contract-dnc- documents-224407455.html)

</comment></comment></comment></comment><comment><USER40> I don't agree with the use of an app here for many reasons. That said, such an app would basically need secure authentication and a form to upload some pre- templated numbers.

It seems pretty hard to screw that up so badly but clearly it's quite easy to make a complete dumpster fire from those requirements.

<comment><USER41> From this article,

[https://www.theverge.com/2020/2/4/21122737/iowa- democractic-...](https://www.theverge.com/2020/2/4/21122737/iowa-democractic- caucus-voting-app-android-testfairy-screenshots-app-store)

they used the a free tier of TestFairy that limited the number of test users to 200 and on iOS used TestFlight and did not use either the app store for the final version or make an enterprise version, and possibly could not distribute the app to the approximate 1700 users. They still would have needed to get the app through the app store approval process for general release to fix the app at least on the iOS side as far as I understand it. To fix it quickly would have just required them to go back to calling in results by voice as in past years. Don't know why they did not just do that.

<comment><USER42> _> To fix it quickly would have just required them to go back to calling in results by voice as in past years. Don't know why they did not just do that._

They did that - but apparently the phone number for calling in the results was the same as for "help my app doesn't work", so the phone line was flooded. Unfortunately I don't have the source link to hand, so feel free to treat that as hearsay.

However, CNN had a live cross to someone trying to call in their results, and after an hour on hold, when they finally got through, the other side hung up on them while they were broadcasting live on air:

[https://www.washingtonpost.com/nation/2020/02/04/iowa- caucus...](https://www.washingtonpost.com/nation/2020/02/04/iowa-caucus-cnn- sebastian/)

 _" It took an hour and a half for Shawn Sebastian to get hung up on in 10 seconds. And it unfolded on national television Monday, making the moment, in the words of some, "one of the most ridiculous things I've seen on cable TV.""_

</comment></comment></comment><comment><USER43> A small drop in the sea of technical problems: did anyone design the app to work for ages 20-90? People well in their 80's work caucuses.

Ok, did anyone actually _design_ the app?

</comment><comment><USER44> According to multiple reports, the vote counts entered into app and sent were not what was received by HQ. How do we know that the company wasn't paid to change the numbers on the backend? How would the numbers change by themselves? I'll be called a tinfoil-hatter for assuming malice.

</comment><comment><USER45> This is why we need to start using Byzantine Fault Tolerant distributed systems to vote via our mobile phones. No need for a voting holiday or standing in line. Bigger turnout, too. If it's secure enough for banking apps, why not for opt-in voting via app.

Maybe it's too hard to move to electronic voting nationwide. But every organization has governance and could use an electronic voting system based on BFT consensus of mutually distrusting parties. Vote using an app, it gets stored "on-chain", then you can check it on another app.

</comment><comment><USER46> I think the great problem of our age is that UAT is nothing like production.

<comment><USER47> This makes a pretty big assumption that UAT was even done. Or rather, UAT == production in Iowa.

</comment></comment><comment><USER48> Are we irrigating our crops with Brawndo yet?

</comment><comment><USER49> This Motherboard article has more details on the app including screenshots [https://www.vice.com/en_ca/article/y3m33x/heres-the- shadow-i...](https://www.vice.com/en_ca/article/y3m33x/heres-the-shadow-inc- app-that-failed-in-iowa-last-night)

My favorite screenshot is the last one, it looks like a generic mobile Firefox error for a misspecified URL.

<comment><USER50> Wow! That provides some great info on this. Still leaves me wondering if the end result wasn't by design though. It's kind of hard to buy into the "Opps" explanation.

<comment><USER49> It certainly could've been done by design but I think more likely this was a doomed project from the start. They rushed this app out with too little time for testing.

I don't want to speculate too much on that screenshot but it looks like they have an error in their Auth0 integration. When you use a service like Auth0 you give it a redirect url to send authenticated users to. It looks like they passed in an invalid url for that redirect. Maybe they only tested this 2fa step locally and something was different when they deployed to users' phones, I can't say for sure, but it doesn't look good.

</comment></comment></comment><comment><USER37> This should really be getting more attention, here is an alternative breakdown: [https://imgur.com/gallery/ycOC0HX](https://imgur.com/gallery/ycOC0HX).

The jest of it is one of the most important institutions in the United States (the Democratic National Committee) uses a highly nepotistic and incompetent system for managing IT which leads to colossal failures in marketing, canvassing, and security. Not to mention massive PII violates as millions of emails, phone numbers and SSNs, are passed around in plain-text via CSV files.

The reason this happens is because hundreds of millions of dollars are lit on fire during election season and all the sharks, including former Google employees, come out to swim. Even well intentioned projects get slammed by the crunch of the election season (seriously trying shipping a well scaled app in < 2 months with terrible product direction) and ultimately fail - failing the needs of the entire citizenship of the country.

After the success of Obama's 2008 and 2012 campaigns even more money was funneled into IT as a sort of perceived silver bullet. But in 2016 it wasn't, and yet no analysis was done to correct the problems for the 2020 cycle - because the decision makers (all these "CTOs") are clueless fucks who are just there for the money and could care less about the integrity of our democratic system.

\- in 2016 I worked for one of the companies in this niche and saw the bidding/sales/engineering processes first hand. FWIW I am a life long democratic voter and this makes me sick to my stomach.

<comment><USER51> Please don't post duplicate comments to HN. In addition to lowering the signal/noise ratio of the site, it creates a big pain when we go to merge threads (as happened here).

If you want to refer to something you said elsewhere, please use a link.

<comment><USER37> My bad, I got emotional over the content discussed and just copy-pasted the content because it seemed like the original thread would be eclipsed. I'll make sure not to do it in the future and in general have a great appreciation for the work you do moderating HN - I imagine it is quite stressful at times.

<comment><USER51> Much appreciated! And no worries—similar things happen to everyone and we're all learning.

</comment></comment></comment></comment><comment><USER52> "[topic] was supposed to [perform action on] X, instead, it may have [performed in inverse action]."

</comment><comment><USER53> The owners and staffers at Shadow INC have a severe conflict of interest. The company is loaded with former Clinton staffers and the CEO sent a tweet in support of Buttigeig, who recently paid tens of thousands to the company.

Other suspicious dealings are a premature victory announcement by Buttigeig's campaign and a leak of a picture of paper tallies which included a PIN allegedly used to login to the tally app. Looking for the tweet now...

>[https://townhall.com/tipsheet/leahbarkoukis/2020/02/04/shado...](https://townhall.com/tipsheet/leahbarkoukis/2020/02/04/shadow- hillary-staffers-n2560675)

Edit: I'm not necessarily trying to suggest anything, but I'd like to point out that this post went from +10 to +2 in a matter of minutes.

<comment><USER54> Should a company's employees/CEO have to be apolitical? I'd be surprised if there is such a company where none of its employees are involved in politics in any way. Especially if its a company whose sole purpose is developing software for a political party.

<comment><USER53> No, but until recently it was professional to keep your politics private and, more importantly, when there are inconsistencies disproportionately favoring an otherwise less popular candidate, public support from employees and especially the CEO, in conjunction with a money trail, these personal indicators of bias become relevant for justification of suspicion.

<comment><USER55> How is this even helping Buttigieg?

There doesn't seem to be any indication this was anything but a regular screwup. Throwing around suggestions of a vague conspiracy looks unwarranted.

You're suggesting that to avoid suspicion companies providing services to political campaigns must be apolitical and to have never previously provided services to a candidate in the race or any previous opponent of a candidate in the race. How could that even be possible?

<comment><USER30> _How is this even helping Buttigieg?_

The count has been frozen at "62%" for six hours now. That just happens to be the first/only level at which "Mayor Pete" had a delegate lead over Bernie, even though Bernie still leads the popular vote. Several days from now, when the count ticks up to 100%, Bernie will lead both measures by large margins. Still, in the meantime, the corporate media can pretend like the Mayor is ahead. They know he's going to bomb in SC worse than Biden bombed in Iowa, but they're hoping that somehow they can get him to "Super Tuesday" when the other Mayor can take over for him due to his 9-figure ad spend.

Of course, the idea that the perfect candidate to beat a vain old NY rich guy is another vain old NY rich guy _who also banned soft drinks the last time he held elected office_ is risible, but they don't care about that. The point is to ratfuck any candidate who might plausibly do fewer stupid wars.

<comment><USER55> But your scenario doesn't actually help Buttigieg. Also the app people can't control the timing of the manual reporting, so there would somehow be a completely new element of the conspiracy. And you're switching from a conspiracy orchestrated by Buttigieg to one orchestrated by the corporate media, Bloomberg, and/or the industrial military complex.

<comment><USER30> Buttigieg is 38 years old. His previous jobs were with McKinsey and "military intelligence" and his previous election total was 8,000 votes. He isn't trying to _win_ the presidency. Iowa itself is a tiny state with a tiny number of convention delegates. The whole point of Iowa is that the winner gets some momentum. In this case, the winner won't get any momentum. That's the point.

Some people like to bore us with the "once is a coincidence" maxim. Some of them might like to pretend that this caucus is "once" and we'll have to wait a week or two to get upset about the ratfucking. Normal voters can remember four years ago, however, and this isn't even just the fourth time the national "Democratic" apparatus has ratfucked Bernie.

</comment></comment></comment></comment></comment></comment></comment><comment><USER56> Should Google or Apple take the app off the app store? Seems like a scam...

<comment><USER57> An app like this should not be on any app store ever. You want only pre-chosen people to have access to the app. It does no good for anyone else to have access to this and it can hurt.

4 years ago I had the Republican app on my phone. I was the backup reporter just in case the main reporter had problems. Since the main reporter used the app correctly I didn't use it, but I had access to it.

<comment><USER58> Access to install the app MUST not constitute Access to the system behind the app.

<comment><USER57> I agree, and there was more security. However access to the app implies the ability to DoS the remote with too many login attempts... Restricting access to the app was just one layer in the security scheme making it a little harder for someone who wanted to mess with the system.

</comment></comment></comment></comment><comment><USER59> Is it just me, or is the money just draining away from the economy right now? It's like we were all splashing around in the ocean and suddenly everyone is noticing that their toes are touching the bottom, and there's a few people standing on the steps, floaties on, looking around at us in horror.

</comment><comment><USER60> Let me get this straight. A company deeply embedded in the Democratic establishment (0) that has worked directly with Buttigieg — the candidate with close ties to Facebook aka the company undermining democracy since 2016 — managed to totally screw up, potentially undermining the campaign of Sanders, the anti-establishment candidate.

Yeah, democracy is fucked.

0\. [https://theintercept.com/2020/02/04/iowa-caucus-app- shadow-a...](https://theintercept.com/2020/02/04/iowa-caucus-app-shadow- acronym/)

<comment><USER61> If you are arguing a conspiracy of some kind it is probably best to rule out incompetence before moving on to active malfeasance. This is after all the same political party that managed rollout of the non-functioning Obamacare website.

<comment><USER62> Please provide a reason why incompetence is any likelier than malfeasance.

<comment><USER16> Because for malfeasance you need to be smart and clever and for incompetence you need to be dumb or just tired that day and write a typo.

<comment><USER63> For malfeasance to remain undiscovered you need to be smart and clever.

For the kind of malfeasance that concatenates an SQL query with user input and then shows the whole thing to the user in an error message, you don't need that.

</comment></comment></comment></comment></comment><comment><USER64> This is ridiculous. Paper. Use a Paper as the true vote. Cross check after that. I have read so many comments on here up-selling the ability of technology but no one in this thread has the answer. It's apparent.

Do the paper vote - as it was always done. Let our technology analyze it afterwords. Why are we all trying to put our technology in front of this simple device. of paper.

You all know this rule = "make a single application do one thing well."

Again, this is ridiculous from a Credibility sense. Paper + networks, Paper + mobile, forget the paper, Mobile only, Mobile + scale. Where are we at? No where and much less. Just take a paper vote and tally it. Is that so hard?

</comment><comment><USER50> I think the author's take on this is a bit heavy with hyperbole, but there's no doubt Iowa was a mess last night.

My son was there working as volunteer, and so was his ex-girlfriend, who's still a close family friend. I was chatting with them both throughout the evening and into the wee hours this morning.

They worked different locations in the Des Moines metro area and the results they reported to me were pretty close to the same in both.

I'll say this about it, it's hard to imagine that less than 4500 calls to a server over the course of an hour or two would "crash" it, or even ten times that number. And that I think an SQL db is a poor choice for an app like that.

CouchDB, or most any open source "nosql" db, would've been a better choice and, really, so would a dead simple flat file db to store the data for each precinct in and those are both very easy to build for something as simple as this.

And they didn't even need an "app" per se. All they needed was a password protected web page with a dead simple form.

What happened makes it a bit difficult to avoid pondering if the delays weren't deliberate. Whatever the case may be, the DNC is who ended up taking it on the chin.

<comment><USER65> Any database should work just fine for this application. 1678 precincts. 11 candidates. 2 rounds. That's 37 thousand records to fully represent everything.

<comment><USER50> With CouchDB you could have all that data in 1678 human readable files.

Or 1678 password protected databases with one or more human readable files in them and let CouchDB handle user auth, which CouchDB makes really easy.

You could do the same thing with a simple flat file database using directories and files and system level user access, and it'd be very fast too.

This is pretty much the kind of thing CouchDB is designed for though and has tools built-in to make it easy.

<comment><USER66> I have a feeling you haven't used SQL databases very often.

This is exactly the kind of thing that SQL database is shine at and noSQL databases do poorly.

<comment><USER50> > I have a feeling you haven't used SQL databases very often.

No, I've not. I just never liked the way it worked so I have to honest and open about my prejudice.

> This is exactly the kind of thing that [...] noSQL databases do poorly.

That's really not true. I've built web apps that do pretty much exactly what that voting apps does and I use CouchDB to do it because it was built specifically for this kind of thing, and it makes it very easy.

That's not the same as saying SQL won't work. Or even that it's a bad choice by design if it's what you're familiar with and good at using it.

How much time have you spent with CouchDB?

I do know that those coming from a long history of using SQL dbs often have a hard time using CouchDB. I had a hard time with SQL, so maybe it's a right brain/left brain kind of thing. Or maybe it's just not really wanting to learn a different way to do what you already know how to do with a different tool.

I chose to use a hand rolled flat file database early on (around 2000) as a backend for my web apps. When CouchDB hit v1.4 I switched to it because it worked very much the same as my db and offered a lot of advantages. It's gotten a lot better over the years since too.

So yeah, my view comes from a different perspective.

<comment><USER34> (Not the person you are replying to, but..)

I've used CouchDB on and off for some years[1], although I've used SQL databases for longer. I've also used NoSQL databases ranging from MongoDB to Cassandra, Hadoop, BDB (and variants), DynomoDB, etc.

CouchDB (or any other NoSQL database) just isn't the best choice here. The application is literally tables of relational data with multiple simultaneous users which is pretty much the perfect use case for a SQL Database Server.

[1] Since 2010! Wow that's a lot longer ago than it seems. [https://mail- archives.apache.org/mod_mbox/couchdb-user/20101...](https://mail- archives.apache.org/mod_mbox/couchdb-user/201011.mbox/browser)

<comment><USER50> "The application is literally tables of relational data with multiple simultaneous users"

How is this data "relational"?

Each precinct has 3 numbers to submit for each candidate, that's not a big task for one person, and none of those precinct's candidates numbers are related to anything else in the db except the grand total of all precincts numbers and that's a one way relationship. The grand totals never change any of the data they're derived from.

If you want to give each candidate's precinct representative access to the precinct's db in CouchDB than you just limit their access to one file for their specific candidate in a db for their specific precinct, so by design it's purposely not related to any other candidate or precinct.

That's why CouchDB is a good choice for this kind of app.

<comment><USER34> > How is this data "relational"? Each precinct has 3 numbers to submit for > each candidate

The numbers relate to each candidate. It's that simple!

<comment><USER50> That is just silly. Reminds me of the old saying; "When all you have is a hammer everything looks like a nail."

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER67> My coworker has an alternate theory that frankly makes a lot more sense than "the app broke."

The Iowa caucus is not a paper ballot. People stand in groups in a large multipurpose room and raise their hands for who they vote for. Depending on the viability threshold, people move to new groups and are recounted.

The exact rules are complicated and the process is run by unpaid humans. Moreover, in 2020 everyone has smartphones to post embarrassing mistakes on social media. And this year is a very crowded primary for the democrats, raising the chance for error.

Under this theory, the app is a convenient scapegoat to hide the fact that the process is inaccurate and bad. For politicians this seems pretty convenient. Who would you rather blame, and decades old tradition or an app contractor?

<comment><USER68> I don't think that's a better theory. The process may be 'bad' but it has been that way, and worked, for a long time. As far as we know, the new ingredient was the app.

<comment><USER69> There were some confounding factors, like an apparent day-of decision to require the caucuses to report the results of every vote cast, not just the last one. This led to considerably higher data requirements in precincts where multiple votes were necessary to reach consensus. The new requirements were apparently not reported to the staff until around noon on the day of the election.

As anybody can tell you, nothing sinks projects faster than changing requirements late in the development cycle.

The app also sucked for another reason. Lots of Iowa is rural and cell coverage can be spotty. The app was designed with the all too common assumption in this day and age that the Internet works everywhere.

<comment><USER18> The extra information has been known since 2016. Bernie (or his campaign) asked for it as a means of providing additional transparency into the process.</comment></comment></comment></comment>


A good tiny X font - <AUTHOR> http://www.timeguy.com/cradek/01128220822

<comment><USER2> I'm normally suffering the opposite of this; the fonts are too small for my high resolution screen. Nice little font though.

</comment><comment> daniel-cussen It could use some sub-pixel rendering...</comment>


Ask HN: Thoughts on Meteor.js? - <AUTHOR> I recently read a lot about Meteor.js and its excellent packaging system. I went through their site also, but not my info give a holistic view on it. Do you think it's worth learning? <comment><USER2> I've been using Meteor in paid gigs for over a year now. I don't regret giving it a try. It was hard to get my mind around for a few weeks. But then it clicked and I saw a lot of possibilities. I've never been happier as a developer. But that's me. It fits me.

I started using Rails in professional work in late 2005. That turned out to be a good decision. There is hype around Meteor in the same way there was hype around Rails in 2004/2005\. The praise and objections are similar. Meteor is not Rails, so don't go looking for too many parallels. And the development climate in 2013 is not the same as 2005. You won't be able to predict Meteor's success or failure in five years, so it's not worth speculating.

When Rails came out, I was ready for it, technically speaking. My skills were in the right place and I was ready for a change. Similarly, I felt I was in a good spot to learn Meteor last year.

So the real question is, are you excited, ready, and able to learn it? If so, go for it. The worst that will happen is you will learn a new programming paradigm (perhaps) and it will inform any other development work you do.

<comment><USER3> Where are you finding paid gigs for it? I'm a freelance rails dev right now doing meteor stuff on the side and wouldn't mind doing some real work with it.

</comment></comment><comment><USER4> I'd recommend writing a few sample apps just to get a peek in to the awesomeness of where web technology could be going. It's hugely different to the Rails, .NET and Node stuff I've worked with to date.

Meteor buzzed me out - the auto-updating views, syncing data across client & server. Your app can achieve amazing real-time capabilities with very little code.

But now I'm a few thousand LOC into an application, admittedly I've pretty much hit the "wall". The magic baffles me. I'm struggling to solve problems in performance, code organisation and security.

I've been disappointed by the progress and the team behind it. All that funding and I can't see it progressing quickly. The docs are quite weak, there's not many example apps, progress seems slow.

So... on one hand it's awesome and well worth learning. But I'm reluctant to back it for the long term, as I don't see the team/framework moving in the right direction.

T

<comment><USER5> Core dev here -- I've been doing some work here and there on framework security and I'd love to talk about the security problems you're running into, if you wouldn't mind shooting me an email sometime.

</comment></comment><comment><USER6> I wrote about Meteor here: [http://blog.jasoncrawford.org/meteor- demystified](http://blog.jasoncrawford.org/meteor-demystified)

Bottom line: Very interesting platform; nicely done in many ways; some concerns about architectural choices; not quite ready for prime time (production use) but probably will be soon.

</comment><comment><USER7> My biggest issue with all of the frameworks is their lack of maturity. If you're working on a large platform with a team of people, you're going to want database migrations, localisation/i18n, asset management, proper testing framework, continuous integration and general proof of scale.

Meteor.js seems great but is still a bit of a gimmick in my eyes. But If I'm pressed to pick one, I have to say I'm much more interested to see what happens with Go and web frameworks like martini.

</comment><comment><USER8> I want to clear some things:

0\. Meteor is in version 0.6.6.4 so there are things not as good as they could/will be.

1\. scaling: meteor is 100% scalable. There are meteor smartcollections which use the MongoDB optlog. Nice read: [http://meteorhacks.com/lets-scale- meteor.html](http://meteorhacks.com/lets-scale-meteor.html) .

2\. Right now you have to stick to MongoDB this will change in a later version.

3\. Meteor will get a new rendering engine which will allow you to put angularjs( god only knows why ) or haml or some other templating thingy in meteor.

4\. You can use meteor with phonegap right now.

Will meteor solve all your problems? No!

Will meteor will make you not think? No!

It's a great new piece of technology and you will learn new pattern and things. the livedata package and ddp package are great packages on their own.

<comment><USER9> Using the oplog of a single mongodb server limits you to the write capacity of one server. This is not scalable at all in the use of scalable that means more machines== more throughput.

<comment><USER8> have you read the article ?

<comment><USER9> Yes it lets you add multiple meteor servers not multiple mongo servers

</comment></comment></comment></comment><comment> ezequiel-garzon ... or Derby [1]. I'm curious about things the HN crowd has been building with this kind of stack.

[1] [http://derbyjs.com](http://derbyjs.com)

</comment><comment><USER10> > Do you think it's worth learning?

Everything(almost) is worth learning , the question is , is it worth using ? you give 0 clue as to why you'd need that stuff.

<comment><USER11> +1 for this point. In the end, you've only spent time if you learn a technology that you end up not using. Meteor.js might teach you lots about modern web apps. That knowledge will be transferrable, even if you don't end up working on web apps.

</comment></comment><comment><USER12> Reading 'Discover Meteor' and consulting the docs will give you all you need to create a great realtime application in short time. It's a real pleasure to work with Meteor and the realtime web feels just a few steps away.

I built [http://opentalk.me](http://opentalk.me) with it

<comment><USER13> +1 for this book. Super straightforward and easy to follow.

</comment></comment><comment><USER14> Its lots of fun learning with it. It tries to remove as much boilerplate as possible.

They have packages to take care of most of the stuff for you such as their accounts-ui package.

One helpful place to learn meteor from beginner to advanced is via the screencasts on.

[http://EventedMind.com](http://EventedMind.com)

</comment><comment><USER15> Of Course Yes. Just spend few hours with DiscoverMeteor[0] book. You'll be amazed.

[0] - [http://www.discovermeteor.com/](http://www.discovermeteor.com/)

<comment><USER16> I would work through a short Meteor tutorial before buying the book. The following is an excellent working intro: [http://www.smashingmagazine.com/2013/06/13/build- app-45-minu...](http://www.smashingmagazine.com/2013/06/13/build- app-45-minutes-meteor/)

<comment><USER15> Yes. Go ahead with that. Author is the same. But I highly suggest to follow the book, since it talk to the point and saves a lot of time.

</comment></comment></comment><comment><USER17> Our company has doubled down on Meteor. We start all greenfield apps in meteor now.

The biggest negative is simply the immaturity of the ecosystem. Everyone has different standards. There are no de facto standard packages (yet). Everything is changing rapidly. What worked well last week may not work well this week. The bleeding edge truly bleeds.

From a pure technology perspective, I'm excited about meteor because (to use a cliché) it shifts the paradigm. I wouldn't compare it to Rails/Ember/Backbone/etc because meteor is full-stack. There is no client/server. There's no ajax. Everything is one codebase. Even though it's built on top of node, it doesn't even feel like node because of the reasons above, and most of meteor is synchronous.

We wrote a couple blog posts about making the jump to meteor. I think the 1st one directly answers your question. The 2nd caused quite a stir here on HN.

[http://differential.io/blog/the-current-challenges-of- buildi...](http://differential.io/blog/the-current-challenges-of-building-a- meteor-app)

[http://differential.io/blog/meteor-killin- rails](http://differential.io/blog/meteor-killin-rails)

</comment><comment><USER18> I looked at it pretty heavily about 6 months ago (version 0.6.3 I think), so things have certainly changed some, but my thoughts were:

\- It's nice that it comes with pretty much all the grunt work done, out of the box (asset packaging, live reload, deployment bundles, even the database!)

\- It reminds me of early Rails, as it is still in a bit of a "hacky" phase. The level of commenting in the code is very low, there's TODO's everywhere, lots of things are shoved into the global namespace, etc. This is a sharp contrast with Angular or Ember, which have codebases I'd be proud to have my name on.

\- The template binding is done in a simple-yet-effective way, which works without being too complicated but if your data isn't just a simple key/value map you'll need to learn a bit about it.

\- Perhaps due to the simple binding, it's possible to use legacy code (e.g., jQuery plugins) in a lot of places where it would be tricky with Angular/Ember.

\- It's very opinionated and you certainly wouldn't want to stray from the "happy path" of what's included in the stack (e.g., mongodb.) This was pretty much a deal killer for my app, though every case is different.

</comment><comment><USER19> Yes, it's worth learning.

3 good reasons why:

1\. It's ambitious.

Meteor is not yet another nodeJS web-framework or client side JS framework. It also doesn't stop at combining the both (with a beautiful DDP to share data between C/S). Meteor' s architecture will make it possible to use it's components for all sorts of applications (other then the obvious web-apps).

2\. It's as easy or as complex as you want it to be.

You can write a meteor app in 4 files or in a complex packaged structure. No need to overcomplexify, if you dont't want to. But you cán write large, complex, stable and maintainable code.

3\. It embraces the eco-system.

You can rely on all of the NPM packages out there for your serverside logic and use all of the available frontend UI libraries and scripts. It will also enable writing complete reusable components in 1 package: servers-side logic, data-model, client-side logic, UI, ... all in one.

Biggest upcoming updates:

* Meteor UI. Better approach then any other UI framework out there (including Facebook's react or FTLab's fruitmachine)

* Galaxy. Deploy and scale your app on your own infrastructure or in the cloud by pressing a few buttons.

To counter a few of the cons in this thread:

* It's not reached 1.0 and it is therefor not production ready. I'd suggest writing your new applications in meteor anyway. Meteor matures quicker then any other framework out there. Is is well funded and here to stay.

* It is not scalable. Maybe not easy right now to make it scalable. But it certainly will be soon, when using mongodb oplog and galaxy will make it really easy to scale your service.

I run an agency in Belgium (redandivory.com) and we switched completely to meteor for all of our new projects. I think it's the framework of the near future.

<comment><USER20> >* Meteor UI. Better approach then any other UI framework out there (including Facebook's react or FTLab's fruitmachine)

Why is it better? I've used Meteor UI and it blows (so far). I'm interested in knowing why the new one will be better than react or say angular.

</comment></comment><comment><USER21> Meteor is one of the most comprehensive and smooth frameworks for making web applications available today. It solves a ton of problems with a few overarching concepts: [http://docs.meteor.com/#sevenprinciples](http://docs.meteor.com/#sevenprinciples)

</comment><comment><USER22> How well does Meteor scale? Could a multiplayer game written with Meteor handle the HN crowd hitting it? I'm thinking of writing something like this and Meteor would be perfect if it's amenable to authoritatively sharing state between thousands of connections.

</comment><comment><USER23> If you are familiar with front-end JS frameworks like Backbone/Ember/Angular, then learning Meteor is as simple as a read through the docs and building a sample app.

If not, then learning Meteor would be a great way to become familiar with JS frameworks, and make the move to more complex frameworks (Angular FTW!) in the future.

Either way, awesome tool!

</comment><comment><USER24> As a developer I think "Wow, impressive". They have serious creativity and brainpower on that team. But, as a developer I also think how much magic must be going on there. I've always been a lightweight framework kind of guy Sinatra over Rails, Backbone over Angular. I'm not their target.

</comment><comment><USER25> I use Meteor for a dashboard app and this seems to be the ideal use case for this stack: take JSON documents via third-party APIs, aggregate them (hence MongoDB is fine for the job) and push to clients.

Was it worth learning? I'd say yes, it has a low barrier to entry and is great for practicing front-end development.

</comment><comment><USER26> Meteor is good, but not at everything, so it's very important to understand the trade-offs.

 _Pros:_

0\. Obviously, its major strength is its "real-time"[0] nature: I have built multiple chat systems (and presumably so has anyone else who's used Meteor, because it's an example of something that's fun and easy with Meteor but relatively hard with a traditional stack) as well as a map application that tracked the motion of a company's employees in relation to their destination (as part of a dispatching system).

1\. It's also the least complicated way of sharing code between the browser and the server that I've seen to date.

 _Cons:_

0\. It's non-npm package manager feels like NIH to me (although I'm sure the team had valid reasons, I've never looked into it). Apparently it's still possible to require npm modules[1], although I've never tried it.

1\. You're more or less stuck with MongoDB for the time being, which I guess a lot of people like but it's not really my thing.

2\. There's not really any SEO capability, but that's sort of a given. Just don't use Javascript frameworks for that sort of project (or do, and do all sorts of weird shit to help Google).

3\. It's kind of too auto-magic for me sometimes. The documentation is generally very good, but I occasionally run into weird variable scoping issues and the like, without any way of really figuring out what's happening. Of course, the source code is available[2] if I had time to read it. (Well- written, but big, and I find reading Node code to be mentally more taxing because of all the callbacks.)

4\. The biggest con, for me, is that Meteor is basically limited to web applications. I really enjoy the typical single-page web app approach of building an API first, which you can access from other apps later (ie. mobile/tablet). I have no idea how I'd do that with Meteor. I'm experimenting with bundling a Meteor project and inserting the client-side code into a Phonegap app, for a mobile chat thing I'm working on, but that's obviously not ideal.

Generally, I love working with Meteor. I know I've written more cons than pros, but the pros I've listed are _huge_ , and they've allowed me to work on cool stuff. You just need to know what you're getting into.

 _Footnotes /Links:_

0\. The scare quotes are for the people familiar with embedded real-time systems who seem to always find these comments and complain about how that word has an entirely different meaning when it comes to web applications.

1\. [http://stackoverflow.com/questions/10165978/how-do-we-or- can...](http://stackoverflow.com/questions/10165978/how-do-we-or-can-we-use- node-modules-via-npm-with-meteor)

2\. [https://github.com/meteor/meteor](https://github.com/meteor/meteor)

<comment><USER27> [core dev] If you like to think about your application starting with its API, I think you'll really like learning more about DDP [1], the websocket JSON- based protocol that Meteor clients and servers speak. This is one of my favorite parts of the stack.

Rich clients built against a REST API tend to need some sort of client-side cache so that clients can avoid repeated RTTs back to the server for data, and thus some sort of websocket-based invalidation system so that the server can push fresh data into that cache in real time. That's doable, but a total bummer for interoperability and shared tooling. Since the implementation of those things is usually custom to each app, it's rare to see one real-time app connected to another the way we can bolt server-based REST apps together. And there's no `curl` for this kind of endpoint.

DDP is actually quite simple. The spec is just a couple pages of markdown. It lets servers publish changing data sets to the client and it implements once- and-only-once remote procedure invocation. It runs over a websocket or over SockJS. Eventually we'll also define a binary TCP/TLS mapping for use between servers.

When you write `Meteor.publish` in a Meteor server, you're defining a real- time DDP endpoint, like a streaming version of GET. The server makes the common cases easy -- publishing a realtime MongoDB query to a client is a one- line function in Meteor -- but you also have access to the low-level DDP messages if you want to do something more advanced like publishing the output of a GPS sensor or a stock ticker.

There aren't any special bindings between Meteor clients and servers, just the standard DDP messages that go back and forth. So you can implement either side of the wire using something else. And there are some third-party implementations of both the client and server in the field now. You can write a Meteor front-end against a Java DDP backend. You can connect a native iPhone app to a Meteor backend. Or you can have two Meteor server processes, one subscribed to the other. (There's been discussion of all these cases on the mailing lists. We use server-to-server DDP heavily in Galaxy, the hosting product we're working on.)

[1] [https://github.com/meteor/meteor/blob/devel/packages/livedat...](https://github.com/meteor/meteor/blob/devel/packages/livedata/DDP.md)

<comment><USER26> Very cool! I had seen the DDP notes in your repo when Meteor was first announced, but wasn't sure how established that protocol was, and how closely Meteor intended to follow it (I didn't realise it came from the Meteor team). Sounds like it's time to take another look :)

</comment></comment></comment><comment><USER28> I've played with meteor a bit and and also hacked on drorm's mysql back-end:

[https://github.com/drorm/meteor-sql](https://github.com/drorm/meteor-sql)

It works for some cases, but it quite limited in the type of database tables it will support. And in the end it's polling mysql for changes to feed to meteor clients.

I also added meteor support to a leaflet-draw package to allow users to share drawing on a map:

[http://leafletdraw.meteor.com/](http://leafletdraw.meteor.com/)

Powerful and fun!

</comment><comment><USER29> I have dabbled in it. I found it hard to learn and mysterious, but when things work it is amazing.

Meteor is a combination of handlebars, jquery, mongo, sockets, and a handful of other technologies. It can be hard to debug or develop unless you are familiar with those technologies. I think meteor would benefit from more transparency, make it clear which frameworks provide which features.

You will find more applicable documentation by searching "Handlebars Templates" instead of "Meteor Templates".

</comment><comment><USER30> It's really great technology and a lot of fun to program in! My only problem with it is its so closely tied to Mongo. There are ways around this already I believe. However official SQL support is coming soon, which I'm very excited about.

If real time collaboration is at the core of your web app, then you'll love Meteor.js.

</comment><comment><USER31> If you're looking for an alternative thats much more versatile and less opinionated I would recommend Sails.js [http://sailsjs.org/](http://sailsjs.org/) which is basically Rails for JS based on Express.

</comment><comment><USER32> As other have hinted at, it's definitely worth learning, like most things. Get roughly familiar with it and other projects, that way when it comes time to pick a tool for a project, you'll have a better set of options to pick from.

</comment><comment><USER33> I would like it to be supported on my RaspberryPi, but it isn't (apparently), so I don't use it. There are other nodey frameworks out there that just require node itself, so I'm looking at those for the moment.

<comment><USER34> There is a project PiJS: [http://www.meteor.com/blog/2013/05/28/pijs-embedded- raspberr...](http://www.meteor.com/blog/2013/05/28/pijs-embedded-raspberry-pi- apps-in-javascript)?

</comment></comment><comment><USER35> I feel scared to how incredible this framework is. It's magic that scares me the most.

<comment><USER36> You and me both buddy.

</comment></comment><comment><USER37> after reading some github issues and some source code... There is also sails, and probably tons of other express/socker-io boilerplate frameworks. But meteor has this facebook guy on the homepage. Your boss will love it.

<comment><USER15> Nice :)

</comment></comment><comment><USER38> What is the big difference between Meteor and Express?

<comment><USER39> Simply put, express is a server-side node library, Meteor is everything possible. Server-side, client-side, database, different package system, different philosophy.

</comment></comment><comment><USER40> Can anyone compare it to Opa?

</comment><comment><USER41> Hard as hell to learn, IMHO.

<comment><USER42> Really? Would be curious to know what makes you say that?</comment></comment>


Amazon Buys Zoox for 1B USD - <AUTHOR> https://www.theinformation.com/articles/amazon-to-pay-more-than-1-billion-for-self-driving-car-developer-zoox <comment><AUTHOR> For reference, Zoox was valued at 3.2B in 2018, and took in 1B in investments. Unclear what the terms of the deal was, but there is a scenario where the founders and employees get the short end.

<comment><USER2> Sure seems like employees would get wiped out for sure, but I'm curious what the terms of the latest round of funding could have been in light of the ratchets on the early rounds. Who would participate?

</comment></comment><comment><USER3> [https://outline.com/ZKzdTU](https://outline.com/ZKzdTU)</comment>


Ask HN: What are the Stripe alternatives? - <AUTHOR> <comment><USER2> I keep hearing great things about Stripe. But I live and work outside of the US (in Israel), so I can't use them.

I'm also interested in Stripe alternatives, particularly those that can work with companies that aren't based in the US.

</comment><comment><USER3> An extensive thread about Paypal alternatives is less than 2 years old: [https://news.ycombinator.com/item?id=9123336](https://news.ycombinator.com/item?id=9123336)

It might be relevant.

</comment><comment><USER4> braintree</comment>


Ask HN: What are best online resources to learn Java as a complete beginner? - <AUTHOR> Please suggest the best  online courses, books, blogs and other resources to learn Java. I am a complete beginner. Also, please suggest learning paths or ways to learn the language effectively. I'm kind of lost on where to begin from. <comment><USER2> How about a free 16-hour video course called "Java for Complete Beginners"? :-)

It's by a guy named John Purcell. The course covers Java basics pretty well (note: there may be a few new-ish things like BigDecimal that you'll need to look up later, either because he didn't get to them or, more likely, because Java may not have had them when the course was put together).

He has the course on his site, [https://CaveOfProgramming.com](https://CaveOfProgramming.com) , and it's also available on [https://Udemy.com](https://Udemy.com) as a free course and the material is also on YouTube via this playlist:

[https://www.youtube.com/playlist?list=PL9DF6E4B45C36D411](https://www.youtube.com/playlist?list=PL9DF6E4B45C36D411)

(You'll also learn how to use the basics of the Eclipse IDE as part of this course).

I'd suggest setting up Java and Eclipse on your machine and at least following along, i.e. doing what he's doing on-screen, if you can, to get it into your fingers. (Having 2 monitors would be very helpful here).

And then try to write some small programs to use what you've learned (if you can't come up with anything, you can do exercises on, e.g., HackerRank.com, Codility.com, etc.).

*

(He has some other free courses as well, including one on Java Design Patterns -- that's available at CaveOfProgramming.com and it's also on Youtube -- here's the playlist for that:

[https://www.youtube.com/playlist?list=PLtTVgBdymZBjtal6O9bw1...](https://www.youtube.com/playlist?list=PLtTVgBdymZBjtal6O9bw1esdLFiF73hdz) )

<comment><USER2> After learning the basics, this course might be helpful, by Marty Hall:

[http://courses.coreservlets.com/Course- Materials/java.html](http://courses.coreservlets.com/Course- Materials/java.html)

It's a more advanced course that will review some basics and then take you into more advanced aspects of Java programming, including Java 8. It's faster- paced than the "Java for Complete Beginners" course I described above, and is not meant for beginners, which is why it would seem good as a next step.

There are no videos, but there are PDFs, slides and source-code for download.

And it also uses Eclipse, like John Purcell's video courses.

</comment></comment><comment><USER3> Look into Derek Banas' tutorials on YouTube. They are pretty good considering the range to topics he covers.

<comment><AUTHOR> Thanks! I'll take a look at it.</comment></comment>


A Proposal for a Decentralized Youtube Alternative - <AUTHOR> https://codeword.xyz/2019/02/23/a-proposal-for-a-decentralized-youtube-alternative/ <comment><USER2> Mastadon is not decentralized. Its federated, like SMTP.

> Youtube's copyright strike system errs on the side of the entity making the > copyright claim.

Youtube is required by law to do this, else they lose their DMCA liability protections.</comment>


Women play catch-up at technology startups - <AUTHOR> http://www.washingtonpost.com/business/capitalbusiness/women-play-catch-up-in-hot-technology-start-up-field/2011/09/07/gIQASzbGdK_story.html

<comment><USER2> According to articles posted all the time, women are consistently outperforming men in university acceptance, performance and graduation rates. With trends like that, it seems that things should be getting better for women soon.</comment>


Ask HN: what do you listen to when you want to be productive? - <AUTHOR> <comment><USER3> Bach, preferably short pieces I know well; failing that, Mozart, likewise. Either can serve as a pleasant diversion for those parts of my mind which get bored and need something to occupy them while I'm hacking, without requiring anything in particular from the parts of my mind which are focused on my code. (I'm not doing either composer any favors from an artistic perspective, I realize, but it's not as though I don't enjoy their work for its own sake as well.)

</comment><comment><USER4> Depends on what productive means. For pure coding, when I want to create a bubble around me I usually listen to trance.

I had a playlist of more than 200 hundred remixes of satisfaction back in the days. Good way to code for 5 hours without putting your eyes off the screen.

When I need to think / design, it is usually some chill out (like enigma).

</comment><comment><USER5> When I'm coding I either use; www.getworkdonemusic.com or www.mynoise.net. GWD is just a soundcloud interface with some fast vocal-free techno beats, so it pumps me up while not interrupting my focus. I get frustrated with it because it breaks a LOT. I'd say ever 5 or 6 songs it will finish playing a song and fail to load the next which is absolutely attention killing when you're in the middle of a creative rush.

Mynoise.net on the other hand is absolutely incredible but it's ambient sounds. The guy who runs it is a sound engineer and he updates the site frequently with new sounds. It's seriously great. Ive donated multiple times. He now has an iPhone app as well.

I absolutely love his binaural beats, airplane cabin, sail boat noise machines.

</comment><comment><USER6> I have a playlist called Tasteless Rap on Spotify that helps me focus. Solid beats, lyrics that are pretty easy to memorize (and thus not get too caught up in), and fun. I've got it arranged into a pretty good ebb and flow of energy, so I don't get worn out halfway through. I also second @gadders' birdsong comment: it's quite lovely, especially with coffee/tea. Which reminds me, Coffitivity has been excellent for tuning out the distractions of our open plan office (it's not fully open, but the room I'm in has 4 other people with no blockage of sound or sight lines and is quite busy).

</comment><comment><USER7> BBC World Service/CBC Radio One Ottawa. The Commonwealth news media usually are more int'l than US media and focuses more on disasters such as raping, pillaging and military conflicts that's happening.

Gives me both a sense of schadenfreude about how I won the birth lottery to be born in the US; and also a sense of urgency to make use of my time more wisely vs. posting links on someone's wall when kids from schools are kidnapped for marriage.

</comment><comment><USER8> Here's a great blog post on the 5 genres of music for productivity: [http://ryanio.com/2014/music-to-get-work-done/](http://ryanio.com/2014/music- to-get-work-done/) & here's the HN discussion: [https://news.ycombinator.com/item?id=7576117](https://news.ycombinator.com/item?id=7576117)

</comment><comment><USER9> John Frusciante & Josh Klinghoffer - <USER2> ([https://www.youtube.com/watch?v=QzLo4eHlpUI](https://www.youtube.com/watch?v=QzLo4eHlpUI)). The transition at 4:08 gets me every time.

I also find listening to songs on repeat helps. I get into the "zone" faster when I'm not hearing a new beat every 3-5 minutes.

</comment><comment><USER10> I have a playlist of music I enjoy listening to when coding and/or working on the computer - [http://grooveshark.com/playlist/Programming+Music/60387099](http://grooveshark.com/playlist/Programming+Music/60387099) . I just set it on shuffle and leave it going in the background.

</comment><comment><USER11> [http://grimblee.bandcamp.com/](http://grimblee.bandcamp.com/)

</comment><comment><USER12> If I am in the office at work and I need to get things done I have some over ear headphones which are really good at noise cancelling.

I will just sit there with them on listing to nothing. Its nice as it means people will not come over and bother me; also I do not hear others working.

</comment><comment><USER13> Birdsong, so that when I'm stuck in a corporate griefhole I can imagine I am in a garden somewhere.

Also: [http://www.bbc.co.uk/news/magazine-22298779](http://www.bbc.co.uk/news/magazine-22298779)

</comment><comment><USER14> A few others have said it but I'll add another +1 to nothing.

</comment><comment><USER15> Usually prog rock/metal. Dream Theater works well.

</comment><comment><USER16> Movie soundtracks. Right now it's mostly the Daft Punk Tron soundtracks (original and remix), but also the Lord of the Rings.

<comment><USER17> Oddly enough, I find movie soundtracks to be the single most distracting music selections during work. I constantly find myself zoning out and thinking about movie scenes. For me, a soundtrack carries a heavy emotional weight similar to watching the movie itself. In the case of LoTR, I get this crazy nostalgic feeling and have a strong desire to watch LoTR again. Great movies.

I find that albums I have listened to more than 15 or 20 times help me focus the most during work or study. New albums and hip-hop both tend to distract me.

Edit: clarity

</comment></comment><comment><USER18> nothing: anytime anything is on in the background I find it to be completely distracting. This includes classical / jazz and any of the obvious non- offensive niches.

I work in an office of 8 people. 5 listen to music, 3 of us prefer silence.

</comment><comment><USER19> soma.fm groove salad channel. nothing like it. also listening to it stoned

</comment><comment><USER20> nothing</comment>


Noteleaf (YC W11) pre-meeting briefs - the "right info at the right time" - <AUTHOR> http://www.xconomy.com/san-francisco/2011/03/22/noteleaf-seeks-to-sync-up-online-calendars-contacts-for-meeting-prep-on-the-go/

<comment><USER2> Great concept with this tool; I'm sure they have Outlook on the roadmap and that should entice a huge chunk of corporate workers who are locked to Outlook. The application of this concept could be much broader (I'm sure Noteleaf has this in mind)- as a LinkedIn junkie (many of my colleagues are of the same mentality), we find ourselves doing a lot of copying and pasting of names from disparate sources (including e-mail, calendar invites, websites, etc). The ability to pull up aggregated info on an individual by perhaps right clicking and selecting such an option would have massive value. I'm looking forward to seeing where they go with v2+

</comment><comment><USER3> noteleaf is awesome!</comment>


Scientists find brain center that 'profoundly' shuts down pain - <AUTHOR> https://www.sciencedaily.com/releases/2020/05/200518145008.htm <comment><USER2> > Somewhat unexpectedly, this brain center turns pain off, not on. It's > located in an area where few people would have thought to look for an anti- > pain center, the amygdala, which is often considered the home of negative > emotions and responses, like the fight or flight response and general > anxiety.

I dunno, seems quite a sane thing to have, and seems like a quite reasonable place to have it. For example, I imagine not getting overwhelmed by pain is a good thing when you're trying to get away from the lions nibbling at your hind leg.

So what makes it unexpected, and why is it unexpected that the fight or flight response center is control of such a powerful survival tool?

</comment><comment><USER3> I think this kind of technology would have an amazing impact on palliative care. A lot of people end up suffering in the last days, weeks, months of their lives, and, with some types of disease, easing out the patient with as little pain as possible is the best we can hope for.</comment>