Intro to Haskell for Erlangers - <AUTHOR> http://bob.ippoli.to/haskell-for-erlangers-2014/ <comment><USER2> This is how I came to Haskell. If you're a polyglot sort and you eventually want to get to Haskell, but Erlang also looks interesting, it's not a bad path. Erlang can get you over the basics of working with immutable data structures (in particular it can get you past "But how can I write a program without mutable values?!?"), has enough interesting stuff to learn on its own about reliable programming to justify learning it on its own merits, and then when you go to Haskell, you won't be trying to swallow quite as much in one go. You can focus on what Haskell actually has to say, instead of being stuck on the basics. The downside is after that, Erlang's deficiencies as a functional language will be pretty obvious and quite frustrating. (I'm not kidding that it's worth learning, probably much moreso than the next C(#/++/)-etc variant, but there's a certain klunkiness to Erlang that gets old after a while.)

<comment><USER3> On the other hand, I find myself unable to plateau in Haskell, it seems that there is always new abstractions behind the corner. Want to thread exceptions through your monad transformers? Learn MonadState. Want accessors which do not suck? Learn Lens. And then you have free monads, comonads, Operational, Kleisli arrows, Pipes/Conduits/IO Streams/Iteratees...

It may be an issue with the language: make a powerful language, and many things which ought to be part of the core system are going to be in a library. And as Haskell's syntax unfortunately allows library designers to go wild with ASCII symbols, you can easily end up with really hard-to-grok code (especially with the right amount of point-free style). Bonus if you use one-character variables. Unfortunately, in the real world code is read more than it is written, and the prevalent cleverness doesn't really help with that.

<comment><USER4> I'm working to learn Haskell, and that's actually part of the appeal.

I don't expect to ever write Haskell in production. Oh, sure, some places do, but they're very, very few; I suspect it's pretty much impossible in any area where you expect to grow, simply because finding people who know it already is nearly impossible, and learning it is difficult, especially as your established crew learns new and more powerful abstractions; the amount of learning required to get someone up to speed gets higher and higher, which is not what you want as you expand.

But that said, as a developer even in more approachable languages, learning that cleverness has its benefits. It provides new insights into ways problems can be expressed. Most developers agree on the benefits of learning a new language; you learn a few good ideas, a few paradigms and approaches, that can carry over and affect the way you code in your day to day. Haskell, with its depth, is better still; you have a seemingly neverending set of ideas to learn and draw from. Many, yes, are too clever to see a full implementation elsewhere in production code that has many maintainers. But borrowing even part of an idea expressed in Haskell may lead to a simple, reusable, and concise solution to a problem that otherwise would be an ugly bug riddled one off solution.

<comment><USER5> Your assumptions are not very accurate at all. The job I just left we had moved to haskell precisely for growth. We had no problems hiring haskellers, or having our existing PHP devs learn haskell. The new job I took is getting tons of applications from experienced haskellers. There's tons of people who know haskell and don't get to use it at work. They are generally quite eager to fix that problem.

<comment><USER6> _cough_ _bullshit_ _cough_

I meant it in good humor, but over the last 15 years, I have had the joy (and pain) of getting to ship production systems in a lot of less popular stacks including: Erlang (multiple), Eiffel, Haskell, and OCaml.

Hiring and training for these less popular stacks has been a goddamn nightmare in "win" conditions. You have the benefit of the better signal to noise ratio in resumes, absolutely. But, you pay for that in rarity, salary and job demands, which is fine as long as you go in eyes wide open and plan to have a small team (under 10).

Rapid team growth (from money injection, or simply success and need) is really, really hard when you don't have a large pool of qualified candidates to pull from... and training, I honestly can't fathom trying to train PHP developers in Haskell. If you company has done this successfully, please setup a newsletter, I would subscribe.

<comment><USER5> >But, you pay for that in rarity, salary and job demands

Quite the opposite. As I said, there are a lot of people who know haskell but don't get to use it in their job. There's tons of people applying for haskell jobs at $50-60k/year. Being able to use haskell is a big enough draw in and of itself.

>If you company has done this successfully, please setup a newsletter, I would subscribe.

There would be nothing to go in it. Haskell is not particularly difficult to learn. People can get up and running doing web development very quickly, without any significant changes to how they normally do things since you don't do much destructive updating in most web apps anyways.

</comment></comment></comment></comment></comment></comment><comment><USER7> I attended this talk and it was very well done. Most intro to $LANGUAGE talks try to share a few very simple examples of the language. Something most people could read about and absorb on their own in 10-15 minutes. Bob's slides and presentation went for breadth, acknowledging that this was not a tutorial but a way to present listeners with a great sense of what the language does, how it contrasts with Erlang, and [what I found the most useful] a good explanation of how to approach some of the more difficult to explain concepts. Now when I sit down to actually learn Haskell, I have a useful mental model on a bunch of the not so obvious concepts.

I think video of the talk that goes with these slides will eventually be uploaded at: [http://www.youtube.com/user/ErlangSolutions](http://www.youtube.com/user/ErlangSolutions)

Some of the presentations from just a couple days ago are already up, so I hope to see the rest soon.

<comment><USER8> I love how dense but clear slide 125 is. I look forward to the upload.

<comment><USER9> Getting to slide 125 can be a challenge (no TOC, each next slide takes a history slot in Chrome).

[http://bob.ippoli.to/haskell-for- erlangers-2014/#/abstractio...](http://bob.ippoli.to/haskell-for- erlangers-2014/#/abstractions)

</comment></comment></comment><comment><USER10> > Cabal; easily fetch more packages from Hackage

Having spent the past two days trying to recover from Cabal Install's dependency hell (still ongoing), I must disagree on this. OSX seems to be particularly shonky (on mavericks), Windows has been relatively plain sailing.

[http://ivanmiljenovic.wordpress.com/2010/03/15/repeat- after-...](http://ivanmiljenovic.wordpress.com/2010/03/15/repeat-after-me- cabal-is-not-a-package-manager/)

Don't let that put you off though, Haskell really is a beautiful language, I quite often find myself just sitting back and looking at the code thinking "Damn that looks good".

<comment><USER10> Heh, 1 min after posting this I fixed my dependency hell! Finally. Clearly I just needed a bit of HN distraction :)

<comment><USER11> You should sort out how to use cabal sandboxing

[http://www.haskell.org/cabal/users-guide/installing- packages...](http://www.haskell.org/cabal/users-guide/installing- packages.html#developing-with-sandboxes)

</comment></comment></comment><comment><USER12> As someone that knows Erlang but doesn't Haskell and wants to learn, this might come in handy.

</comment><comment><USER13> To piggy back on this topic -- this is happening at Erlang Factory (Erlang's main "conference").

Here is a list of uploaded videos from it. There are some very exciting talks, including a talk from Whatsapp about their architecture.

[https://www.youtube.com/user/ErlangSolutions/videos?view=0&s...](https://www.youtube.com/user/ErlangSolutions/videos?view=0&shelf_id=1&sort=dd)

</comment><comment><USER14> Having seen this talk, I highly recommend it, even if you don't know Erlang (just skip the Erlang slides). It's a great overview of Haskell for anyone looking to quickly become productive(-ish) with the language!

</comment><comment><USER15> This seems like a vanishingly small set of people. You're introducing the 49th[1] most popular language to people that program in a 50+ language. If you are trying to get more converts to Haskell, I would go after a larger set of programmers. If it is just for fun, cool.

[1] [http://www.tiobe.com/index.php/content/paperinfo/tpci/index....](http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html)

<comment><USER16> Functional language cannibalism at its finest!

Seriously, it seems like the more people agree on something the more they bikeshed over it.

<comment><USER17> Haskell and Erlang are different enough in large and significant ways that I don't feel like they really qualify for the "color of the bikeshed" comparison. They both fit into the "functional languages" paradigm, but then, Objective-C and Fortran both fit into the "imperative languages" paradigm.

<comment><USER18> Being very proficient in Erlang and able to bumble about pretty effectively in Haskell, I can confidently say that while the two languages require complementary skills they target two different problem domains: Erlang's a heavy-lift rocket, Haskell's a sub-orbital rocket-plane.

Well worth being at least familiar with both.

</comment></comment></comment></comment><comment><USER4> Can't wait for the talk to be made available. I missed out on Erlang Factory this year, but this is one talk I am definitely looking forward to seeing uploaded.

</comment><comment><USER19> Anyone know of anything similar going the other way around?

</comment><comment><USER20> In what way is Haskell's pattern matching not as clever as Erlang's?

<comment><USER4> It shows later in the slideshow, no? Slides 40-41.

<comment><USER20> I see, it's just the non-linear patterns? Looks like they were considered for Haskell and there are some good arguments against them: [http://www.mail- firstname.lastname@example.com/msg03721.htm...](http://www.mail- firstname.lastname@example.com/msg03721.html).

<comment><USER4> I don't know if it's only; didn't see the talk. I can see why to exclude it, but Erlang has everything in place to make its inclusion a very obvious ones. All data types are comparable, for ill or for good (I've been both helped and hurt by it), and allowing non-linear patterns makes for some very clean pattern matching code for many recursive functions.

</comment></comment></comment></comment><comment><USER21> Nice, a slide show using a bleeding edge layout/display framework that doesn't work on mobile. Way to spread your ideas.

<comment><USER22> It seems those are slides for a live presentation, so I guess you might also complain about the lack of sound or about how pointless it is to post slides on the internet. Or you might make a constructive comment. Or no comment at all.

Still I was curious to find out what "doen't work" means in the context of your comment. I tried on my Nexus 4 and everything was nice. So maybe you should complain about how a slack the original author is to not try his intended-for-a-live-presentation slides on all possible devices a careful reader like you could see them.

</comment></comment><comment><USER23> what about C++ers ? :(

<comment><USER24> A little googling has dug this up: [http://www.haskell.org/haskellwiki/Haskell_Tutorial_for_C_Pr...](http://www.haskell.org/haskellwiki/Haskell_Tutorial_for_C_Programmers)

I'm sure that you also know C, since you know C++. Let me know how it goes.</comment></comment>


How the FDA Could Change the Way It Approves Drugs - <AUTHOR> http://fivethirtyeight.com/features/how-the-fda-could-change-the-way-it-approves-drugs/

<comment><USER2> _Instead, they say, the standards should take into account the severity of the diseases that the drugs seek to address._

The FDA already does this. Take a look at the Duchenne's muscular dystrophy drugs currently up for review. One of them fail to show a statistically significant difference from the control group and the other one only had a single trial of 10 patients.

The likelihood is that one or both of the drugs will be approved since no treatments currently exist.

Then take a look at diabetic drugs. Any hint of cardiovascular side effects and the FDA slaps a black box warning on the package and asks for a 10,000 patient follow-up trial. This makes sense because drugs already exist to control diabetes.

This article seems to lay out a more mathematically driven method for statistical testing, but it's a bit ingenuous to say this is something new for the FDA.

<comment><USER3> Keep in mind also that as a patient you're allowed to take basically any drug you want, companies just aren't allowed to sell those drugs to other people and claim they treat a specific disease without FDA approval. So this whole article is basically just shilling for even less stringent requirements to _market_ a drug as being effective, even though that hurdle is already trivially easy to overcome in these cases.

<comment><USER4> It is rather hard to take a drug if the company won't give it to you.

Pharmaceutical companies are very reluctant to even give drugs to desperate patients because the FDA requires them to report all adverse side-effects even though they have no control over the conditions in which the drug is used. You can actually kill a totally fantastic drug by letting people use it outside of a controlled clinical trial.

<comment><USER3> > It is rather hard to take a drug if the company won't give it to you.

Not really, you just have to buy it from a compounding pharmacy.

<comment><USER4> I think you might have a misunderstanding of what a compounding pharmacy can do. They can't just whip up some chemical on demand. If a new drug is not for sale they can't compound it.

</comment></comment></comment></comment></comment><comment><USER5> Another concern with approving drugs more easily: you might then never find out if they really work or not.

The reason we need very large, expensive, and strict clinical trials is because it's hard to see if a drug actually works or not otherwise - too many confounders. So if we pass drugs through with a higher error rate, we'll likely never know if some of them actually work or not. Maybe not a problem for a disease with no treatment at all, but imagine you have 10 treatments and you suspect that 7 of them don't actually work, but you don't know which 7. Is that better than just having 3 available treatments where only 1 of them doesn't actually work?

<comment><USER6> This is the heart of it. People like to paint this as a regulatory problem-- the FDA keeping all these potentially useful drugs off the market due to its bureaucracy. But he fact is that 85-90% of drugs that hit early Stage I clinical testing don't make it through approval. That means the science is bad at predicting what will work and what won't work, and spectacularly so. That's a science problem, not a regulatory.

People bring up the "more harm than good" issue, but they're only thinking of one kind of harm: drugs that actually hurt people. But having ineffective drugs on the market also has a cost, and it's probably the bigger one. The market for effective drugs is almost certainly not efficient given the difficulty of ascertaining efficacy and the information asymmetries involved. Thus, there is a real risk of people dying because the inefficient market selects for drugs with good marketing over ones that work.

<comment><USER4> Drugs die for all sorts of reasons other than being ineffective. A major one is the cost of getting a drug approved is now so expensive that you can't make money off it. The vast majority of diseases are effectively beyond treatment because the market for them is not large enough to support the cost of developing a new drug for them.

The other major reason for failure at Stage I/II is that the preclinical models we are using are not a good match for human disease. This means that a drug that works in a mouse model can't ever work in humans because the mouse model does not reflect the human disease (Alzheimer's is the classic for this). We are using preclinical models we know are useless and are then surprised when the drugs found using them don't work in humans.

</comment></comment></comment><comment><USER7> Original paper: [http://papers.ssrn.com/sol3/papers.cfm?abstract_id=2641547](http://papers.ssrn.com/sol3/papers.cfm?abstract_id=2641547)

Previous discussion: [https://news.ycombinator.com/item?id=10145606](https://news.ycombinator.com/item?id=10145606)

Also a long post on MR: [http://marginalrevolution.com/marginalrevolution/2015/08/is-...](http://marginalrevolution.com/marginalrevolution/2015/08/is- the-fda-too-conservative-or-too-aggressive.html)

</comment><comment><USER8> > A patient with a seriously life-threatening disease like lung cancer is > perhaps more willing to gamble on a risky drug in pursuit of a cure, while > someone with a disease that has a high survival rate such as diabetes > presumably cares more about avoiding adverse side effects.

If he's more willing to gamble, then why not _just let him do it_? The FDA's job should be to enforce truth-in-labelling (which means drugs with no beneficial use should be labelled as such, and those with horrible side effects should be labelled as such), and patients working in concert with their physicians should determine which drugs to take.

For this to work, we may need to limit the ability of drugs to be advertised. I'm okay with limiting the civil right to free speech of pharmaceutical companies in order to respect the fundamental human right to ingest whatever one wishes of patients.

<comment><USER2> _If he 's more willing to gamble, then why not just let him do it?_

They already do. It's called expanded access programs. If a patient is going to die, they can ask the FDA for permission to take an unapproved drug. The FDA says yes 99% of the time.

<comment><USER4> You can only get access to the drug if the company gives it to you. The hard- nosed response of the company is to never say yes since you run the risk of the patient having a side-effect unrelated to your drug that can kill it when you try to get FDA approval. If you care about helping the most people then risking your drug this way is crazy.

</comment></comment></comment><comment><USER9> On a related topic, [http://www.fdareview.org](http://www.fdareview.org) argues that much of the FDA is more harmful than useful; in particular the efficacy requirement. Does anyone know good counterarguments?

<comment><USER4> There aren't any. The FDA and it's related regulatory authorities around the world are responsible for killing more people than any other organisation that has ever existed (conservatively in the hundreds of millions).

You might wonder how this could be. Basically the cost of getting a drug approved is such that large sections of the human population (poor people especially) have diseases for which we have no treatment or no cheap treatment. We need to get the cost of drug development down to the level that pharmaceutical companies can make a profit developing and selling medicines to poor people or people with what are considered rare diseases.

<comment><USER9> Why hasn't anything been done since those studies came out? Is there just not awareness?

<comment><USER4> It is a very interesting question. The reason is what is known as regulatory capture. This is normally thought of as the regulators being captured by the industry they are trying to regulate, but it is really more a symbiotic relationship between both sides. Through regulation the large pharmaceutical companies can keep out the competition from any small pharmaceutical companies, while the regulators gain a nice job and importance.

The only losers here are the public since we miss out on cheap effective drugs because the regulations make them too expensive to produce for most diseases and people.

</comment></comment></comment></comment><comment><USER10> Per the paper, for drug application to treat pancreatic cancer, the threshold should be lowered to 27.9%.

In other words, if a company wants to make money, it can randomly pick 4 non toxic compounds, and apply for FDA approval for treating of pancreatic cancer through click-trial, in average the company would get 4*0.279 ~=~ 1 compound approved and then market the medicine to the world that the medicine is effective.

They give weight/cost to type I and type II error, and their whole analysis can be changed if the weights changed.

I would treat the paper as a research-toy, self fulfillment. Try to change policy based on the paper would be absurd.

<comment><USER4> You have just pointed out the problem with all effectiveness trials. If you used the current threshold you can still do the same thing, you just need to test more non-toxic drugs.

A better approach would be to not have any effectiveness trials at all and just collect good data on all patients using the drug. If a drug really worked it would become obvious the more patients used the drug, while if it was worthless this would also become obvious. A new drug would start out unknown with only the most desperate trying it and overtime we would learn more and more about its effects and side-effects.

This bayesian approach was not possible in the past, but with modern technology it is now. We would get better drugs with better known side-effects at far lower costs.

<comment><USER11> There's a great xkcd about the p-value interpretation issue.

[https://xkcd.com/882/](https://xkcd.com/882/)

So, how does the FDA deal with this issue today? Suppose the scientists wanted to market (some flavor) of jelly beans as a drug to cure acne (instead of to cause it), and they test 20 flavors and get evidence at p < 0.05 that white jelly beans cure acne. Or 1000 flavors and evidence at p < 0.001.

Does the FDA look for a causal mechanism that would make the drug effective? Or are the companies afraid to market things that they genuinely suspect are ineffective because they'll eventually get sued? Or is the FDA's effectiveness standard so strong that you just can't cost-effectively game it like this today? (The last possibility seems a little bit unlikely.)

<comment><USER4> This is a good question and one that is hard to know. In theory you need to have some mechanism of action, but drugs do get approved without one, or more commonly with a wrong one. Quite a few of the drugs in the psychiatric field are little more than placebos-with-bad-side-effects that got lucky.

As far as I know nobody has ever been sued over a drug that didn't work. From a purely legal perspective you would better selling a sugar pill than a real drug that worked and caused 1 in 100,000 people to drop dead.

</comment></comment></comment></comment><comment><USER4> The real source of the problem is at the preclinical stage. The requirements here are so strict that almost no drugs make it out of mice and dogs and into humans for actual testing.

<comment><USER2> That's not true at all.

Pre-clinical only requires that you show a drug is not toxic and has a potential benefit. Most drugs fail because they are either toxic or don't do anything.

Why would you loosen those regulations?

<comment><USER4> If only that was all you had to show in the preclinical stage.

The bigger problem is you can't show either of these with preclinical testing. If you could then there would be no need for human testing.

The reality is most of preclinical testing outside of certain drug classes (e.g. antibiotics) is not that helpful for knowing if a drug will cause problems in humans or will even work. It has got so bad that most drugs on the market would not get through current preclinincal testing requirements.

<comment><USER2> Your argument is that preclinical testing provides no data? I'm not sure I agree with that.

</comment></comment></comment></comment><comment><USER12> It's a do more harm than good question.</comment>


The March of Progress (in programming language syntax :) - <AUTHOR> http://alan.dipert.org/post/153430634/the-march-of-progress

<comment><USER2> The proper list starts with:

       1956: Fortran I:
                PRINT 1, X
             1  FORMAT (F10.2)

Fortran was able to use the same format specification for more than one print statement, that's why the format statement is referenced by number. It was even able to do repeats, for example this code from 1956

            PRINT 2, X, Y, A, B, C, D, N
          2 FORMAT ( 3 ( F10.3, F10.4 ), I4 )

is an equivalent of the following C:

        printf( "%10.3f%10.4f%10.3f%10.4f%10.3f%10.4f%4d",
        x, y, a, b, c, d, n );

Moreover, C interprets the format specification at runtime, in FORTRAN the compiler uses it during the compilation.

Fortran was invented by John Backus and there was already a finished compiler in 1956:

"Programmer's Reference Manual Fortran Automatic Coding System For IBM 704"

[http://www.fh- jena.de/~kleine/history/languages/FortranAutom...](http://www.fh- jena.de/~kleine/history/languages/FortranAutomaticCodingSystemForTheIBM704.pdf)

I/O in the first Fortran, I believe including the FN.M syntax, was implemented by Roy Nutt, also one obvious genius:

[http://www.smartcomputing.com/editorial/dictionary/detail.as...](http://www.smartcomputing.com/editorial/dictionary/detail.asp?guid=&searchtype=&DicID=18855&RefType=Encyclopedia)

<comment><USER3> char format[10] = "%10.3f%10.4f%10.3f%10.4f%10.3f%10.4f%4d";

printf( format, x, y, a, b, c, d, n );

You can get similar behavior from C, reusing the format specification? No idea if this was true in the K&R days though.

<comment><USER2> But not the repetition inside of one specification which I illustrated in the example (note the 3 before the braces in the 2 FORMAT), and much more important, no compile-time type checking and compile time code generation for output. In C it's a library call and most of the processing happens at the run-time. And yes I know of gcc checks.

Still whoever uses some printf variant today, misses some aspects of what was working in 1956.

<comment><USER3> I was only addressing your first point, not your second example which you demonstrated clearly earlier. The recursive syntax is impressive alright - thanks for sharing it. I was unaware of it, as I'm sure many others were. I was not suggesting C has a built in method for achieving the results of the second example. I'm not certain about the compile time versus execution time distinctions. The compiler behaviour could depend on the mutability of the objects. It's possible a C #define constant would cause different compile time behaviour to variables. I'm not a compiler expert in either language so I can't provide any insight in any case.

Those GCC checks you mentioned are handy and would have avoided a bug in production code a colleague encountered a few years ago, but I imagine they are more recent than C in 1982, and certainly more recent than Fortran in 1956

#define formata "%10.3f%10.4f"

#define formatb(z) z z z "%4d\n"

printf( formatb(formata), x, y, a, b, c, d, n );

The example you've given is thought provoking!

</comment></comment></comment></comment><comment><USER4> I'm not sure what the point of this is. It seems pretty petty. To wit, we could have just we well written...

        MACLISP (1980):
        (format t "Week ~R of the ~:R month of the year ~:@R~%" 15 102 1996)
            --> Week fifteen of the one hundred second month of the year MDCCCCLXXXXVI

        C/C++/Java/Python/Ruby:
        ...uh...

        COMMON LISP:
        (format t "Week ~R of the ~:R month of the year ~:@R~%" 15 102 1996)
            --> Week fifteen of the one hundred second month of the year MDCCCCLXXXXVI

There are powerful print functions and then there are _powerful_ print functions.

<comment><USER5> Clojure has cl-format. ([http://richhickey.github.com/clojure/clojure.pprint- api.html...](http://richhickey.github.com/clojure/clojure.pprint- api.html#clojure.pprint/cl-format))

<comment><USER6> Ditto for Perl: <https://metacpan.org/module/Lisp::Fmt>

</comment></comment></comment><comment><USER7> This is a very specific selection. There are plenty of modern languages that don't use printf semantics or C-like syntax. Too, there's languages from the 80s and 90s that did: Python (1991), R (1993), and PHP (1995) come to mind for direct printf analogs.

</comment><comment><USER8> Unfortunately, much of the industry is still stuck in 1996 because, hey, IDEs take care of the boilerplate, so it's "free", right?

</comment><comment><USER9> Hmm

          printf "%10.2f"

\-- Haskell, 1990.

</comment><comment><USER10> Is the author related to this post made 4 days ago here on HN? <http://news.ycombinator.com/item?id=3942636>

<comment><USER11> Both claim to have gotten it from <http://www.horstmann.com/>

</comment></comment><comment><USER12> None of these are syntax. `printf` in C or scala/groovy is a function call, which relates to the language's API, the C++ use of streams is an API decision, Java being funky is due to its API (and its semantics to a lesser extent). The only language I can think of off the top of my head where print would be syntax would be python, and even then 1) that's only for versions <=2, and 2) the formatting would still be an API choice.

<comment><USER13> printf/scanf do have a syntax. But you're not wrong saying it is not part of the syntax of the language stricto sensu.

I personnaly don't like the printf/scanf style, which unfortunately often prevails in newer languages. I definitely prefer the string interpolation method, or just plain string concatenation.

<comment><USER14> > I definitely prefer the string interpolation method, or just plain string > concatenation.

You're mixing things up; the point of printf is to format data, of which "%s / %s / %s" is a subset. Constructs like "0x%04x" or "%12s" really are about _formatting_.

<comment><USER15> Yes, but they're often used for "mere" interpolation, especially in languages where, rightly or wrongly, string concatenation is believed to be inefficient. I personally do this nine times out of ten, if only out of habit.

For my part, I've never personally liked the use of "+", in particular, to denote concatenation, for the (admittedly silly) reason that string concatenation is not commutative. If nothing else, it's a bit of a slippery slope to even more dubious operator overloads, though not nearly so much as C++'s bloody I/O "operators"!

<comment><USER14> It's not uncommon to use + for groups even if they're not abelian, esp. with near-rings.

This takes all its importance with duck-typing, as syntactic sugar of binary operators will be translated to a method call, e.g in Ruby _a + b_ becomes _a.+(b)_ [0]. while in Python it's _a.__add__(b)_ [1]. The result might be commutative, but the call and evaluation order certainly is not.

[0] <http://ruby-doc.org/core-1.9.3/Fixnum.html#method-i-2B> [1] [http://docs.python.org/reference/datamodel.html#object.__add...](http://docs.python.org/reference/datamodel.html#object.__add__)

</comment></comment></comment></comment></comment><comment><USER16> Fortunately, Java is "developing" with regard to its expressiveness.

Using Scala and co only brings you a part of the way, especially if you have to interact with Javaesque APIs like in Android, where you have dozens of different abstract classes (or sometimes interfaces) begging for anonymous inner classes.

</comment><comment><USER17> In 1956 there was such a thing as "the compiler business". Companies bought compilers.

Now, most programmers only speculate what a compiler does. They are so focused on language details.

Few want to write compilers. Many want to write yet another new language.

</comment><comment><USER18> Heh. Cute.

As a Java programmer, I agree that NumberFormat looks ridiculous there. It's a lot of work for a single number to string conversion.

Luckily, since Java 5 there is a printf function:

        System.out.printf(...);

<comment><USER19> That's in the article.

</comment></comment><comment><USER20> Does anyone else find a headline about the emergence of traditional orthodoxy in syntax that omits a closing paren in favor of an emoticon to be maddeningly ironic?

</comment><comment><USER21> OP is being manipulative, selecting a tiny slice of a language's API to exaggerate his petty point.

You just have to type _hello world_ in HTML. Beat that.

<comment><USER22>
      H

is "Hello World" in HQ9+

<http://www.dangermouse.net/esoteric/hq9plusplus.html>

:P

</comment></comment><comment><USER23> Ruby: p "%10.2f" % x

Progress™!</comment>


Using WIP branches to save every edit - <AUTHOR> http://www.jukie.net/~bart/blog/save-everything-with-git-wip

<comment><USER2> It's a really useful time save.

Unfortunaly git-wip by default doesn't commit files that are untracked (e.g. new). I submitted a patch to do exactly this: [http://github.com/MSch/git- wip/commit/22f4b57b67762a0123d1ba...](http://github.com/MSch/git- wip/commit/22f4b57b67762a0123d1ba319e82a0bc2a4ce338)

</comment><comment><USER3> Why not have a daemon track for file state changes instead of having every editor run the _git wip_ command? That would be much more general and probably better for most projects.

Maybe I'll make such a daemon...

<comment><USER4> A custom daemon would be great, but meanwhile you could use inotify-tools from the shell:

      while inotifywait -r -e modify .
      do
        git wip save "automatic save"
      done

</comment></comment><comment><USER5> This is timely considering just last night I "rm -rf projectname.py" instead of "rm -rf projectname.sqlite". D'oh.

</comment><comment><USER6> Anyone have it working in Emacs? I may fool around with it tonight, if not, and see if I can get it working.

<comment><USER7> I'm a vim guy myself, but looks like you just need the onSave hook that the vi config at the end calls.

</comment></comment><comment><USER8> this should be integrated into editors as undo/redo

i've long thought proper version control makes sense if it's fast enough -- eventually everything will be tracked anyway.

it doesn't make any sense to lose any ideas just because only one of them was "the winner".

</comment><comment><USER9> How does this compare with git stash?</comment>


Ask HN: Fastmail alternative with better spam filtering? - <AUTHOR> <comment><USER2> Office365 and outlook are great. The outlook app on iOS is solid, and the web app works seamlessly as well.

The spam filter works well on a decade old domain that get about 200+ spams a day.

</comment><comment><USER3> I'm looking into switching to Fastmail. Is the spam filtering so bad? From what I could understand you can train it?

</comment><comment><USER4> Zoho Mail is an alternative, though I can't speak much to their spam filtering.</comment>


Advice for Early-Stage Hardware Startups - <AUTHOR> http://blog.ycombinator.com/advice-for-early-stage-hardware-startups <comment><USER2> Actually being in Shenzhen where the product gets made has been really important for us.

I'm a biomedical engineer by training. My gut reaction in most phases of product development is to dive in and engineer the problem myself. It took me a while to realize this: I'll never be able to ship on time if I tried to engineer everything. Turning myself into a product manager has increased the pace of our product development by at least an order of magnitude.

Instead of taking detailed measurements of my device and building a three- dimensional model to send over, I take my product designer's sketches and a prototype to a case manufacturer. He comes up with a rough version, we go back and forth, and a few iterations later it's what I want. Oh, and in the process we've figured out what could be made more efficiently and what isn't actually all that useful.

Hardware prototyping is slow when you're doing it all yourself. If you're willing to tug on and navigate the Shenzhen supply chain and concentrated manufacturing brain power, you can iterate at speeds that can at times rival software.

<comment><USER3> Can you elaborate on the case design process? What language is being spoken? Are you meeting in person? Is he showing you CAD or physical prototypes? How much are you spending during this process?

</comment></comment><comment><USER4> This is so refreshing to see on HN. People looked at me like I was out of my mind in the ancient days of 2011 when I told people I was working on a hardware startup. I would only take issue with the author's advice to reconsider what you're doing if your volumes are under 1000. You can bend the cost and risk of your product launch substantially by focusing on a narrower niche and growing out from there. VCs don't like this of course, but scaling a low volume product to a high volume product is orders of magnitude easier than going from zero to a million units in a year. Following good design for manufacture principles and keeping excellent documentation is also key regardless of production size.

<comment><USER5> I've been employed most of my life by companies that never made 1000 of any one product. A lot of specialized industrial or aerospace electronics are profitable despite not being mass produced.

</comment></comment><comment><USER6> As a sole founder, and yes I realize that is in itself a problem, hardware is hard.

I've taken a few "purely digital" projects to the masses, but doing that with hardware on your own is freaking hard.

On the one hand, we as starters are supposed to hack, grind, iterate until we have something we can show people and gain feedback. Somewhere in there we are supposed to find other starters that are willing to take the plunge with us.

In the digital realm this is easy because you can make fruitful progress in a few night's work.

The the hardware side you can work for months to demonstrate something that looks like dogshit and does what you say it does.

In the pure digital world, you don't usually have to separate "looks like" from "works like", unless you are just at the absolute earliest stages.

So is hardware hard? Hell yes.

Is it harder than "pure digital". Hell yes.

Are things making it easier, and does exposure to fab labs and maker spaces make it easier? Yeah, a little bit.

</comment><comment><USER7> Nothing about "The FTC will sue you if you market an insecure device and put consumers at risk by using it."

If you're not aware, the FTC has put a tremendous amount of resources over the last ~2 years towards enforcement actions against insecure device makers and defining a minimum baseline of security that all device makers should meet. The likelihood that you will be named in one of these suits has risen quite a bit during this time period.

[http://www.ftc.gov/news-events/press-releases/2015/01/ftc- re...](http://www.ftc.gov/news-events/press-releases/2015/01/ftc-report- internet-things-urges-companies-adopt-best-practices)

[http://www.ftc.gov/news-events/press- releases/2013/09/market...](http://www.ftc.gov/news-events/press- releases/2013/09/marketer-internet-connected-home-security-video-cameras- settles)

[http://www.ftc.gov/news- events/blogs/techftc/2015/02/whats-s...](http://www.ftc.gov/news- events/blogs/techftc/2015/02/whats-security-shelf-life-iot)

</comment><comment><USER8> Excellent, practical advice, thank you!

Does anyone know if "#2 Don't forget the certifications" apply to very small / simple hardware ideas for ex: harware products / designs that use open source kits like the arduino kit?

I am working on a product based on an arduino kit, and want to make sure I have the certifications part (if needed) covered.

I am guessing that these certifications are more for big complex hardware products like electric cars etc? or No?

<comment><AUTHOR> I'd say it's a mixed bag of safety, liability, and legality that will vary widely between products. Some quick examples:

Safety: if you sell an appliance that operates on mains (hazardous) voltage, there are standards in place (UL, etc.) you should be following in order to prove your design doesn't allow that high voltage to easily come in contact with a person. So for your Arduino thing, as long as the power adapter that you source is already certified, you are probably good to go.

Liability: Closely related to above; what if your device is involved in a fire? There are flammability requirements for devices for different environments, and certification will help you prove you did everything you were supposed to in order to prevent your device from starting or propagating a fire. Again, not as big of an issue once the voltage is stepped down to <= 5 VDC.

Legality: mainly, FCC (in the USA) comes to mind. It's actually illegal to sell radio devices using certain frequencies unless they are tested and approved by the FCC. You can buy an FCC-certified radio modem or module to get by this one quite a bit easier. Medical devices are an entirely different can of worms (FDA, etc.).

So, it really depends on the use case for your product. What are you planning to build?

<comment><USER9> Not that I've gone this way, but I'm starting to believe that certifications are like patents - not worth the money if you're very small. The FCC fines are huge, but are they focused on the little guy? 3D Robotics seems to walk this line, by a talk I saw recently.

I'd consider waiting until you know there's demand past Kickstarter, at least. I see some worry about CE and the individual countries like Japan and ANZ, when global domination is a long ways off. You're probably going to have to iterate again anyway in order to get retail-ready margins.

A clue that it matters little is that when they need to put your unique product in a government-designated category, it's going to be something like "Computer Peripheral" or "Measuring Device". There is a lot of grey area. Hell, CE lets you self-certify.

Another debatable early-stage expense is liability insurance. Technically most distributors require it, including Amazon. But it can be nearly impossible to get for hardware with no track record, never mind what it costs. The best option is sometimes to let your LLC do its job and go bankrupt if someone wants a lot of money.

<comment><USER10> Does not sound like a terrific strategy to me. It probably will become very hard to bolt the requirements on after you've finished your product. And for people here in Germany, the pebble missing CE seals was a great deal as the shipped products got lost in customs. Pretty easy to piss off your backers like that.

<comment><USER9> I'm not saying to ignore the radio requirements at all. If you're diligent, make liberal use of reference designs, etc. your design will pass. I (and Chris Anderson) just question whether the time and expense of getting certifications that no one will notice is the right place for a startup to spend its resources. Fair game, when so many skip arguably more important things like security.

I agree on Pebble - the volume they were sending through, and a little inexperience with customs, raised flags that were hard to put down. But by all means, when you've raised $10mil, get your certs. I'm telling the Kickstarters who barely raised enough to execute their hardware, and then think that blowing $20K in order to cross all the t's for international markets, is not putting the cert before the horse.

</comment></comment></comment></comment></comment><comment><USER11> > Always think about bringing your capabilities in-house, if still outsourced > -- EE, ME, firmware, ID, apps, frontend & backend dev.

This. 1000x this. The temptation to outsource _everything_ is huge in the beginning, but the margin stacking and 'time stacking' this creates can be fatal.

<comment><USER9> I'll add another power of ten to yours. Just like you gotta be a full-stack developer to be lean and mean in your early-stage web startup, you gotta do/learn as much of the hardware stack yourself to save money and keep hard- won knowledge in-house. Given how capital-intensive hardware is, you should be even more stingy.

Not that everything must be done yourself any more than you should reinvent AWS. But here's an extreme case of outsourcing: [https://medium.com/@stevekreyos/the-rise-and-fall-of- kreyos-...](https://medium.com/@stevekreyos/the-rise-and-fall-of-kreyos-new- ac4e2d847964)

</comment></comment><comment><USER12> This is all solid advice. To me, this reads like page one of a hypothetical book "So You Want to Start a Hardware Company." There's a lot to learn about building a real hardware product. I'd love to read the rest of the chapters in that book, written by the people who have been through it.

Though I would say that you probably shouldn't spend the time creating a new hackerspace. As someone who has been there, starting up and running a hackerspace can be a real time vampire. Joining up with your local space is great - you'll meet a lot of smart people, have access to some useful tools, and maybe even find some potential future employees. But I really don't think it's a good idea to start a hackerspace at the same time you're trying to start a company.

</comment><comment><USER13> Finding new hires from your local hackerspace is great advice. You get to observe and work with people before hiring them. BTW, If you are ever in Oakland,CA you owe it to yourself to visit the Omni Commons. I'll be there attending CCL's syn-bio lecture this Saturday at noon if anyone wants to discuss hardware startups afterwards.

</comment><comment><USER14> I work in the bay area with all-local manpower, ask me anything. We bootstrapped a line of products with absolutely no help from banks or accelerators.

<comment><USER15> What kind of products do you make? What margin do you need to support local manufacturing? What is your main distribution?

<comment><USER14> Laser cutters and telepresence things, about 80%, my website and a few resellers. [http://www.robots-everywhere.com](http://www.robots- everywhere.com)

</comment></comment></comment><comment><USER16> Here is a really good video describing how a low production hardware product got to market. [https://www.youtube.com/watch?v=vIvTeHWfouA](https://www.youtube.com/watch?v=vIvTeHWfouA)

</comment><comment><USER17> This is a great article full of a lot of good advice. Hardware can be very hard for a lot for reasons and you can make expensive mistakes especially if it's your first time bringing a product to market.

We successfully bootstrapped some hardware to a shipping product and made it through the Apple MFi program.

 _If anyone wants to chat drop me a line. My email is in my profile and I 'm happy to help If I can._

</comment><comment><USER18> Is there a List out there with the best hardware-producing companies... I mean, what if i have the layout for a beagleboard 5.0 and want to order 2k of them...

I find it pretty hard to get an overview over hardware factories...

</comment><comment><USER19> "Join or start a Hackerspace, work from Techshop, contact makers who post interesting projects: find people working on hardware like yours and ask how they dealt with challenges you're facing. These conversations have led to me discovering faster and cheaper ways to make SMD stencils, casting aluminum parts from 3D prints, sourcing cheap components direct from China at in- country prices, and taught me everything I know about making things."

anyone have thoughts about how much IP protection someone should have before talking about their ideas at a Hackerspace or Techshop?

Does it make sense to file provisional patents before working on an idea at one of these spaces?

<comment><USER20> Nobody is going to steal your unproven hardware idea at the TechShop. Don't worry.

<comment><USER19> at what point in the processes of proving a concept does it make sense to get IP protection?

<comment><USER21> When you realize that you will make more than the patent costs, plus the legal fees to sue an infringer.

Before then, I'd say you have better uses for the money.

<comment><USER14> A provisional patent is around $400 and lets you slap Patent Pending on the manual, which makes you look more serious, at least.

<comment><USER21> [shrug] So you just paid $400 for the right to sue someone. Still gotta pay the lawyers.

<comment><USER14> It also makes you look a bit better to the sort of people who care about patents (The problem with lawyers is that they quickly get more expensive than siege engines, so their usefulness is limited).</comment></comment></comment></comment></comment></comment></comment>


Show HN: Fast and Simple Node.js Installer (n.gc.gy) - <AUTHOR> I found that other node installers didn't actually install node (just add repos/ppa/etc) or had super long urls (or both :O) so I decided to make my own that just does what it says on the tin. Usage is pretty easy, just curl or wget or whatever floats your boat and then bash it. <comment><USER2> > other node installers didn't actually install node (just add repos/ppa/etc)

That's a good thing. Ideally you don't even want an "installer" (if by installer you mean a shell script) to add a repo. You just want a gpg key blob/id and a repo URL; OR a "release" package for you distro, which contains the above and will install them in the correct locations.

This means you get regular updates via eg apt-get upgrade, you can see exactly what files a package installed (or even will install if you download the package file first)

Installing software from a shell script like that is a terrible solution quite frankly. `curl|sudo bash` type things are the marquee tag of the ops world.

</comment><comment><USER3> Windows support?

<comment><AUTHOR> I was considering doing this but at that point I would have to be doing annoying analysis of user agents and who is installing node from cmd anyway</comment></comment>


Phaser – Desktop and Mobile HTML5 Game Framework - <AUTHOR> http://phaser.io/

<comment><USER2> Some guy is using this framework to make a game a week. His third game is particularly addictive, yet very simple. Check them out: [http://www.lessmilk.com/](http://www.lessmilk.com/)

<comment><USER3> I'm the guy making the games, thanks for mentioning my project!

Let me know if you have any questions.

<comment><USER2> No problem! Thanks for investing time into the project -- I'm sure it's a lot of work, and I'm sure the community really appreciates it. I enjoyed your tutorial and look forward to a few more :P

</comment></comment></comment><comment><USER4> We did a mini multiplayer platformer in this over a weekend. It was pretty simple to setup but if you aren't familiar with properly setting up JS applications you're going to hit a wall eventually with your code (luckily we had someone incredibly smart to help us).

The idea of cross platform and in the browser is nice, but if I had to do it again I'd probably go for something desktop or app focused.

</comment><comment><USER5> So as an experienced developer with no game dev experience, is something like Phaser (or other frameworks, like Corona) a good place to start, or should I start with something more minimal? I really want to pick up 2d gaming so that I can develop a few fun games for my kids (and teach them in the process), but am unsure if I should start with a very minimalistic, low level set of libraries or a full stack... Any advice is very welcome. Oh, and it'd be great if I could do all of this from Linux. That's one of the big drawbacks of things like Corona, which require either Mac OS or Windows.

(edit, corrected wording)

<comment><USER6> Yup, it's pretty much a perfect place to start. Browsers are ubiquitous, 2d gaming is pretty easy to understand and get started with, and the results can be surprisingly addictive despite their simplicity: [http://www.lessmilk.com](http://www.lessmilk.com)

Developing your own game engine that suits your needs in JS would be pretty instructive as well. There are a metric ton of JS game engines out there, many of them open source, so you can see what tradeoffs they made with respect to performance, quality, etc, while developing your own. It's really not hard to get stuff drawing on the screen with JS and canvas.

I could imagine writing a game with your kids that uses Phaser to get them started, then figuring out something Phaser can't do (or doesn't do well) and showing them how to open the code, read it, grok it, change it, etc. Very cool.

<comment><USER5> Thanks very much for your reply. Now, if only I could develop a stomach for javascript. I've really, really tried.

However, phaser appears to support Typescript, which might just make it palatable. I'll give it a go.

</comment></comment></comment><comment><USER7> We've been using Phaser to migrate a bunch of education games from Flixel/Flash to HTML5. Absolutely recommended. The latest version (1.2) is currently in testing and has now integrated Pixi.js 1.5.

</comment><comment><USER8> What browsers/versions to they support?

I'm looking for something that I can use to rebuild a bunch of Java applets, but I need good audio support, and good cross-browser support as well.

Their mobile focus would be a nice bonus, but I'm not sure I can use it if they don't support even modern IE, for example... a lot of people use IE (unfortunately IE8/9 are still quite common as well, though I might be able to get away with lacking support for those), and won't install a new browser just for my site.

<comment><USER8> Ah! I found a bit more info on the github site: [https://github.com/photonstorm/phaser#requirements](https://github.com/photonstorm/phaser#requirements)

> Games created with Phaser require a modern web browser that supports the > canvas tag. This includes Internet Explorer 9+, Firefox, Chrome, Safari and > Opera. It also works on mobile web browsers including stock Android 2.x > browser and above and iOS5 Mobile Safari and above.

</comment></comment><comment><USER9> TypeScript support makes me want to take a closer look.

</comment><comment><USER10> It's a great tool if you go for a game that fits this framework - 2D, sprites, tilemaps, physics, ... e.g. a platformer.

After experimenting a little with phaser, i realized i don't need a full game framework, and now feel better served by pixi.js or ivank.js.

</comment><comment><USER11> Using this framework right now -- it is quite excellent. Full of features, and with great, constant support.

Also, it runs ontop of the Pixi.js renderer, meaning it is super, super fast.

</comment><comment><USER12> I'm using it since v0.95 and it's getting better and better.

I made a yeoman generator for generating "phaser game" projects quickly (JS only sorry).

</comment><comment><USER13> Let me be original: This looks great. I will definitely take a closer look later. </sarcasm>

<comment><USER14> Indeed. It's a bit hard to swallow when the phaser front page doesn't work properly on my mobile.

</comment></comment><comment><USER15> This looks very interesting, I will definitely have to take a better look later.

</comment><comment><USER16> This looks awesome. I'm definitely going to have to take a closer look.

</comment><comment><USER17> Why did they use the Sublime Text icon to indicate Javascript O.O

<comment><USER18> The Visual Studio icon is a poor choice for TypeScript as well.</comment></comment>


Japan's Warp-Speed Ride to Internet Future - <AUTHOR> http://www.washingtonpost.com/wp-dyn/content/article/2007/08/28/AR2007082801990.html

<comment><USER2> Examples like remote-medical applications are pretty meaningless. High bandwidth applications for regular users is what will change the world.

I think the result of the US lagging behind is that the rest of the world has to wait too. Because US-based innovators don't have the connections they don't create the new applications. Japanese users don't have much use for their awesome connections now. I know, I have one.

<comment><USER3> While you can't argue that there hasn't been a meaningful web application to come out of Japan, the article is still pretty upsetting. The stupidity of the federal government in this country is incredible. As an American I am pretty pissed off that we are this far behind. It is a pretty upsetting paradox , how the us is home to amazing innovators despite the stupidity of the federal government. The state of US infrastructure is disgusting from mass transit to the internet, its pretty depressing.

</comment></comment><comment><USER4> I don't think this is as important as it is made out to be. These preposterously high speeds will certainly create opportunities for << internet >> applications, but I think that they are much less relevant for << web >> applications. The web is the internet's killer app and I suspect this will always be the case. There will be important transformations to be sure, but with more bandwidth we will just have more of the same.

I think that the web is a better interactive application than bandwidth- intensive video alternatives. It (even MySpace) inherently stimulates our higher brain functions, whereas video seems to universally produce a trance- like state. (Although, I suspect this may be a prime opportunity for impression based advertising.) However good a business that may be, I won't be a drug pusher.

More bandwidth doesn't make the internet a new medium; it just makes room for more of what we already have. If I had to guess what The New New Thing will be on the coming high bandwidth internet (and of course all of us here need to), I would say that it will be the old old things that people have been trying from the start. I think it will be nationwide video on demand; I think it will be bit torrent with a toll. I don't think it is an interesting problem for hackers or entrepreneurs. It is too messy. It is for suits in the media companies to clean up.

edit: I may have spoken too quickly. A moment after I posted this, I began to wonder how much bandwidth is necessary to eliminate the need for a local computer. That would make one hell of an internet application. I'm sure there are plenty more. But, I still trust that the web is here to stay.

<comment><USER5> You're right that in the CURRENT state of affairs, high speeds don't do much for web applications as we know them to exist today. The web is here to stay, but not in the form we currently know it.

I disagree that "more bandwidth...will be more of the same." The reason is when I look at other aspects of computing that have gotten better in the past, and what they've enabled, it seems like that's not true.

a couple decades ago, 1MB RAM was unfathomable. What would you possibly do with all that space? We can write programs in 64kb! Well, looks like we added layers and layers of abstractions to make it easier for programmers at the expense of more work for computers.

The miniaturization of hard drives and the increase in their capacity has changed the game a quite a bit. iPods would not be possible without small hard drives. While it's not the only reason, without it or other similar technology, we wouldn't have had a change in consumer music and culture.

Like your edit says, with huge bandwidth, your computer here is just as good as a computer "there" Imagine if your internet connection is as fat of a pipe as the one going from your hard drive to your motherboard. SCSI, ATA100, whatever. Remote desktop applications will be just as fast as locally running one nowadays.

If that's the case, 3D gaming can be completely remote, and subscription based gaming can become the norm, rather than purchasing boxes and CDs.

If video and TV really do make it on the internet, I imagine it can change the way we watch it. No longer do we see disjointed segments of content, nor will we have 'channels' where we have to wait to watch something. We will be able to pick and choose what we watch, even entire archives of past shows at our whim. On demand won't just be for movies anymore. (Well, that's given that the noose of big media doesn't strangle innovation)

My guess is more bandwidth won't be much more of the same. We'll see more "wasted" bandwidth according to our present defn, but they'll be used in entirely different ways.

</comment></comment><comment><USER6> "U.S. phone and cable companies, which control about 98 percent of the country's broadband market, strongly oppose the proposed laws, saying they would discourage the huge investments needed to upgrade broadband speed."

Huge investments such as the $200B from American tax payers in the 1990's that resulted in nothing?

<http://www.muniwireless.com/article/articleview/5011>

</comment><comment><USER7> It's not the speed of connections what is holding web applications back, it's poor runtime. DOM+JS without _standard_ local storage, with complete absence of _standard_ libraries for anything but trivial, without any access to PC hardware... Pretty pathetic... It is especially ironic to see ridiculously slow speed of simple Flash 2D graphics running full screen on a kick-ass video card.

Besides, it's not only speed what matters, there is latency issue as well. With HTTP I cannot tell much difference (visually) when going from 3mbps to 12mbps unless I'm downloading an ISO file or something like that. Browser will not open more than 2 connections at a time anyway.

</comment><comment><USER8> "The opening of Japan's copper phone lines to DSL competition launched a "virtuous cycle" of ever-increasing speed..."

They got real performance gains when they decoupled the service provider from the infrastructure provider. Of course, this was implemented through regulation, but I wonder what you could do on an open market. Would it be feasible for consumers to buy into a local fiber network so that they "own" the last mile? That would give them leverage when selecting a provider for TV, Internet, and voice service.

</comment><comment><USER9> My startup and I are moving to Japan. These guys aren't waiting. This speed will have so much impact in their culture and work in 10 years that other nations may sit and wonder wtf happened.

<comment><USER10> Are you serious? I am literally moving to Japan in 1 month.

<comment><USER11> Whoa whoa hang on why are you guys moving there? Am I missing something here? :-)

<comment><USER10> Better trust networks, healthcare, public safety are all reasons I would consider making the move permanent. In the United States even healthcare is an industry. If you can't trust your doctor, who can you trust?

<comment><USER11> That's a good point. Are you guys looking to start a start up there? I'm currently looking at China and Singapore. But Japan may be third on my list. What's your email? :-)</comment></comment></comment></comment></comment>


How domains became backwards - <AUTHOR> http://david.newgas.net/how-domains-became-backwards/ <comment><USER2> The UK "Grey Book" email system (<http://en.wikipedia.org/wiki/Coloured_Book_protocols>) used email addresses the other way around (in the same timeframe that the UK was using a stack over X.25 as their internetworking protocol).

For example, a user at Imperial College (IC) would have been: firstname.lastname@example.com, rather than email@example.com as they might today.

Email gateways existed to convert between the different systems, but when all country codes were added to the internet, some addresses were simply ambiguous. (An address ending in .cs might be either czechoslavakia or a computer science department.)

The main email software responsible for this slicing and dicing was known as PP, which helps explain the excellent quote on ASR (alt.sysadmin.recovery) a few years later:

<http://home.xnet.com/~raven/Sysadmin/ASR.Quotes.html> [search page for "mail transfer agents"]

<comment><USER3> I wondered why the article didn't mention JANet-style addressing, or UUCP- style bang-paths, both of which lead to more specific elements on the right.

With the rise of NAT-traversal technologies, I find it a little disappointing that bang-path addressing hasn't been rediscovered and used with TURN.

<comment><USER4> Honestly I find it comforting that people who think that the solution to inconvenient addressing problems is _more and different syntax_ haven't won the argument. :)

</comment></comment></comment><comment><USER5> JANET (the UK university network) had a NRS (Name Registration Service - similar to DNS) that worked from least-to-most specific. So Cambridge was uk.ac.cam instead of today's cam.ac.uk. There were gateways to talk to email servers on ARPANET and reverse the ordering - there's more on it here:

<http://www.uknof.com/uknof7/Reid-History.pdf>

</comment><comment><USER6> Back in the early 80s, UUCP formatted addresses such as _bigvax!foobox!user_ where more common than firstname.lastname@example.com.

<https://en.wikipedia.org/wiki/UUCP>

</comment><comment><USER7> Funny to think that if Twitter handles were fragments of email addresses they would be backwards:

com.twitter@holysee

\---

By the way, this must be a mistake:

 _This is a clearly a byproduct of the right-to-left language of the designers of these systems_

<comment><USER8> That language is _math_. Which, due to historical accident, was inspired by Arabic writing, rather than the Latin variety.

<comment><USER9> that sounds interesting, but i'm having a hard time getting my head round it. can you give an example where math is right to left?

[edit oh, numbers! thanks! i was thinking about algebra.]

<comment> T-hawk Numeric notation is built right to left. To count up from 1 to 9 uses single digits, of course. Then to go from 9 to 10, the ones place increments and rolls over, and we add the new tens digit on the left, not the right.

<comment><USER10> Not sure, the numeric notation is little endian wheras DNSs are big endian.

<comment> B-Con That's the point. Numeric notation is right-to-left. It was around long before the concept of endianness.

<comment><USER10> What does it mean to be right-to-left? If it means that least significant values are on the right side and most significant ones on the left side, then domain names are left-to-right (as opposed to numeric notation).

</comment></comment></comment></comment></comment></comment></comment><comment><USER11> Group hierarchies on USENET were from least to most specific, for example sci.math.num-analysis.

<comment><USER12> There are good reasons for both of these choices.

USENET was a taxonomy, at least in principle, although like any taxonomy of thought you ran into cases like sci.foo.bar and alt.foo.bar fairly often. A taxonomy should be read from general to specific.

Email addresses are addresses. The metaphor is a geography, which goes from the specific to the general.

Then we have URLS, which go from the specific to the general, hit a slash, reverse direction, and then explode into a bunch of hacked-on features.

<comment><USER13> Addresses goes from specific to general mostly in countries influenced by British empire. Because international standard require to put city and country at the end, many countries have addresses with mixed order: street, home number, apartment number, city, country.

<comment><USER14> There are many, many, many people in the world at valid addresses never touched by the British Empire. China, Japan, Indonesia, Brazil, &c.

</comment></comment></comment></comment><comment><USER15> Interesting. Now I wonder why Java decided to go the other way with a reversed domain name for packages. E.g., com.company-name.package-name

<comment><USER16> In the initial implementation package names were literally mapped to a path with the equivalent of subst(".", "/").

So in that sense the java package names are based on the hierarchy of a filesystem.

<comment><USER17> Also, the method name goes to the _right_ of the class name, so the only reasonable way to have a hierarchical name that reads in a single direction is to put the most general qualifier on the left and the most specific on the right:

com.mydomain.mypackage.MyClass.staticMethod()

</comment></comment></comment><comment><USER18> So did URL get designed backwards then? Should we have email@example.com instead of example.com/~cerf?

email@example.com maybe?

</comment><comment><USER19> So, is the obvious response to find a way to change our URL paths to subdomains?

e.g. 5236146.item.news.ycombinator.com ?

Sounds interesting but not productive, to me.

</comment><comment><USER20> Java Developers staring at com.domain.specific namespaces are somewhat preconditioned to examining this discrepancy.

</comment><comment><USER21> When domain names were first used, there was no such thing as a URL. The end.

</comment><comment><USER22> "This was basically maintained in one giant text file managed by one organisation."

Actually it was managed by one guy! <http://en.wikipedia.org/wiki/Jon_Postel>

<comment><USER23> Thanks for linking this - Jon has an incredible legacy.</comment></comment>


Complying with the EC's Android decision - <AUTHOR> https://www.blog.google/around-the-globe/google-europe/complying-ecs-android-decision/ <comment><USER2> Well, that's big fat middle finger towards EC. Because the permission to use forked Android is limited to EEA, no manufacturer is going to use that and lock themselves out of the rest of the world. But the real punch comes here:

> we will introduce a new paid licensing agreement for smartphones and tablets > shipped into the EEA

While it is bit vague, it certainly sounds like Google will be levying "EC stupidity tax" for all EEA devices.

So congratulations EC, you accomplished exactly nothing but making devices more expensive in your market and padding Googles pockets even more.

<comment><USER3> I hadn't really been following this previously, but I did glance at the official EC press release just now ([http://europa.eu/rapid/press- release_IP-18-4581_en.htm](http://europa.eu/rapid/press- release_IP-18-4581_en.htm)). From that document:

* has required manufacturers to pre-install the Google Search app and browser app (Chrome), as a condition for licensing Google's app store (the Play Store);

* made payments to certain large manufacturers and mobile network operators on condition that they exclusively pre-installed the Google Search app on their devices; and

* has prevented manufacturers wishing to pre-install Google apps from selling even a single smart mobile device running on alternative versions of Android that were not approved by Google (so-called "Android forks").

That last one in particular sounds quite abusive to me, given that I'm a fan of FOSS.

> it certainly sounds like Google will be levying "EC stupidity tax" for all > EEA devices

Is it really stupidity to attempt to prevent a large international corporation from abusing its market dominance? Or are you perhaps suggesting that the EC should have backed down in order to avoid being bullied by Google?

<comment><USER2> > Is it really stupidity to attempt to prevent a large international > corporation from abusing its market dominance

It is stupidity to attempt _and fail so spectacularly_

<comment><USER3> So what are they supposed to do then? Just pretend nothing is wrong?! This may raise prices somewhat in the short term, but hopefully it will curb this kind of behavior in the long term.

<comment><USER4> I'm not following your logic. How will fatter margins for Google lead to less of this behavior?

<comment><USER3> > How will fatter margins for Google lead to less of this behavior?

I never claimed that Google would have larger margins, nor do I agree with that assumption.

First, the behavior in question. They abused their market dominance to force other companies to do things which were advantageous for them. They have been fined for it, have officially announced that they will no longer be doing it, and if they were ever to resume would presumably face further very steep fines. Moreover, this turn of events will hopefully give pause to anyone thinking to emulate their strategy in the future. Regardless of what happens to their margins going forward, there will almost certainly be less of this behavior.

More than that though, your assumption that their margins will increase doesn't make very much sense. If that were the case, why didn't they pursue this sort of licensing scheme previously? The obvious answer is that in their best estimate the new way of doing things will actually hurt their margins. Presumably driving users to their services was worth more than charging a licensing fee to offset the cost of developing GApps, as they make money off of user data. It also had the bonus of preventing any meaningful competition from developing - their search engine was installed by default (minimizes competition), their software was installed by default (minimizes competition), and you couldn't charge a licensing fee for a competing suite of software because their price (free) would always substantially undercut yours.

Even if you did somehow find a way to compete on the software front, you couldn't do business with any of the major manufactures. If they went with your software instead of Google's on _any_ of their devices they could no longer license GApps _at all_. Ending their abusive licensing practices opens the door to companies offering devices with an Android fork if that makes sense for them. Importantly, it means that a top tier manufacture can now continue to offer official Android devices with GApps while also trying out a competing (unofficial) design. So yes, prices may go up in the short or even long term, but nonetheless Google's margins will likely be damaged.

</comment></comment></comment></comment></comment></comment><comment><USER5> More recent articles: [http://fortune.com/2018/10/17/google-eu-android- antitrust-ma...](http://fortune.com/2018/10/17/google-eu-android-antitrust- manufacturers/)

See also: [https://www.theverge.com/2018/10/16/17984074/google-eu- andro...](https://www.theverge.com/2018/10/16/17984074/google-eu-andro..).

The latter fumbles breaking down what parts "Android" has, neglecting the Java Virtual Machine, and thus most of the OS.

</comment><comment><USER6> > We believe that Android has created more choice, not less.

More choice in what? Definitely not more choice in mobile Operating Systems.

<comment><USER5> They are weaseling: they mean more choice than Apple-thats-it, which was briefly the case. Having to refer to so ancient and obsolete a virtue is damning in itself, I agree.</comment></comment>


The State of Owner-Controlled Computing as Talos Winds Down - <AUTHOR> https://www.crowdsupply.com/raptor-computing-systems/talos-secure-workstation/updates/the-state-of-owner-controlled-computing-as-talos-winds-down <comment><USER2> Very weird this is not getting more upvotes. If you've ever looked in to IPMI and BMCs, the stuff is scary. Once properly backdoored (available through either route), you can never confidently reclaim full control of modern hardware. It has to be chucked.

<comment><USER3> My opinion is definitely colored by political bias, but it seems like HN's culture has become a lot less concerned with or aligned with the concerns of libre computing in recent years (if it ever was) in favor of startup buzz. I've come to see the two as more or less incompatible if not outright at odds.

</comment></comment><comment><USER4> I'll admit I couldn't casually afford one of their desktops, but I pledged on crowdsupply to buy one anyway because I so badly wanted the Talos to succeed. While my credit card breathes a sigh of relief, I'm honestly a bit saddened this did not pan out. I really hope the outcome of this campaign isn't the "referendum" on workstations and owner-controlled computing at this calibre that Raptor Engineering suggested it was.

</comment><comment><USER5> Really sucks that they're shutting down, was looking forward to POWER 8/9 based desktop machines.</comment>


Runscope acquisition falls through - <AUTHOR> https://www.facebook.com/johnsheehan/posts/10156769607460078 <comment><USER2> This post is getting more attention then intended but I'll be back later tonight after my hockey game to answer any questions.

I do just want to state unequivocally that we do not intend to shut down, we're still growing and are as sustainable as ever. Customers don't need to worry about us disappearing.

<comment><USER3> "As sustainable as ever" might not be the best way to phrase things, given that the previous state was in your own words "a long way from self- sustaining".

<comment><USER2> Fair point. In retrospect it _felt_ sustainable fresh off our last round given the market at the time and the amount of runway it gave us. Not saying that it was, just that it felt that way.

</comment></comment></comment><comment><USER4> How am I just learning about Runscope? This service is fantastic. I just signed up for free, they have a really smooth onboarding process, I now have a free API monitor pinging my API from multiple geographic locations and verifying correctness of the return value, they are generating some neat reports, and it looks like they even have a control I can publish/iframe with a nice graphical history.

I mean, this is almost better than StatusPage.io type solution just because it's so simple. The pricing is serious, and I think reasonable but it will be un-affordable for some. For now I'll play with the free option and will upgrade as soon as there's funding.

I really wish you luck with this product, it provides real value and is easy to use, that should be enough.

Edit: So I read that you raised $6m. I'm sure that helped create this software. What's great is the company can now take its time earn back that money, and if you can focus on the features that matter you can grow the feature-set in a controlled simple manor. The only problem I forsee is the investors may never see a return on the $6m, or rather, selling shares will never surpass the liquidation preference, so the challenge is paying yourself enough. If you have Board control you will be able to issue dividends, but otherwise getting cash out of the company will be hard.

<comment><USER5> > If you have Board control you will be able to issue dividends

Most VCs insist on a protective provision that requires their approval to issue dividends to the founders/employees (i.e., common stock). So yeah--focus on either building a company that will sell for more than the liquidation preference or at least push for a comfortable salary.

</comment></comment><comment><USER6> John: really sorry to hear what a tough time you've been having. I hope you're through the worst of it.

I recently started using Runscope as part of an R&D project and it's been a revelation: it makes debugging API-related issues SO MUCH easier than any other approach I've used. It's saved me many hours of work. I'm a very happy paying customer.

One example: are you using Elasticsearch? Proxy your requests through Runscope and you can see exactly what happened with every query - both the full request and the response. And... you can share individual requests with other developers to help with debugging complex issues.

</comment><comment><USER7> I appreciate the absolute heart-on-sleeve but you're not in "post mortem" mode, you're in transition mode!

Your message - from the first sentence to choosing "default dead" in telling the story reads negative.

Same message, different delivery:

"First the good news - Runscope is now cash flow positive and in it for the long-haul!

In other words we're "Default Alive"* and even though the road getting there has been bumpy, we're more committed than ever.

We're even moving our core team back to sunny Minnesota to continue managing costs and expand our team more sustainably."

\- - - -

I have huge respect for what you are going through and wordsmithing at this critical stage when customers are thinking "What the fuck is going on at RunScape" will have an impact on your business.

Stay positive and upbeat publicly, especially when you have a positive message to deliver!

<comment><USER8> I found the tone refreshing, personally

</comment></comment><comment><USER9> The good news from this announcement is that they aren't shutting the service down, as their costs have now fallen enough that they are cash flow positive.

Prior discussion on HN about a $6 million Series A, raised two years ago:

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

</comment><comment><USER10> It is interesting that the founder has decided to leave SF. It is getting to the point in the Bay Area that PG's concept of "ramen" profitability is becoming just a dream as costs continue to skyrocket. I think we are going to see the industry start to fan out geographically in the next couple years.

<comment><USER2> I wouldn't read too much into it. I love the Bay Area. Rent is crazy, but there's no better place to run a startup.

</comment></comment><comment><USER11> I met John a few years ago, and he's one of my favorite founders. He's smart, on top of things, personable, and effective. He's been a huge inspiration to me, and I find myself constantly thinking "what would John do?" when in a tough spot.

I'm sad he won't be in SF (and sadder I didn't take advantage of it more when he was), but excited to see what happens. John doesn't give up... this is just another step in a long journey.

Like the adage goes, "This too shall pass".

</comment><comment><USER12> "Without a team—soon to be without an office—our ongoing expenditures are now minimal. This makes the company cash-flow positive."

Congrats on becoming cash-flow positive! Sounds like you are making a lot of good decisions which will hopefully put you and your family in a much better place.

</comment><comment><USER13> Fortunately, unlike many other startups that we read about on here that bite the dust, you can actually _pay_ for Runscope. Which I do. I think they have a bright future as a sustainable company.

</comment><comment><USER14> When I saw you guys at Pycon last year in Montreal, I thought you had a great product, and a catchy slogan that I kept repeating to myself, especially after I was laid off.

Everying is going to be 200 Ok.

And it will be.

</comment><comment><USER15> You guys have an amazing product that has saved me so much time in the past few years. Good luck.

</comment><comment><USER16> Good luck to you and hope you get another offer that will resurrect your company to full staff

</comment><comment><USER17> @johns: who is gonna take care of your awesome community projects? If you need help, let us know. We are using them all the time...

<comment><USER2> We definitely want to keep them going. They're a great source of leads. If you're using them all the time though, sign up for a Runscope subscription! That's the best way to support those sites.

</comment></comment><comment><USER18> So if you had to do this again, would you have taken VC?

<comment><USER2> For this company, absolutely. It's not perfect for every kind of business, but for what we wanted to accomplish I think it was the best path to do so. I'd just ask them better questions about failure scenarios :)

</comment></comment><comment><USER19> Was there a better way to line up a acquisition process that didn't endanger all the employees jobs?

<comment><USER2> This was a really tricky balance. We could have let some people go earlier to extend runway and maybe give us more time to optimize an exit, but at the cost of morale and perhaps a subsequent talent drain. We also knew the people were going to be a focal point for an acquisition so the more good people we could keep around, the better our value to an acquirer. All things considered we ultimately choose to hold on to as many of them as we could for as long as we could while trying to be transparent about our status so they could decide if it was worth it for them to hang around.

<comment><USER19> Thanks for sharing this perspective.

It's a testament to the the tools and infrastructure that your team built that a two man team can keep Runscope in a cash positive holding pattern. If this is rock bottom then Runscope is far more resilient than the sea of other non revenue generating companies in this environment. again. props for being open. hope you get to share more lessons as time heals.</comment></comment></comment>


DuckDuckGo on This Week in Startups - <AUTHOR> http://www.youtube.com/watch?v=AWJAkjF9qnY#t=20m40s Had a great discussion of Gabriel, the founder of DuckDuckGo Friday... podcast is up.
Gabriel is a great entrepreneur... really enjoyed having him on the show.
show notes here: http://thisweekin.com/thisweekin-startups/this-week-in-startups-72-with-gabriel-weinberg/ <comment><USER2> _I get flamed on HN 3 times a day, I don't know why_

 _news.ycombinator.com, the incubator, has this site where people, nerds, talk about stuff_

Your tone over the word 'nerds' (and the entire 30 seconds around it) is exactly why you get flamed. Maybe if you chill with the irrelevant bullshit, maintain your objectivity and do your job (in this case, focus on the interview), ppl would respect you.

P.S. Great guest this week.

<comment><USER3> That's exactly where I stopped watching the video. No matter how much value a person provides, if he is doing it in an unpleasant manner I tend to walk away instead of putting up with his BS. Worked out pretty well for me so far.

<comment><USER4> You might want to rethink that strategy just for this episode. As much as Jason annoys me (and he does) I have to give him credit for asking smart, interesting questions of Gabriel Weinberg. I didn't know much about DDG going in, and felt like I got a great overview of how it works and why I might want to use it.

<comment><USER5> Agreed. I cant handle _anything_ with Calcanis, but a chance to listen to Gabriel Weinberg is always worthwhile.

</comment></comment></comment></comment><comment><USER6> I did not use DuckDuckGo before. Now I'm trying it. Say all you want, the interview worked.

</comment><comment><USER7> Wow, Gabriel Weinberg came across really brilliant in that interview. Had never seen him speak, but I like how measured and thoughtful he is with his responses. Free of hyperbole, and solid ideas.

</comment><comment><USER8> In the video Jason also states why future Ycombinator startups participating the facebook socializing of your product is a bad idea. You can watch it here

<http://www.youtube.com/watch?v=AWJAkjF9qnY#t=1h14m43s>

Jason main point is that its a bad idea because facebook has a history stealing good ideas.

I disagree, not that they haven't done that or that there aren't other concerns, like facebook or twitter changing there platform policies. But worrying about any competitor stealing your idea is often a premature concern when you have other things to think about like whether you have a good idea, can you execute well on that idea, how will you get distribution and will people use it.

As Steve blank would say, "You should be so lucky to get to a size that you have a competitor thinking about you".

You should watch this clip Jason. <http://www.youtube.com/watch?v=6USgPkfsVJM#t=25m55s>

and thanks for TWiST, I enjoy it alot.

</comment><comment><USER9> Did anything come up regarding DDG not really showing Mahalo pages in results?

<comment><USER10> no reason why he would...according to Jason Mahalo is a search engine

</comment></comment><comment><USER11> So much irony during that interview!</comment>


Apple Faces Class Action Lawsuit Over 'Defective' Keyboards - <AUTHOR> https://www.macrumors.com/2018/05/14/macbook-pro-keyboard-class-action-lawsuit/ <comment><USER2> Pro Apple users standards are now so low that we'll be delighted and thrilled if/when they release a MacBook Pro with a keyboard that reliably works, and that has an escape key and function row again.

Several of my colleagues and friends gave up on waiting and jumped to Lenovo or system76. I personally went with a refurb 2015 MacBook Pro and am keeping my fingers crossed, and know a large number of others who are doing the same.

</comment><comment><USER3> Dupe (of same news event, not same article): [https://news.ycombinator.com/item?id=17054710](https://news.ycombinator.com/item?id=17054710)</comment>


Better USB Injection with Rawcoon - <AUTHOR> https://0x00sec.org/t/better-usb-injection-with-rawcoon/16843 <comment><USER2> The site is all white text on a white background.

<comment><AUTHOR> Would you mind enable your Javascript engine? ^^

<comment><USER2> I'm using stock Chrome on a Chromebook. Javascript is enabled by default. I see the text for a split second before everything but the images fades to white.

<comment><AUTHOR> Sorry to hear that. Works fine for me :(</comment></comment></comment></comment>


My Soapbox Advice to the OWS Movement and then some - <AUTHOR> http://blogmaverick.com/2011/10/14/my-soapbox-advice-to-the-ows-movement-and-then-some/ FTA: "Crazy ? Maybe, maybe not.  What happened to the price of homes when the mortgage loan bubble popped ? They plummeted. If the size of student loans are capped at a low level, you know what will happen to the price of going to a college or  university ? It will plummet.  Colleges and universities will have to completely rethink what they are, what purpose they serve and who their customers will be. Will some go out of business ? Absolutely. That is real world. Will the quality of education suffer ? Given that TAs will still work for cheap, I doubt it.
Now some might argue that limiting student loans will limit the ability of lower income students to go to better schools. I say nonsense on two fronts. The only thing that allowing students to graduate with 50k , 80k or even more debt  does is assure they will stay low income for a long, long time after they graduate ! The 2nd improvement will be that smart students will find the schools that adapt to the new rules and offer the best education they can afford. Just as they do now, but without loading up on debt.
The beauty of capitalism is that people like me will figure out new and better ways to create and operate for profit universities that educate as well or better as today's state institutions, AND I have no doubt that the state colleges and universities will figure out how to adapt to the new world of limited student loans as well.
Finally, the impact on the overall economy will be ENORMOUS. There is more student loan debt than credit card debt outstanding today. By relieving this burden at graduation, students will be able to participate in the economy"
http://blogmaverick.com/2011/10/14/my-soapbox-advice-to-the-ows-movement-and-then-some/ <comment><USER2> If this happened, we would have many people claiming that many universities were discriminating against the poor, because their loans wouldn't cover tuition.

</comment><comment><USER3> I'm still amazed by how many students go to schools out of state to get the same quality of education that they can get in state for often a quarter of the cost or less.

</comment><comment><USER4> The solution is not to limit student debt, but to remove restrictions of discharging the debt via bankruptcy.

If the lenders had skin in the game, they wouldn't be lending tens or hundreds of thousands of dollars to those who cannot pay.

Bankruptcy is the proper solution. It punishes on both poor decision makers (the lender loses the loan, and the borrower's access to credit at reasonable rates is cut off).

</comment><comment><USER5> He's on to a core truth: The schools will charge as much as they can as long as someone is willing to lend the money -- and then a few years later the student is left holding the bag. By the way many folks look at the crisis in healthcare as a run away problem, but higher ed costs should also be a concern since it very much impacts us in the long term.

</comment><comment><AUTHOR> Education costs should be half of what it used to be before the internet.

</comment><comment><USER6> Politics does not belong on Hacker News. Please stop submitting these types of links.</comment>


Playing with SVG Design - <AUTHOR> http://webdesignerwall.com/tutorials/playing-with-svg-design <comment><USER2> I'm pretty sure I saw that interface during the SVG Wow portion of the SVG Open.

To see many of the latest SVG goings on, check out this years schedule: [http://svgopen.org/2011/registration.php?section=conference_...](http://svgopen.org/2011/registration.php?section=conference_schedule)

I'm working on a web based SVG suite for industrial monitoring and analytics, to displace ActiveX in enterprise settings. Building an SVG WYSIWYG has been the most interesting part. And now that I don't have to support IE8 and below, I'm dumping svgweb (a novel but slow flash shim), and making it an HTML5 suite with SVG and HTML intermingled.

</comment><comment><USER3> It's a couple years old, but this site also uses SVG for its rendering, though not in an animate-y way: <http://emacsformacosx.com/></comment>