PicoRV32 – A Size-Optimized RISC-V CPU - <AUTHOR> https://github.com/cliffordwolf/picorv32?hn=1 <comment><USER2> Note this is the same Clifford Wolf who has built a Verilog synthesizer [1] and reverse engineered the Lattice FPGA bitstream format [2].

On a slightly different topic, the RISC-V group has built an impressive Javascript RISC-V emulator that boots Linux in your browser: [http://riscv.org/angel/](http://riscv.org/angel/)

[1] [https://github.com/cliffordwolf/yosys](https://github.com/cliffordwolf/yosys)

[2] [http://www.clifford.at/icestorm/](http://www.clifford.at/icestorm/)

<comment><USER3> Very nice!

Boot [http://riscv.org/angel/](http://riscv.org/angel/) into linux busybox in the browser

/ # cat /proc/cpuinfo

CPU info: PUNT!

/ #

What does "PUNT!" mean?

<comment><USER4> It means that the RISC-V Linux port hasn't decided what to put in /proc/cpuinfo yet. The contents of that file are not standardized across architectures, and indeed there isn't much meaningful information to provide there on certain CPUs.

</comment></comment></comment><comment><USER5> The actual verilog code is only 1450 lines. I didn't realize that you could be so productive (I've never done any chip design before, but have watched longingly for some time).

<comment><USER6> RISC-V, this is the RV32I set of instructions, is relatively simple, e.g. there is no hardware support for integer math errors, overflow, etc. besides divide by zero ([http://riscv.org/spec/riscv- spec-v2.0.pdf](http://riscv.org/spec/riscv-spec-v2.0.pdf)):

 _We did not include special instruction set support for overflow checks on integer arithmetic operations. Most popular programming languages do not support checks for integer overflow, partly because most architectures impose a significant runtime penalty to check for overflow on integer arithmetic and partly because modulo arithmetic is sometimes the desired behavior._

At this level, there's no multiply, let along division instructions (which can be OK, the original Lisp Machine didn't have any hardware support for that, the three major "upgrade" features of the LMI LAMBDA processor were speed (Fairchild FAST logic, i.e. 74Fxx parts), an extra bit of address space, and adding a TRW 16 bit multiply chip).

To a noob like me at this sort of thing, their story of how their instruction formats are particularly easy to implement sounded good.

<comment><USER7> I would see a core like this being used for things like network protocol checksum and segmentation offload or providing a slightly smarter interface to flash chips for a bigger RISC-V core, the instruction set limitations seem fine to me.

</comment></comment></comment><comment><USER8> The guys behind RISC-V have implemented some chips. A big brother of pico in 28nm is reported at [https://aspire.eecs.berkeley.edu/wp/wp- content/uploads/2015/...](https://aspire.eecs.berkeley.edu/wp/wp- content/uploads/2015/08/VLSI15.pdf)

Has anyone try to synthesize pico or similar small-footprint RISC-V? If so, we would love to hear results.

</comment><comment><USER9> I know nothing about Verilog, FPGAs or chip design.

How hard is it to go from something like this to an actual hardware chip you could put into hobby electronic projects?

<comment><USER10> This repo appears to include scripts to build this for a Xilinx 7 series FGPA. So once you buy a dev board with an Artix 7 (a quick google search shows it's about $400) and install the Xilinx tools (should be free) you can just type make and it will build the bitstream that you can load onto the FPGA.

<comment><USER7> A Parallella board is a fair bit less than $400, the Zynq is 7 series too, the scripts would need modifying a bit though.

The larger Rocket RISC-V implementation will also run on a Xilinx Zynq.

<comment><USER11> Here at Berkeley, we've successfully run our RV32I processor, Zscale, on an $89 lx9 microboard. But this took some hacking of the FPGA support repo, so it isn't officially supported.

</comment></comment></comment></comment><comment><USER12> > Furthermore it is possible to choose between a single-port and a dual-port > register file implementation. The former provides better performance while > the latter results in a smaller core.

Surely this is backwards? A dual-port register file should be faster and bigger than a single-port one.

<comment><USER13> indeed. thanks for pointing this out. I have now fixed that typo.

[https://github.com/cliffordwolf/picorv32/commit/f8c96d6d37b6...](https://github.com/cliffordwolf/picorv32/commit/f8c96d6d37b636bcfaee31642dade402bacf381e)

</comment></comment><comment><USER14> What are the chances that one day we'll have desktops and laptops running on Risc-V chips?

<comment><USER6> This as far as I know is the strongest effort there, although they're a little more ambitious, planning on adding two bits of tags to the architecture to allow some safety improvements with our current software stacks as well as the usual things you can use tags for: [http://www.lowrisc.org/](http://www.lowrisc.org/)</comment></comment>


San Bernadino suspects were discussing jihad online as early as 2013 - <AUTHOR> http://www.nytimes.com/2015/12/10/us/san-bernardino-massacre-fbi.html?_r=0 <comment><AUTHOR> In the light of this news I'd expect further resistance to end-to-end encryption from law enforcement. Considering that one leading Presidential candidate currently enjoys strong support for a blanket ban on entry to the US by adherents to a particular religion, it doesn't seem so far fetched to imagine that use of secure communication by private individuals might come to be considered as probable cause to believe that a criminal conspiracy is taking place.

While that outcome would be pendant to an unknowable election result a year from now, it's hard to ignore the fact that encryption has become an equalizing factor for would-be terrorists, and that mass surveillance/metadata examination is not as effective as we'd hope (in this case it failed to throw up a red flag on international communication between the US and Saudi Arabia (where there's an elevated probability of religious extremism) at a time when the program was still in full swing, as far as we know and most people hadn't heard of Edward Snowden.

Internet firms ignore these political considerations at their peril, as any secure channel could conceivably become a nexus for terrorist communication, and retroactive discovery could bring severe legal or political consequences. I don't think it's the responsibility of the tech industry to help governments discover, monitor, or interrupt terrorism, but politically the tech industry is a soft target compared to, say, the arms manufacturing industry.</comment>


In just 72 hours a deep learning engine has learned chess to Master level - <AUTHOR> This is an extremely popular submission, so to gather the links to the discussions in one place, I've listed them all (so far) here. <comment><USER2> I just skimmed the paper, it looks like it just uses the neural net for the board evaluation scoring, and still uses minimax with pruning to search the game space.

</comment><comment><AUTHOR> Discussion?

[https://news.ycombinator.com/item?id=10216710](https://news.ycombinator.com/item?id=10216710) : 2 comments

[https://news.ycombinator.com/item?id=10230201](https://news.ycombinator.com/item?id=10230201) : 1 comment

[https://news.ycombinator.com/item?id=10216715](https://news.ycombinator.com/item?id=10216715) : 1 comment

[https://news.ycombinator.com/item?id=10219759](https://news.ycombinator.com/item?id=10219759) : 2 comments

</comment><comment>==

Full summary:

[http://arxiv.org/abs/1509.01549](http://arxiv.org/abs/1509.01549)

      Deep Learning engine teaches itself to
      play chess to Master level (arxiv.org)

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

</comment><comment>==

[http://fusion.net/story/197214/chess-master-deep- learning/](http://fusion.net/story/197214/chess-master-deep-learning/)

      A computer taught itself to play chess
      at master level in just three days (fusion.net)

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

</comment><comment>==

[http://trendspot.it/de03](http://trendspot.it/de03)

      Deep Learning Machine Teaches Itself
      Chess Plays at Master Level (trendspot.it)

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

</comment><comment>==

[http://www.technologyreview.com/view/541276/deep-learning- ma...](http://www.technologyreview.com/view/541276/deep-learning-machine- teaches-itself-chess-in-72-hours-plays-at-international-master/)

      AI Teaches Itself Chess in 72 Hours,
      Plays at International Master Level
      (technologyreview.com)

[https://news.ycombinator.com/item?id=10216715](https://news.ycombinator.com/item?id=10216715) [https://news.ycombinator.com/item?id=10232115](https://news.ycombinator.com/item?id=10232115) [https://news.ycombinator.com/item?id=10221277](https://news.ycombinator.com/item?id=10221277)

</comment><comment>==

[http://www.technologyreview.com/view/541276/deep-learning- ma...](http://www.technologyreview.com/view/541276/deep-learning-machine- teaches-itself-chess-in-72-hours-plays-at-international-master)

      Deep Learning Machine Teaches Itself Chess
      in 72 Hours, Plays at Master Level
      (technologyreview.com)

[https://news.ycombinator.com/item?id=10224620](https://news.ycombinator.com/item?id=10224620) [https://news.ycombinator.com/item?id=10215597](https://news.ycombinator.com/item?id=10215597) [https://news.ycombinator.com/item?id=10215722](https://news.ycombinator.com/item?id=10215722) [https://news.ycombinator.com/item?id=10216710](https://news.ycombinator.com/item?id=10216710) [https://news.ycombinator.com/item?id=10232115](https://news.ycombinator.com/item?id=10232115) [https://news.ycombinator.com/item?id=10214988](https://news.ycombinator.com/item?id=10214988) [https://news.ycombinator.com/item?id=10215546](https://news.ycombinator.com/item?id=10215546) [https://news.ycombinator.com/item?id=10215675](https://news.ycombinator.com/item?id=10215675) [https://news.ycombinator.com/item?id=10217963](https://news.ycombinator.com/item?id=10217963) [https://news.ycombinator.com/item?id=10218149](https://news.ycombinator.com/item?id=10218149) [https://news.ycombinator.com/item?id=10220272](https://news.ycombinator.com/item?id=10220272) [https://news.ycombinator.com/item?id=10220568](https://news.ycombinator.com/item?id=10220568) [https://news.ycombinator.com/item?id=10230201](https://news.ycombinator.com/item?id=10230201) [https://news.ycombinator.com/item?id=10215927](https://news.ycombinator.com/item?id=10215927)</comment>


Tile Writes to EU Accusing Apple of Abuse of Power - <AUTHOR> https://www.macrumors.com/2020/05/29/tile-writes-to-eu-accusing-apple-of-abuse-of-power/ <comment><USER2> This is the same situation as with Spotify and while they're clearly trying to save their business (through a means that isn't just making a better product) I don't see a valid argument here.

The closest analogue in non-tech I can think of is if a car company preferentially sells it's own car parts. Should the 3rd party win a lawsuit against the OEM because their business is being hurt? That seems unreasonable.

The difference of course with tech is that it's easier to lock people out of your platform, but what if there's a proprietary sensor on a bumper. Are car manufacturers required to open that up to 3rd party even if it can screw with safety?</comment>


Popular torrents are being sabotaged by IPv6 peer flood - <AUTHOR> https://torrentfreak.com/popular-torrents-being-sabotaged-by-ipv6-peer-flood-150619/

<comment><USER2> Those sure are some wonky-looking addresses. None of them are even from the 2000::/3 global unicast prefix.

Seems more likely to be a bug than an attack, since an attacker would inject plausible-looking data that couldn't be filtered out so trivially.

</comment><comment><USER3> Seems like this could be solved by escalating to banning a /64 after multiple bans have been issued.</comment>


Show HN: Chirp is like an audio QR code - <AUTHOR> http://chirp.io <comment><USER2> If somebody wonders how this _sounds_ like, here is a demo: [https://youtu.be/IXuc8elSm_4](https://youtu.be/IXuc8elSm_4)</comment>


Weird thing happening when touching a Nexus 5 and a MacBook - <AUTHOR> https://medium.com/@zsedbal/weird-thing-happens-with-my-nexus-5-do-you-have-any-idea-what-s-going-on-86d8019dd04d

<comment><USER2> The Nexus 5 has a magnetic sensor to detect when the case cover is closed shut. I suspect this is being triggered by a speaker or some other magnetic element of the MacBook.

<comment><USER3> That's what I was thinking. There's also the MacBook electricity thing: [http://www.mactalk.com.au/24/113595-static-electricity- vibra...](http://www.mactalk.com.au/24/113595-static-electricity-vibration- macbook-air.html)

<comment> k-mcgrady Thanks for posting this. Good to know I'm not going crazy and my Macbook AND iPhone vibrate from time to time when plugged in.

</comment></comment></comment><comment><USER4> Is this really HN worthy?

<comment><USER5> Furthermore, I thought Medium was supposed to be a place for quality story- telling. Guess it's jumped the shark, too.

</comment></comment><comment><USER6> I've seen the opposite happen - the MacBook screen turning off - when placing an open macbook on top of a closed one. I'm guessing that case is to do with magnets activating the closed-sensor.

I've replicated this with a Nexus 6 by placing it over the speakers of an MBP (it locks the screen, rather than turning it off) which also suggests magnetic? I'm thinking Motorola planned a Nexus 6 case similar to the Galaxy Note flip cover.

</comment><comment><USER7> [http://knowyourmeme.com/memes/fucking-magnets-how-do-they- wo...](http://knowyourmeme.com/memes/fucking-magnets-how-do-they-work)

This is just my own biased opinion, but if you're reading HN, shouldn't this one have been just about as obvious as it gets?!?!

</comment><comment><USER8> I had a similar issue, except it was my MacBook going to sleep - when I used it on the Tokyo subway.

[http://west.io/post/2015/05/01-the-case-of-the-sleeping- macb...](http://west.io/post/2015/05/01-the-case-of-the-sleeping-macbook/)

<comment><USER9> Y U NO comments on your blog?

</comment></comment><comment><USER10> Had the same problem with an Acer Chromebook and a Nexus 4, the Chromebook goes in sleep mode when the phone is placed over the keyboard in a particular position.

</comment><comment> k-mcgrady It happens with my iPad occasionally too. Putting the iPad next to the trackpad will occasionally put the Macbook to sleep.</comment>


Can Empathy Scale to the Internet? - <AUTHOR> https://medium.com/@sanspoint/can-empathy-scale-to-the-internet-3fd71acc917a <comment><USER2> My main problem with this article is the following:

>We're all to blame at some level, and we're all responsible for finding a solution.

This seems to blow away the entire premise of the article. This is either massive victim blaming or massively blaming everybody for the actions of a few. It's victim blaming if you're saying that people who are harassed online are responsible for their own harassment, and it's blaming everybody for the actions of a few if you're saying that unconnected parties are responsible.

This is not a new problem. Harassing phone calls, hate mail, and insults have existed long before the Internet, World Wide Web, and social media have existed. Could Empathy Scale to the Telegraph? I don't know, but I have a feeling that the answer to that is the same as the answer to this question.

</comment><comment><USER3> Honestly, I see this internet counterculture as a mirror of what is happening in the real world as a more mainstream reactionary shift to the right, due to a number of recent progressive movements heading the opposite direction.

</comment><comment><USER4> Article seems biased, but has a true point--it's easy to forget who you are, and easier to forget who you're talking to.

Sometimes this helps, such as with criticism. It's a bit harder to give criticism in person because of the social pressure of being nice; it's much easier to criticise someone who can't slap you, and that means finding more critiques.

More critiques, however, doesn't mean better ones. It's very easy to dehumanize your partner in argument, which leads to a "they're evil, I'm good" perspective, which leads to more extreme (and more wrong) viewpoints over time.

In short, the article suffers from the very problem it complains about; that anonymity, which is bemoaned for producing Gamergate, is in turn what makes it possible to villainize Gamergate.

</comment><comment><USER5> Sure it can scale to the internet; it scales implicitly, some people just don't realize it.

Jesus Christ calls his word truth. And in one of his sermons he says, therefore all things whatsoever ye would that men should do to you, do ye even so to them: for this is the law and the prophets.

And here is a prophet showing what that can look like; It looks to me like empathy for another side with which you even have justification in disagreeing with is fairly important:

And a certain man of the sons of the prophets said unto his neighbour in the word of the LORD, Smite me, I pray thee. And the man refused to smite him.

Then said he unto him, Because thou hast not obeyed the voice of the LORD, behold, as soon as thou art departed from me, a lion shall slay thee. And as soon as he was departed from him, a lion found him, and slew him.

Then he found another man, and said, Smite me, I pray thee. And the man smote him, so that in smiting he wounded him.

So the prophet departed, and waited for the king by the way, and disguised himself with ashes upon his face.

And as the king passed by, he cried unto the king: and he said, Thy servant went out into the midst of the battle; and, behold, a man turned aside, and brought a man unto me, and said, Keep this man: if by any means he be missing, then shall thy life be for his life, or else thou shalt pay a talent of silver.

And as thy servant was busy here and there, he was gone. And the king of Israel said unto him, So shall thy judgment be; thyself hast decided it.

And he hasted, and took the ashes away from his face; and the king of Israel discerned him that he was of the prophets.

And he said unto him, Thus saith the LORD, Because thou hast let go out of thy hand a man whom I appointed to utter destruction, therefore thy life shall go for his life, and thy people for his people.

And the king of Israel went to his house heavy and displeased, and came to Samaria.

</comment><comment><USER6> The emotional maturity of humans creeps at a sloths waddle, while technological maturity moves like quicksilver. The virtuality roll-out will be interesting.

</comment><comment><USER7> The problem when you start throwing around empathy alongside such concepts as 'helping' abusers 'mend their ways' is that one rather feels that anyone whose views do not rather closely match your own political angle, especially with respect an issue you are deeply invested in, will be singled out for this 'help.' Being offended has become a weapon in popular debate - and I find myself remarkably disinclined to further structure things to its advantage.

</comment><comment><USER8> This person doesn't understand what empathy is.

Empathy is a slow process of analyzing someone's emotional state so you can affect it. E.g. The Nazis were excellent empathizers. Rockets and dive bombers (Stuka) had sirens to intimate. The battle of Britain was a psychological one- and it almost worked. Prisoners were told to "remember your locker number" as they were ushered into gas chambers.

Don't confuse empathy with responsiveness, sympathy or compassion. We already have words for those.

Learn more: [https://www.youtube.com/watch?v=ZQ6Y3hoKI8U](https://www.youtube.com/watch?v=ZQ6Y3hoKI8U) [http://www.selfpsychologypsychoanalysis.org/empathy- mis.shtm...](http://www.selfpsychologypsychoanalysis.org/empathy-mis.shtml)

<comment><USER9> _This person doesn 't understand what empathy is._

They might get it better than you do. "Empathy" is the liberal word for the kinds of compassion that make people tolerant (for progressive values of compassion and tolerance ofc).

For talking about "empathy" this article is oddly and conspicuously broadcasting their political leaning. Why would OP choose to name the anti- abuse organization and support group that they did? Neither of which are known for their track record nor social work experts on staff. They're known solely because of the internet personalities at their helms.

<comment><USER8> You're wrong.

I can tell you didn't watch the video or read the link either.

Watch the video. Read the link. Get smarter.

<comment><USER10> That's needlessly personal and breaks the HN guidelines, as does [https://news.ycombinator.com/item?id=10926389](https://news.ycombinator.com/item?id=10926389). Please don't comment like this here.

[https://news.ycombinator.com/newsguidelines.html](https://news.ycombinator.com/newsguidelines.html)

[https://news.ycombinator.com/newswelcome.html](https://news.ycombinator.com/newswelcome.html)

<comment><USER8> Saying someone is wrong is not personal. If I say 2+2=5, someone should tell me I'm wrong.

Your comment is also off topic, breaks the guidelines you just referenced, and doesn't belong in this thread (unfortunately neither does this comment- I apologize for that).

I will no longer comment on this thread.

<comment><USER11> Saying someone is wrong is not personal.

Saying you can tell what they did and didn't do, wrt source material, is more personal.

Telling someone to "get smarter" is entirely personal.</comment></comment></comment></comment></comment></comment>


People in California are microdosing on LSD - <AUTHOR> http://www.businessinsider.com/silicon-valley-chris-kilham-medicine-hunter-microdosing-lsd-acid-microdose-productive-2017-1 <comment><USER2> Now would be a good time to get Gwern's excellent and interesting study out again [0] and i'll also take the opportunity add a further link [1], the content of which I found extremely interesting and thought provoking given both my experimental history with substances (including both micro and macrodosing LSD) and my background in Biochemistry and as a Doctor. [1] looses almost all credibility in my beliefs when they say _micro-dosed LSD makes you (believe it or not) too creative for most paying jobs_

I don't believe there is any evidence for microdosing making you more creative. What I do believe I got out of microdosing however was the incredibly mischievous feeling that I was doing something so naughty, that it lifted my whole day and mood.

So kids, don't waste your cash (or acid) on microdosing (unless you really want to, but don't be under any illusions this is going to subtly or radically change your life in any way shape or form outside of the placebo component) it's the modern day snake oil and per [3] I would suggest that the comment _It seems that the "ubersmart twentysomething set" is looking for a "healthy" alternative to Adderall_ is pretty on-point.

[0] [http://www.gwern.net/LSD-microdosing](http://www.gwern.net/LSD- microdosing) [1] [https://qualiacomputing.com/2016/08/20/wireheading_done_righ...](https://qualiacomputing.com/2016/08/20/wireheading_done_right/) [2] [https://www.forbes.com/sites/robertglatter/2015/11/27/lsd- mi...](https://www.forbes.com/sites/robertglatter/2015/11/27/lsd-microdosing- the-new-job-enhancer-in-silicon-valley-and-beyond/#59a54323188a)

</comment><comment><USER3> in Australia a lot of orgs do random testing for drugs, they'll sack you on the spot if you're testing positive to anything.

<comment><USER4> In California, very few companies want to drug test, but there are laws and sometimes insurance which require it. It's hard to find top talent that hasn't used THC. A lot of people come home from work and smoke some weed to relax. I'm talking about everyone from CEOs to warehouse staff.

Also, in the US a standard tox-screen does not look for LSD. They're usually, Opioids, Alcohol, Amphetamines, THC, cocaine.

An extended tox-screen picks up about 40 substances, but they're usually reserved for folks where public safety is involved (nurses, bus drivers, etc.).</comment></comment>


Bank lays off bunch of programmers, but they must work for free whenever needed - <AUTHOR> http://www.theregister.co.uk/2015/10/22/the_zombie_programmer_awakens/ <comment><USER2> Guess I found another place I would never work.</comment>


Bill Gates on Steve Jobs on "60 Minutes" - <AUTHOR> http://allthingsd.com/20130513/bill-gates-on-steve-jobs-on-60-minutes/?mod=thisweek

<comment><AUTHOR> My original title was "Bill Gates has transcended Silicon Valley". Its just amazing what he is achieving in his second act, hopefully we can get more successful valley ceo's stepping out of their bubble and tackling real world issues as well.</comment>


Wanna rock your business to the top? Check out the free Rock Steady iOS app  - <AUTHOR> http://itunes.apple.com/us/app/rock-steady/id485173173?ls=1&mt=8

<comment><USER2> Recommended iOS app for everyone who is interested in Marketing, Communications and Businesses and everything else in between.</comment>


Hangout with Martin Fowler, Kent Beck, and DHH: May 9th, 11am ET - <AUTHOR> https://plus.google.com/events/ci2g23mk0lh9too9bgbp3rbut0k

<comment><USER2> We have:

Kent Beck who "doesn't care any more what people practice or do w.r.t to TDD" because he uses it as he sees the needs/fits.

Martin Fowler who tries to further his catalogue by incorporating newer patterns/methodologies/techniques (REST, NoSQL, NodeJS, MicroServices) that potentially sees "TDD" as "been there, catalogued that, time to see other patterns"

and last but not least, DHH, who just recently came out to the public and made an announcement that "I don't do TDD anymore!".

Missing from the group: Uncle Bob, someone who will potentially argue that TDD is useful.

Come on guys! We want Uncle Bob there! Let's make this happen.

<comment><USER3> You make Martin sound like some sort of crazed software lepidopterist, pinning dead patterns to a musty whiteboard. I am sure he'll represent what Thoughtworks does with regards to TDD. I doubt Kent will just lay still either.

I see this debate as more of a Services vs Product development techniques mindset, with TDD as the background track. Shipping vs Consultant is another way to see it.

<comment><USER2> Whoa, wait a minute right there sir!

Kent Beck actually works for Facebook.

Martin Fowler is some sort of Principal Engineer or Thought Leader or CTO or Architect or some sort (regardless Services vs Product vs Shipping vs Consultant) for Thoughtworks, an organization that does services and products (check their website :)).

Uncle Bob, on the other hand, is definitely more of a service/consultant person.

</comment></comment></comment><comment><USER4> Metacomment: Thanks to Thoughtworks (no affiliation) for putting this together, and let's do this more often when this sort of discussion breaks out, it's a fantastic idea. Blog missives have their place in the world, but real debate does too.

</comment><comment><USER5> Maybe we can have a TDD person with from the rails community if you do another hangout? I have a feeling you'll end up talking past each other because you work on different kinds of things.

Perhaps [https://twitter.com/garybernhardt](https://twitter.com/garybernhardt)

His blog response to DHH's keynote: [https://www.destroyallsoftware.com/blog/2014/tdd-straw- men-a...](https://www.destroyallsoftware.com/blog/2014/tdd-straw-men-and- rhetoric)

</comment><comment><USER6> Some Background:

The RailsConf keynote that started it all: [http://www.confreaks.com/videos/3315-railsconf-keynote- writi...](http://www.confreaks.com/videos/3315-railsconf-keynote-writing- software)

David's thoughts in blog post form: [http://david.heinemeierhansson.com/2014/tdd-is-dead-long- liv...](http://david.heinemeierhansson.com/2014/tdd-is-dead-long-live- testing.html)

A response from Kent Beck [https://www.facebook.com/notes/kent-beck/rip- tdd/75084019494...](https://www.facebook.com/notes/kent-beck/rip- tdd/750840194948847)

This should be a great discussion.

</comment><comment><USER7> This looks interesting, but am I looking at Google Plus correctly and really not seeing an 'Add to calendar' option to put this event on my gmail calendar? I could have sworn Google was really good about making it easy to put stuff on their calendar. Yeesh.

<comment><USER8> There's a big "are you going to watch?" pane underneath the main header with Yes, Maybe or No options. That seems to do the trick to add it to my calendar.

<comment><USER7> Odd--what if I don't want to tell the world that I'm attending?

<comment><USER9> I think that's a fair point. Generally, I like to put things on _my_ calendar and _my_ calendar only.

</comment></comment></comment></comment><comment><USER10> Is this going to be recorded so I can watch it later?

<comment><AUTHOR> Yes you can watch here [https://www.youtube.com/watch?v=z9quxZsLcfo](https://www.youtube.com/watch?v=z9quxZsLcfo)

</comment></comment><comment><USER11> This post has dropped from the front page of HN to the 3rd in about 15 minutes? I don't get HN at all.</comment>


Blockupload.io: Upload Files to Bitcoin Cash Blockchain(LZMA and OCB3-ChaCha20 - <AUTHOR> Hello HN community,
I'd like to present you my tool (https://blockupload.io) that allows embedding files up to 1 MB in Bitcoin Cash transactions. The tool uses WebAssembly to compress files using LZMA, and optionally encrypts files using a combination of OCB3 and ChaCha20. If you wonder how it does this, it's by not including a checksum in the ChaCha20 layer, which shouldn't be a problem since it's intended for chosen-ciphertext invulnerable, un-side-channeled personal computers. Anyway, you can see how it encrypts here: https://github.com/DesWurstes/BlockUpload/blob/7d0e247b7f5e01d1d84932a780156a590ec7f844/exports.c#L67
(This tool is intended for legal use only)
I'd like to hear your comments on this, HN community. You can also look at r/btc's reaction here: https://www.reddit.com/r/btc/comments/bah8zw/store_files_up_to_1_mb_in_bch_blockchain_onchain/
This tool is useful for: - Static CDN - Personal immutable file storage <comment><USER2> cool project, expected response from BCH crew. permissionless is permissionless. they need to suck it up.

</comment><comment><USER3> Neat idea. Keep working on it.</comment>


FuzzCon – European Online Conference About Fuzzing - <AUTHOR> https://www.fuzzcon.eu <comment><USER2> Not to be confused with Nordic FuzzCon, the Swedish furry convention

</comment><comment><USER3> I'm disappointed they didn't name it FuzzBizz.

</comment><comment><USER4> The signup form refuses to allow you to register for a ticket unless you check the "allow us to send spam" check box. That really doesn't inspire confidence in the quality of the conference.

</comment><comment><USER5> Kinda odd they reject gmail addresses for a free, online conference.

<comment><USER6> "Professional Emails Only"

But yeah it sucks for people that don't want to use their corporate email address or don't have one or an edu email.

That said it did accept my personal domains including one which is well NSFW so it looks like they just blacklisted the common free email providers.

</comment></comment><comment><USER7> Hm, the calendar item they sent out isn't working for me; anyone know what timezone it's in?

</comment><comment><USER8> Only 1 woman speaker out of 15 isn't an amazing look for a conference in 2020

<comment><USER9> Agreed, the single quota speaker certainly looks suspicious. I certainly don't need to listen to quota pep talk in a technical conference. Thankfully this talk is about FairFuzz (afl-rb)

[http://scholar.google.com/citations?user=SMRGdi0AAAAJ&hl=en](http://scholar.google.com/citations?user=SMRGdi0AAAAJ&hl=en)

[https://github.com/carolemieux/afl-rb](https://github.com/carolemieux/afl-rb)

Which is a very interesting idea for mature code and was discussed to be included into AFL++ but was eventually not. Good for a seperate slave instance though. [https://github.com/AFLplusplus/AFLplusplus/issues/18](https://github.com/AFLplusplus/AFLplusplus/issues/18)

</comment></comment><comment><USER10> Interesting!!</comment>


The Unsolved: Why Startups Are Failing Us - <AUTHOR> https://medium.com/treatises-on-a-modern-world/the-unsolved-why-startups-are-failing-us-9965a0b07e09

<comment><USER2> I like to believe the trend goes away from large scale apps/services that cost nothing for the end user (and are financed by trading user data and/or showing adverts) towards small/medium sized apps/services that cost a bit of money. This enables businesses with smaller audiences to survive and solve those "smaller" problems.

<comment><AUTHOR> Any problem involving network effects is hard to pull off with small or medium services.</comment></comment>


Bethesda is unbanning modders from Fallout 76, but only if they write an essay - <AUTHOR> https://www.reddit.com/r/Fallout/comments/a9hhqj/bethesda_is_unbanning_modders_from_fallout_76_but/ <comment><USER2> Are Bethesda also validating that modders are not cheating by copying each others essays? There is software that can detect plagiarism.

Bethesda, if you are are reading this and assuming you are just going after people cheating on public servers, I suggest instead they must make a video of themselves doing 50/150/250 push-ups or sit-ups or leg-lifts, and saying "{my username} agrees that cheating on public servers is weak" in between each 3-count set.</comment>


Mimicking an impact on Earth's early atmosphere yields all 4 RNA bases - <AUTHOR> https://arstechnica.com/science/2017/04/mimicking-an-impact-on-earths-early-atmosphere-yields-all-4-rna-bases/ <comment><USER2> The hypothesis that goes something like

RNA bases -> RNA -> proteins -> life

seems to sidestep the issue of metabolism, i.e. what did the first organism eat? What was its energy source?

When I picture life arising from nothing, the most plausible scenario seems to involve increasingly intricate chemical reactions that initially do absolutely nothing other than create longer and longer staircases for energy to step through through before dissipating and becoming useless. In other words, you start with metabolism first, and then get structure later.

It seems plausible that the earliest proto-metabolisms didn't use RNA or resemble modern life in any way. There might have been a succession of proto- metabolisms before getting to anything we would recognize as life. They would likely not have left any fossil record.

Does this make any sense to anybody?

<comment><USER3> Sure, you could start with metabolism first, and then get structure later. But you can narrow it down even further by saying this: you start with _self- replication_ , and everything else comes after. Evolution stems from self- replication. This is why RNA, of all the things we know, is the best candidate for the origin of life. The smallest self-replicating RNA is relatively small and simple, and can arise spontaneously and mark the beginning of evolution, given the right environment. The separation of structure and metabolism doesn't even exist yet.

The fact that a self-replicating RNA could have arisen given what we know of primordial earth is _extremely convenient_. Something different and unknown could have come first, but it would have to fit the bill of "can arise spontaneously" and "can self-replicate and pass down incremental modifications", which is very difficult to pull off. We also have good certainty that LUCA (last universal common ancestor) featured RNA.

I will also try to answer: _what did the first organism eat?_ The concept of food/energy source doesn't apply so well to the first self-replicating RNA. The environment features constantly interacting bases, and the competition between self-replicating RNAs stems from this. The distinction between individual organisms and the environment isn't as clear-cut as what we know now. Through this competition, one of the first things to be acquired was probably a membrane. Eating can become possible and/or useful after you have a membrane, which also allows you to extend the environment in which you can thrive.

<comment><USER2> I went through several different ways to approach responding to your comment before writing this version. I think this is most succinct.

Self-replication can itself be viewed as a metabolic process. You really can't have replication before metabolism, because replication is metabolism. The question is which metabolic process came first.

Since replication is anabolic and requires an energy source, it seems like it makes sense to deal with energy first.

You can have reactions that harness energy to do nothing useful -> reactions that harness energy to cause self-replication -> life.

<comment><USER3> >I went through several different ways to approach responding to your comment before writing this version.

I also edited it quite a bit (but now I'm done, promise...) One of my points is that replication does not require a separate energy source, in the right environment. RNA is highly reactive given the right temperature and conditions, this is why all modern life does not use it as permanent storage medium (this also makes it very difficult to work with in the lab). Only replication of a DNA-based life form strictly requires a control mechanism and energy source.

<comment><USER2> >> One of my points is that replication does not require a separate energy source, in the right environment. RNA is highly reactive given the right temperature and conditions,

I actually don't know what a flask full of RNA will do when left to its own devices. My science education has gaps. However, really basic chemistry says that you can't create big molecules from small molecules without some sort of energy gradient, because the big molecules have less entropy than the small ones.

When you have a flask full of stuff, what it does spontaneously is go to thermodynamic equilibrium. If you want a self-sustaining reaction that creates specific big molecules over and over, you need to keep adding energy.

<comment><USER4> Fortunately, Earth is located near a huge fusion reactor, and comes equipped with its own auxiliary internal fission reactor. There was plenty of energy gradients in the environment then, the same way there are now.

</comment></comment></comment></comment></comment></comment><comment> Blinks- When I was in middle school I read a new book about cell structure I found in the library, my favorite chapter was always about the so called primordial soup of lipids and simple organic compounds that could have setup the chemical basis for polymers to form and in turn create the building blocks for RNA. It was one of the main things that gave me an interest in science and engineering, up until that point people had always given me a "god did it" or "we still have no theories on that son". This brings me back to the good ol' days of trying to explain how RNA could come about, as a 12 year old, to middle aged religious teachers who shot me down every time. As a kid this made me turn to outside sources for knowledge, and in retrospect that was actually a good thing.

<comment><USER5> 12 to 15 is roughly the time when as a child you realize adults are just big kids and are wrong as often as they're right. It's hard to get back to some level of respect after that, it's a bit like finding out Santa does not exist.

<comment><USER6> I'm over 40 now. I realized what you're saying to an extent, but for a long time I assumed that older adults would have the benefit of wisdom, life experience, maturity, etc.

As I've aged, I've been consistently disappointed. I now believe differences in how people behave, according to age, are really a product of generational differences, and that people really don't change very much after they pass 30.

</comment></comment></comment><comment><USER7> 67P Churyumov-Gerisimenko is a very dirty snowball.

Comets may have brought much of Earth's water.

Ice, dust & tholins.

Tholins are a sort of like a simple crude oil, thick tarry and orangy brown - very rich in primitive organics and amino acid precursors.

Pluto is red with tholins.

[http://www.planetary.org/blogs/guest-blogs/2015/0722-what- in...](http://www.planetary.org/blogs/guest-blogs/2015/0722-what-in-the- worlds-are-tholins.html)

</comment><comment><USER8> This type of research is mostly a dead end. Abiotic processes for generating amino acids and nucleotides from smaller components are well-known.

The mystery revolves around how these building blocks turn into life through abiotic processes. We really haven't got a clue. As a chemist, I view this as the most important unsolved problem the discipline has to offer.

Solving this mystery would likely be the most significant turning point in human history.

This reminds me of something Paul Graham once said. Knowing a problem exists isn't sufficient justification to solve it. You also need an approach. The approach to solving the origin of life problem does not exist (yet).

<comment><USER9> > Solving this mystery would likely be the most significant turning point in > human history.

I can't imagine how; most people will simply dismiss it and continue praying to their Gods and scientists already believe what it would prove so few minds would change and unless it directly leads to some practical output it simply won't matter to most of the world.

<comment><USER8> With understanding of a process comes the possibility (or inevitability) of controlling it. I'm not referring to mythology, but rather technology.

<comment><USER9> Which is what I was referring to by some practical output; however it's possible and common to acquire knowledge without there being immediate things to do with it. Certainly the knowledge is progress, but you called it the most significant in human history, that's a bold claim, care to expand on how so?

</comment></comment></comment></comment><comment><USER10> In the 1950s they discovered that sending high current through a (sterile) organic watery soup would generate a dozen or so kinds of amino acids. The hypothesis was that tens of millions of years of lightning strikes on the ocean could in theory get the party started.

<comment><USER11> That experiment is literally described in the first paragraph of TFA.</comment></comment>


Investors to Zuckerberg: Please step down - <AUTHOR> http://blog.crranky.com/facebook/investors-to-zuckerberg-please-step-down/

<comment><USER2> That's the worst MBA vs Real life thinking ever. I hope the actual investors aren't nearsighted enough to think that kicking Zuck out will make facebook's stock value improve. As much as everyone loves to hate on facebook, it's not going anywhere without him.

</comment><comment><USER3> IPO price != real value

Say a share of FB was valued at $80 now, would that because Zuck did amazing things for the company over the last 3 months? No, it would be because the share price was undervalued at IPO.

In reality, the share was overpriced at IPO. We've now only begun to see the real value of a share of Facebook stock. Now it's time to boost the real value.

</comment><comment><USER4> And by "investors" they mean this blogger, right?

</comment><comment><USER5> No, he won't.</comment>


What is Meteor.js? - <AUTHOR> http://joshowens.me/what-is-meteor-js/

<comment><USER2> A couple of things really bother me about Meteor.js.

One, the Atomosphere package manager site is insanely slow and buggy. Everything feels like it takes forever to render or rerender. Opening the side menu is a jaggy experience.

If performance is that terrible on a super simple list of packages how terrible is it on an actually reactive site?

Two, I've never seen an article on meteor that wasn't also an advertisement. They all list how easy it is to start a project or add a package as the main draw. That and constant connectivity/"reactive" application structure.

It just feels too orchestrated.

<comment><USER3> Is it possible the site is just a little over-designed? I'm not sure it's fair to judge an entire full-stack framework over the front-end of a single site.

I've visited Atmosphere from time to time and while performance wasn't as optimal as it could be with a less sophisticated design, it was never what I would call 'jaggy'.

<comment><USER2> Usually I would agree, but this is a website built by the team behind the framework. When you're making a tool for people to use you really need to put your best foot forward.

<comment><USER3> Atmosphere is built by Percolate Studio. I know Tom Coleman works there, but as far as I know, he's not a part of the MDG.

He should be given how good Iron Router is, but that's another issue :)

<comment><USER4> You are correct, MDG has nothing to do with Atmosphere.

</comment></comment></comment></comment></comment><comment><USER5> Please bear in mind while reading that this is the same author as the rather controversial 'Why Meteor will kill Ruby on Rails' from last year (HN discussion: [https://news.ycombinator.com/item?id=6642893](https://news.ycombinator.com/item?id=6642893))

I'll repeat my thoughts from back then – Meteor is a great experiment that tries out some interesting ideas for what web apps might look like in the future.

I maintain that it's absolutely not production-ready, or even very good. I don't want to store data in Mongo. I don't want Cordova baked-in (wtf is that about anyway?). But we absolutely need people playing with this sort of technology. I just wish the hype would die down a bit…

<comment><USER6> I don't even see how one could compare Rails and Meteor. They are intended to solve two very different web development problems.

Discover Meteor, the most popular book about Meteor, even uses Middleman for their blog and website - because using Meteor for something like a blog or information based site just makes no sense at all.

<comment><AUTHOR> "..or information based site.."

The entire internet is information :P but I know what you're trying to say

</comment></comment></comment><comment><USER7> I'm surprised at all the negativity. Advocating C++/Java instead of Meteor/Node.js makes about as much sense in my opinion as comparing 18-wheeler trucks to Smart cars, and I wonder if the people who do so have really worked with the latter or are just dismissing it out of hand. The right tool for the job and all that, and you want your toolbox to be comprehensive, right? No serious craftsman ever said "Wrenches? Oh, we're a strictly pliers-only shop".

At my company, we have critical API services with SLA's that will cost us $$$ if broken. We develop on the JVM with Scala, the number of currently open bugs can be counted on one hand, with millions of daily users. But some of the dashboards for monitoring the service are Node.js. Want a new fancy gauge on that board that measures X by interacting with API Y? There's probably a NPM module for that, so give me 30 minutes, OK? I see that the web frontend serving is increasingly being done in Node as well, because it's a good fit for that environment.

Don't get married to your platform! Try many things, and figure out where on the spectrum the tools fit and use them where appropriate. I've done many years of C++ server and embedded development, but working with Meteor just gives me the biggest dumb grin. It's fun!

Node is the fastest growing ecosystem today, and it's not because everyone using it are idiots. Meteor takes that energy and kicks the out-of-box productivity up to 11. Java/Scala/Go/C++ are and will continue to be the workhorses of the Internet when performance and stability are of the utmost importance. So, no matter where on the platform spectrum you're currently on, go check out what's happening at the other end!

</comment><comment><USER8> An example of a sophisticated meteor app I've built to test scalability [http://www.qckt.me](http://www.qckt.me). I've noticed some performance issues (to be fair it is running on meteor's free hosting service, however they don't set resource limits or anything like that) maybe I'll share some stats I've been collecting in the future.

Like every web framework, I've run into problems. The simplicity of the server-client reactivity is keeping me in. Its a good idea and the got the funding to keep it going.

<comment><USER4> Meteor.com is a horrible hosting platform, try [http://modulus.io](http://modulus.io)

</comment></comment><comment><USER9> As someone who doesn't know what Meteor.js is this doesn't actually tell me what it is, what it can do, or what it can be used for. Now to be fair I'm not a webdev so I don't much about most of these technologies nor am I really the target audience. But still. I feel like if your article is literally called "What is X" it should do a better job telling you what X is.

<comment><USER10> Meteor.js is basically Ruby on Rails for Node.js and MongoDB, plus a Javascript library for view-model binding. It's a monolithic framework for building database-backed single-page applications in 100% Javascript.

<comment><USER11> That doesn't answer the question.

<comment><USER12> I thought it was answered pretty succinctly.

<comment><USER11> Really? Alanning says the opposite. So it's not clear at all.

</comment></comment></comment></comment></comment><comment><USER13> Has anyone here built a large, production grade app with meteor? Something that makes money and is more than just a tech demo?

I see a lot of people playing around with it and building tech demo's but very few examples of it being used for anything more than that.

</comment><comment><USER14> It's actually quite pleasant to compose your application out lots of small modules, libraries, and frameworks. It's not akin to building your own platform, since all the pieces are there.

</comment><comment><USER15> It's really, really good. Even if you're a web designer, building stuff is really quick and effective. I recommend checking out Differntial's GitHub page [0] as they provide a nice boilerplate and also a cute blog that you can setup in two minutes, gives you an idea of the very basics.

Either way, Atmosphere [1] has thousands of packages to choose from, just use the search function. Good alternative is Fastosphere. [2] Many people have said that if you write a lot of code with Meteor, you're doing something wrong.

0\. [https://github.com/Differential](https://github.com/Differential)

1\. [https://atmospherejs.com/](https://atmospherejs.com/)

2\. [http://fastosphere.meteor.com/](http://fastosphere.meteor.com/)

 _I 'm very new to this myself, and I know that it gets tougher (duh, it's JavaScript!) after a while, but I feel right about giving it some praise!_

</comment><comment><USER16> Haters gotta hate.

The framework is brilliant from a productivity and sheer enjoyment perspective. I don't know if it will scale; you don't either. My estimation, though, is that the team building it is very clever and super-aware of what they need to do to make the framework succeed from a scaling perspective.

A lot of the comments here are spitballs from the back row of the classroom. They are willfully uninformed and unfair. It is hard to imagine these commenters are paying much attention during the learning portion of class.

So go forth, meteor team. You're fighting a great fight here. Ignore the naysayers and do the great work you know you can do. Your best way forward is to prove the haters wrong. Maybe a few will even become lovers, though I wouldn't count on it. If you build it, they may come. [update to spell 'perspective' correctly. Ugh]

<comment><USER4> I love this comment, great job!

Also, people are scaling it, we just aren't hearing about it much. I am working to correct that, these trials of scaling need to be more public right now.

<comment><USER17> Scaling Meteor is my biggest concern right now as I contemplate diving any deeper with it. I'm well aware of Mongo's oplog but the lack of Mongo sharding, the sticky session requirement, server resource consumption (RAM required per client), lack of proper offline support (last write wins) and sheer devops work required to scale is off-putting. Hopefully tomorrow's release of the remaining Bulletproof Meteor content will ease my worries. But I cannot shake the feeling that in terms of cost, something like Firebase would work out to be much more cost efficient. Also, the whole ecosystem of wrappers is plain silly. It feels like the MDG & the community are just reinventing the wheel time & time again. Oh we got Cordova support? What's that exactly other than some CLI tools? Of course any web tech should support Cordova, that's what it's built for. The Ionic Framewoek are light years ahead in this regard.

<comment><USER4> Niall,

I sense that you don't really want an answer to this, you have already made up your mind...

Why is the sticky session requirement a huge devops concern?

From what I understand Mongo sharding shouldn't be hard to implement, but I haven't tried it myself. I spoke to Abigail Watson about it, and she said her first tests with it were promising.

RAM is always a precious resource, so I understand being concerned about it. Are you seeing some absurd usage per client? I am seeing about 350mb processes to handle around 75 connected clients.

Is there a framework or platform that gets the 'last write wins' correct? I seriously doubt that because I doubt you can apply a blanket set of rules for offline support.

I don't think scaling is off-putting, you just need a mongo cluster and then you can add oplog enabled Meteor processes to your pool. I don't see how this is any different than something like Java or Ruby...

The idea of adding Cordova may seem simple or small, but MDG putting it in led me to building my very first mobile app. Prior to trying Cordova and Meteor integration, I usually advised clients it would be easier to just build a responsive design instead of trying to build a native app.

I am sure if you looked at the commits around adding Cordova, it was a little more then just glueing together some CLI tools.

That being said, if Ionic floats your boat, go enjoy it :)

</comment></comment></comment></comment><comment><USER18> I think Meteor will need the big app to get mindshare like RoR got with Twitter.

</comment><comment><USER19> I programmed 2 small apps now with Meteor and my learning is that if you want to prototype something fast you can use it but if you want to have something polished afterwards then don't expect to save time by using it instead of other tools. It has its quirks...

<comment><USER4> What would you suggested or advocate instead then?

I have helped publish a ton of polished Meteor apps.

<comment><AUTHOR> could you link a few? i'm somewhat interested :)

</comment></comment></comment><comment><USER20> If anyone is curious about what it looks like to build with Meteor, I've been working on a site that shows off building day-to-day features with the platform: [http://themeteorchef.com/](http://themeteorchef.com/).

</comment><comment><USER21> Meteor.js is great, but the instant you try to do something complicated (or simple and not covered in the often repetitive documentation), you need to be a JS expert or spend a frustrating amount of time looking for a solution.

It's worth trying before you dive too deep in.

</comment><comment><USER22> "What is Meteor.js?" Yet another framework that encourages developers to pipe into their shell. Until this changes, I will never give it a second look.

[http://curlpipesh.tumblr.com/](http://curlpipesh.tumblr.com/)

<comment><USER23> Could you expand on what piping into your shell is and why it's bad?

<comment><USER22> [https://news.ycombinator.com/item?id=6650987](https://news.ycombinator.com/item?id=6650987)

<comment><USER24> (Developer @ Meteor). The install script is wrapped in a function, which avoids the problem in the article you linked to.

<comment><USER22> You're still piping untrusted code to sh. Please implement asymmetric cryptographic signature verification (i.e. PGP).

<comment><USER24> I'm not sure what PGP would buy us over everything going over https from sites under Meteor's control? Cryptographic verification is great when you want to deliver the bulk of the content over http, or via untrusted mirrors, but we're not doing that.

However, if you want greater assurance, Meteor is open source, and easy to run from a git checkout. That seems to solve even more problems than PGP would, though then you should worry about whether you should compile nodejs yourself, and eventually you start eyeing your CPU suspiciously... :-)

(BTW, I think this is why just linking to a HN thread is tricky... it's difficult to know which of the many viewpoints on any thread you share!)

<comment><USER25> It buys you almost nothing. The only thing it buys you is avoidance of knee- jerk reactions from certain people, who most likely never were interested in Meteor in the first place.

<comment><USER22> Instead of taking the troll bait here, I'll just link to this excellent blog post by Anthony Ferrara that sums up my position well.

[http://blog.ircmaxell.com/2014/10/fud-and-flames-and- trolls-...](http://blog.ircmaxell.com/2014/10/fud-and-flames-and-trolls-oh- my.html)

> Those That Have Passion

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER26> I've built several apps with Meteor, and so far it's been fantastic. Development is lightning fast, the interface is snappy enough, and it's easy to maintain. My latest Meteor app is online at [http://stoplight.io](http://stoplight.io).

</comment><comment><USER27> I'm a webdev at an agency, and Meteor looks great from a prototyping perspective. Javascript is already a key component of much of our work, so this framework could help us roll out concepts much faster than we're doing now... looking forward to learning more about Meteor!

<comment><USER28> What you've described is a lot of what Differential[0] does.

0: [http://differential.com/](http://differential.com/)

</comment></comment><comment><USER29> There's a problem I have with frameworks in general. They tend to streamline your thinking too, which is fine if you don't care about making something original or can't see how developing with new approaches can impact the outcome of your product.

<comment><AUTHOR> The motivation people have for creating frameworks to begin with is because of bad practices by developers. By not 'making something original' you probably also avoid doing things incorrectly.

</comment></comment><comment><USER30> Why do they keep announcing Meteor.js as if it's something new. It came out 2 years ago.

Oh I know why, because it has major funding and they have some marketing blitz going on right now beating into people's mind that Meteor is great/grand.

<comment><USER31> Nope, it is because they have announced the 1.0 release. You can build stuff in it without having the platform change from under you now.

2 years ago it was all alpha / betas.

</comment></comment><comment><USER32> The web page looks like a marketing scam ... At least show me a presentation or developing video.

</comment><comment><USER33> yay for including cordova.

</comment><comment><USER34> tl;dr: buzzwords

</comment><comment><USER35> do you think Meteor.js will ever use PostgreSQL 9.4?

<comment><USER4> Yes. It is being worked on by the core team.

<comment><USER35> wow. where can I find this information?

This would be a huge selling feature for me to jump on meteor.js again. Would love to have SQL in meteor.js but again the mysterious "DDP" and it's reliability and ability to scale still remains doubtful.</comment></comment></comment>


Palm Rejects First App - <AUTHOR> http://www.osnews.com/story/22151/Palm_Rejects_First_App_More_Things_Apple_Could_Learn_from_Palm

<comment><USER2> "NaNPlayer is using private APIs, ... These APIs are also used by the stock music player application, and aid in indexing and querying the metadata attached to music files."

So Palm gets to use private APIs for its apps, but 3rd party devs get jilted for it. Doesn't seem like a balanced policy to me. Seems like Palm could use this policy to block any type of feature it wants.

<comment><USER3> You miss the point:

1) The APIs are in flux. Since Palm controls both APIs and the player, it can ensure that every update of the APIs will not break user expeirence.

2) Palm rejected the app from the palm store. Not banned the app from being used on webOS. In other words if I want to I can still install it, just not via. the app store. This is a huge difference from "apple app store or hack the firmware".

3) Palm immediately responded with details on how to fix this rejection.

4) The response time was quick.

5) Should we go on? You missing the point of the article.

<comment><USER2> oh calm down. I'm not missing a damned thing.

1) The APIs are in flux. Since Palm controls both APIs and the player, it can ensure that every update of the APIs will not break user experience.

API changes have traditionally been managed through communication through developer documentation. Palm saying "trust us to communicate internally (between our WebOS team and our App teams) better than we communicate to our 3rd party developers" tells you the following: (A) - Palm reserves the right to communicate less effectively to its 3rd party devs than to its internal app devs. Also, Palm internal apps get the ability to test against new WebOS updates prior to general distribution, but 3rd party devs might not. (B) - Palm reserves the right to make certain APIs private which can possibly be used as a competitive advantage.

2) Palm rejected the app from the palm store. Not banned the app from being used on webOS. In other words if I want to I can still install it, just not via. the app store. This is a huge difference from "apple app store or hack the firmware".

I never said Palm was evil and their device was locked down. Don't infer into my posts. If I meant to compare Palm to Apple, I would have.

3) Palm immediately responded with details on how to fix this rejection.

I never said Palm behaved badly in its rejection process. Don't infer into my posts. If I meant to compare Palm to Apple, I would have.

4) The response time was quick.

I never said Palm responded in an untimely manner in its rejection process. Don't infer into my posts. If I meant to compare Palm to Apple, I would have.

5) Should we go on? You missing the point of the article.

No need to go on. There was also no need to infer what you have into my original post either.

<comment><USER4> He was not the only individual to misunderstand the intent of the post. "Perhaps I was misunderstood" goes a lot further than flaming.

That said, yes. Palm will have private APIs and privilege its own developers first. Consider the internal app team the alpha API users. This isn't a bad thing! As a customer, I'm more than willing to let the internal developers and people willing to hack into the internal APIs to find the problems with the API first, so that something sub-optimal doesn't become set in stone too early.

Public APIs have a way of sticking around, and I like to see companies get it right. Further, Palm's clearly communicating its stance.

I'm not seeing why it's a bad thing.

<comment><USER2> Your suggesting that when a person responds to a post by:

1 - beginning with "You miss the point" and ends with a derogatory "Should we go on? You missing the point of the article"

2 - 4 out of 5 of their points are Apple vs. Palm comparisons, completely immaterial to my original post.

...that somehow I'm the one flaming?

Perhaps the point count to GandMasterBirt's post is attributable to others also inferring wildly into a post? Is that decent behavior? Does it make the content on HN better or worse?

[EDIT] keep in mind that communities like slashdot once had a higher signal to noise ratio. People, like me for instance, don't go their anymore, because its all too common for rational discussion to be drowned out in a sea of fanboyism and offensive behavior.

<comment><USER5> _...and offensive behavior._

Such as this lame mini-flamewar brewing here?

Time to just let it go guys.</comment></comment></comment></comment></comment></comment>


VideoRoulette -- (Almost) every video being posted anywhere on the internet. - <AUTHOR> http://api.metadatalabs.com/samples/videoroulette/

<comment><AUTHOR> Source code is here: <http://api.metadatalabs.com/>

VideoRoulette is a sample app for the metadata labs video fire hose API.

</comment><comment><USER2> talk about putting youtube on shuffle mode.</comment>


Gitub issue manager meets trello - <AUTHOR> https://www.zenhub.io/ I hate when I start a project and somebody decides trello will be used to manage it. Nothing against the kanban style boards, but trello lacks code formating in comments.<p>On the other side, I love github issue manager. With zenhub you can have the best of both worlds: a kanban style board to please the hipster PM and our beloved gh issues. <comment><USER2> Thanks for posting this, scardine! We've stayed pretty quiet with ZenHub but the product is in use by a few thousand people and everyone seems to like it :)

We built ZenHub last year after cycling through a bevy of different project management apps like Trello, Asana, Tracker, JIRA, etc. We found ourselves frustrated having to juggle multiple tools and decided to centralize everything into GitHub.

ZenHub is built upon the GitHub API and injects additional features directly into the GitHub user interface via our browser extension. Features include gorgeous Kanban-like boards with filtering built in, unlimited file uploads of any type, and a very effective +1 feedback button added to every GitHub Issue or comment.

Disclosure: I work with Axiom Zen, the company that built and maintains ZenHub.</comment>


Fixing the IoT isn't going to be easy - <AUTHOR> https://mjg59.dreamwidth.org/45098.html <comment><USER2> Here is a list of the XiongMai-based devices – I was wondering if I owned any: [https://krebsonsecurity.com/2016/10/who-makes-the-iot- things...](https://krebsonsecurity.com/2016/10/who-makes-the-iot-things-under- attack/)

</comment><comment><USER3> > [3] My vacuum cleaner crashes if I send certain malformed HTTP requests to > the local API endpoint, which isn't a good sign

Egads!</comment>


Sysadmin war story: the network ate my font - <AUTHOR> http://verticalsysadmin.com/blog/sysadmin-war-story-the-network-ate-my-font/ <comment><USER2> Yeah? Try dealing with a printer that has to have a font file sent to it with an lp command from cron every 15 minutes or else checks wont be formatted correctly. AND there is a physical device (either USB on the printer or inline on ethernet in front of the printer) which has the MICR fonts stored.

And then the printer you are migrating the MICR device to has decided it doesn't understand the PCL in the font file anymore.

This is 2017 and I just dealt with this today.

<comment><USER3> The engineering time dealing with that printer is probably more expensive than just buying a simpler/better one.

<comment><USER2> Close. To be fair the printer is _supposed_ to support PCL5, and this is the first time I've witnessed this happen.

<comment><USER4> If this is so mission critical why not get a proper Postscript printer with an onboard filesystem for font storage. It doesn't make much sense to run a business on consumer junk.

</comment></comment></comment></comment><comment><USER5> This sort of stuff happened all the time when I worked in tech support for ad agencies. Printing font problems seemed to be 99% of the job, some days. PDFs helped — but only of the person making them remembered to embed the fonts. Usually you would simply make an EPS (encapsulated Postscript file), which would work most of the time — as long as the receiving printer had sufficient memory for huge print files. Can't tell you how many thousands of times art directors who should've known better would just send Quark or PageMaker or (later) InDesign files without the fonts. In fact, there were (are?) preflighting programs designed just to solve this exact problem. They'd look at your files and determine: Are your fonts there? Are your images there? How will this print? etc., etc.

<comment> semi-extrinsic There are indeed PDF preflight tools to this day. E.g. on Linux you can run `pdffonts` and check that everything is embedded. I believe it's still very common, to the point that my local university's PhD thesis print delivery checklist includes it.

<comment><USER6> Scribus (DTP program for Linux I love) has it built right in and it's good.

They also pride themselves on the quality of PDF output (and have full (iirc) support for PDF-A).

</comment></comment></comment><comment><USER7> This leads to an obvious question: "why did the programmers not always just embed the font?".

And it turns out that the answer will probably be, "well, we asked the lawyers, and you need rights from the font owner to do so, and it makes files bigger, and most stuff is in whatever Microsoft Office uses as their default font this year anyway."

And so we're torn between "yes, of course the designer who built the font should get paid" and "a sane default became a checkbox because of US copyright law".

<comment><USER8> Maybe because PDF has been around a long time and it used to be that embedding even a basic font would have been a MASSIVE increase in file size?

<comment><USER9> Why don't PDFs just render the text and store it as some form of vector image file.

<comment><USER10> A font _is_ some sort of vector image file.

<comment><USER11> Not always. Bitmap fonts are a thing.

</comment></comment></comment></comment></comment><comment><USER12> I love it when you are troubleshooting and question how it ever worked in the first place.

<comment><USER13> Sounds like a schroedinbug:

[http://catb.org/jargon/html/S/schroedinbug.html](http://catb.org/jargon/html/S/schroedinbug.html)

<comment><USER14> If someone had not heard of that one before, it should not be confused with a Heisenbug, which is approximately the opposite thing.

[http://catb.org/jargon/html/H/heisenbug.html](http://catb.org/jargon/html/H/heisenbug.html)

</comment></comment></comment><comment><USER15> I just spent all day yesterday debugging why my web app's font- awesome/material design icons weren't showing on IE while they were showing on chrome, ff, and edge. Turned out that to be the corporate policy to disable font downloading on IE. [https://www.stigviewer.com/stig/microsoft_internet_explorer_...](https://www.stigviewer.com/stig/microsoft_internet_explorer_11/2017-03-01/finding/V-46505)

<comment><USER16> Ouch.

To be fair, fonts really do pave the way for malware into your kernel - [https://googleprojectzero.blogspot.no/2015/07/one-font- vulne...](https://googleprojectzero.blogspot.no/2015/07/one-font- vulnerability-to-rule-them-all.html)

</comment></comment><comment><USER17> I once (as a junior developer) had to write some software to format a massive text file for printing to an IBM line-printer (1403, model N1) .. this (1M) text file had to be checked a few times before it was printed, and that meant opening it up in an editor and verifying the data.

I got pretty sick of opening this file after half a day, because it had tons and tons of CR/LF's and my editor at the time rendered these with strange characters on the screen .. and I didn't like that, as a junior guy, so I just replaced the LF's with 00's. For some reason, this just worked fine in my local environment, and I was able to validate the data in the file before sending it off to the spool for printing, later in the afternoon.

About 3 minutes after I closed the job, the building got a fire alarm, and we all had to exit. Apparently there had been smoke detected in the operations room, where the printer was located, so the Halon systems went off, and we went into full-blown "Ops Reset" mode.

After an hour of hanging around the parking lot, I was called in by the head honcho's in the Ops Room, sat down in front of the printer, and told to explain myself.

Well, turns out, I was responsible. The lack of LF's in the text file meant that the printer was printing - as fast as it could - every single line on the very first character position .. and after a few minutes, the printer simply caught fire.

Oh man, since that day (mid-80's), I've eschewed any job that requires me to deal with printers, and I've been anti-printer ever since. ;)

</comment><comment><USER18> Love those stories. Read some similar ones in the past. First time when debugging - I'm looking into the cache.

<comment><AUTHOR> Thanks for the kind words!

</comment></comment><comment><USER19> The darkest ring of hell would be tech support for wireless (bluetooth?) printers

<comment><USER20> In a casino full of smokers and devices interfering with those signals.

</comment></comment><comment><USER21> We had a printer that did checks and kept the signature on a USB drive, at some point the printer started printing a distorted signature - it ended up using the BMP signature and not the PNG file. Changed out of the blue somehow... both images were fine but it had a bug in how it decoded the BMP files

</comment><comment><USER22> > 508 Resource Limit Is Reached

The network ate my webpage...

<comment><AUTHOR> Update: should be good now. The engineer logged in and killed a couple of stuck processes. In 2017, folks.

</comment></comment><comment><USER23> > Turns out the printer had a cache for fonts and was using the font cached > from the earlier check image which included the font!

Dang cache.

</comment><comment><USER24> I upvoted simply because the title was too good not to.

<comment><AUTHOR> Thanks!! The network ate the font is actually how the problem was reported. :-) That was a fun break from not breaking the HP-UX server running the 24/7 factory and from babysitting various Linux web app server issues at the colo. :-)

</comment></comment><comment><USER25> I usually love these kinds of war stories, but this one was anticlimactic. This would have been the first instinct of anyone who's ever tried to open a PowerPoint they got over e-mail – "oh, one printer shows the wrong font? I bet the font's not bundled, and one machine just happens to already have it."

<comment><USER26> I thought of that, but I have to say I wouldn't have thought about the printer's font cache. I didn't even know they had one. Then again, I try to avoid printers as much as I can :)

<comment><AUTHOR> Same! You live, you learn. Thanks!

</comment></comment></comment><comment><USER27> It's "pored over", not "poured over".

</comment><comment><USER28> 500 mile email comment in 3... 2... 1...

<comment><USER29> I always enjoy re-reading it.

[http://www.ibiblio.org/harris/500milemail.html](http://www.ibiblio.org/harris/500milemail.html)

<comment><USER30> The Daily WTF has a trove of similar stories. [https://thedailywtf.com](https://thedailywtf.com)</comment></comment></comment>


21 Ruby Tricks You Should Be Using In Your Own Code - <AUTHOR> http://www.rubyinside.com/21-ruby-tricks-902.html <comment><USER2> The more exposure to Ruby I get, the more convinced I am that in 5 years it will be a maintenance nightmare of Perl-like proportions.

A culture that prizes cleverness over consistency is an evolutionary dead-end, this transcends the merits of the technology.

<comment><USER3> Thinking out loud: could this desire for "cleverness" stem from the fact that most Ruby programmers work on webapps?

<comment><USER2> This is purely my personal experience, mind, but I have observed that Ruby users tend to be younger and webbier and employed mainly to code, and Python users tend to be older and employed to do other things, of which coding is a subset. This explains the cultural differences; Python users have been burnt before by unmaintainable codebases and are determined not to make the same mistake twice. Also, as Python users (again, in my experience) tend not to be primarily programmers, they aren't impressed by clever coding tricks.

</comment></comment></comment><comment><USER4> ... if you want your Ruby code to look more like Perl.

<comment><USER5> I share your hesitation. Those that are little-known tricks would cause any reader to do a double-take.

<comment><USER6> Very true, however Ruby is still very much growing in popularity and growing as a language. Therefore, if you employ a "little-known trick" and somehow it becomes popular, it is no longer little-known and it becomes a "standard idiom."

This is not automatic, but I suggest the possibility is much greater with Ruby than with certain other languages for various reasons, and therefore it is at least worth considering a new idiom in Ruby rather than rejecting it outright.

One of the ways you can make your favourite idiom popular is to blog about it, of course. Or perhaps to write something really popular and use your idiom in it, such as returning() {...} or perhaps Symbol#to_proc.

<http://weblog.raganwald.com/2008/02/1100inject.html>

</comment></comment></comment><comment><USER7>
        if __FILE__ == $0
          # Do something.. run tests, call a method, etc. We're direct.
        end

That works great... until you execute the script via a symlink.

<comment><USER8> wrong. have you bothered trying what you're claiming to be true?

        % ./blah.rb; ./hah.rb
        blah
        blah
        % cat blah.rb
        #!/usr/bin/ruby

        if __FILE__ == $0
          puts "blah"
        end
        % ls -F hah.rb
        hah.rb@

<comment><USER9> Doesn't work on OSX for me.

Errrr, oh no wait... it does.</comment></comment></comment>


People vs. Process: The Wrong Side of Venture Finance - <AUTHOR> http://measuringmeasures.com/blog/2010/3/2/people-vs-process-the-wrong-side-of-venture-finance.html

<comment><USER2> Reposted from the blog itself: This is a very interesting idea, and a great discussion of its merits.

There is something compelling about the idea that seed financing is such a fundamental part of wealth creation in our new economy that it should follow a process, on a scale, comparable to a small business loan. On the other hand, 'the network is the wealth,' and as you point out - their lack of active participation in companies' outcomes limits their value. You would expect quality entrepreneurs to expect better terms from these guys compared to an investor with more value add. There is an extreme contrast between this method and the model of more formalized networks currently in favor.

As you indicate, it would seem that those companies that would benefit most from this model would need it the least. If all a team of entrepreneurs need is a check, that implies they already have a strong network in place to help them advance the business. If that is the case - they probably have lots of options for funding. If Right Side is aware of this, then its methods for selection would certainly involve social network analysis, selecting prestigious founders, and offering trouble free and favorable terms. By spending less time assisting companies - an expensive process - can Right Side afford to give better terms to attract solid entrepreneurs to apply for what amounts to the venture equivalent of a streamlined small business loan? It will be interesting to see if this is the case.

This model might shine at picking out great teams from disadvantaged regions - basically everywhere outside of the Bay Area and Boston. It may be that this model can select strongly connected teams from cash poor regions whose networks can sustain the business, even if they don't permit easy financing.

</comment><comment><USER3> @rjurney - interesting points on finding great people in hard-to-find places, as well as competing based on more favorable and simpler terms.

If they do want to address the market that way, I think that the message would need to come across better to attract the right kinds of applicants. Right now the message seems to come across very process-focused, which I think will tend to turn a lot of folks off.

</comment><comment><USER4> That does sounds like a disaster waiting to happen. If you're more loose with your cash than others, but don't have as many benefits or nice terms, you will systematically fund people who couldn't get cash any other way, leaving the really good prospects to people willing to commit more specifically.

</comment><comment><USER5> The venture capital industry is such a vital part of modern society, it's where robots and cancer cures will probably come from, yet it operates on the level of alchemy. There needs to be a real shake up, on the level of a 100 more right side capital's. And God knows investors would welcome it, they're literally throwing their money at gambling (derivatives) these days.</comment>


Turning the Classroom Upside Down - <AUTHOR> http://online.wsj.com/article/SB10001424052748704101604576248713420747884.html?mod=WSJ_hps_RIGHTTopCarousel_1 <comment><USER2> Look him up on TED</comment>


Ask HN: Enterprise Start-ups? - <AUTHOR>

There has been a lot of talk about entrepreneurs ignoring Enterprise start-ups.  I think the main reason for this, is a lot of us don't work in the enterprise, therefore don't know the pain points.
That being said, how would an entrepreneur get into the enterprise without working for one, or with little or no experience with it?
What Ideas are out there for startups in the enterprise? (pg?) <comment><USER3> Based on previous comments people have posted on HN in the past:

1)Going from initial meeting to completed sale is a very long, drawn out process with a very large group of shareholders, be it IT, HR etc. Having runway to last this long is problematic and is almost the opposite of the "iterate quickly" model of most startups.

2)Enterprise support levels vary from what most startups can offer, you may need regional reps, on/offsite support, call centre staff etc. a few FAQ pages and a getsatisfaction account aren't going to cut it.

2)Politics can play a large part of the decision making process which is out of your control.

</comment><comment><USER4> Navigating corporate bureaucracy (its politics, legacy systems and cost centers) is the pain point and the reason efficiencies are sometimes not implemented, even by people working within corporations. That said I see that very thing as the opportunity - there are tricks that smart operators use to navigate enterprises successfully. To get a foot in the door, track down some relevant contacts (friends, LinkedIn etc). Contact them and offer to take them to coffee/lunch to chat about what you can do for them. Don't go hard on the sales pitch at this point - just build rapport. At the coffee, it's all about learning about them - what are the strategic priorities of their business unit, and the company as a whole? (You need to slot into this). What would success look like to them? (This is not just results and efficiencies for the company, but your contact within the company will want the internal kudos for pushing through change with minimal pain and maximum visible benefit). Stage three is to provide them with the proposal - the pressure point here is to feed your contact all the materials and party lines they need to get you across the line with their various internal stakeholders. Help them help themselves - case studies and referees help here, and enterprises are all about the 'value add', so emphasize your 'above and beyond', added-value features. Your branding and market positioning will also need to align with the standard of enterprise you're aiming to work with - e.g. if you're aiming for top-tier enterprises you'll need prestige branding and a value proposition akin to being 'smart' or 'efficient' or 'innovative' etc. Many large enterprises have 'preferred supplier' or 'preferred vendor' lists so (depending on your product/service) you'll want to edge your way onto it - <USER2> helps to belong to any relevant industry associations and undertake a bit of healthy corporate social responsibility (offset your carbon usage, pro-bono charity work etc). Once you have one enterprise on board, leverage that connection to get to their competitors. (A slow-cooker version of consumer virality - name drop to their competitors that you've been working with them, and they're more likely to jump on the bandwagon). I'm sorry if I'm rambling, I hope this helps! :)

</comment><comment><USER5> I know of two ways:

\- do consulting work and build custom software until you have a good sense for the problems. Once you know what customers want, throw away everything you coded and re-implement as a product. It is very difficult to reach escape velocity this way - you will be very dependent on consulting revenue, making it hard to stop consulting and work on product. But if you don't know the domain, this is your best bet.

\- make a product that an employee in your target market could/would pay for themselves. Once you have a product users love, you can work out enterprise features like on-site deployment and system/data integration. The individual user revenue will finance your development, and sustain you through the infamous "enterprise software sales cycle", and its longer, more painful cousin the "enterprise software deployment cycle".

If you want ideas: pick a target industry, then talk to users. Literally ask them what frustrates them about their work. Life in the enterprise is _full_ of frustration, it doesn't take long to find a good problem to work on :).

The harder part is picking the right target industry. My advice is to pursue customers you admire. You want to love meeting and talking to your customers, since you'll spend a lot of time obsessing over them...

</comment><comment><USER6> Been there, done that.

I can tell you that - as a startup - it's next to impossible to make a deal before you run out of money. With enterprise customers it takes at least several months from the first sales pitch to striking a deal. There are one or two startups though which managed to pull this off. Atlassian comes to mind.

That being said, from currently freelancing in enterprise software development once more (sadly, bills have to be paid ...) there are lots of pain points in enterprise IT environments. Enterprise IT basically is lacking in every respect. Time tracking, ERP, CRM, ticket management, document management, I can hardly think of any area enterprise IT isn't light years behind what I'm normally used to. Problem is, there already are tons of better products for each of those areas. Tragically, once they've made a purchase decision enterprise customers are highly unlikely to switch to a different product, no matter how much better it is. This is the reason why the likes of Oracle, IBM and SAP are so formidable at selling their crappy software and it's also the reason why I currently have to put up with an HP issue tracking system that actually requires IE6 to run and is so far behind any other issue tracking system out there, - free or not.

</comment><comment><USER7> Many of the emerging enterprise centric companies you hear about today initially got their start selling to SMBs/sole proprietors. Instead of targeting large enterprises from the get-go, start with small business owners and talk to them about their pain points and the issues facing their business. Odds are you'll identify a problem that you can profitably address quickly (enterprise sales cycle sucks) and sell later on to larger enterprises who have the same problem (if that's the eventual direction you want to take).

For example, maybe after talking to a bunch of pool cleaning companies you realize that there's a dire need for a phone app to track where cleaning crews are and what work they've done. They are more than happy to pay you since the app would save them thousands of dollars per year in various losses. After organically growing this business over time, you realize that other industry verticals with distributed workforces have a similar problem so you begin to expand and target larger businesses...you get the point.

</comment><comment><USER8> My problem with the enterprise is that I see the problems my company has, but it's hard for me to gain any reasonable degree of certainty that existing solutions wouldn't solve our problems and aren't getting adopted by other companies.

The reason for this: many companies are bogged down in inertia, at least at many levels that aren't seen as directly driving growth. So when I see the horror that is our phone system (it's a horror) and I think "I bet we could run this shit through an iPad" and then see other solutions out there that are clearly better, where do I see how I would differentiate myself?

So it's only when you're in the enterprise, have a problem, get authorized to actually solve it (rare rare rare) and THEN actually experience available solutions falling short that you can start to figure out what you'd build and do differently.

<comment><USER8> In the consumer space we go through this every time we do anything: we are the masters of our iPhones. So when I want an iPhone app and it doesn't exist, I'm already 100% sure that I wanted that app and that it doesn't exist. Make sense?

</comment></comment><comment><USER9> Partner with someone who has got experience, enterprise generally depends more on deep expertise and network. You're also much more likely to need to get funding early on (whether from a VC or a client) and unless you have that expertise and network it's going to be very hard to get funded.

</comment><comment><USER10> There's a guy on here - mindcrime - who's got a startup that's doing something like that. I think the company name is Fogbeam Labs or something to that effect. I'd look him up.

</comment><comment><USER11> Steve Jobs mentioned this.

For enterprise software, user and buyer are not the same person.</comment>


A simplest note-taking app using expandable/collapsible bullet points - <AUTHOR> https://workflowy.com/invite/38ed9943.lnx <comment><USER2> So you've never commented on HN, but have submitted 31 consecutive links to mathvault.ca, and now an affiliate link?

That's not how community sites work.</comment>


Little-known directives of Angular.js - <AUTHOR> http://codetunes.com/2013/little-known-angular-directives/

<comment><USER2> Thanks for the post - I regularly use a lot of these, and I'm a big fan of ng- bind attribute over the <div>{{ thing }}</div> approach.

Things that really caught my eye:

\- ng-list: sounds very useful for user forms, tagging, etc

\- ng-switch: I dont know how many times I've used ng-show to replicate this functionality. Thank you!

<comment><USER3> Just to be clear (and as mentioned in a comment on the post), ng-switch is actually closer in functionality to using multiple ng-if directives (which is only in Angular 1.1.5+). ng-switch actually adds/removes the elements from the DOM, whereas ng-show just shows/hides the element.

<comment><USER4> It also creates an additional scope whereas the ng:show does not.

</comment></comment></comment><comment><USER5> ngPluralize - Handles pluralization scenarios cleanly in your view. No more "var itemCountDesc = items.length + ' Item' \+ items.length === 1 ? '' : 's';"

</comment><comment><USER6> ui-view does indeed look quite interesting. but the description didn't really explain it for me.

a simplified description is that its a router for multiple-panes. where different related states can make use of inheritance.

[http://txt.fliglio.com/2013/05/angularjs-state-management- wi...](http://txt.fliglio.com/2013/05/angularjs-state-management-with-ui- router/)

[http://jsfiddle.net/benschwartz/LhydD/](http://jsfiddle.net/benschwartz/LhydD/)

<comment><USER7> I like your description. Indeed one of the best things about ui-view is that states can be inherited.

Say you want to load search.results.details, and it will render search page first, then results inside, then details.

Also, in sub-states you can use templates defined in parent-state template. It means you don't need to render cache templates all at once. Just for sub- states.

</comment></comment><comment><USER8> > "Angular performs validation of HTML5 input types out of the box."

I'm confused. What does angular have to do with this?

<comment><USER9> Angular adds $valid/$invalid for forms that you can check against.

</comment></comment><comment><USER10> ng-bind-html-unsafe has been removed in the latest release candidates, it won't be in 1.2

So try not to get attached.

<comment><USER11> Just use [http://docs.angularjs.org/api/ng.$sce#methods_trustashtml](http://docs.angularjs.org/api/ng.$sce#methods_trustashtml) on your data then use ng-bind-html. It does the same as ng-bind-html-unsafe.

<comment><USER10> Iterating over a collection in the controller and manually calling that on each element as needed is a huge pain.

Does it work in filters?

</comment></comment></comment><comment><USER12> I'll be looking into ui-view. I need different view options.

</comment><comment><USER13> What does "Flash Of Uncompiled Content" means?

<comment><USER14> Refers to when the page renders and still shows

{{ user }}

instead of the content that should really be shown in place of it.

</comment></comment><comment> plus- Well, I didn't even know about ng-cloak

<comment><USER15> Funny!

</comment></comment><comment><USER16> ngBind was new for me today. Thank you!

</comment><comment><USER17> ng-attr is very nice</comment>