Show HN: HappyMac – Make your Mac happy again - chris-laffra https://github.com/laffra/happymac <comment><AUTHOR> Looks cool but I am not sure how I feel about silent updates and possibility of running arbitrary code on my computer. (probably with admin priviledges) [0]

edit: also eula is strange as this is licensed with MIT license (according to GitHub source):

You must not: \- Reeingineer the internal workings of the HappyMac app \- Copy and redistribute the HappyMac app in any form or shape [1]

[0] [https://github.com/laffra/happymac/blob/master/src/version_m...](https://github.com/laffra/happymac/blob/master/src/version_manager.py)

[1] [https://www.happymac.app/eula](https://www.happymac.app/eula)

<comment> chris-laffra Correct. The source is licensed with MIT license. The downloadable version from happymac.app has a different EULA. That said, the intent was to avoid people copying the app, so the EULA has been changed to now replace the two lines you quoted with: You must not: - Copy and redistribute the HappyMac app under the same or similar name

</comment></comment><comment><USER2> What is this BS? Can't run it without allowing access to the internet? It says license missing? I thought this was open source?

<comment> chris-laffra You are correct, HappyMac is open sourced at [https://github.com/laffra/happymac](https://github.com/laffra/happymac). The license check error should simply have been a log statement. Please reinstall the app from [https://happymac.app](https://happymac.app) to get an updated version. As this is open source, you can also build your own version from the github sources, of course.

</comment></comment><comment><USER3> what does this do?</comment>


Sorbet · A static type checker for Ruby - <AUTHOR> https://sorbet.org/?open_sourced <comment><USER2> Is there anyone here using that could provide some feedback about Sorbet?

</comment><comment><USER3> Curious how this compares in practice to the state of the art with Python (mypy?)</comment>


Magnum Engine 2020.06 released with redesigned asset pipeline and new examples - <AUTHOR> https://blog.magnum.graphics/announcements/2020.06/ <comment><USER2> Here as a user to show my support and appreciation. :) I use Magnum for just about any project involving C++ and graphics. Both the framework and community[0] are fantastic and I'd recommend it to anyone looking for something inbetween Unity and plain OpenGL/DirectX/Vulkan for full control and interoperability with other C/C++ libraries out there like PhysX and ImGui. Go go go!

[0]: [https://gitter.im/mosra/magnum](https://gitter.im/mosra/magnum)</comment>


'World's first' 5G network launches - <AUTHOR> https://www.techradar.com/news/worlds-first-5g-network-launches <comment><USER2> Has anyone found the speed of 4G LTE lacking? Personally, I experience much more the _lack_ of connectivity in specific areas (shopping centers, Ikea, etc). Context: I live in Silicon Valley.</comment>


Everything I Needed to Know About Programming I Learned from BASIC - <AUTHOR> http://www.codinghorror.com/blog/archives/001104.html <comment><USER2> I started with C and then quickly realized that BASIC was _much_ more fun, precisely because it was easier and therefore more fun.</comment>


Introducing Versions and Libraries in Apps Script - <AUTHOR> http://googleappsdeveloper.blogspot.com/2012/05/introducing-versions-and-libraries-in.html

<comment><AUTHOR> Finally, after two years, issue 40, "Ability to share scripts" is resolved:

[http://code.google.com/p/google-apps-script- issues/issues/de...](http://code.google.com/p/google-apps-script- issues/issues/detail?id=40)

This is big news in the Google Apps Scripts realm because it enables shared libraries, eliminating headaches of duplicate code copied and pasted where needed.

<comment><USER2> Interesting timing in light of the recent discussion (<http://news.ycombinator.com/item?id=3982114> \- _Google's Code Editor_ ) which included a number of anecdotes [including yours] regarding this issue.</comment></comment>


Confessions of an Apostate Mathematician [pdf] - <AUTHOR> https://web.math.princeton.edu/~nelson/papers/rome.pdf <comment><USER2> The conclusion of this essay is deeply stupid. The author uses formalism in the same way that he accuses Hilbert of doing, except that where Hilbert presumably remained a closet Platonist, the author is apparently some sort of nihilist. The comparison of mathematical propositions to sheet music is transparently inappropriate: for, if the latter truly denoted _nothing_ , we would not continue to print endless volumes of it. Surely, even music that is absolutely nonrepresentational still has the virtue of being a pleasing or stimulating pattern of sound; so we should discard as _just silly_ the notion that notion that, e.g., an existential quantifier is nothing more and nothing less than a backwards _E_ printed on paper, and that the endless volumes of text containing the symbol are produced _for no reason_.

I am not a Platonist, nor a formalist, nor an intuitionist, but there is a completely coherent interpretation of mathematics, entirely fleshed out in my mind, which is none of these. I could summarize it here, but I've grown rather tired of broadcasting my ideas pseudonymously in random comment threads only to see them published a year or so later with no attribution (and why not; why cite a random commenter?). Whether you believe me or not when I say that there is another way, the nihilism in this essay can clearly be rejected as an abortive train of thought.

<comment><AUTHOR> Elsewhere, Nelson has stated that despite the labels Mathematicians use to describe themselves (Platonist, Formalists, Intuitionist) they still seem to have the uncanny ability to agree on the correctness of any particular piece of work, despite their philosophical differences.

I am sure there is a lesson in there somewhere ;)

Biased hint: distributed consensus.

<comment><USER2> Yes, and that's precisely what makes the nihilist position so silly. (I'm sure the author wouldn't describe himself as a nihilist, but if the position presented in his essay isn't nihilism, then what—other than a waste of the reader's time—can we call it?)

<comment><AUTHOR> To call him a nihilist based on his views of Mathematics is a bit too reductionist, I think?

All Mathematicians are human, not all humans are Mathematicians.

Humans look for (and find) meaning wherever they can.

<comment><USER2> The position presented in the essay is _mathematical_ nihilism. I make no comment on him or on his general philosophy, which I thought was obvious from context.

<comment><AUTHOR> It was also obvious from the essay that his Mathematical nihilism didn't extend to computation.

So it kind of begs the question: What does Mathematics mean to a Computer Scientist?

Least we forget that Ed Nelson was a strong proponent of Ultrafinitism ( [https://en.wikipedia.org/wiki/Ultrafinitism](https://en.wikipedia.org/wiki/Ultrafinitism) )</comment></comment></comment></comment></comment></comment>


What I learned managing people for the first time - <AUTHOR> http://www.startupmngr.com/30-lessons-i-learned-managing-people-for-the-first-time/ <comment><AUTHOR> Would love everyone's thoughts, and also hear about your experiences and stories. Thank you for reading.</comment>


Linux Poetry Explains the Kernel, Line By Line - <AUTHOR> http://www.linux.com/news/featured-blogs/200-libby-clark/777473-linux-poetry-explains-the-kernel-line-by-line <comment><USER2> My favorite tech poem is Radia Perlman's "Algorhyme". She's the inventor of the spanning tree protocol.

    		Algorhyme

            I think that I shall never see
            a graph more lovely than a tree.
            A tree whose crucial property
            is loop-free connectivity.
            A tree that must be sure to span
            so packet can reach every LAN.
            First, the root must be selected.
            By ID, it is elected.
            Least-cost paths from root are traced.
            In the tree, these paths are placed.
            A mesh is made by folks like me,
            then bridges find a spanning tree.

                             Radia Perlman

[http://en.wikipedia.org/wiki/Radia_Perlman](http://en.wikipedia.org/wiki/Radia_Perlman)

</comment><comment><USER3> Love it. Here's the blog: [http://www.linux-poetry.com/](http://www.linux- poetry.com/)

I'd actually say I found that knowing I could understand this in condensed poetic form makes it a nice affirmation that I do actually understand some of this stuff, but I also learned a lot.

I hope this continues!

<comment><USER4> Thanks! No plans of stopping in sight. :)

</comment></comment><comment><USER5> > _"I have all this experience but I suffer from a thing that almost every > person who doesn't have an actual background in CS does: I have islands of > knowledge with big gaps in between," she said. "Every time I 'd come across > some concept, some data structure in the kernel, I'd have to go educate > myself on it."_

I get the impression that Morgan Phillips avoids saying she has a background in CS due to not holding a degree in it. I think she has every right to state that she does have a background (being classified as a hacker goes without saying).

Now, I am going to compile her poetry.

<comment><USER6> Ha! Wouldn't it be lovely if having a "background" in CS actually made you as knowledgeable as Phillips thinks it does?

I've got a CS degree and 10 years of industry experience, and I'm still at clueless as she is and probably more.

<comment><USER7> She was a physics major.

There seems to be a strong correlation between physicists and good computer scientists:- Knuth, Dijkstra for example.

<comment><USER5> IIRC RMS has a good background in physics.

Seymore Cray worked with radios during WWII and had a very strong background in electrical engineering. He had to rely on Maxwell's equations to analyse signal paths [0]. The bottom anecdote [1] I found highly amusing, very "egg and chicken".

[0] [http://en.wikipedia.org/wiki/Seymour_Cray#Technical_approach...](http://en.wikipedia.org/wiki/Seymour_Cray#Technical_approaches)

[1] [http://research.microsoft.com/en- us/um/people/gbell/craytalk...](http://research.microsoft.com/en- us/um/people/gbell/craytalk/sld089.htm)

</comment></comment></comment></comment><comment><USER8> It's nice. I have more trouble groking the poem form so I would not use this, but certainly I understand those areas of tech where I wrote and researched say an article, far more than areas of flew over and just got working.

Each to their own learning I guess - but very nice

</comment><comment><USER9> Reminds me of a discussion on HN a few years ago about painting some very famous algorithms on a canvas and expose them in exhibitions. There's a inherent form of beauty in some of them that may be visible even to the non- initiated.

</comment><comment><USER10> This could be a great evidence for code as expression and needing protection by First Amendment argument.

</comment><comment><USER5> Phillips' on github:

[https://github.com/mrrrgn](https://github.com/mrrrgn)

</comment><comment><USER11> >It's a "pedagogical hack"

Looking at a couple of them, I have no clue how it makes things any simpler. Removing line breaks and re-forming the text into correct sentences would make things easier to understand, imho.

<comment><USER12> > I have no clue how it makes things any simpler

I'm sure it would make it simpler to her and probably keeps her motivated and encourages her to get a better understanding. It seems more of a way for her to personally understand the kernel, and she is just sharing the poems with everyone else for whoever wants to read.

<comment><USER4> Yes! That's definitely the way I think about it. These are just my way of taking notes, and I thought they'd be fun to share. I do it this way because writing a poem requires a bit of reflection, so, instead of just retaining nodes of information here and there I'm also capturing connections and concepts. The novelty of writing in prose also keeps things from seeming tedious. :)</comment></comment></comment>


The Pros and Cons of a Surveillance Society - <AUTHOR> http://bits.blogs.nytimes.com/2013/07/16/the-pros-and-cons-of-a-surveillance-society/ The interconnection of Trayvon Martin, Prism & Google Glass in a surveillance society. <comment><USER2> A waste of space. It's just more "he said/she said" pseudojournallism. Well, sure the US government says "Terrorism!" and some folks (at this point, we have to believe they are propaganda shills) say "Crime!", and so we have to have surveillance cameras everywhere.

Why does every debate have to go to "the most X", in this case, "the most scared"?</comment>


The stealthy industrial revolution already underway in open source hardware - <AUTHOR> http://www.crashdev.com/2013/08/the-stealthy-industrial-revolution.html <comment><USER2> Actually these kinds of practices have been used by the Chinese "shanzhai" for a while to quickly churn out products. They appear to have their own internal "GPL" / code of sharing that they self-enforce.

From [http://www.bunniestudios.com/blog/?p=284](http://www.bunniestudios.com/blog/?p=284) :

      Interestingly, the shanzhai employ a concept called the
      "open BOM" — they share their bill of materials and other
      design materials with each other, and they share any
      improvements made; these rules are policed by community
      word-of-mouth, to the extent that if someone is found
      cheating they are ostracized by the shanzhai ecosystem.

</comment><comment><USER3> As someone who is doing an awful lot of work in the supply chain, I completely agree. Open and free to copy reference designs are the only reason I can get anything done without having impractically broad _and_ deep knowledge.

Simple example -- I make LED lighting for fun and profit. I adopted the arduino platform years ago because while I could spend the time to make sure I'm laying out all the components properly (I've done boards for lots of other microcontrollers), I hadn't done USB programming before. So instead of needing to find a partner who could write me an entire bootloader system for doing USB in circuit programming, I can just copy the arduino design, add my secret sauce, and redistribute it.

Or, more recently I've been migrating to ARM. I know zilch about ARM processors, but with the mbed platform I could easily make my light into a USB MIDI device, a DMX platform, and so on. If I had to learn myself how to do all that, it would be impossibly time consuming and I'd never get anywhere.

<comment><USER4> _mbed_

Oh my goodness, this is fantastic. I had been exploring another platform for this but there wasn't nearly as many examples/tutorials etc., plus it was closed source.

<comment><USER5> mbed + ethernet is wonderful. If you need some firmware for such a thing, may I suggest my own github:

      https://github.com/mfassler/eFirmata

The code is still a bit messy, but I'm still actively working on it. (I've got a bunch of changes that I haven't checked in yet.)

<comment><USER4> Thanks! I'm extremely interested in the possibilites for embedded MIDI processing, as my music-making is hardware-based and I prefer to minimize the computer use.

<comment><USER3> Sounds like a great project! I hope you share it when you get done =) I'm a big fan of electronic music, although I don't care for MIDI due to some quirks.

Are you thinking of the traditional route of making new instruments to do off- board audio generation to your mixing board?

One of my favorite projects so far was to make our LED lights MIDI devices so you could sequence them using something like Ableton directly.

[http://blog.saikoled.com/post/49255468343/myki-show-tell- epi...](http://blog.saikoled.com/post/49255468343/myki-show-tell- episode-3-usb-midi)

The second application is my favorite.

<comment><USER4> No, doing instruments is hard and at most I would build from a kit there. I already have a bunch of good quality instruments and get the sounds I like from programming those. What I'm interested in is hardware sequencing and in particular combinatorial methods for sequence generation, eg where you combine a rhythmic sequence of one length with a note sequence of another to generate changing patterns. At present I do this sort of thing with a Nord Modular but it gets unmanageable for more complex structures. Also, I don't love the sound as much as I used to but I can't give up the control over MIDI in hardware XD

I approve of the audio clips on your website BTW, we share some similar musical tastes. I'll keep an eye on the project.

<comment><USER3> Thanks! I can't say I fully understand what you mean; I was mostly taught to do electronic music using Max/MSP, so most of the stuff I make is all about generating sounds without much direct conception of things like notes or patterns. It's a little unusual of an approach, myself I do things like build simulations of throat singing based on research papers.

Here's a video I did with my throat singing simulator accompanying an LED art piece I did a long time ago.

[http://web.mit.edu/neltnerb/www/artwork/ultraluminous-2008-0...](http://web.mit.edu/neltnerb/www/artwork/ultraluminous-2008-03-08.avi)

I guess I don't understand how a rythmic sequence would get so complicated as to overwhelm a computer =) Is this like Conlon Nancarrow stuff? His work is incredibly bizarre.

[https://en.wikipedia.org/wiki/Conlon_Nancarrow](https://en.wikipedia.org/wiki/Conlon_Nancarrow)

</comment></comment></comment></comment></comment></comment></comment><comment><USER6> Nobody who has ever made a commercial product for a living would be trumpeting a new industrial revolution brought on by open reference designs. Fact is: that stuff is there already. Component manufacturers literally have field application engineers who are just waiting to send you reference designs that use their products, if you're working at the PCB & discrete parts level.

Hardware designs are already open in a way that can't be matched by software - you can look at a product, take it apart, and :voila: - you have the design in a way that is far easier to grok than disassembling a closed binary. Many high end products have full schematic drawings included with the technician's repair manual. Anything novel enough to be patented has mechanical drawings and a full description listed in the patent.

The only things you can't take apart are ASICs and other computer chips. But BFD!? Any player in that space has to have hundreds of thousands just to prototype one, let alone rent time in an IC fab to make them. If you have that kind of money, there's plenty of fab-specific IP floating around for your use at nominal prices.

Open source software is revolutionary because the incremental cost of duplicating bits is nearly zero. The same can't be said for hardware. In fact - it's worse. The smaller a player you are, the more expensive it is to duplicate a design. And it is a pain in the rear to duplicate designs if they're at all pushing the envelope, since manufacturing tolerances and capabilities differ so much from outfit to outfit. Can you imagine the pain and suffering you'd go through porting software that relies heavily on compiler-specific directives? Well, it's like that when you move from one factory to another.

Some Chinese outfits have met with success with open / copycat hardware. I'd argue that's less a result of open reference designs and 3d printing and more of drastically reduced labor and part costs, all situated in a global hub of electronics manufacturing.

<comment><USER7> Have you considered the value in OSHW is not necessarily in enabling well- trained engineers so much as making "effective engineers" out of hobbyists? Sure, one trained in electronics can look at a PCB and surmise its function - but for one not trained, they would do to understand what each section of that design does, and why it does it. "Why would part X be used in this design? What is its function?"

OSHW to me, is more enabling the long tail of invention. To be fair, I think a lot of the users of OSHW development platforms are looking for the right combinations of components to make their software designs effective. I see a lot of stuff out there that is little more than re-packaging of a dev kit in a cheaper to produce form, but with software that enables it to fulfill a new purpose.

So, yes, a lot of us do see OSHW as a meaningful activity with a meaningful outcome. I'm sorry that you think it's pointless for people to share their electronics designs (Sheesh, can't everyone who wants to make something buy something else that does exactly that and copy it by looking at a board?) Truth be told, we could say the same thing about software: I can observe what it does given any specific input, therefore I could replicate it - who needs source code?!

<comment><USER6> Don't get me wrong, OSHW does have some value exactly as you said: it's a great learning tool for hobbyists and those new to field without the money to reverse engineer a product. But that is not the buzz that is being written by journalists and Silicon Valley cheerleaders who foresee a future of boutique micro-manufacturing and bespoke designs for everyone.

A game I like to play when this type of article comes up is to replace every instance of the word hardware with furniture. So when someone talks about open source hardware, pretend they are talking about open source furniture. The hyperbole used in this type of article will become quickly apparent.

<comment><USER8> Though open source furniture is not at all a bad idea. I built a very location-specific wardrobe recently[1] that has a pretty unusual design, and would have loved to have a library of similar stuff somewhere that I could grab ideas and subassemblies from. In this case, all components except the custom-printed ones are straight from the hardware store, anyone who feels like it can build it, and it costs less and performs better (given the unusual location) than anything you can buy. It's exactly what I would want OSHW to be. I'll be happy to scan in and share my design sketch for it and the BOM if anyone is interested. It's technically GPL licensed because the rollers are derived from a GPL-licensed 3d printer extruder design, but I can't very easily distribute the resulting product.

[1] [http://imgur.com/a/HLbWF](http://imgur.com/a/HLbWF)

</comment></comment></comment></comment><comment><USER9> The real moneymaking tools in this space are going to be a class of utilities that can broadly be described as "assisted design"; everything from object editors that know about pleasing proportions to linters that will tell you that you laid out the plumbing wrong and you should fix it before it gets printed.

The printers themselves will be commodified quickly; although multi-material printers will buck that trend for some time. Feedstock is already commodified and I can't really see anyone making a play on a printer/feedstock combo that required you buy only genuine branded feedstock.

The basic design tools ( Meshlab, Blender; etc.) are already free, but require real expertise to understand and use.

So the main market opportunities are going to be:

1\. finding talented designers/architects/developers and matching them with the demand for design services.

2\. parametric design adapters that can take a common set of parameters and produce an individualized design ( from clothing to buildings )

3\. Assistive design tools; tools that help you realize your designs while ensuring that they remain within the bounds of manufacturability and are pleasing to the eye and hand; without requiring that you become an expert in whatever field you are dabbling in. ( Think of a jewelry design application that knows about both physics and proportion, and suggests alterations to you. Or a habitat builder that can show you a map of where mildew will happen in your design...) The basic premise of this class of application is that you could hand it to a bright fourteen year old and she could design a successful and functional instance of the target class of object.

If you're hungry for good ideas; there's a fairly rich vein of common items that people will want a customized version of, but won't necessarily be wanting a bespoke or personal design. That would be point 2. above.

</comment><comment><USER10> OSH is inevitable economics; IBM saw the trend, and Dell is in play right now.

Also, it would be interesting to see OSH go as far as processor on up, in the vein of OpenSparc but actual layout not just vhdl/verilog for FPGAs. Requires EDA and layout skills obviously, but it's not impossible.

</comment><comment><USER11> If OSH really becomes a significant paradigm then we can finally start enjoying reasonably designed CPUs, with a better base abstraction layer.

Maybe not everyone's cup of tea, but with the war on general purpose computing well under way that's something that I'd be very interested in.

</comment><comment><USER12> Nathan Seidle, founder of SparkFun (and my boss!) recently talked at a hearing of the House Committee on IP with regards specifically to open source hardware. The EFF quoted him in this article:

[https://www.eff.org/deeplinks/2013/08/tech-sector-does- its-p...](https://www.eff.org/deeplinks/2013/08/tech-sector-does-its-part- promote-reality-based-copyright-policy-will-congress)

And it echoes how he feels and how we as a company operate. 145 people strong, $30MM in revenue annually, and not a single patent. All of the products we make are open source. It's awesome.

</comment><comment><USER13> I recently mentioned in passing that a hardware renaissance is near or underway. This sort of news gives me hope that it happens.</comment>


Zynga Sets Price Range For IPO At $8.50 To $10 Per Share - <AUTHOR> http://techcrunch.com/2011/12/02/zynga-sets-price-range-for-ipo-at-8-50-to-10-per-share/ <comment><USER2> They'll open at $25 and their awful founders will get away with yet another atrocious scam.</comment>


A Start-Up That Aims to Bring Back the Farm-to-Vase Bouquet - <AUTHOR> http://www.nytimes.com/2016/01/10/business/a-start-up-that-aims-to-bring-back-the-farm-to-vase-bouquet.html <comment><USER2> The flower business does seem ripe for disruption. Looking at a traditional flower business website, it definitely feel like, "these designs are not to my taste".

I'm just not sure how many people want gift flowers but have no preference about what colors or flowers there are. (Like my wife has clear preferences about those things and giving her flowers that ignore them would be kind of insulting.)

Also the shipping is pretty steep if you can't use their local delivery. $25 on a $38 bouquet.

</comment><comment><USER3> _"I think that the local flower movement is where the local food movement was about a decade ago," Ms. Stembel said. Consumers are starting to become aware of where their flowers come from and purchase accordingly, she said._

But the majority of flower bouquets are _given_ to people, unlike restaurant food. Is the recipient really able to detect that these tulips were grown in California and not Aalsmeer? Is there a visible quality or longevity difference? Because, if there isn't, then this is just luxury posturing and adds no value to the product.

<comment><USER4> Perhaps people don't like me much, but I buy the majority of my flowers for myself. This site looks terrible (I can't find the report directly, just florists talking about it), but it's taking its data from a major study done on the flower industry in 2005: [http://www.aboutflowers.com/about-the-flower- industry/consum...](http://www.aboutflowers.com/about-the-flower- industry/consumer-trends.html) Of people purchasing bouquets, a third of the purchases were for themselves. So yes, a majority are gifts, but that's still a big market.

As far as why anyone would want to "purchase locally" (note: I live in Boston, think FarmGirl is overpriced, and have nothing to do with this company, but as a frequent flower purchaser, I can see the appeal of the concept) Purchasing flowers locally expand the type of flowers commonly and cheaply available, as counter-intuitive as it might seem. Roses are "traditional" on Valentine's Day simply because they ship well. Really really well. Roses are practically indestructible, and can be grown in Kenya, go without water for a while and still look great when they're rehydrated. Other flowers (Lisianthus, for example) don't appreciate being tightly packed into boxes and living without/with little water while they're hanging out in the dark. Shipping delicate flowers raises the price dramatically, and if there's an option to purchase them without that overhead, I'm certainly game.</comment></comment>


Show HN: PC Builder Tool (My 1 year old side project) - <AUTHOR> http://assembleyourpc.net/rigs/new/select_processor/usd

<comment><USER2> Some feedback:

What I'm missing in PC builders at shops is the ability to filter say the motherboard by the features. How do I know if the H61 is better than the G41?

Once I selected an i3 why are you showing me AMD motherboards?

do I even need a graphics card for a motherboard? Would be nice to know that for the cheap computer I want to make for my mother I can use the onboard VGA.

<comment><AUTHOR> Thanks for your feedback. I'm planning to add more details for processor, so the users can compare/analyze the graphic performance of onboard graphic engine. (and decide if a dedicated GPU is required or not)

On motherboard page, currently, it's highlighting the compatible motherboards, I guess it be more better if it shows only the compatible motherboards.

</comment></comment><comment><USER3> I liked the socket filtering for motherboards, but there was not anything similar for RAM. Once a user gets to step 3 how do they pick compatible memory?

</comment><comment><USER4> Looks great. I've noticed that when you sort HDDs by size, 1 TB goes to the top even though there are 2 and 3 TB models. Small nitpick :)

<comment><AUTHOR> Yeah, that HDD sorting by size is not working as expected. It's filtering based on the first number (or character, whatever comes first), so I think the "500 GB" HDDs are not ranked properly. Thanks :-) I'll fix it by next update!</comment></comment>


Results from Candy Japan box design A/B test - <AUTHOR> https://www.candyjapan.com/results-from-box-design-ab-test <comment><USER2> In a past life I founded/operated a conversion rate optimization company.

One of our all time most successful tests was related to this story and happened almost by accident.

The client had just rolled out new packaging and wanted help validating the change statistically, very similar to this situation.

Their metric was measuring upsells to a premium product after a purchase, and like Candy Japan, found statistically insignificant results.

But the new packaging was beautiful and we wanted to test it on their landing page.

We tried just replacing the old product image on landing page. Meh results, no real bump.

We tried increasing the size of the image + circling with "Improved" (no joke). 10% bump. Interesting.

We hired a professional model to hold the product and smile. 15% bump. !?

We hired a group of professional models to hold the product and smile. 40% bump in sales. !@%K$!?

We re-hired the same group of people to hold product, look SUPER excited (jumping up and down like their team just won the superbowl). 50%+ bump in sales.

No joke.

If Candy Japan is reading and you'd like some help recreating I would not be shocked to see something similarly group oriented, visceral, and beautiful bump yeh.

<comment><USER3> I wonder if you could have gotten a similar result from the same models holding the old box?

<comment><USER4> Alternatively, what if you already had the models and wanted to improve?

</comment></comment></comment><comment><USER5> How about a plain box in some relevant color (sakura blossom pink? :) ), hand- stamped with the Candy Japan logo?

In my mind's eye, that'd remain classy enough not to be creepy/cringy/embarrassing (as [https://news.ycombinator.com/item?id=11641715](https://news.ycombinator.com/item?id=11641715) complains), but would also have sort of a personal touch to it.

Having a couple rubber stamps made and stamping each box during packaging wouldn't probably cost an awful lot...

<comment><USER6> Seems like a good alternative. There has been a lot of valuable feedback in these comments. I hadn't considered how these might be perceived at a workplace, or that people even receive packages at work.

</comment></comment><comment><USER7> Have you considered that the new box is too "generic" or "corporate?" (For lack of a better word)

In other words, the old box, while plain, adds a certain intimacy. It doesn't look like a huge multinational candy company sent it. The new box, though, looks basically like any other piece of Japanese media.

<comment><USER6> I can see how that might be the case. Current subscribers might know me personally or through my blog. That would then mean that as I start to reach out to people who don't know me personally, these results could change.

<comment><USER8> As a current subscriber (who has been receiving the old packaging), the new packaging is off-putting:

* It looks childish. If you are familiar with the Japanese style of advertising etc., probably not an issue, but as a box to be sent anywhere and to be received in a variety of settings (workplaces etc.) it seems like a poor choice.

* Anime may have poor connotations (unfair IMO) as pointed out elsewhere in the thread, which will reflect on the receiver.

* It feels corporate / like advertising. It may seem silly, but I'm more likely to continue subscribing to a small company if I'm on the fence about canceling.

* It feels like a waste of money. The current packaging is utilitarian, which signals that money is being spent only where it needs to be. The new packaging feels like an unnecessary indulgence, which would make me think I'm getting less value out of the subscription.

</comment></comment></comment><comment><USER9> I much prefer the plain packaging because:

\- The anime picture is embarrassing to receive in the mail / at work.

\- The picture itself is kind of creepy, someone walking past my desk once even described it as 'rapey'.

\- I can reuse the box.

\- I am not 6.

<comment><USER10> It depends on the audience.

Someone who admires Japanese culture will likely not have the same reaction as someone with little exposure to Japanese culture.

The picture is not even on the same planet as 'rapey' Whoever that was either said it to get a rise or they have some distinct issues.

One solution, perhaps, is avail both packaging options to buyers.

The typeface and font, I think, could be improved. It kind of looks like an afterthought. I don't see "branding". It's not Lobster or Comic Sans... but...

<comment><USER11> > It depends on the audience.

One problem is that even if the person receiving the box is exposed to Japanese culture, their coworkers probably aren't.

<comment><USER10> So I think the main issue is how the buyer might perceive the packaging. If a coworker has issues... I think the coworker has issues. It's like someone finding Barbie offensive (for other than body image issues). I can't see it. Are these people who whisper and shuffle when they buy condoms or feminine products at the checkout counter? Do they wrap their wine or beer in brown bags? It's hard to imagine this person.

<comment><USER11> Humans are social animals. When I buy things, I absolutely consider how that purchase will look to other people. it's one of the primary reasons why brands have value.

You might not like that the world works that way, but as a business it's wise to not deny reality.

<comment><USER10> Right, but this nettlesome coworker you imagine is, I can only imagine, the lone outsider who can possibly find offense in the packaging. I think most would be like, hey, what's that? Oh, candy from _Japan_? Can I try one> Wow, Oishi!

<comment><USER11> I can guarantee you that nettlesome coworker is not alone in perceiving creepy links between Japanese cartoon characters and hentai.

<comment><USER10> That's the kind of person you do not want to work with. This the conspiracy theorist who misinterprets benign things and paints them in whatever twisted way they want for whatever odd reason they have.

_That_ person is the problem in the office, not the person who bought sweets online and probably shared them with some of the office.

If anything, the packaging helped reveal an oddball at the office.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER12> I run a subscription business through mail myself, and I love your posts.

Have you tried to run introduction offers? 50% off for first shipment for example? If I were you I would try to put the countdown for the next shipment on top of your site. Thats a really powerful psychological factor.

Your CTA is also a little unclear, why do I need to first get an email, then a link? The buy process should be straight forward, not through my email. And if you have a really good reason for doing it this way, you should atleast tell me why I need to leave my email.

I really like the cartoon that explains the process. Very good.

Regarding packaging design, we did a huge remake in 2013. We increased our prices with 30%, and redesigned packaging completely. Doubled our LTV, insane gains. Just keep testing, but try to change provider for carton. We pay $0,1 USD for bigger cartons then yours, in one of the most expensive countries in the world. (With plastic window for address field) We chose to put our three USP on the back of the shipment box, to remind your customers every time they receive a shipment why they subscribed in the first place.

Keep testing!

<comment><USER13> * Could you give me more information on how you sourced your cartons?

* What does LTV mean?

* What does USP mean?

<comment><USER14> LTV = Lifetime Value = How much money you make off your subscriber over the lifetime of their subscription

USP = Unique Selling Point = Why your subscription gives the subscriber something they can't get anywhere else

</comment></comment></comment><comment><USER15> I don't really think A/B testing something like this, with this size of a sample, on a subscription based niche-product can give you any real insights.

Why not poll your subscribers or (assuming you can get the costs to work out) have an option for anime art. Personally I wouldn't want the anime style box, something custom and simpler would be fine.. but thats my personal opinion.

</comment><comment><USER16> > In a world where it makes no difference which package is sent, you would get > a result as significant as this 80% of the time.

I suddenly get p-values now. Why has no one ever explained it like this before?

<comment><USER6> Thank Marek Gibney of [http://www.productchart.com](http://www.productchart.com), he contributed that line.

</comment></comment><comment><USER6> Just a small update, but I just ran a survey for customers to see which package they would rather have.

Which package design would you rather receive?

The white one with illustration 79%

The plain dark one 21%

Total votes: 52

<comment><USER14> I didn't get in on the survey and got the old box in the A/B test, but I would 100% prefer the white one with the illustration for my subscription. I order my candy to the office to share and people usually see the box from Japan and are curious so they ask me about it and I tell them about the candy subscription.

The white box would be better advertising for you in my case :)

</comment></comment><comment><USER17> I like my subscription. My biggest issue has been shipments that end up in my mailbox melted. It would probably not be possible for new packaging to fix this, but this would be an area of improvement worth higher cost.

<comment><USER18> a light-colored Vs a dark colored box might help in that regard as well with exposure to sunlight.

</comment></comment><comment><USER19> I think candyjapan should add a new form of subscription, one-time shipment, and I believe they would see it being ordered by about 40% of their customers. ;)

</comment><comment><USER20> One consideration is the user experience is not connectable to a purchase.

If I went to a friends house and saw this, I would never remember the name. If you could combine "making the purchaser look cool" with timing-relevancy, I think your packaging improvement would pay dividends.

Put another way, I believe your A/B ratio test is actually X*Y/Z where X/Z and Y/Z are both < 1\. Synergy.

Terrible idea, (possibly) useful for analogy: Instead of optimizing the unboxing experience alone, if you also included cards with QR codes, where every QR code immediately triggers a free candy bar (with user data entry on a mobile app). It should also provide social value to the host in realtime; maybe they also receive an immediate notification that their guest scanned their card plus some other bonus I can't think of.

The point is to get closer to the conversion/churn decision, or provide more value to your consumer.

</comment><comment><USER21> I signed up for CandyJapan several years ago when they were just getting things started. I canceled after probably 3 shipments. Each shipment I was only hoping that the next would contain better products and actually be worth the value in which I was paying. Unfortunately that never happened. While a cool concept and very eye catching, that's all it is. Importing candy is expensive no matter how you go about it. Most people just want a poke to see how it is, and then move on to something else.

<comment><USER6> Thanks. Yes it costs much more to send candy in individual boxes from here, so if you want more candy per dollar it is definitely better to visit a Japanese market if there is one near you.

</comment></comment><comment><USER22> Both packages look pretty ugly. Hire a better designer...

</comment><comment><USER23> Could the customs sticker have caused problems?

I used to receive Candy Japan in the "plain" box to Australia, and the customs sticker declaring the value & contents took up most of the space on the box.

</comment><comment><USER24> Just a FYI: The pictures stopped working here: [https://www.candyjapan.com/mini-assort](https://www.candyjapan.com/mini- assort)

<comment><USER6> Had those pictures in the app engine blobstore, not sure what happened.

</comment></comment><comment><USER25> Why not allow the customer to choose the box type and default to the plain box. Add $1 for the designer box, see what people choose?

</comment><comment><USER26> Now you have to try out different designs to see if it matters (it does and it can).

</comment><comment><USER27> Just out of curiosity, which statistical test should be used in this case?

<comment><USER28> Some decent answers on Quora:

[https://www.quora.com/What-statistical-test-should-be- used-f...](https://www.quora.com/What-statistical-test-should-be-used-for-an- A-B-test-on-conversion-rates)

<comment><USER29> Those answers are bizarre. Use a t-test or z-test?! That is both less interpretable* and less efficient than doing a test of difference in proportions (based on a chi-squared) or better yet, doing a generalized linear regression with a binomial link which lets you test multiple interventions and include covariates and other things. These are little harder than using a t-test and work much better.

(Of course, even better would be a Bayesian decision analysis which takes into account the full posterior distribution, costs, and benefits, allowing one to decide whether the evidence is enough to justify the more expensive box or whether one should extend the experiment further to collect more data.)

* quick, if conversions are 0.25%, what does a 0.1SD mean difference between arms of an A/B test mean? 'Uh...' Exactly.

<comment><USER28> To be fair, a couple answers there mentioned the Chi-squared approach, and a z-test could also be appropriate for testing a difference in proportions. I think your Bayesian approach would make the most sense for this kind of stuff, to examine the posterior especially. There's other things that could be done than what you mentioned too to assess a difference. I'm not convinced the parametric assumptions made by the standard tests mentioned (including difference in proportions, whether a z-test or Chi-square test) would hold up well for this kind of data, it would take further examination. I think a z-test or Chi-square test are a decent starting point, and could be fine to use if the assumptions made for those tests are met (to defend some of the Quora answers). The issue is often tests are used without folks either knowing how to check or ignoring the underlying assumptions, but that isn't an issue with the test itself I'd argue.

<comment><USER29> > I'm not convinced the parametric assumptions made by the standard tests > mentioned (including difference in proportions, whether a z-test or Chi- > square test) would hold up well for this kind of data, it would take further > examination.

I'm not sure what you mean. If all you have is binary data, there's not much you can do _but_ a chi-squared test or binomial regression. As I understand it, a chi-squared is considered nonparametric: [https://en.wikipedia.org/wiki/Chi- squared_test](https://en.wikipedia.org/wiki/Chi-squared_test) [https://en.wikipedia.org/wiki/Fisher's_exact_test](https://en.wikipedia.org/wiki/Fisher's_exact_test)

<comment><USER28> Yes, you're right that chi-squared is non-parametric, my mistake. However, even non-parametric tests can have assumptions that should probably be checked into at least for a given data set. It may be robust to the violations the data collected may exhibit, I'm not sure. This article lists the assumptions for chi-squared test: [http://www.ncbi.nlm.nih.gov/pmc/articles/PMC3900058/](http://www.ncbi.nlm.nih.gov/pmc/articles/PMC3900058/)

</comment></comment></comment></comment></comment></comment><comment><USER30> That 30 day shipping period is a killer. Candy is an impulsive treat. :)

</comment><comment><USER31> Honestly, I think it would have been really bizarre if something as unrelated to the central product as the design on the box, changed something as fundamental as retention of customers.

<comment><USER32> That works under the assumption that humans are purely rational beings, which we are not. Though I don't necessarily think the design chosen was a great choice based on other comments here. Maybe something a bit more generic, yet still colourful (like the candies in games like candy crush) would have been a better choice.

<comment><USER31> Maybe, and if they were selling something for display, like figurines, or even a quasi-collectible I would be right there with you. I know people who like that kind of thing, and they would like a funky box too. This is JUST candy though, it's just people buying something they want to eat. It's a different mindset, and I think, less likely to be engaged by the aesthetics of the packaging (as in the box). They're interested in the packaging of the actual candy, and the candy itself.

All of this is "I think" and "IMO" of course.</comment></comment></comment>


Armed robber, identified by facial recognition technology, gets 22 years - <AUTHOR> http://www.suntimes.com/news/27895985-761/armed-robber-identified-by-facial-recognition-technology-gets-22-years.html

<comment><USER2> This is insane. They ran the faces from the videos of the robberies against a database of mugshots to determine that it was him? I mean, people also identified him from a lineup, but how long until you can be guilty for simply ending up on the wrong side of the algorithm?

It will be interesting to see how this kind of technology evolves.</comment>


Ask HN: Uptime monitoring services - <AUTHOR>

What is the best uptime monitoring service? Which one do you use? <comment><USER2> There are a lot. I've used JustUptime before and had a good experience. A few friends swear by Pingdom.

<comment><AUTHOR> Awesome. I'll check out JustUptime and give it a try, it's less expensive than Pingdom.

</comment></comment><comment><USER3> what are you monitoring?

<comment><AUTHOR> A commercial web app.</comment></comment>


Python 3.3.0 beta 1 released - <AUTHOR> http://mail.python.org/pipermail/python-dev/2012-June/120790.html <comment><USER2> It continues to be dissapointing that new releases of Python continue to be useless due to the (I will claim needless and arbitrary, although I could totally argue the other side if forced: I am not ignorant of the reasons, I just disagree with the opinions) decision to make the new builds incompatible with the previous ones (and in some cases for the obvious worse, such as how Unicode is now less correctly handled when iterating filenames in directories).

I mean: I do almost all of my "business logic" coding in Python these days, and yet when I hear of a new version of Python it carries as much weight to me as a new version of COBOL (which, honestly, probably has more use cases, and almost certainly more users, than Python 3.x). This is the first time I have simply totally felt stranded by a development environment since Microsoft abandoned Visual Basic and replaced it with "Visual Fred" (aka, Visual Basic .NET): and in that case I had already jumped ship to C++ years earlier.

At this point, the cost of trying to get all the libraries I rely on set up on 3.x--especially when a ton of them have decided either 1) to slightly change the semantics of the API "as everything is breaking anyway" or 2) that they are obsolete and that you should use some other newer library if you want 3.x --is sufficiently high that one may as well switch to an entirely different language (in my case, probably Clojure).

<comment><AUTHOR> I respect your opinion and maybe you're in a unique position that makes Python 3 really awful to you, but in general your comment seems more like a knee-jerk "lolpython3" reaction that was appropriate while 3.0 & 3.1. But now, that situation changed.

Many, many high profile projects are already on Python and many will follow, now porting has been made even easier.

Django tries to support Python 3 with 1.5, Pyramid already does support it, Twisted has a GSoC student that tries to bring it to Py3… And funnily enough, "normal" code that doesn't screw around too much with advanced features is rather trivial to port. I have written a Python 3.2 program myself only to find out later that it also works on Python 2.7 without changes. :)

With every bigger change you lose some – and I'm sorry if it's inevitably you – but you also win some. Because all in all, Python 3 is great.

<comment><USER3> There's a bunch of developments that make me feel that the Python 3 ball has started rolling in a much more significant way lately. Some you've already mentioned; another is Canonical insisting on everything in the "main" section of Ubuntu running on Python 3 by 2014, and doing some of the work to make that happen.

<comment><USER4> > another is Canonical insisting on everything in the "main" section of Ubuntu > running on Python 3 by 2014, and doing some of the work to make that happen.

Everything on the install CD is planned to be Python 3 by this fall. I'm already working to port what's necessary for Ubuntu One.

</comment></comment></comment></comment><comment><USER5> I think 3.3 is going to be an awesome release myself:

        * Reworking of OS and I/O exceptions
        * Built-in virtualenv
        * yield from (proxy generators)
        * Old Unicode literals allowed (but no-op)

Just to name a few...

<comment><USER6> Yes, finally a 3.x release that made me seriously consider switching from 2.6+.

</comment></comment><comment><USER7> It's great to see virtualenv apart of python now.

<comment><USER8> if only virtualenvwrapper would also somehow got there :)

<comment><USER9> I am generally opposed to including the batteries for things but in this case I agree. The virtualenvwrapper API and path/folder management is far superior. That being said, maybe that IS the API that's included in this release, I don't actually have any idea.

</comment></comment></comment><comment><USER10> I feel there is too much churn in Python. No-one is ready to say "we're stopping here and bug fixing". It just churns and churns and everyone gets confused. It's too much of a rollercoaster to trust at the moment and I assume this is why a large number of Linux distributions are stuck on 2.6 and 2.7 still.

<comment><USER3> > I assume this is why a large number of Linux distributions are stuck on 2.6 > and 2.7 still.

This doesn't match my experience at all. Most distributions I can think of had no problem replacing 2.6 with 2.7, and have offered fresh Python 3 packages alongside them as well for years now. My distro of choice (Fedora) has dozens of Python 3 libs packaged.

Ubuntu is aiming for "no Python 2 in main" by 2014 now, and Arch even switched to Python 3 by default already.

I'd go as far as claiming that the distros are actually at the forefront of and partly driving the transition right now.

<comment><USER11> "Most distributions I can think of had no problem replacing 2.6 with 2.7, and have offered fresh Python 3 packages alongside them as well for years now."

That may be well and good for startups, or smaller companies, but larger companies with infrastructure running on CentOS/RedHat (and old-ish versions of them at that) still have trouble with Python 3. In CentOS 5 if you change the default python distribution to 3.0 > yum _completely_ dies. Not to mention various other little bits and pieces.

<comment><USER3> Hm, so? It's not like you need /usr/bin/python to be Python 3 to use Python 3, especially considering that Python upstream is recommending for it to remain pointed at Python 2 for now and essentially guaranteeing/mandating the existence of /usr/bin/python3. I doubt there's any Python 3 code out there that is meant for public consumption and relies on /usr/bin/python being Python 3.

<comment><USER11> Please note I do make the distinction of the _default_ python distribution (aka /usr/bin/python). Some companies that aren't startups cannot or will not (policy or otherwise) either maintain separate installs of python on hundreds of servers, or require use of the default install.

<comment><USER3> Even if that separate install is a regular package of the distribution? I get not wanting to install from third-party repositories or even building your own (I try hard to avoid both myself, and there are good reasons not to want to invite that deployment overhead), but consider regular packages to be non- scary.

</comment></comment></comment></comment></comment></comment><comment><USER12> LZMA support - YES! I am waiting for this so long. I hope it is not horribly slow.

<comment><USER13> I find it really strange that every compression format gets its own top-level stdlib module. Why not compress.lzma and compress.gzip etc., or even compress.open(..., format="lzma") ? It seems ad-hoc and disorganized to me.

<comment><USER5> Try opening a PEP...and volunteering to move them into that namespace. I actually think that is a good idea myself.

</comment></comment></comment><comment><USER14> Wasn't cPython going to have some sort of JIT in 3.2 or 3.3? Or did I miss it?

<comment><USER15> I've never heard of any plans regarding JIT in CPython. You might have mixed it up with PyPy or Unladen Swallow. Both of them use JIT to speed up their python interpreters.

CPython developers quite often expressed their opinion against having JIT or more sophisticated GC because such changes would make Python interpreter too complex. (See Guido's keynote from last PyCon.)

<comment><USER16> > I've never heard of any plans regarding JIT in CPython. You might have mixed > it up with PyPy or Unladen Swallow. Both of them use JIT to speed up their > python interpreters.

Unladen swallow was supposed to be in CPython at one point.

</comment></comment></comment><comment><USER17> I hate to be _that guy_ , but the key thing on my mind and the thing that constantly pushes me towards hybrid solutions: performance. Whats the verdict?

<comment><USER18> I don't know about the performance of Python 3.3; although I think that if performance is critical, then you should be looking at something other than Python (or a hybrid solution, as you say).

<comment><USER19> There a few options that allow you to stay (mostly) in Python: Numpy/Scipy for numerics; using Cython[0]; or using an alternative interpreter (specifically PyPy[1]).

(This assumes that your specific use case is covered, e.g. PyPy doesn't support Python 3 yet.)

[0]: <http://www.cython.org/> [1]: <http://pypy.org/>

</comment></comment></comment><comment><USER20> we can all agree that the decision to make python 3.x incompatible with 2.x has greatly fractured the community. regardless of one's opinion on the matter, this divide is hurting the community. how long until we actually come to resolution on it?

<comment><USER4> What resolution do you want to hear?

</comment></comment><comment><USER21> [http://docs.python.org/dev/library/ipaddress.html#module- ipa...](http://docs.python.org/dev/library/ipaddress.html#module-ipaddress)

Am I the only one worries that Python is slowly turning into Java?

Instead of simple text/string for everything, now Class for everything, with nauty weird ill-defined Exceptions.

<comment><USER22> > I am worried that Python is slowly turning into Java. Instead of simple > text/string for everything, now Class for everything, with nauty weird ill- > defined Exceptions.

The example your are pointing out is for the module ipaddress which is for inspecting and manipulating ip addresses. It's not that Python now requires you to use ipaddress objects in place of strings for sockets.

<comment><USER21> > It's not that Python now requires you to use ipaddress objects in place of > strings for sockets.

In that case it's good to hear.</comment></comment></comment>


Ask HN: Negotiating a remote job offer? - <AUTHOR> What should I look for when negotiating a remote job offer?
This would be a first for me, so advice and warnings are greatly appreciated!
Are there perks I should be asking for?  Are the 'red flags' that I should watch out for? <comment><USER2> What kind of job is it? Are you working as part of a team? Does everyone else work remote?

If you are working with others the first thing I would personally ask is what they use for communication (slack, IRC, e-mail, etc). If you are going to be part of a team where the majority of them work in an office it is very easy to be forgotten about or left out of things depending on what technology they are using and what the culture is.

I would also ask what the work hour expectations are and have it documented. Are you expected to be online from say 8am-5pm local time? I have seen some people told "just make sure you get your work done" but then let go because they were not making themselves available during the hours the rest of the team was online (even though their work was getting done).

In my experience perception plays a big role in working remotely. If the people in the office don't constantly hear from you or see you online the idea that you are slacking off because nobody is there to manage you starts creeping in.

Also don't be afraid to ask for the same type of perks non-remote employees get with regards to hardware/software/etc.

</comment><comment><USER3> You'll be paying for your own utility costs (power and water), so your utility bill will probably double. Make sure your salary is high enough to cover those extra costs.

Does the company already have a good system in place for remote collaboration, e.g. Slack channels for asynchronous standups, shared calendars, Confluence documentation, screen sharing tools for pairing, Google Hangouts, a healthy PR and code review process? Those tools and processes will need to be habitual for you to be a productive member of the team.

</comment><comment><USER4> I would always advise first checking any listed glassdoor salaries (if there are any) to ensure you are getting paid fairly for your position.

The trickiest component of remote work is communication. Ask other team members how they collaborate effectively and the tools used to do so.

Working from home is a perk in itself but its not for everyone. Sometimes I find myself going into the office just to get out of the house.

</comment><comment><USER5> I would keep a clear eye on the money. Remote work is easily negotiated with a relevant online portfolio, however compensation is something that requires more speculation.

Edit: Also, a lot of remote employers will want to meet face to face eventually. Make sure they offer to compensate for travel expenses and a clear duration in the terms.

</comment><comment><USER6> Lots of good discussion here. I'd like to add, make sure you have access to video conferencing services (i.e. WebEx, join.me) and teleconferencing (WebEx again, Skype, etc.) for whenever you need help learning code, product, etc.

</comment><comment><USER7> There are co-workig/shared spaces you can rent for a decent price. They get you out of the house. Just online interaction all the time wears thin on some more than others. Cost them out and factor that into your costs in case you get cabin fever.

</comment><comment><USER8> I'm a remote worker who took a new job this year.

I'm going to operate under the assumption that you're a remote worker applying for a job that involves working with in-office folks since that wasn't provided in the question and it's the only thing I have experience with. There are a few things I would recommend discussing/negotiating before choosing to take the job.

Make sure that the company is going to provide you with the equipment, appropriate software licenses and such that you need to do your job (or salary for you to afford the expense). Consider things like upgrade frequency, office supplies and other factors that are normally a given in an in-the-office job.

Discuss communication expectations and work/life balance. What communications tools does the team use? Are they appropriate for asynchronous communications or is the culture one of "tap the guy on the shoulder"? There's a sort of undercurrent of concern that rips through you when you're a remote worker that might have you feeling like you have to work "all the time", especially if your team is in a radically different time zone. Prior to accepting the job I ensured that my performance would be based on meeting project deadlines with appropriate requirements to be in meetings when they're scheduled (and none are scheduled at obscene hours of the night for me). My biggest concern was that being the guy not in the office would equate a perception of being the guy who is just taking a vacation or goofing off (those who know me would laugh at that because I _love_ the work I do, however, I tend to work a lot from a family vacation home, so the appearance was a concern of mine). I write software and my most efficient times to work vary. Knowing that often I can get 14 hours worth of normal work done in 6 hours if I target doing it at the right time, I wanted that flexibility to be baked into my work contract. Provided my scheduling flexibility doesn't block the rest of the team (it doesn't due to unique circumstances of my job), or cause me to miss a deadline (it often results in me being early, instead), I'm free to work when I want and due to the added efficiency, that equates to hours/week of time that I get back.

The bottom line on that last point is be sure to have a very solid discussion on how your performance will be tracked. Aim for the most objective measurements you can get, and ensure that you have substantial input in deciding deadlines. There's always external pressure on deadlines, but if you can't be a prime component in that decision making process you run the risk of being given work that is not possible to complete on time, setting yourself up for failure. If your discussion is dismissed or the answer is "we'll figure it out", beware. Your manager is likely the kind who equates performance with "butts in chairs" and you will always be an empty chair.</comment>


Lessons scaling from 10 to 20 people - <AUTHOR> http://josephwalla.com/lessons-scaling-from-10-to-20-people <comment><USER2> I don't remember where I read it (probably on a HN post or comment) but there was a great suggestion regarding organization chart. Instead of doing one only when you scale from 10 to 20 people like this article suggests, the idea was to do one on day 1.

On day 1 every position from CEO, CFO, to mail delivery messenger is filed with one or 2 names: the founder(s). As the company grows, you hire people and start delegating the work so that they can fill the positions on the organization chart.

<comment><USER3> I understand the appeal of this, but the hardest thing in the very beginning is keeping a laser focus on the critical task of building and validating something people want. Resources are so precious at that stage, and the green field is so wide open, that you have to be obsessive about keeping an eye on the ball. It's _extremely_ easy to drink your own koolaid and start believing the narrative in your pitch deck before you are anywhere near traction.

Mulling over an org chart is one of the easiest of the thousands of nice- sounding things you need to brutally cull from your todo list in the early days.

<comment><USER4> I think you've misunderstood the parent. By making explicit that the founder does all these things, it makes the urgency of hiring and delegating clear.

<comment><USER5> It's only helpful if it adds something to the feedback loop. That's what an organization and its projects need at every stage: healthy feedback. If it's too far into fantasy, it gets forgotten and replaced with something more expedient; if it goes completely unaddressed, the absence manifests as some other failure.

So, early org chart is only useful if it doesn't jump too far ahead of what the business is: If you discover you need a different organization to execute on the plan, there's no point in planning for scaling the existing one out. But if what's being followed is a "hire a great team and great things will happen" kind of plan, then there's no conflict since it just means you've considered both near and long-term aspects of building a great team.

<comment><USER4> I think you should read the GP again.

</comment></comment></comment></comment></comment><comment><USER6> Forget about scaling, tell me what are all/most of the possible worker roles (part-time or full-time) that a startup needs in its: first month, 2nd-6th month, rest of 1st year, and so on.

This kind of knowledge "beforehand" is a valuable startup insight that is not disseminated well enough IMO.

<comment><USER7> Impossible to tell cause the trajectory of each company is different. You need to hire the people you need in your situation (time/budget/workload/opportunities/etc) not in the "general case".

<comment><USER6> See this is where I disagree. We need to get over the idea that every startup is a special snowflake with its own unique set of needs and requirements.

I'm not even talking about hard-tech, or some non-tech law firm startup, or a new hospital or something.

For the software startup (all types, online/offline, web/desktop/mobile, etc, etc), I believe in the 80-20 rule. 80% of the worker roles of all startups are very similar and can be enumerated and contemplated in advance. If entrepreneurs fail to take that into account, they're simply raising the risk bar and setting themselves up for a more likely failure.

</comment></comment></comment><comment><USER8> Any thoughts on what people who _want_ to be generalists should be doing?

The implication of some of that post would seem to be "leave".

<comment><USER9> Or stay at a place that is engineered/choosing to stay small/right-sized so they can be a generalist.

There's no (or no obvious) way to stay a fully cross-cutting generalist in a company of 10K people.

</comment></comment><comment><USER10> Interesting read, though I'm a little wary of the turning generalists into specialists point being taken too far. There are a lot of unwritten assumptions behind that idea.

For example, let's consider a business that does something many of us here are familiar with: making a web app. There's a trend in web development world these days to put every little thing into its own silo. We separate front-end and back-end people. We separate back-end developers from DBAs and operations people. We separate designers and front-end developers. We invent whole new job titles using trendy terms like "user experience", as if making a good UI hasn't always involved doing the same things.

The real world does not work like this. In the real world, all of these things are related, and what matters is the overall result. In the real world, there are many different skill sets, but almost no-one is an expert at one thing and has little if any knowledge of the others. And crucially, in the real world someone can often do one part of a job much better if they also have substantial knowledge of some of the related parts.

So I think generalist vs. specialist is almost always a false dichotomy once you get beyond the crude "Yes, the CEO probably shouldn't also be the guy spending all day debugging a tricky rendering glitch" level. One "generalist" with skills/knowledge in more than one area can easily be more productive than multiple "specialists" who each know their own area but don't really understand the relationships to adjacent areas, and thus need significant process and management to work effectively at all and still probably incur significant overheads. IME, the principle of keeping a level of generalism scales up just fine as well: those with the broader knowledge and skills often become good candidates for technical leadership roles in growing organisations.

<comment><USER11> If you want to stay a generalist at a bigger company, convince the bosses that they need to worry about the Truck Number of each of the competencies in the company, and then participate in improving it.

The problem I've always had with being a generalist is defending your existence. If there are constant fires to put out, people will see you fighting them. But if you prefer to prevent fires instead, you have to work all the harder to be seen.

It's easier to be recognized if you let or encourage management to label everybody and you carve out a nice niche for yourself. It's easier to make something more complicated so people leave it to you to work on. Managers who know how to run an effective team know and push back against this, the ones that are just trying to look good often don't.

<comment><USER10> What you describe is often true in larger companies, but IME not in the kinds of 10-20 person outfits we're talking about here, or even quite a bit bigger.

At that level, one experienced "generalist" person who can do a whole job end- to-end can still get the same visible results as a small team of less experienced "specialist" people, and if we're talking about salaried staff then that single more experienced person is probably costing far less to hire than all of the other team put together because good senior people are disproportionately cheap to hire as employees.

The overheads of running a team mean it takes a surprisingly large project before it's necessary/advantageous to hire a much larger team of junior people rather than a much smaller number of senior people, assuming you have the choice.

<comment><USER8> Agree with all of this. But there seems to be active distrust of coders working solo, both from managers and from other coders. There's a surprisingly strong perception the "a team" is the safe option.

<comment><USER10> _But there seems to be active distrust of coders working solo, both from managers and from other coders. There 's a surprisingly strong perception the "a team" is the safe option._

It's been my experience that capable developers tend to appreciate other capable developers. It's also been my experience that capable developers appreciate managers who are actually doing a useful job, and vice versa, and that both of those groups are also quite willing to support those who are currently less experienced but are interested and trying to learn and grow.

I suspect the kinds of objections you're thinking of most often come from managers or developers whose own positions are threatened as soon as someone competent enters the picture. A capable one-person development group has no need of a micro-manager to take the credit on their behalf, nor of a developer who has just enough knowledge and skill to be dangerous and/or in the way but no inclination to get any better.

At some point obviously you need more than one developer for scalability and resilience, but even then you can still do a lot with a few good developers and a useful manager co-ordinating them compared to a large group of mediocre developers and a whole management hierarchy above them.

</comment></comment></comment></comment></comment><comment><USER12> can somebody explain why posthaven is so widespread? i don't see any reason to use it over medium etc

<comment><USER13> It's affiliated with YC (created by alumni), promises to stick around and even keep your content online. Whereas Medium is still looking for a sustainable business model.

<comment><USER14> It offers immortality (of your texts). And people are afraid of death, beeing forgotten and leaving no mark behind.</comment></comment></comment>


Shipments of nearly 20k fake driver's licenses from China seized at Chicago - <AUTHOR> https://www.fox5ny.com/news/shipments-of-nearly-20000-fake-drivers-licenses-seized-at-chicago-airport <comment><USER2> As unfortunately expected, I cannot find this on 'mainstream' news. In fact, I found this HN post on the third page of Google without seeing it covered by any other major news outlets.</comment>


US Income Distribution by State - <AUTHOR> http://www.mint.com/blog/trends/a-visual-guide-to-us-income-distribution-122011/?display=wide

<comment><USER2> Seeing a state-vs-state comparison is interesting, but it really doesn't mean all that much to say that people making under $25,000/year take in 24.7% of the country's income, at least not unless you tell us how many people make up that "under $25k" demographic.

<comment><USER3> You're reading it backwards. 24.7% of households (not people) take in under $25k each; the infographic doesn't say what this adds up to as a fraction of total national household income.

</comment></comment><comment><USER4> I have a few negative points to make about this graph.

1) Maps are generally useful for area-based values, not population-based. A simple bar graph is equally as informative.

2) The bin sizes are unequal "below 40" and "above 60" bins may be misleading depending on how many states fall into those bins. Why bin at all? Just select a color in the colormap associated with that states value.. The bins are even worse on the state-by-state graph (25k bins mixed with 50k bins).

3) I'm left to assume that the %'s in the state-by-state section is % of households in the state, but it's not clearly stated and could be interpreted as % wealth or something.. And the national breakdown would be better in-line with the other states (but segregated) so that a state can be eyeball-compared to the national breakdown.

4) green/blue is usually associated with low values and red/orange with high. I understand why the colors were chosen, but it took me a couple of seconds before I realized I was interpreting them backward.

B-

Interesting surprises (to me anyway): Oregon, Utah, and Maine

<comment><USER5> The bar graph doesn't let you compare a state to its surrounding states.

State lines are also arbitrary, so the map allows you to spot regional trends.

County-granular would be better, perhaps with a thick color-coded state outline.

</comment></comment><comment><USER6> It's telling that DC has the highest concentration per capita of people making more than $200,000/year.

</comment><comment><USER7> Somewhat interesting, but useless without taking into account the cost of living in each state.

<comment><USER5> "Useless", you say. Maybe expand on that a bit?

</comment></comment><comment><USER8> How come Alaska is so wealthy?

<comment><USER3> Oil.

<comment><USER9> For those interested but unfamiliar, google the "permanent fund". (It is not the explanation for Alaska's income distribution; well-paying oil-related jobs are. But it is interesting in its own right and indicative of Alaska's oil wealth.)

</comment></comment></comment><comment><USER9> OK, I read the infographic and its parent article, but I still haven't seen where they are sourcing the data from. Is this mint data? US Government data?

Edit: as both posts say below, it's from the US Census Bureau. I didn't see it when reading from my phone. Thanks!

<comment><USER10> Look at the bottom left of the infographic. It says source: U.S. Census Bureau.</comment></comment>


Next generation of customer relationship management (CRMs)?  - <AUTHOR>

Something better then Salesforce? <comment><USER2> We had some ideas here: <http://www.ajatus.info/documentation/ajatus_manifesto/>

<comment><AUTHOR> Do you think if facebook was tweeked that it could be a good CRM?

</comment></comment><comment><USER3> Salesforce is king of customization, but there are many niche (small) players that may be considered 'better' in their respective fields.

</comment><comment><USER4> Verticalization.

</comment><comment><USER5> There's a PDF presentation about the next generation CRM - <http://www.textminingnews.com/presentations/SPSS.pdf>

Additionally, here are 6 idea's for the next generation CRM - [http://www.customerthink.com/blog/six_ideas_for_next_generat...](http://www.customerthink.com/blog/six_ideas_for_next_generation_crm)</comment>


Emscripten and asm.js: C++'s role in the modern web - <AUTHOR> http://kripken.github.io/mloc_emscripten_talk/cppcon.html#/ <comment><USER2> There's a couple of points going around in my head which I find interesting / relevant when it comes to emscripten/asm.js, the web and mobile platforms:

\- asm.js code runs faster then Java code running through the Dalvik VM on Android ([https://blog.mozilla.org/javascript/2013/08/01/staring-at- th...](https://blog.mozilla.org/javascript/2013/08/01/staring-at-the-sun- dalvik-vs-spidermonkey/))

\- porting and cross-compiling code to JS with emscripten is (arguably) easier then setting up and working with the Android NDK

\- the new Javascript LLVM backend in iOS8 Safari runs asm.js code very well, and Safari on iOS8 adds WebGL support

\- the web is a the only open software distribution platform without gate keepers (seriously, this is starting to get ridiculous: [https://developer.apple.com/app- store/review/guidelines/](https://developer.apple.com/app- store/review/guidelines/))

\- web apps don't need all the code-signing and certification hoopla that native mobile apps need to go through

\- app shops are becoming saturated and have the same or worse visibility problems as the web even though they are 'curated'

\- you don't pay the 30% platform tax on the web (or rather: you're free to choose your store front-end)

\- in the end, most successful mobile games need so little CPU and GPU performance that it really doesn't make a difference whether they run native or in BASIC, WebGL or Metal

I think that the advantages that a single centralized app-shop offered in the past over the web have already or will erode very fast once they have to manage a very high number of apps, basically modern AOLs but with shitty search engines. The open web is the only way out, even if it just means that multiple, decentralized app shops will be built on which compete with each other.

[edit: formatting]

<comment><USER3> "\- web apps don't need all the code-signing and certification hoopla that native mobile apps need to go through"

You mean that's a good thing? I'd prefer a clear signing process for software to a web service running its backend on some random server where it's impossible for me to establish trust.

<comment><USER4> Google and Apple stores are full of clone apps, privacy violations, and worse.

They still have ad networks and other backend services that the apps communicate with.

Those conspire to sell your personal info to the highest bidder (or exploit you in some other creative manner) and have no incentive to do nice by you.

<comment><USER3> Correct, my argument was more about the concepts than the concrete implementations. I don't use Apples AppStore and I don't like Googles Playstore, but things like fdroid are quite nice.

</comment></comment></comment></comment><comment><USER5> This talk just keeps getting more and more relevant: [https://www.destroyallsoftware.com/talks/the-birth-and- death...](https://www.destroyallsoftware.com/talks/the-birth-and-death-of- javascript)

<comment><USER6> It may become self-fulfilling prophecy.

</comment></comment><comment><USER7> I really wish we had a proper 'web assembly' instruction set to compile to. JavaScript has proved itself to be a surprisingly adequate language over the years, but there is only so much optimization you can do with its language specification.

<comment><USER8> There is a proper 'web assembly' instruction set. It's Google 's Portable Native Client [1]. The problem with this solution is that Google is the only one supporting it. But there other players in the web. Creating such a standard making all of the vendors happy might be impossible.

ASM.js might not be the perfect solution, but it has the huge advantage of being compatible with all major browsers. Practicality beating purity is a common pattern in Web's history.

[1] [http://www.chromium.org/nativeclient/pnacl/introduction- to-p...](http://www.chromium.org/nativeclient/pnacl/introduction-to-portable- native-client)

<comment><USER9> The sandboxing provided by NaCl is nice, but I'm not sure binary portability is really a worthwhile goal -- I think we really want cross-compilation, native binaries and the OS providing most of the sandbox.

That way we get maximum performance on the hardware we're targeting (not the "lowest common denominator" of common bytecodes), an ability to run self- modifying code if we want to send a JIT down the wire...

<comment><USER2> A bit off-topic, but I would really like to see (P)NaCl apps directly supported on Android outside the browser, no need to mess with the NDK or Java. One can dream, right? :)

</comment></comment></comment></comment><comment><USER10> Shameless plug - I am using Emscripten to compile scrypt miner as a proof-of- work code at [https://hashcash.io/](https://hashcash.io/)

<comment><USER11> Interesting idea. Any plans on open sourcing the server as well so as to save the round trip to verify the proof of work?

<comment><USER10> Not at this time, as it is potential core profit center :)

</comment></comment></comment><comment><USER12> There was a recent article on code optimization technique in Safari involving on-the-fly javascript -> LLVM compilation. So the entire chain now will look as C++ -> LLVM -> javascript (asm.js) -> LLVM Things are getting curiouser by the day...

<comment><USER13> [https://www.webkit.org/blog/3362/introducing-the-webkit- ftl-...](https://www.webkit.org/blog/3362/introducing-the-webkit-ftl-jit/) for those who missed it.

The LLVM phase is really an alternative to the existing DFG JIT, and more precisely to the final phase thereof: the front of the DFG JIT is still used up to CPS optimisations, then it branches right before codegen: DFG generates its code directly while FTL converts DFG to SSA, applies SSA optimisations, converts to LLVM IR and passes the IR to LLVM for codegen.

</comment></comment><comment><USER14> Does anyone know where/if the video of the presentation will be available ?

<comment><USER15> The conference said they would be doing editing on the videos before posting them, so I assume that will take some time (this talk was today).

</comment></comment><comment><USER16> Very cool, does anyone here know the compile time differences to clang/gcc? Does compiling to Emscripten take longer than to binary?

<comment><USER17> It takes a little bit longer, but not a huge amount. Basically the linking step takes a few more seconds.

</comment></comment><comment><USER18> > Emscripten and asm.js: C++'s role in the modern web

C++'s role in the modern web is that every relevant browser since 1998 is written in it. It does not need JS wankery to be relevant, thank you very much.

<comment><USER19> Probably true that C++ has always been relevant. But not necessarily in the minds of web developers - they would not have considered writing C++ for generating a webpage.

I didn't have a clue about Emscripten; looks really really useful so that I don't have to think too much about writing in other languages and can write EVERYTHING in C++. That'd be great.

</comment></comment><comment><USER20> Very interested in this technology, would like to see some examples created with this technology, more than games. Are there any cpu/gpu heavy applications out there that compile from C++ to asm.js ?

Or any good examples of writing the whole webpage with C++ somehow? All the current examples I've seen utilize webgl canvas and handle the interaction there. How about interaction with a regular HTML interface ?

<comment><USER21> There are examples of python and lua interpreters being compiled, a pdf renderer, graphviz, a 2d physics engine, and a speech synthesizer. you just need to google it.

I myself have modified an emulator to run aswell.

<comment><USER2> Oh right! I almost forgot another cool side project I did last christmas with emscripten: use JSMESS to restore some of my old 8-bit games I wrote as kid in the 80's on an obscure East-German home computer:

[http://www.flohofwoe.net/history.html](http://www.flohofwoe.net/history.html)

</comment></comment></comment><comment><USER22> Hmmm late to the conversation but I always wonder why emscripten focuses so much on C++, my understanding is that it compiles LLVM IR to javascript, and clang is used to generate the LLVM IR from C++ in the first place.

Wouldn't it make more sense to market it as llvm-ir-to-javascript compiler? That way it would be more attractive to users of any language with a llvm frontend.

</comment><comment><USER23> Although this is very cool stuff, I have a hard time trying to understand where this is going to prove useful.

I would image that the major target for something like this will be in doing ports of old games to the browser. Anything other than that would seem like a non-starter.

I'm not sure why a developer would take the long road to write a c++ app with the intention of eventually converting it to javascript. Also, If your a company has the expertise you would be basically open-sourcing something that is closed source. So the business logic doesn't make sense unless you don't stand to make money on the code.

Maybe i'm not being imaginative enough.

<comment><USER2> There are at least 2 major scenarios where C++ ported to JS is useful:

(1) the web as "just another platform" next to desktop, game consoles and native mobile apps, the advantage here is that you can use the same code base for all platforms and only need a small percentage of platform specific code (about 2% platform specific code from my experience)

(2) cross-compile existing C/C++ middleware libs for use in "traditional" JS web apps, this has been demonstrated for physics engines (bullet), but would also work for pathfinding, AI, and other specialized libs

If you're concerned about opening up your precious source code by cross- compiling to JS, restoring the original code is just as complicated as restoring from a compiled binary, since the JS code has been generated from LLVM bitcode, and is additionally minified. You're basically getting a big, opaque ASCII blob out of an emscripten compile.

The only disadvantage of cross-compiled code is that you get a certain static size overhead for parts of the C/C++ runtime that gets compiled into the generated Javascript file which is somewhere between 100 and 300 kByte. This overhead gets (relatively) smaller the more complex the application is, and emscripten/LLVM is very aggressive about dead code removal.

So, a small web page which just wants to use some WebGL effects doesn't make much sense to write in C++, but once you start to write a real game and use JS libs like three.js (currently at 424kByte minified), the size advantage of manually written JS quickly disappears.

<comment><USER24> It's hard to overstate how fantastic (1) is. A single code base for all platforms is really amazing. C++ is much closer to universal than Python, Java, etc.

</comment></comment></comment><comment><USER25> Here's some nice usage of emscripten: [https://github.com/amatus/gnunet- web](https://github.com/amatus/gnunet-web)

</comment><comment><USER26> Why don't/didn't Mozilla implement Shumway in C++ and apply Emscriptem to it? I thought that would be much easier.

Or is it in the pipeline?

<comment><USER15> I did propose trying something like that, actually, but the people working on the project preferred to go a different way. It's hard to guess which approach would be better, each has advantages and disadvantages, and Shumway is in fact doing well on performance.

Also, most of the work on it is actually the API and libraries, not the core language, which would have been necessary either way.

</comment></comment><comment><USER27> "Largest open platform in existence"

It's not open, it's locked to legacy languages.

<comment><USER28> Um... not it's not. This article is about using C/C++, and there's dozens of other languages that work on it, if not hundreds.

<comment><USER27> I meant not via hacky work-arounds like transpilation. Proper DOM access etc. So it is closed.

</comment></comment></comment><comment><USER29> OT but I really hate how these sorts of slide decks break the back button.

emscripten is pretty cool technology, the paper presenting the tech ([http://davideglintine- new.googlecode.com/hg/docs/paper.pdf](http://davideglintine- new.googlecode.com/hg/docs/paper.pdf)) is actually a really easy read. Cool stuff.

I hope it doesn't become a norm to try and write "normal" websites in C++, though things like games do seem to be easier

<comment><USER30> How does it break the back button? Back button works as I would expect it to.

</comment></comment><comment><USER31> ...seriously?? Normal slide decks are annoying enough, but one that doesn't have the fade ins/outs stripped and progressively adds things instead of showing the whole screen (er, slide) at once?

WTF happened to usability?

Slides are meant to _support_ a _talk_. Putting everything on the slides, while it does let you just read from them, gives a bad UX for the talk attendees. Posting proper (ie, _supporting_ ) slides -- like these appear to be -- online, gives a bad UX for the online readers. Leaving in transitions and progressiveness just makes it that much worse.

So what's up with places line HN posting links to online slide decks? They're a seriously lousy way to communicate. Put some thought into what's appropriate for the audience -- not just _who_ sees it, but also _how_ they get it.

<comment><USER32> It uses reveal.js. You can ESC or Pinch on device to go to the overview, then click a slide that way as well.

[https://github.com/hakimel/reveal.js](https://github.com/hakimel/reveal.js)

<comment><USER31> ...yeah, it's still unreadable even with that tip. :(

</comment></comment></comment><comment><USER33> This just feels wrong.

I am really betting on Apps, for setting the web straight for interactive documents.

<comment><USER34> And I kill you if you replace Office 2013 with an app like Prezi!

<comment><USER33> Office is an App. I just went into the new fad of calling App to what used to be called native applications.

As for Prezi, I had to search for it. No idea it existed.

No thanks, I rather use Powerpoint as well.

</comment></comment></comment><comment><USER35> this is a very impressive project; also a humiliation of the field of computer science.

<comment><USER36> Why?

</comment></comment><comment><USER37> I like how he says 'compiled c++ (to javascript) is immune to buffer overflows' yet completely sidesteps the real issue at hand: Every major javascript virtual machine is riddled with security holes. In Firefox case (no sandbox, no process-per-tab, one of the worst C++ codebases I've ever seen security-wise, _infested_ with memory leaks and UAFs) these holes can effortlessly lead to system compromise. In Chrome case, significantly more work is required.

<comment><USER38> > _infested_ with memory leaks and UAFs

Really? That doesn't match my experience -- the full Firefox test suite is run through ASAN on every check-in. (See the "Linux x64 ASAN" results at [https://tbpl.mozilla.org/?tree=Mozilla- Inbound](https://tbpl.mozilla.org/?tree=Mozilla-Inbound), for example).

So I'd be interested to know what you base this claim on.

<comment> Ono-Sendai I wonder how many functions are suppressed from issuing error reports, if any.

<comment><USER38> There are suppressions for LSAN ([http://mxr.mozilla.org/mozilla- central/source/build/sanitize...](http://mxr.mozilla.org/mozilla- central/source/build/sanitizers/lsan_suppressions.txt)) and TSAN ([http://mxr.mozilla.org/mozilla- central/source/build/sanitize...](http://mxr.mozilla.org/mozilla- central/source/build/sanitizers/tsan_suppressions.txt)). But none for ASAN that I could find.

I've talked to the person who implemented the LSAN support, and he says that the LSAN leaks being suppressed are not particularly large.

I also know a person who has recently been running the main test suite through Valgrind. (We do smoketests with Valgrind on every checkin, but not the full suite because it's too slow.) He found a few undefined value errors, which ASAN cannot detect, and which are getting fixed, but no UAFs as far as I know.

<comment> Ono-Sendai Interesting, thanks! Valgrind is indeed very very slow :) I have tried 'undefined behaviour sanitizer' (part of ASAN project I believe), it's not bad.

</comment></comment></comment></comment></comment><comment><USER39> Compiling to Javascript is nothing short of a mental illness. The perversions that the terrible design of the web has driven people to are simply breathtaking...

<comment><USER40> Nobody would compile to JavaScript if there was an analogous platform on the Web. There isn't one.

<comment><USER39> You are entirely correct on both counts. The fact that we have been driven to madness by the horrible design of the web does not, in any way, mean that it's not still madness to do it.

The ultimate goal is to deliver functionality to users. Users don't give a damn what the platform is. They want application functionality which is as easy to access as typing an easy to remember name in an address bar. The means of achieving this goal taken by developers have been convoluted in the extreme. Each step has its own 'reasonable argument' defending the decision made, but it still adds up to madness.

<comment><USER40> >The fact that we have been driven to madness by the horrible design of the web does not

I wouldn't characterize it as such. The reality is, we are pretty effin lucky the Web turned out the way it did. It does it what it does very well. I mean we have an open platform that every major tech company is on-board with, that isn't controlled, wholly, by any single one of them, a platform that works on almost every capable device out there. Those same companies cannot agree on anything else and are openly hostile to each other in every other space, except this one. It could have been worse. And future versions of JavaScript are looking pretty good too!

I'd prefer that HTML/CSS was better designed for building web-applications (right now it's a Frankenstein that doesn't know whether it wants to be a UI toolkit or markup for text). I'd prefer a language like Dart or Python to power web-pages, instead of JavaScript. But oh well.

>The ultimate goal is to deliver functionality to users. Users don't give a damn what the platform is.

And that's part of the reason why JavaScript sticks around. Users don't care, and you can get far with JavaScript.</comment></comment></comment></comment>