Show HN: Mitmproxy 1.0 released, now with a web interface - <AUTHOR> https://corte.si/posts/code/mitmproxy/announce_1_0/index.html <comment><USER2> Forgot this was written in python. Scanned the code to see how they do http/2\. This lib seems useful for general python use:

[https://github.com/mitmproxy/mitmproxy/tree/master/pathod](https://github.com/mitmproxy/mitmproxy/tree/master/pathod)

[https://github.com/mitmproxy/mitmproxy/blob/master/mitmproxy...](https://github.com/mitmproxy/mitmproxy/blob/master/mitmproxy/net)

The whole package very well written. I'll definitely read through it and add it to my list of repos people should scan if they work with python.

<comment><AUTHOR> Thanks!

We actually use [https://github.com/python- hyper/hyper-h2](https://github.com/python-hyper/hyper-h2) to implement mitmproxy's HTTP/2 support and have our own HTTP/2 mini-stack for fuzzing that (which is also exposed in pathod).

</comment></comment><comment><AUTHOR> Author(s) here - happy to answer any questions and take feedback! :)

<comment><USER3> Many thanks to you, cortesi, and the rest of the team.

I hope this doesn't mean that the command-line interface is going to become a second-class interface? The CLI is what originally attracted me to mitmproxy. Having CLI keyboard shortcuts helped me immediately speed up my workflow faster than I was ever able to customize ZAP or Burp.

I love mitmproxy and use it for all my web application pentests. The flexibility is amazing, and allows me to quickly adapt, or write a rewrite rule or plugin, in any situation. Regex rules for limits and intercepts are amazing too.

Keep up the good work.

<comment><USER4> That's interesting to me. Can you describe your Burp workflow, and how you accomplish the same things in mitmproxy?

One of the things we're doing this year for our clients is selling them on the idea of doing basic security integration testing as part of their normal dev process, which might involve these companies buying copies of Burp for their team. But I could probably be convinced that mitmproxy would work just as well.

(I am, for what it's worth, extremely familiar with Burp, but only casually acquainted with mitmproxy).

<comment><USER3> > (I am, for what it's worth, extremely familiar with Burp, but only casually > acquainted with mitmproxy).

You may be disappointed, since I am the opposite. I use burp in rare cases now, since I've been using mitmproxy for so long.

>That's interesting to me. Can you describe your Burp workflow, and how you accomplish the same things in mitmproxy?

You may also be disappointed on how my methodology might differ. I work for a shop that performs grey-box (authenticated) web application tests that focus on manual comprehensive coverage. So my work flow goes something like this:

      - Manually walk the entire authenticated application, or designated portion. Populating all areas and using all application functionality.
      - Analyze mitmproxy logs to identify all application entry points, and other OWASP areas of interest. (mitmproxy's "Limit" feature makes this fast and easy)
      - Manually Test every endpoint, or other item, by duplicating the request, editing, and resending.

This is pretty basic, so I'm sure you see how this could be done with burp's repeater and intruder, which were the main areas I used.

In mitmproxy you can easily duplicate a flow, edit it, and resend it. Then, based on the response, resend it again. That's what I do for API testing, for web application testing it is usually closer to:

      - Stage requests in Hackbar on Firefox and send the request, which goes through mitmproxy.
      - Use Mitmproxy for fine-tuning anything, watching the details, and scripting the tedious.

> One of the things we're doing this year for our clients is selling them on > the idea of doing basic security integration testing as part of their normal > dev process, which might involve these companies buying copies of Burp for > their team. But I could probably be convinced that mitmproxy would work just > as well.

My basic common work flow is probably not very helpful in this case, but I think mitmproxy could still be very helpful to you. You probably know that mitmproxy can replay a series of requests, and has a great scripting API. I think these two features could be used together to meet a lot of your needs. Let me tell you about some of my experiences:

In some cases a customer just can't get their fix quite right, so I will need to repeatedly perform a series of tedious steps to retest an issue. So, I automate the process by using mitmproxy to save a file of the steps involved in testing the vulnerability. This may be something like:

      Log in -> Create widget -> edit widget -> destroy widget -> submit note

Then, I can pass this to mitmdump to be replayed, with sticky-cookies enabled, and I just watch the output to make sure the output is correct.

As far as scripting goes, you may be interested in cases where I wanted to quickly test every input parameter for input validation of a list of characters. The script I wrote would be run on every request I made to the site I was testing, if it was a post request it would do the following:

      - Duplicate the request for every POST parameter in the request
      - Inject the list of characters in to the post parameter
      - Run/Replay the new request

Hopefully you can make sense of my examples. I think by replaying request, or writing simple testing scripts, you could automate a lot of the basic security integration testing.

The beautiful thing about mitmproxy is that it has a simple, powerful, scriptable, core. By using the powerful building-blocks it's provided I can make it do whatever I want it to do. But, it may require a little python scripting.

Let me know if want additional attempts at clarification.

 _edited for formatting_

<comment><USER4> This is great.

For what it's worth, the approach you take with web applications is pretty much the same as the one used by all the high-end software security firms (certainly Matasano, iSEC, Leviathan, and Bishop Fox). Out on a limb, I'd say every consultant at every one of those firms gets a copy of Burp.

The walk/filter/replay workflow you're talking about is one Burp is built around --- that's the Proxy History, "Send To Repeater", and "Repeater" features.

Regarding software teams at startups: I totally buy that mitmproxy is more scriptable than Burp (it doesn't hurt that most of the people we're working with in 2017 are Python shops). But I used Intruder _a lot_ when testing, and I'm not sure I'd want to lose that; I think there's a lot of value in the sort of but not quite random fuzzing Burp is good at doing, for serendipity finds.

</comment></comment></comment></comment></comment><comment><USER5> TIL a new word: abstruse.

Mitmproxy is a great tool for debugging web applications at a low level, particularly security related issues. Even for a n00b like myself the CLI was easy to use, but I'm happy to see a web interface as well. Keep up the good work!

</comment><comment><USER6> Nice but, I'd pay money for built in SAZ support. Maybe just exposing the web interface to colleagues might be sufficient, but generally if they can't open it in Fiddler, it may have never happened, even if I provide complete instructions for opening the flow.

(And I've spent a nontrivial amount of time to make the SAZ post processor thing to work but after spending an hour or two trying to get compatible versions and python's environment setup, I gave up, installed a Windows VM and made a Fiddler capture...)

edit: Now I feel guilty for a feature request in an announcement post. Thank you for mitmproxy! It's definitely something I use weekly and I very much appreciate the support that Maximilian has given me in various GitHub issues, Slack, etc.

<comment><USER7> There's a Fiddler version for Linux (based on mono) which, in my experience, works quite well. Easier than starting up a windows VM.

The killer feature of Fiddler, for me, is the timeline display which we use to optimise network heavy apps.

<comment><USER6> Kind of a non-starter for me, as this is a headless cloud VM with more RAM and CPU than any PC I've ever owned. If I were to actually install X, Xrdp, etc... I'm not in a better situation than simply using Windows in the first place.

And I suppose it's been long enough since trying Fiddler for Linux that I should reserve my experiences from last time around. I've gotten pretty used to mitmproxy. Seems to be the defacto, goto tool for HTTP captures on Linux.

<comment><USER8> Why wouldn't X window forwarding be ok?

<comment><USER6> I've never had X forwarding work well enough to actually be usable, and last time I checked NX was still a massive (/non-free) pain to setup.

Besides, I _already_ have a workflow that works perfectly fine, is headless as I prefer, works with mitmproxy, etc.

Also, I installed Fiddler from AUR again this afternoon and it just looked awful. The settings menus were unreadable, for example.

</comment></comment></comment></comment></comment><comment><USER9> Looks cool! How does this compare to Burp Suite? I am specifically looking for something more lightweight.

<comment><USER3> I have used mitmproxy for performing web application pentest for years.

If you want something to create/intercept/edit/tamper/replay requests, this is your tool. If you want to script any of those things, this is still your tool.

However, burp comes with a lot of bells and whistles that don't make a lot of sense to build in to mitmproxy, but you can script yourself. For example, there is no intruder, spider, or scanner tool. But, they have an easy to use interface to write scripts that will be run on every request you make, or individual requests.

Or, you can just pass all mitmproxy traffic out to burp and get the best of both worlds.

<comment><USER10> I found burps active scanning feature in the pro version insanely valuable. So far it has found blind SQL injections, numerous xss vulns, command injection and even XXE. I think it's very hard to script such a comprehensive feature into mitmproxy (that is burp pro with collaborator servers).

Still if you're comparing the free version of burp with mitmproxy they do seem very similar. I wouldn't know for sure since I've never used mitmproxy.

<comment><USER4> I wouldn't bother with the free version of Burp. If that's where you're at, use Fiddler or mitmproxy.

For software developers doing routine integration-test security checks, I think there's probably a lot of value in the scanner. For professional testers, though, I think the scanner does more harm than good: if it's routinely spotting things you don't spot manually, you should revise your technique.

</comment></comment></comment></comment><comment><USER11> I'd love to figure out how to use Mitmproxy to intercept traffic from Docker containers for debugging on macOS, I've never been able to make it work.

<comment><USER12> I've done this a few times - intercepting traffic to applications running within docker, not intercepting docker's internal communications.

I usually use a container specifically for MITMProxy rather than install it alongside whatever I'm troubleshooting.

It was pretty straightforward. I don't recall having to do anything tricky to make it work.

</comment></comment><comment><USER13> The web interface is available only _after_ installing the Python tool, or?

<comment><AUTHOR> Not sure if this answers your question: You can download our precompiled standalone binaries from [https://github.com/mitmproxy/mitmproxy/releases/](https://github.com/mitmproxy/mitmproxy/releases/), run the mitmweb executable and your browser should open.</comment></comment>


Outcome-Oriented Programming - <AUTHOR> http://michaelmcneil.com/post/112978579967/mikermcneil-outcome-oriented-programming-md

<comment><USER2> At a cursory reading, this looks like a re-invention of the Haskell notion of monads for error handling.

Briefly, monads function as a kind of "overloadable semicolon". For error handling it lets you say that if any step fails then you abort the rest of the steps and return whatever the error code was.

The "returns multiple cases" one can also be handled using the List monad and its relatives, which do non-determinism. At the very least, the type system forces you to consider the possibility.

<comment><AUTHOR> Unfortunately, while Haskell monads _can_ handle multi-exit logic, it is not enforced as a built-in primitive.

I've read and re-read the first page of Google results about monads at least ten times, and I never really "got" it. Maybe I'm just dumb- but it seems to me that the problem remains unsolved.

<comment><USER3> Ignore them all, use these:

[http://blog.sigfpe.com/2006/08/you-could-have-invented- monad...](http://blog.sigfpe.com/2006/08/you-could-have-invented-monads- and.html)

[http://homepages.inf.ed.ac.uk/wadler/papers/marktoberdorf/ba...](http://homepages.inf.ed.ac.uk/wadler/papers/marktoberdorf/baastad.pdf)

[http://blog.jle.im/entry/io-monad-considered- harmful](http://blog.jle.im/entry/io-monad-considered-harmful)

</comment></comment></comment><comment><USER4> _" We are getting close to a day where backend development will be commoditized and replaced with declarative tooling— software that writes software that never breaks."_

Yeah, and the year after that will be the year of Lisp and Linux.

<comment><USER5> Diagrams, yeah, we need lots of diagrams.

<comment><USER3> Diagrams? Here you go!

[http://projects.haskell.org/diagrams/](http://projects.haskell.org/diagrams/)

</comment></comment></comment><comment><USER6> That whole article was an introduction to this: [https://gist.github.com/mikermcneil/be8ced394c53edd92e57](https://gist.github.com/mikermcneil/be8ced394c53edd92e57) which, to me, was a bit hard to realize in the article that it was a link.

<comment><AUTHOR> Great point- I should change my tumblr theme

</comment></comment><comment><USER6> This is where my knowledge gets weak; but, isn't this the type of programming that Ada and various languages that have a matching system are built around?

You have a function that returns an enum and you have to match all the different states of the enum in your handling code. The ones that call your given function have to do the same and so on and so on.

You can still have bugs in this model if I recall, they're just harder to have, I think. Admittedly, this is getting outside of my area of recent experience and expertise, I just swear I've read about something like this before.

</comment><comment><USER7> You might find some resonance with my current project. Problem: [http://akkartik.name/about](http://akkartik.name/about). Ongoing attempt at a solution: [http://github.com/akkartik/mu](http://github.com/akkartik/mu).

</comment><comment><USER8> > …we eliminate so-called "structured programming" constructs like "for" and > "if". Only function calls, variables, and constants are allowed. The result > is that we end up with something that looks a lot more like assembly code; > but instead of "GOTO" statements, we use callbacks…

Oh god please no.

Building a nontrivial app in node is already a nightmare.

<comment><USER9> Well, what the author wants is called Haskell(or Scala to some extent) where the logic "is in the type itself", he doesn't know it yet or he wouldn't have written this article.

<comment><AUTHOR> Frankly I just want to do it in JavaScript-- not because it's good, but because it's "good enough". Know what I mean?

<comment><USER9> Try Haskell, you'll understand why JS isn't "good enough".</comment></comment></comment></comment>


Show HN: Metachat, a news feed for unread Slack messages - <AUTHOR> http://metachat.io <comment><AUTHOR> Co-founder of MetaChat here. We're NLP nerds who have been playing with the Slack API for a while. Lots of people complain about notification overload (e.g. Wednesday's article in The Verge[0]), so we've been trying to tackle that with search and summarization.

Feedback welcome! For instance I think the search works quite well for my Slack teams, but maybe you use unusual words that trip up our code and make the results less useful.

[0] [http://www.theverge.com/2016/4/13/11417726/slack-app-walt- mo...](http://www.theverge.com/2016/4/13/11417726/slack-app-walt-mossberg- stewart-butterfield-interview)

</comment><comment><USER2> Hi. Wanted to test it, needed to create an account and left. If I need to connect my Slack teams after, you will get my name and email anyway, why should I register to your app in addition to already having an account on Slack? (since you build the service for Slack)

<comment><AUTHOR> Thanks for giving us a go, that's really useful feedback. We need you to create an account because there's nothing linking your slack groups. Their API is all about individual groups, and we don't get your email when you authenticate, just your slack handle. There are rumours slack will address this but until then we need your help to tie them all together.

<comment><USER2> Hum. You're right, but I still think you could skip the account creation. Just create the account on the fly when we connect with the first team. Then each added team is linked to the account.</comment></comment></comment>


The Cube Rule of Food Identification - <AUTHOR> https://cuberule.com/ <comment><USER2> I kind of love the absurdity of this

<comment><USER3> It's consistent, and the reasoning is clear. Of course a steak is salad. Love it.

</comment></comment><comment><USER4> Somebody should train an image classifier to classifiy food items in the 6 cube theory categories. Then we can test the theory by looking at how often the classification result matches the predictions of the theory.

What? It's how science is done in the future.</comment>


Python 3.9 Compatibility Changes - <AUTHOR> https://tirkarthi.github.io/programming/2020/01/27/python-39-changes.html <comment><USER2> Hopefully it will not be a repeat of Python 2 to 3 migration. I hope Python community can find an intelligent utility which can automatically convert deprecated calls to new format transparently.

Personally I had issues with pycrypto module when upgraded one of my micro- service to use Python 3.8, it was frustrating experience. Hope it does not happen again with 3.9.

Guido already mentioned in his email not to do it [1], Python community suffered enough from 2 to 3 transition.

[1] [https://mail.python.org/archives/list/python- firstname.lastname@example.com/...](https://mail.python.org/archives/list/python- firstname.lastname@example.com/thread/EYLXCGGJOUMZSE5X35ILW3UNTJM3MCRE/)</comment>


A Four Planet System in Orbit, Directly Imaged and Remarkable - <AUTHOR> https://astrobiology.nasa.gov/news/a-four-planet-system-in-orbit-directly-imaged-and-remarkable/ <comment><USER2> This article neatly illustrates something I find interesting: the biases of the various methods of detecting exoplanets.

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

Direct imaging more easily detects massive planets that orbit _far_ away from their star. Every one of the planets that orbit HR8799 (that we've detected) are farther out than Saturn, and many times heavier than Jupiter.

On the other hand, the transit and and radial velocity methods work better for planets that are _closer_ to their star, and with radial planes that are edge on to us. On the third hand, with the astromery method, it helps for the orbital plane to be _face_ on to us, so we can detect the wobble in the host star!

For all these methods, it helps if the star is both small and dim. The only way we'll find out if Rigel A (~120,000x brighter than Sol) hosts a planet is if we send a probe there.

<comment><USER3> >On the third hand...

Sounds these biases on exoplanets hit a little too close to home.

</comment></comment><comment><USER4> If it matters to you, you are not actually seeing the planets in motion:

> Wang said that the animation is based on eight observations of the planets > since 2009. He then used a motion interpolation algorithm to draw the orbit > between those points.

I wish NASA was more upfront with the enhancements it adds to media, including often adding color and, in this case at least, adding motion.

<comment><USER5> OK, you clearly did not read the article because you are incorrect.

That statement you quote is referring to the still image in the article, below the video, which is of an entirely different star and system of planets (Fomahault b).

The video has a time legend /embedded in the movie/, at the bottom of the frame clearly showing when the observation for each frame of the video was taken.

NASA was being plenty up front here, I think you maybe just skimmed the article slightly too quickly.

<comment><USER6> No, he is correct. Eight of the frames in the animation are real observations. Between these eight frames, the other frames are interpolated.

</comment></comment></comment><comment><USER7> Is it correct to say this kind of direct imaging only works if the planets are large and hot enough to have a significant infrared output of their own, rather than light reflected from their star?

</comment><comment><USER8> > HR 8799 is 129 light years away

i know pretty much nothing about astronomy, which is probably why i find it amazing that this planet-level imagery was collected by an earth-based telescope. fantastic work.

i can't help but wonder: will we see more imagery/animations of other exoplanets in the near future or is this just a rarity?

</comment><comment><USER9> Might not be the coolest plateary system we'll ever spot but I'm glad to have lived to see the first.

</comment><comment><USER10> Yep, the Warden Diamond has been verified ([https://en.wikipedia.org/wiki/Four_Lords_of_the_Diamond](https://en.wikipedia.org/wiki/Four_Lords_of_the_Diamond))! Very imaginative and gripping series that I totally recommend.</comment>


Deepest X-ray Image Ever Reveals Black Hole Treasure Trove - <AUTHOR> http://sciencebulletin.org/archives/8899.html <comment><USER2> The post ([http://chandra.harvard.edu/photo/2017/cdfs/](http://chandra.harvard.edu/photo/2017/cdfs/)) on the Chandra site has some additional information, including links to a couple of papers:

The deepest X-ray view of high-redshift galaxies: constraints on low-rate black-hole accretion ([https://arxiv.org/pdf/1608.02614v1.pdf](https://arxiv.org/pdf/1608.02614v1.pdf))

and THE CHANDRA DEEP FIELD-SOUTH SURVEY: 7 MS SOURCE CATALOGS ([https://arxiv.org/pdf/1611.03501v2.pdf](https://arxiv.org/pdf/1611.03501v2.pdf)) which has some nice images overlaying X-ray sources on images closer to visual wavelengths.

</comment><comment><USER3> So, supporting evidence for quasi-stars. Cool!

[https://en.wikipedia.org/wiki/Quasi- star](https://en.wikipedia.org/wiki/Quasi-star)

</comment><comment><USER4> Out of curiosity: Can anyone explain to me what the behind the scenes process is with this data? This image came from NASA's Chandra X-ray Observatory and took about 11.5 weeks of observation to collect. Once that 11.5 weeks is up, what do the scientists actually do with it to "process" it or draw conclusions? Is it widely disseminated and people across the world work on it, or is it mostly of interest to the team that started the observation?

<comment><USER5> Usually the PI that submitted the observation proposal gets the data for their own use for a number of months, after which time its released on the publicly accessible Chandra data archive.

<comment><USER6> ... which has long the rule for all US-federal-government funded astronomy instruments; generally the raw data goes public after 12 months. It's extremely useful if you're looking at something and it was observed years ago for a different purpose.

</comment></comment></comment><comment><USER7> For some reason, 7 million seconds sounds a lot better than eleven and a half weeks when talking about black holes and deep space observations.

<comment><USER8> If you wanted to strip away local Earth culture baggage, you would want to avoid using minutes, hours, days, weeks, months and years, as these relate to Earth's movements. But I am not a working astronomer so I don't know if that's the motive.

</comment></comment><comment><USER9> Uh, which ones are the black holes? The red ones?</comment>


The world will end in 2012: I fucked up. - <AUTHOR> http://nofeed.org/2012/02/22/the-world-will-end-in-2012.html

<comment><USER2> Utile, grazie.</comment>


Discovering How Greeks Computed in 100 B.C (2008) - <AUTHOR> http://www.nytimes.com/2008/07/31/science/31computer.html

<comment><USER2> There is site where you can find the latest updates for the mechanism.

[http://www.antikythera-mechanism.gr/](http://www.antikythera-mechanism.gr/)

</comment><comment><USER3> Check out a talk on the mechanism if you want to know more.

[https://www.usenix.org/conference/usenix-09/antikythera- mech...](https://www.usenix.org/conference/usenix-09/antikythera-mechanism- hacking-gears)

There's also a simulation (with videos) of the mechanism in Squeak EToys

[http://spinellis.gr/sw/ameso/](http://spinellis.gr/sw/ameso/)</comment>


Yuan shot heard round the world but quiet in China - <AUTHOR> http://www.reuters.com/article/idUSTRE65I11B20100620

<comment><USER2> Forgive my ignorance, but what exactly stops the Yuan's value fluctuating based on market conditions? If the likes of George Soros can destabilise the GBP back in the day, what exactly keeps the Yuan stable? Does the Chinese government basically promise to indefinitely buy and sell Yuan at a fixed USD exchange rate?

<comment><USER3> Partly, but I think the biggest method is that the currency isn't freely traded, e.g. see the end of <http://en.wikipedia.org/wiki/Renminbi#Managed_Float>

Individuals can only exchange $50,000 per year and $500 per day.

<comment><USER4> So what do the wealthy hitting it large in china do?

<comment><USER3> If they aren't part of the nomenklatura or otherwise have enough pull I'd assume deposit their money in a PRC bank, stock market or venture, etc. When there are currency controls you by definition don't have much in the way of out of country options.</comment></comment></comment></comment>


Scientists balk at 'hottest year' claims: Ignores Satellites - <AUTHOR> http://www.climatedepot.com/2015/01/16/scientists-balk-at-hottest-year-claims-we-are-arguing-over-the-significance-of-hundredths-of-a-degree-the-pause-continues/ <comment><USER2> Don't waste your time. "Climate skeptics" website operated by a conservative non-profit.

</comment><comment><USER3> For details: [http://mediamatters.org/research/2012/12/27/climate- change-m...](http://mediamatters.org/research/2012/12/27/climate-change- misinformer-of-the-year-marc-mor/191878). Climate change is a huge problem. The deniers and skeptics make it difficult for real scientists to study the problem and make rational recommendations to the governments and public.

<comment><USER4> "Climate change is a huge problem."

That's exactly the point, it is not a _proven_ "huge problem". This "hottest year" is a statistical tie with previous years, including 1998. 2014 supposedly won the crown by 0.01 deg C, what are the error bars on that measurement again? It is, if anything, a statistical tie.

As to "The deniers and skeptics make it difficult for real scientists to study the problem", how so? The scientists are receiving full funding, and "studying the problem" to their hearts content. I would fully support a new satellite using state of the art technology to measure surface temperatures - what we need is ground truth instead of models.

Note that in fact current satellite measurements do not support this being the "hottest year on record".

We'll see where things go from here, but I'm betting that lower solar output and cloud activity as Cycle 24 winds down will result in descending temperatures. We'll see over the next 10-15 years.

</comment></comment><comment><USER5> Tied for hottest year still counts.

<comment><USER4> No meaningful increase for 18 years despite record CO2 levels well over the touted "350 PPM" limit "still counts"?

Do remember that this was a marginal El Niño year...it just didn't quite make the grade to be an "official" El Niño.</comment></comment>


Any cool projects we could do on this state owned oil company database? - <AUTHOR> Database of state-owned oil companies. A project of the Natural Resource Governance Institute, pulls official data on nearly 100 metrics concerning 71 oil/gas companies owned by 61 countries. https://www.nationaloilcompanydata.org/ <comment><USER2> It'd be great for anyone who does Infographics.

Maybe a per country breakdown dashboard?

Prediction/forecast engine?

Use the National oil and gas reserves question and rank countries by estimate of when they'll be depleted?

I'd love if someone linked this to a forestry or carbon capture by country database to see the environmental deficit per country</comment>


GPS chaos: How a $30 box can jam your life - <AUTHOR> http://www.newscientist.com/article/dn20202-gps-chaos-how-a-30-box-can-jam-your-life.html

<comment><USER2> Do driverless cars degrade gracefully when GPS is cutoff?</comment>


RapidShare Declared Legal In Court, With a Twist - <AUTHOR> http://torrentfreak.com/rapidshare-declared-legal-in-court-with-a-twist-120327/ <comment><USER2> Well, seeing that they didn't lose is good but the implications are still not trivial. RS has to monitor external sites linking to its content and remove it incase it is infringing.

That is ridiculous, I am glad that they plan to appeal. They should not be forced to basically scrape the whole web based on (faked or not) referrals for links which might include copyrighted content.

It's not like youtube has to monitor any sites which are linking to infringing content...

</comment><comment><USER3> In Germany.

<comment><USER4> I can't stand Torrentfreak for their sensationalist, tabloid, hypist style. They LOVE to title like this, did so many times in the past, and then you find out "in Spain" or "in Germany". Things like this are why I often wish online advertising never happened and nor did anything else where pageviews are considered more important that truthful, accurate and honest sharing of information. </rant>

<comment><USER5> Spain and Germany are hardly insignificant countries.

What you mean is "it's not in the US, and if it doesn't mention a country, I immediately think it's the US. I feel like an idiot for doing that, so I'm going to rant."

<comment><USER3> I wasn't suggesting the story doesn't matter since it's in Germany, but rather that on an international website, the national context helps and should be in the title - even if the nation is the USA.

</comment></comment></comment></comment><comment><USER6> This makes sense!</comment>


Living with a Computer (1982) - <AUTHOR> http://www.theatlantic.com/past/issues/82jul/fallows.htm?single_page=true <comment><USER2>
        When I think I'm finished with an article,
        I set the print speed to Slow. This runs the
        printer at about 100 words per minute, or roughly
        the pace of reading aloud. I stuff my ears with
        earplugs and then lean over the platen as the
        printing begins. Watching the article printed
        at this speed is like hearing it read; infelicities
        are more difficult to ignore than when you are
        scooting your eye over words on a page.

The author forces himself to read slowly to make his mind reevaluate his words. Does any one else do this or perhaps pass their compositions through a text 2 speech software? It seems like it could potentially be a useful writing aid.

<comment><USER3> Yes, absolutely. This is standard practice among my peers in creative writing; the last step of editing is to read your piece aloud (to the cat, or the dog, or to the mirror, or a human victim, or just to yourself), slowly and carefully.

My friend who is finishing up his novel is currently in the reading-aloud stage. He's had various friends in and out of his house to listen to chapters as he does it, too.

As for myself, I've been caught by my friends standing in back stairwells reading papers aloud thirty minutes before class more times than I care to admit.

<comment><USER4> Keep doing it, you're likely an auditory thinker and reading aloud activates different structures from silent reading. Personally I've been known to think in actual text, which is somewhat unusual, but if I'm ever going to speak words I'm writing, I say them out loud beforehand, usually several times.

</comment></comment></comment><comment><USER5> I'm only very slightly older than this article; my first computer was an XT, so I missed the early hobbyist days of the many competing platforms; I was well into the clone era.

One thing really jumped out at me:

"Of the ones I've seen, a green-tinted monitor by NEC (model JB 1201M) seemed the best bargain, at $210; but patriots should take note that NEC stands for Nippon Electric Company."

We like to marvel at how fast technology moves. But cultural attitudes can change just as fast.

<comment><USER6> Quick, name a car produced by the big three in 1982 that you would actually want to own. "Morning in America" was loaded jingoism. In the eighties and early nineties Walmart filled its stores with a "Buy American" campaign.

That's part one.

The second part is that the audience of the _Atlantic_ 1982 contained a lot of people born before the baby boom who lived through World War II and listened to a lot of anti-Japanese propaganda during their formative years. The casual racism it produced (helped along by the formal racism of their youth) was one reason jingoism was revived as a successful political strategy in the 1980, 82, and 84 election cycles.

Jingoism is still successful, but it had been before the early '80's, the 1960's and 70's were the exception, not the norm. What nobody would have bet on in 1982 is a non-white president or same-sex marriage. Old attitudes toward Japan die off with the people who hold them.

</comment></comment><comment><USER7> Perhaps I'm just glorifying an age I don't remember, but I'm somewhat jealous of a time when computers weren't black boxes - everybody who owned one had to buy separate components, do bits of physical maintenance, and write code.

<comment><USER8> Oh the manuals that came with the machines...they had schematics in them and explained every part of the machine and what it did. It was glorious.

It would also be difficult to do now as the machines are more complex. But if you imagine today that every new PC came with a full MSDN subscription and the Intel system programmer's manuals, that's about how it was.

Of course, it took many minutes to load a program from floppy disk, so there was a lot of not-so-glorious waiting.

<comment><USER9> Yeah I can understand romanticizing the parts of this guy's experience with computers, but it wasn't all gravy. Did you read the part where he marveled at his new "daisy wheel" printer only having broken down once in a year of use? Or the disk drive that took 10 minutes to write out a few kB?

And how about those prices? Sure, some were $400, but you'd need $3000+ for a machine that has non-volatile storage, can run arbitrary programs, and has an input and an output device. $2000+ dollars for a hard drive storing a few MB? Not to mention the horror of completely undecided OS and instruction set architecture wars.

It's cool to imagine the simplicity of this dude tinkering with his printer made from a converted typewriter and unplugging the entire thing when the thunderheads roll in, but we're definitely better off where we are today.

<comment><USER10> And those are 1982 prices too.

</comment></comment></comment></comment><comment><USER11> Nice wrap-up:

      ...For any of these systems (not including the Osborne), I'd spend no more than
      $6,000, or half as much as for the Displaywriter.

      Godspeed as you follow this advice; meanwhile, I'll be spending nothing, sticking
      with SOL and The Electric Pencil, and hoping for a world in which my sons can
      grow up to have a better computer than their father had.

Looks like that wish worked out pretty well.

</comment><comment><USER12> I enjoyed this line: "The new machines will require different disk-operating systems, and may therefore inspire another DOS war. [...] many people suspect that IBM will wage a counteroffensive with a DOS _of its own_."

Close, but not quite! As it turned out, choosing to not exactly make a DOS of its own had rather large consequences for the computing landscape...

<comment><USER12> The reference to (insane early-80s) interest rates was fun too.

</comment></comment><comment><USER13> Old computers never die - their owners do. You can still have fun with an old machine - just get one, turn it on, and go for it.

<comment><USER14> Yeah, they do die. My old IBM PC, put in storage in working condition, came out and when I turned it on there was a snapping noise and the machine died.

This fate has befallen all my machines older than 15 years or so. They won't turn on, or turn on and fail the POST, won't boot, whatever. Sometimes there's that fine smell of smoke being released accompanying the failure.

On the other hand, my Carver amp I bought 30+ years ago still works fine and I run it 16 hours a day, every day. It's the best, by far, piece of electronics I've ever bought when considering bang for the buck. The same goes for the Dahlquist speakers it drives.

<comment><USER15> Maybe it's dried out/leaky capacitors? With older computers, often replacing the capacitors is the only thing that it takes to get them working again.

<comment><USER16> This raises the philosophical question of where the life of the computer truly lies. Is it within the capacitor? Is it within the network of the individual parts?

If you replace the capacitor did you resurrect the dead or just fix a broken part? [https://en.wikipedia.org/wiki/Ship_of_Theseus](https://en.wikipedia.org/wiki/Ship_of_Theseus)

<comment><USER17> Back when I went to university it was normal for my friends to gradually upgrade pieces, leaving after three years with a computer that had none of the the components it had arrived with.

</comment></comment></comment></comment></comment><comment><USER14> I remember my dad writing a book in the 70's. My mom would type up each new draft. Over and over, she'd type the whole book. Getting a word processor is like getting a sewing machine in the 1800s.

</comment><comment><USER18> If those prices are 1982 prices then you can multiply by about 2.5 to find out what they'd be today.

</comment><comment><USER19> It's entertaining to contrast the writer's comments about typewriters to the modern popularity of apps like Hanx Writer.</comment>


Mimic Functions: make one file assume statistical properties of another (2000) - <AUTHOR> http://www.nic.funet.fi/pub/crypt/old/mimic/mimic.text

<comment><USER2> This is a great post. Might I ask you to email us at firstname.lastname@example.com?</comment>


Snapchat's Evan Spiegel: Saying no to $3B, and feeling lucky  - <AUTHOR> http://news.cnet.com/8301-1023_3-57613694-93/snapchats-evan-spiegel-saying-no-to-$3b-and-feeling-lucky/ <comment><USER3> _" So if life isn't fair -- it's not about working harder, it's about working the system."_ \--Evan Spiegel, _The son of successful lawyers, Spiegel grew up in a world of wealth, power, and privilege._

This is pretty much explains the behavior of "The One Percent" and mega-corps.

I hope all of snapchat's employees are equally as rich. Otherwise they just lost out on a huge, life-altering windfall due to some kind insane arrogance. Or I'm very wrong, FB comes back with a bigger offer and Spiegel takes it. I mean, it's just a screenshot/video sharing app with a little twist. A twist that can be undone by a software-update making it impossible to prevent the device from saving it. Did you know Android-KitKat comes with Screen _Recording_? I wonder how snapchat deals with that.

EDIT: Ives's answer about SecureContent flag sounds good. Now I wonder about the future Custom ROMs...

<comment><USER4> Yep. Word just got around today that FB's feeling alienated and there aren't any other balls in the court. Evan's too arrogant to accept a lower offer.

Worst part is that everyone's feeling awkwardly trapped. I even feel bad complaining - damn golden handcuffs.

<comment><USER5> Apple creates an integrated snapchat. Removes snapchat from the apple store. It's not like they havent done that to other popular apps that they have the ability to replicate (google maps)

<comment><USER6> Except Google Maps is still on the App Store.

<comment><USER5> My point still stands that Apple initially removed it when they released Apple Maps. Since messaging is part of Apple's core experience, it's very likely that they'll eventually update their iMessage app.

Snapchat is not unique. In fact, there are far bigger and more popular messaging apps around the world. They just dont get the attention that SnapChat does because it happens to be in California and in the US. [http://thenextweb.com/apps/2013/10/18/best-mobile- messaging-...](http://thenextweb.com/apps/2013/10/18/best-mobile-messaging- apps/)

<comment><USER7> Your point is totally false. Apple never removed Google Maps from the App Store.

</comment></comment></comment></comment></comment></comment><comment><USER8> Snapchat has achieved the kind of user acceptance that only a handful of tech companies ever do. Kudos to them. However, it is a feature, not a product. The next great thing will come along and claim its notoriously fickle user base as fast or faster than Snapchat itself arrived on the scene. The barriers to entry are so low as to effectively be nonexistent.

Evan grew up rich and has family money to fall back on if he fails, so perhaps he can afford to gamble for a bigger payday. The problem is that he is gambling with the financial futures of his investors and employees as well. In my opinion, a bet that Snapchat will ever be valued at more than $3 billion is a long shot, and there is a greater-than-zero chance that the company will be worth nothing two years from now.

<comment><USER9> _However, it is a feature, not a product._

Steve Jobs said that to Drew Huston about Dropbox. I think Steve believed it, too.

History will show whether Snapchat is a feature or a product, because they'll either fail or succeed. But if even Steve Jobs was bad at assessing early- stage tech companies, then we outsiders probably shouldn't make categorical judgments like "Snapchat isn't a product."

<comment><USER10> I think history will show Jobs right in regards to Dropbox. Dropbox created a company based on the inefficiency in the marketplace regarding cloud storage and file sharing. But this has all but evaporated. With Google, Apple and MS bundling cloud/hosting apps, how can dropbox possibly differentiate themselves? There is absolutely no network effects regarding cloud storage-- web links do not have vendor lock-in. I believe its only a matter of time before dropbox tanks.

<comment><USER11> What efficiency evaporation are you referring to?

I use Dropbox because it works. I tried iCloud, and hit multiple points of frustration and failure. Whereas Dropbox let me transition seamlessly from Windows to OS X.

<comment><USER10> I mean inefficiency in terms of "an inefficiency in a market is a business opportunity". This inefficiency is in the process of being filled by the big players. Dropbox cannot survive as just a file sharing app in the face of bundled software from companies with deep pockets. Apparently they are fully aware of this as shown by their efforts to evolve into something more sustainable.

</comment></comment></comment></comment></comment><comment><USER12> What a horrible piece of "journalism." People need to get over the privilege bashing that seems to be so "in vogue" these days. This dude got into Stanford (despite what people here think, that requires more than just money), created an app sharing 400M+ photos per day after less than two years, and has big enough balls to turn down $3B from Mark Zuckerberg. Whether you agree with how he's handled the situation or not, you have to give him some respect. This article is a piece of trash. I hope Spiegel wipes his ass with it.

</comment><comment><USER13> Reads like a hit piece. Also is anyone else somewhat disturbed by all personal details the articles goes into?

<comment><USER14> I think it's intended to be a hit-piece, it's incredibly blatant about it.

Think about it as the natural counterpart to Steve Jobs' biography and other such pieces making myths out of SV entrepreneurship.

<comment><USER13> Someone probably wants to acquire Snapchat and does not feel like paying 3B for it. Or Facebook is butthurt.

/takes-off 3D printed tin foil hat

</comment></comment></comment><comment><USER15> Not sure what the point of that piece it. But it made me dislike Mr. Spiegel.

<comment><USER16> Why did it make you dislike him? Shouldn't you make the best of what you have?

<comment><USER17> I disliked him immediately after reading the line

 _The note, accompanied by a plea for a new BMW 535i_

Has anyone been able to find out what he studied while at Stanford?

<comment><USER18> Same thing most other Stanford grads study: how to beg rich adults for money. They are very good at that.

</comment></comment></comment></comment><comment><USER19> What if Snapchat adds a feature which is something like a transient social network with disappearing posts? I for one would jump ship from fb. I don't like the idea that the information I post on fb can be searched and possibly mined by my fb friends.

</comment><comment><USER20> I don't understand why the press glamorizes this party lifestyle that apparently Mr. Spiegel engaged in. I want to hear about about the work that went into building SnapChat.

<comment><USER21> They aren't glamorizing anything. The piece was written to make people dislike the guy. The work? Well, they made it over a weekend, and then somehow got money to hire engineers to scale it up. That's the work, aside from the marketing (which is witchcraft as far as I can tell).

</comment></comment><comment><USER22> The main reason I'd prefer they didn't get bought by Facebook or even Google, is because I know those 2 would pretty much eliminate any privacy features Snapchat may have left. However, I fear they will intend to do that, too, in the future in an effort to monetize, especially if they IPO. If anything, I hope they find a very scalable monetization solution before they IPO.

</comment><comment><USER23> A poster child for our time.

<comment><USER24> A poster child for our 1%.

</comment></comment><comment><USER25> How did they get letters written to his dad? Someone was mad ...

Even though the article paints him as a thoroughly detestable character, I like the fact that Facebook - which started as an equally trivial app - <USER2> scared of his company. It's not like Zuckerberg wasn't privileged too.

</comment><comment><USER26> What is Snapchat its future anyway? I doubt any sane tech company will raise its bid and I also doubt snapchat has some secret formula to justify saying no to those bids.

Are they hitting at an IPO? Bluffing? Do they have billion dollar revenue stream lining up? What is their deal?

<comment><USER27> In particular, I don't see Mark Zuckerberg making a second offer, because the two of them now seem to have a sort of feud going on.

<comment><USER26> Mark <> Facebook</comment></comment></comment>


Boeing removed lightning protection from 787 as a cost-cutting measure - <AUTHOR> https://www.businessinsider.com/boeing-removed-lightning-strike-safety-feature-787-dreamliner-faa-report-2019-12 <comment><USER2> The Seattle Times article is more clear whats going on: [https://www.seattletimes.com/business/boeing- aerospace/faa-e...](https://www.seattletimes.com/business/boeing- aerospace/faa-engineers-objected-to-boeings-removal-of-some-787-lightning- protection-measures/)

After analysis of lightning strikes, it was determined that the probability of strikes in some areas of the wing were overestimated. The design of the aircraft was adjusted to reflect that and Boeing seeked approval from the FAA which wanted more analysis of the probability.

It must be fun to be an statistician for these people, with all the second guessing going on.

<comment><USER3> This is a much better article.

> Facing the prospect of not being able to deliver those airplanes, Boeing > immediately appealed. FAA managers reversed the ruling exactly a week > later...

That is an amazingly quick review of an appeal for something that is pretty complicated.

It's amazing how much schedule is pushed over safety at Boeing. I believe this attitude only flies because if safety is compromised resulting in deaths, the executives pushing this know they will have have cashed out and won't face any consequences.

<comment><USER4> > That is an amazingly quick review of an appeal for something that is pretty > complicated.

In general the way large corporations have gotten so friendly with their regulatory oversight should be a cause of concern for everyone in every industry. The FAA and Boeing don't necessarily need to be at each other's throats, but I would argue that a professional-level adversarial relationship would be ideal. That's not what's happening here.

</comment></comment></comment><comment><USER5> So Boeing requested permission to do it, they were rejected, then built the planes without it anyway, then asked for them to be certified to fly, and then was approved. That's horrifying.

</comment><comment><AUTHOR> Mods: Article title was long, did the best I could.</comment>


Sun's open source boss slams App Engine's Java support - <AUTHOR> http://www.thestandard.com/news/2009/04/13/suns-open-source-boss-slams-app-engines-java-support

<comment><USER2> If I were Sun, I would probably be complaining about how nobody is going to buy Sun hardware anymore when they can just run their Java apps on GAE for pennies a day.

The incompatibility actually helps them -- if you want "real" Java, you are going to have to get a "real" server.

Finally, I don't blame Google for omitting core classes. Java's standard library is some of the worst code I've ever seen -- the interfaces are horrible (do they even know what OOP is?), and the implementation shipped with the open source JDK looks like it was hacked together by some high-school kids on crack. Google is smart to kill this shit off.

<comment><USER3> At the time Java was first released and MFC was the most widely used OO framework, Java's standard library was like a breath of fresh air. OO has had a few different fashions since the first release of Java but, in my opinion, the base Java API has stood up well. What's so horrible about it?

<comment><USER2> Look at URLConnection for example. Ignoring the Factory Factory Factory aspect, note that the object starts off as a request object, and then magically becomes a response object when you magically happen to call certain magical methods. Magic sucks, you should start with two objects, a user agent and a request. Tell the user agent to execute the request, and you get a response back. This is easier to implement, easier to use, and easier to _reuse_... but Java instead decided to go with a non-OO API encapsulated in 150 different objects.

Not good design.

</comment></comment></comment><comment><USER4> Learn the difference between 'flaut' and 'flaunt'.</comment>


The Rapidly Disappearing Business of Design - <AUTHOR> http://www.wired.com/2014/12/disappearing-business-of-design/?mbid=social_fb <comment><USER2> Tldr: agency model no longer works. Design is no longer something companies outsource, but integral to the product development process.</comment>


Man upgrades Windows 1.0 to Windows 7 (video) - brown9-2 http://www.winrumors.com/man-upgrades-windows-1-0-to-windows-7-via-every-other-windows-versions/ <comment><AUTHOR> God, the memories. I remember booting up Windows 95 for the first time -- I was so stoked. Everything was so new and smooth and perfect.

Plus -- and this is the important thing -- PPP worked much, much better than 3.1 + trumpet winsock.

Some time around 98SE I was dual booting into BeOS, which was so damn fast it wasn't funny. But it wasn't to be.

And I remember browbeating Red Hat 3 into connecting to the internet as well.

<comment><USER2> Weirdly enough my uncle actually knew the guy who wrote Trumpet Winsock.

He says he got burnt by piracy fairly badly: computer magazines were including the full version of his app on their cover disks all over the world, ISPs were handing his app to their customers, and his company was too small to stop them.

<comment><AUTHOR> I had no idea. We ought to set up a donation drive.

edit: I was not being sarcastic. I wouldn't mind chipping a few bucks if a hat is going around.

<comment><USER3> I thought it a good idea. His name is Peter Tattam (I did some google-leg-work to find it). His site is at <http://petertattam.com/> .

I found his name via a report at [http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.40....](http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.40.3115&rep=rep1&type=pdf)

If this is the guy, what should we do? Should somebody ask him what he would like?

<comment><USER4> yep. I'm still around. I live a quiet existence in not so sunny Hobart, Tasmania. Most unusual request - still thinking about it. Donations willingly accepted - just trying to think what kind of cool thing to provide in return for the generous donations.

<comment><USER5> When I was studying Computing at Tas Uni back in the mid 00s, they still mentioned Trumpet Winsock as their big success story. You should be proud of the impression you've left.

(Though now I think about it, were they annoyed at the commercialisation of a piece of research? Being a Uni, probably. Either way, you've left an impression!)

</comment></comment></comment></comment></comment></comment><comment><USER6> This is a testament to how much trouble Microsoft goes through to maintain compatibility.

I wonder whether malware from those early days would continue to run, or if newer versions of the OS would block it.

<comment><USER7> Much more than you would ever know..

The original version of Sim City was written for windows 3.x and included a bug that read memory that had been freed to the system. It worked in windows 3.x, even though it shouldn't, because that particular range of memory wasn't being used for anything else until the program was terminated.

In beta versions of windows 95 Sim City didn't work because the operating system allocated memory differently, and Sim City would crash as expected because of the bug in the program. Amazingly, in the final version of Win95 the original Sim City _worked_. Microsoft engineers had actually tested backwards compatibility with Sim city, located the bug, and worked around it in their sourcecode.

Now that's serious dedication to backwards compatibility.

<comment><USER8> Specifically, Windows actually checked whether SimCity was running and then allocated memory differently if it was.

Joel Spolsky talks about it in this old article: <http://www.joelonsoftware.com/articles/fog0000000054.html>

<comment><USER9> More about Microsoft and backward compatibility is here: <http://www.joelonsoftware.com/articles/APIWar.html>

<comment><USER10> There's a blog run by Raymond Chen, one of the engineers on the backwards compat team, which is about backwards compat and other arcane aspects of Windows:

<http://blogs.msdn.com/b/oldnewthing/>

</comment></comment></comment></comment></comment><comment><USER11> When people wonder why Windows is so big and seemingly complex, and why it still uses stupid things like a registry, this is why. Microsoft deserves accolades for maintaining compatibility on this scale, while still working on just about any combination of hardware under the sun. I'm sure they would have loved to be able to do what Apple did with OSX, but there are things you can pull off with 3% market share that are completely out of the question with 95%.

<comment><USER12> To be fair, the original OS X was pretty backwards compatible--they ran OS 9 stuff in a virtual environment much like Windows 7 runs its older stuff. The Intel transition is the first time that Apple has been so lax about backwards compatibility. They dropped Classic on Intel Macs and they're about to drop PowerPC compatibility. It's a shame--I have OS 9 Games I would love to run on my MacBook Pro. Not to mention all the old programs I wrote.

<comment><USER11> Right, but Apple didn't have to worry about the thousands of corporate clients running Enterprise software that relied upon some specific API calls to handle billions of dollars in business. When Apple says, "too bad, upgrade", their customers mostly just do so. If Microsoft were to take that approach, they'd lose billions in revenue.

My point, however, wasn't really that OSX isn't backward-compatible, but rather that I'm sure there aren't many engineers at Microsoft who wouldn't love to throw out the whole Windows paradigm and build something new and better from scratch. Hell, I bet BillG himself would have loved to Embrace, Extend, and Extinguish *nix. I think people have a tendency to view Windows' rather bloated codebase and adherence to outdated architecture as a failure of imagination on the part of its programmers, whereas it's really just a practicality necessitated by their user base.

<comment><USER13> _I'm sure there aren't many engineers at Microsoft who wouldn't love to throw out the whole Windows paradigm and build something new and better from scratch._

They kinda did. When Windows 3.1 was a hit, the server OS was Windows NT ( <http://en.wikipedia.org/wiki/Windows_NT> ) NT = New Technology.

Windows 95, 98 and Me are evolutions of the Windows 3.1 codebase, and then mercifully died. NT begat Windows 2000, XP, Vista, 7

You can see that they changed a lot of OS internals for the better (writing C++ code on win 3.1 it's trivial to lock up the whole OS, NT didn't have that issue), and then worked hard for compatibility.

<comment><USER11> While that's certainly true, the differences between NT 4.0 and 98 weren't particularly huge. NT was certainly the better OS, and it's good that they decided to adopt it, but it wasn't really a paradigm shift, and Windows applications were still cross-compatible.

My intention isn't to say that Microsoft hasn't made significant positive changes over the years, but rather that Windows would be a vastly superior operating system if the same people responsible for it currently were able to start from scratch. Say what you will about Microsoft, they still have some incredible engineering talent.

</comment></comment></comment></comment></comment><comment><USER14> Impressive, but I have to wonder how many compromises had to be made, and advancements abandoned, to keep apps like Reversi and Dosshell all the way up through Win7...

<comment><USER15> Good point, but consider all those old business apps that can continue to run in small companies all over the world.

<comment><USER16> and big companies...

</comment></comment></comment><comment><USER17> Brilliant.

A number of comments:

* He mentions there is no multi tasking in dosshell. I'm not 100% sure about MS-DOS 5.0, but in ver 6.0 you could switch between tasks in dosshell [EDIT: this is also true for version 5.0, you can see the option at 1:13 in his video]. To switch tasks you need to first enable it through the "Options" menu ("Enable Task Swapper") and then you can either switch tasks by the all too familiar Alt+Tab or pressing Ctrl+Esc to bring up an ancient Task Manager (then titled "Active Task List").

* I may be mistaken, but in later service packs Win2000 had much better DOS emulation... Just mentioning it because he did test XP SP2 and later versions of Win2000 may have handled Doom2 better.

This video got me to dig out my old DOS book to make sure I remember correctly... ah, the memories :) Very interesting to see many dialogs we all know from Windows even in DOS (i.e. the Run and Associate File extension dialogs in dosshell)

<comment><USER18> _in ver 6.0 you could switch between tasks in dosshell_

That was task swapping, not multitasking. All but the currently-executing task were interrupted, written out to disk, and expunged from memory.

<comment><USER19> Not completely true.

In MS-DOS you could terminate a program, but make 64K of its memory resident. And then you could program a time interrupt handler to wake it up and do stuff periodically.

That's how some viruses worked btw :-)

<comment><USER20> TSR, that was called, terminate and stay resident. It was a legitimate technique, software like Sidekick used it

<http://en.wikipedia.org/wiki/Borland_Sidekick>

</comment></comment></comment></comment><comment><USER21> I had to turn that video off to maintain my personal pride.

I may be a nerd, but by gosh, I do NOT watch Windows installation retrospectives for entertainment! :)

<comment><USER10> I wish I'd read this post earlier. I not only watched it but sent it to friends, never thinking that this actually might not be enjoyable to everyone.

Isn't there a conference somewhere that specializes in boring topics?

<comment><USER22> You might be thinking of "Boredom Enthusiasts Discover the Pleasures of Understimulation": [http://online.wsj.com/article/SB1000142405274870339590457602...](http://online.wsj.com/article/SB10001424052748703395904576025482554838642.html)

<comment><USER10> Yes, that's it. Maybe he can make a talk of this for the next conference. "Observing the Installation of Every Version of Windows".

</comment></comment></comment></comment><comment><USER23> Site is Farked. Youtube direct link:

<http://www.youtube.com/watch?v=vPnehDhGa14>

<comment><USER24> It's funny, I submitted this in non-blogspam form this morning and it didn't get nearly as popular: <http://news.ycombinator.com/item?id=2279618>

I wonder if it's just luck or timing or this guy using spambots to upvote his submission.

<comment><USER25> The title is different on the two submissions. Could have been a factor?

</comment></comment></comment><comment><USER26> Now let's see someone do this on real hardware, upgrading the machine as they go.

</comment><comment><USER27> _Microsoft first introduced Windows 1.0 on November 20, 1985. Since the introduction of Windows the operating system has dominated personal computers ever since._

Not to be pedantic, but I don't seem to recall Windows "dominating" anything until version 3.1 came out. At that time, you still had a lot of software running in text mode, or firing up its own graphical environment from DOS. Berkeley Softworks' GeoWorks was out, then, too, and looking like pretty decent competition at the time. Windows' ultimate dominance may have been inevitable, but I don't recall it looking that way before '92.

</comment><comment><USER28> This gives a great deal of assurance for Windows developers. You don't have to worry about your app not working in future versions of Windows.

<comment><USER29> Try running a 16-bit application on Windows x64...

<comment><USER30> > Try running a 16-bit application on Windows x64...

There's no reason for this to fail: dosemu runs 16-bit code on 64-bit Linux systems just fine. You just need to do full hardware emulation which, at this point, is neither difficult nor prohibitively resource-intensive.

<comment><USER31> There's actually a very specific reason for it to fail. There's an unfixable bug in the way that the Windows emulates 16-bit BIOS calls in the 8086 mode monitor. This is specific to Microsoft's implementation and is (if I remember correctly) an architectural issue (and not the only one). The options are rewrite an emulator or ditch 16-bit support in 64-bit.

I'm not saying that this is the only reason, but it is one. Emulation/Virtualisation is different, but gets the support requirement off Microsoft's books.

<comment><USER10> There's an even more specific reason. There is no 16bit support in 64bit Windows. It's probably the biggest backwards compat kill they did for 64bit Windows.

</comment></comment></comment></comment></comment><comment><USER32> He left out Windows ME. I guess that would be too much to ask.

<comment><USER33> The point of the video was chronicling Windows upgrades. ME wasn't an upgrade. :)

<comment><USER34> Me was not that much of an upgrade. It got rid of the MS-DOS mode. While it did change a few stuff and added a few features (new shell derived from Win2000, better ACPI/WDM/USB support, System Restore, etc...), it was still based on the 9x codebase which was unreliable and had many limitations.

</comment></comment></comment><comment><USER35> Awesome stuff. I would have enjoyed a detour through Microsoft Bob, somewhere around Windows 3.1 or 95.

<comment><USER36> That was my first reaction to - where's Bob?

</comment></comment><comment><USER37> I'd actually have liked to see him to install more applications, perhaps Microsoft Office (circa 1990) and upgraded them as he went along too. I wonder if you can do Office for Windows -> Office 2010 as well.

</comment><comment><USER38> Am I the only one that noticed that his account username in Windows 2000 was 'twatface'?

<comment><USER39> Oh, I noticed and I loled. Regardless, pretty interesting talk and at least he has a humor with his account names.

I'm glad the XP team fixed Doom 2.

</comment></comment><comment><USER40> It's like taking every upgrade I've ever done with Windows and condensing it down to 9:49 (omit the various reinstalls)

<comment><USER41> I never used the upgrade option. I'd always get a new hard drive with my upgrade (to get OEM price) and install clean, usually using the original hard drive as a slave. The next cycle that hard drive would become an archive on the new slave.

I have backed up files from 1996 on my home desktop.

<comment><USER42> Didn't everyone do it that way?

I tried the upgrade-option exactly once. I can't remember whether it preserved my background color. But I do remember that all sorts of drivers got screwed, software installs would fail with obscure error messages, and it generally was nothing but problems until I finally wiped and re-installed.

<comment><USER43> I upgraded from NT4 -> 2000 -> XP without any major issues. AFAICT it was mostly just a file replacement process.

The DOSWin to NT upgrade path always seemed pretty flaky though. The demonstration cheated a bit by using a vanilla VMWare config; an actual PC would be loaded with crappy vendor drivers and startup software which complicated any upgrade.

<comment><USER41> Upgrading from the NT line to further along the NT line wasn't much of a problem IIRC. Upgrading from '95 to '98 to 2000 probably would be, if you'd actually used the machine. Registry rot from years of use would hinder this process.

The idea of a well-used registry from Win95 being still used in a 2000 or XP machine makes me shiver in horror.

</comment></comment></comment></comment></comment><comment><USER44> He applauds MS for continually supporting their legacy software... my opinion is that such legacy support is what continually hampers their rapid development

<comment><USER45> When it comes to viability as an infrastructure for business, downwards compatibility clearly trumps rapid development. The same can be seen with Java: having all the shiny, fashionable features the tech geek blogs are abuzz with may be nice... but having old, boring, clunky, uncool software _that your business depends on_ continue to work is far, far more valuable.

<comment><USER46> While this is true, there is certainly a point where backward compatibility becomes a bit absurd. I'd personally peg it around the 15-year mark.

<comment><USER43> Absurd, and extremely profitable for the vendor which provides it. IBM mainframes can run binaries that are nearly 45 years old for example.

</comment></comment></comment></comment><comment><USER47> brilliant a testament to MS software compatability

</comment><comment><USER48> Looking forward to someone doing the same sort of thing with other OSs.

<comment><USER49> You can't do it with this level of preciseness in the Mac family at least. Between OS X, probably as long as you're not on non-intel processors.

Like other commenter said, Windows/MS really goes all the way for backwards compatibility.

<comment><USER35> You can take a G3 from Mac OS 7.1.2 (version which added PowerPC support) all the way to 10.4, which would take you from 1997 to 2005. I haven't done it, but I've read that getting 10.4 requires some finagling to achieve, so the last supported install you could do would be 10.3.9

<comment><USER43> IIRC the minimum OS for a G3 was actually 8.something. (Apple generally doesn't/didn't support down-level OSes on their hardware.)

Also the settings would have only been preserved in Classic, but that's to be expected I guess.

</comment></comment></comment></comment><comment><USER50> Wow, 26 years condensed into 10 minutes...

</comment><comment><USER51> No Windows ME? ;-)

<comment><USER52> And more importantly no Windows NT.

This would have been the proper predecessor for Windows 2000 Professional.

Windows 2000 Professional was not part of consumer upgrade path - ME was.

Of course XP was was the successor to both.

</comment></comment><comment><USER53> Anyone know why the Windows installer takes so long? What's it doing for an hour and a half?

<comment><USER54> Some say it's probably due to the installer copying lots of things around, combined with slow IO on the VM plus the installer assuming reads are going to be slow (the source being slow CDs or floppies).

I call pish posh on that. What you're actually witnessing is The Microsoft Minute, as explained by <http://ars.userfriendly.org/cartoons/?id=19990318>

</comment></comment><comment><USER55> I have a VB3 (or VB4) application which uploads samples to my hardware sampler over MIDI. But it doesn't work on XP, only 95/98. So there's a counter example to it being totally backward compatible.

</comment><comment><USER56> I look forward to the full version (starting at DOS 1.0 and with <http://www.bricklin.com/history/vcexecutable.htm>)

</comment><comment><USER57> It feels so nostalgic. I started using the Computer even since Windows 95 was launched. I first tried installing the Windows 98 on my PC. Man, I really appreciate this guy's patience.

<comment><USER19> My first computer was bought in '94, so a year before the Win 95 release.

I got it with MS-DOS 6.22, Windows for Workgroups 3.11 and MS Works (forgot which version).

</comment></comment><comment><USER58> God I hate this in-text advertising thing.

</comment><comment><USER59> Quite an achievement. And we are all the richer for it when these things go smoothly.

</comment><comment><USER60> My favorite part of this experiment is that he tested with Monkey Island. Go Guybrush!

</comment><comment><USER61> Best possible music choice. Period.

Fascinating.</comment>


Adam Wheeler's (BS) Resume - <AUTHOR> http://gaurab.posterous.com/adam-wheelers-bs-resume

<comment><USER2> Maybe it's my firewall but this just lead to an error page for me.

</comment><comment><USER3> Really? Old Persian?</comment>


A new Google Play app and game icon specification - <AUTHOR> https://android-developers.googleblog.com/2019/03/introducing-new-google-play-app-and.html <comment><USER2> Adaptive icons is a stupid bad idea. Humans distinguish different objects by shape and color. Now when all objects are mandatory made to have same shape, it only made harder to find needed icon. It effectively just made icons smaller and harder to distinguish from one another.

Best Android icons were in Android 5.0, and went downhill from that.

<comment><USER3> When I picked up a new phone last fall, this change made me irrationally angry. Now everything looks like a little piece of candy and not like an icon. Designs proceed further and further toward abstraction to the point that, without a lot of contextual knowledge, it can be hard to tell what they represent or if they even represent anything.

Maybe I'm just being curmudgeonly, but I think icon design went downhill in about the mid-nineties. Classic Mac OS and Windows 95 haven't really been bested in terms of icon design clarity... and don't get me started about the loss of the Classic Mac OS Finder and its purely spatial metaphor. Not all design work is progress.

</comment></comment><comment><USER4> Didn't they get rid of square icons very recently? I feel like the Android app store is trying to explicitly make small apps look old by updated the format every couple weeks.

The only apps that look right on your screen are the ones that have a dedicated mobile graphics department...

<comment><USER5> I was super confused too--to this day I get annoyed when I see apps that never updated their icons to circles, rendered as a square-in-a-circle with >50% whitespace. And now less than a year later, we're going back to squares??

But looking more closely, it seems like this is for Play Store icons, not the APK icons on your phone. Which makes me go... meh, whatever.

<comment><USER6> That's another thing that wasn't clear. Those old legacy icons that do match these new squares by happenstance, are they also going to be shrunk and hovered in an identical square or will we be able to see the full icon again?

Also why are we trying to make all these icon borders the same in the first place? The silhouette is one of the first things our brain sees and processes; that's why it's such an important part to pay attention to in art. Making it all the same makes it that much more difficult to differentiate the icons from one another, which frustrates me as a user.

</comment></comment></comment><comment><USER7> From the standpoint of a designer, this will likely simplify asset development pipelines since the new spec appears to be much closer to the iOS guidelines.

</comment><comment><USER8> As someone who has some apps on both stores but doesn't have a dedicated team working on app store listings, I often find myself wondering why Google and Apple, two of the biggest tech companies in the world who created these platforms, stores, and the associated technologies completely from scratch, can't help me out just a little bit on icons and screenshots.

It's an absolute nightmare to develop on an iPhone X and try to get screenshots onto the store. You're required to have 5.5" screenshots, which means an iPhone 8 Plus. The guidelines specifically say your app has to be designed to work on all screen sizes, but I can't submit screenshots taken on my iPhone X or XS and submit them to the store. I have to resize them, which means cutting off the top and bottom to make it wide enough to fit the resolution of the iPhone 8 Plus. Apple, a genius of a tech company, cannot figure out how to display screenshots from an iPhone X on an iPhone 8, but they can show iPhone 8 screenshots on an iPhone X. My app is location-based, so screenshots have to be taken on-site... but I don't own an iPhone 8 Plus. I own an iPhone XS and an iPhone 8. But I can't use the screenshots from either without editing them to chop off the top and bottom.

Google gets it a bit better in that you can upload any screenshots you want of any size or resolution, but they require a separate icon upload. And while Apple's icons need to be 1024x1024, Google needs them to be exactly 512x512. Again, a genius tech company cannot figure out on their own website how to resize an image before it gets saved.

Not to mention Apple wants promo videos in portrait mode, even though iMovie does not support portrait mode videos. But Google wants your promos hosted on Youtube, which prefers landscape videos. So now every promo has to be shot and edited twice.

Changing from a round icon to a square icon is the least of my worries.

<comment><USER9> Why don't you use the iPhone Simulator to take the screenshots at different screen sizes?

In my case they've never rejected the screenshots for having done that (and it clearly shows you've used the Simulator: they have "Carrier" as the carrier name).

<comment><USER8> My app is location based, so either I have to edit my screenshots while I'm on-location or I have to edit my code to spoof my location. Either way it's extra work for me that could easily be handled on Apple's side

<comment><USER10> You can set the location in the simulator.

<comment><USER8> Holy shit I've wasted so much time.

So why does Apple make me submit a video of my app working in the real world if they can just spoof the location from their end?

</comment></comment></comment></comment></comment><comment><USER11> Glad to see them moving to iOS design guidelines roughly. I imagine originally they had to choose something different to avoid copying, but glad that is now less of concern.

</comment><comment><USER12> All designers tell me that silhouettes are the most important defining trait of a design.

</comment><comment><USER13> Just what the world needed /s</comment>


Cheating on my wife with OpenCV - <AUTHOR> https://hookshot.ca/posts/cheating-on-wife-opencv.html <comment><USER2> Warning: Don't try this at home! One might win a battle, but not the war. My chess buddy magically started with "s q u e e z e" tiles at scrabble. He had obviously palmed them. My wife twigged later and he is now banned. By the way, nice example of computer vision.

</comment><comment><USER3> Are you sure this counts as cheating on your wife?</comment>


I ported a JavaScript app to Dart - <AUTHOR> http://blog.sethladd.com/2014/05/i-ported-javascript-app-to-dart-heres.html

<comment><USER2> It's a little bit sad that Google pays people to have their entire job be to astroturf for Dart with blog posts like this one.

Being a "developer advocate" is one thing, writing official documentation, answering questions on forums, whatever — but "I ported a JavaScript app to Dart. Here's what I learned." Seriously? More like "I'm on the Dart Team. I ported a JavaScript app to Dart because it's my job."

Open source shouldn't need to be juiced with paid posts. If you scroll down to the "Lessons learned" section at the end, it really strikes to the core of what being disingenuous is all about.

<comment><USER3> Your definition of astroturfing doesn't seem to match mine. Seth states several times on his blog that he works on Dart developer relations at Google. Blogging about Dart is part of his job, and in no way is he being deceiving about that fact.

 __I on the other hand am simply an engineer on the Dart team, as I must disclaim in this context.

<comment><USER4> Where does he mention that other than the sidebar? I completely missed the fact that he works for Google while reading the article since it's never mentioned in the body of the article itself, and the article is written as if he's completely new to Dart and trying it out for fun. If he's not trying to present that image, then it's a really awful writing style.

<comment><USER5> Do you imply a conflict of interest? If you do, please state it explicitly. Your criticism as it stands doesn't add to the discussion and one could say that your writing style is really awful, too.

Sidebar is not an unusual place to place author bio and it is definitely enough for me.

<comment><USER4> Okay, I'll state it explicitly: I feel that the article is actively deceptive about the background of the author, which makes me distrust the content of the article as well. The sidebar with his background is not visible on the first page of the content, so I would have had to interrupt reading the article to read it.

I say that it is a bad writing style because I am assuming good faith. I assume that the positioning of his bio is merely unfortunate and not specifically chosen to reduce the number of people who read it, and that the article is not actually trying to deceive me about the author. I think it is obvious that coming across as astroturfing to some subset of your readers when that isn't what you're trying to do is a bad thing.

<comment><USER6> > _I assume that the positioning of his bio is merely unfortunate and not > specifically chosen to reduce the number of people who read it, and that the > article is not actually trying to deceive me about the author_

Oh please. Most blog authors barely manage to fill out an About page, let alone a sidebar and a big subheading at the top of the page that says who their employer is. If you're going to claim to be "assuming good faith", how about actually doing so?

</comment></comment></comment></comment></comment></comment><comment><USER7> I've been porting a larger application from JS to Dart, and I can repeat a lot of what Seth says in this article. The experience has been generally very good. While porting I also discovered a couple bugs that existed in the original code base for a very long time.

I do keep flip-flopping on whether I'm going to seriously commit to it though. I really like Dart, my code is safer, cleaner, and more maintainable. But it just doesn't _feel_ like it has much momentum yet.

<comment><USER3> I'm not sure what I can say about Dart adoption internal to Google, so I'll be conservative and say that it's going well in my opinion. I hope we can speak more about it at some point. Language adoption is a very gradual thing at first, so I'm not at all surprised that momentum isn't that apparent yet. The community is very active though (join the email lists or G+ if you're not already).

Rest assured, we're very committed to Dart.

</comment></comment><comment><USER8> I somewhat skimmed the article, but it doesn't mention the fact the JavaScript is on the verge of getting modules. Unless you really love Dart, you can fix most of these problems by using something like the ES6 module transpiler: [https://github.com/square/es6-module- transpiler](https://github.com/square/es6-module-transpiler). Even better, in then next few years JavaScript will start adapting these natively, solving many of the organizational issues laid out in this post.

<comment><USER9> Thanks for the feedback. I did point out, in the end of the article, that some of the techniques (e.g. libraries, futures) aren't impossible in JavaScript. And I'm really happy to hear they might be coming to a future version of JavaScript (everyone should have modules and promises!). Part of the point of the article is that Dart has these features now.

<comment><USER10> Thought you'd might want to know that Promise¹ is available in Firefox & Chrome since quite a while back and the spec for Modules can be found here:

Spec: [http://wiki.ecmascript.org/doku.php?id=harmony:modules](http://wiki.ecmascript.org/doku.php?id=harmony:modules)

1: [https://developer.mozilla.org/en- US/docs/Web/JavaScript/Refe...](https://developer.mozilla.org/en- US/docs/Web/JavaScript/Reference/Global_Objects/Promise)

<comment><USER9> Yup, thanks! What's the story for modern browsers that don't yet support those features? Do they both have polyfills?

As I mentioned in the article, libraries and futures aren't exclusive to Dart. It's just that they are here _now_ for Dart and are compiled to JavaScript for all modern browsers.

I think it's telling that the original author didn't use Promises or Modules. Of course he could have, but we should ask, why didn't he?

<comment><USER11> While a lot of browsers are still lacking pretty much any ES6 support, you can get around this by using Traceur [1] to compile your ES6 javascript down to ES5, and then using the es6-shim [2] for new ES6 libraries (Promise, etc.)

Given that you'll need to compile dart down to JS for it to run on _any_ browser (including chrome), and given that it seems unlikely Mozilla will ever include a dart VM, I'd say that starting to learn ES6 now is probably a better long-term bet than learning dart. Which isn't to say Dart isn't a nice language...

[1] [https://github.com/google/traceur- compiler](https://github.com/google/traceur-compiler)

[2] [https://github.com/paulmillr/es6-shim](https://github.com/paulmillr/es6-shim)

</comment></comment></comment></comment></comment><comment><USER12> I really like Dart. I'm surprised its not getting traction faster. Its a language with few surprises, everything looks familiar and works as you'd expect without gotcha's. While it doesn't feel cutting edge like Haskell or retro on steroids like Clojure, it seems just right as a replacement for Javascript.

<comment><USER13> It just doesn't play well with JS, because it was designed as a JS replacement, with an own Runtime, which kinda sucks...

<comment><USER3> Care to be more specific? You can use JavaScript from Dart now, and we're working on improving interop support. Feedback is welcome.

<comment><USER13> Really?

When I last looked into it, there had to be some strange stuff to be done, to call JS from Dart and Dart from JS.

It just didn't felt as naturally as in TypeScript or LiveScript.

</comment></comment></comment></comment><comment><USER14> One of the early issues raised about Dart was that it's compiled nature would make it hard to debug and was against the open source (easy to hack) nature of JS on the web.

These days JS is more or less compiled, at least the file you get in your browser is very different that what the developer saw.

This seems to improve the case of Dart and I wouldn't be surprised if we saw more languages that compile down to JS in the near future.

We already have ES6 down to ES5 [http://addyosmani.com/blog/author-in- es6-transpile-to-es5-as...](http://addyosmani.com/blog/author-in- es6-transpile-to-es5-as-a-build-step-a-workflow-for-grunt/)

<comment><USER15> Why would the compiled nature of Dart make it hard to debug? Presumably you mean debug by someone other than the original developer?

<comment><USER14> That and debugging the compiled JS assuming there was a bug in the compiler or a browser quirk the compiler hadn't worked around.

This is me remembering the arguments not making it ;)

</comment></comment></comment><comment><USER16> I'm concerned that, however good Dart may be, the fact that zero browsers intend on supporting it natively (and I understand they non-natively support it via js compilation), the popularity is likely to escalate.

Wasn't the idea of Dart to replace JavaScript as the "lingua franca"? And we still have to run Chromium to support it natively?

<comment><USER17> There is nothing preventing Google from release Dartium (Chrome with DartVM). In the meantime it compiles to js and is not the first thing to do so.

In fact I think Google should release Google Chrome with Dart VM and then accelerate a few of their apps (oh look much better Google maps!), before you know it, Opera will get it as well.

<comment><USER18> It is marked as "in development" on the Chrome dashboard.

[http://www.chromestatus.com/features](http://www.chromestatus.com/features)

</comment></comment></comment><comment><USER19> I really liked the direct comparisons in this article between the original javascript and the dart code. It makes me want to learn more about dart and about how I can use it in my personal (or work) projects.

It's doubtful that JavaScript will be widely replaced as the language of the web. I can see a day where most web developers don't write JavaScript anymore and languages that compile to JavaScript (like dart) will be widely adopted.

It's almost like the evolution of programming languages. If you take, for example, the C programming language, people could write a lot of modern applications using it but C++ and .NET has made things easier and more maintainable. I think a similar thing could be said in the future about dart (representing C++ or .NET) and JavaScript (representing C).

</comment><comment><USER20> Tl;dr News flash: static typing is a good thing!

</comment><comment><USER21> The article clearly shows that Dart doesn't stand too far from vanilla JS. Conceptually it's on the same level. Futures? Really? Functional reactive programming or communicating sequential processes solve the async problem a lot better than futures. FRP is available in vanilla JS (take a look at bacon.js) and CSP are part of ClojureScript which by the way exists because it's a good tool not because some megacorp throws it's money to push it to the masses.

</comment><comment><USER22> Sure — I guess it's nice that Dart comes with a lot of useful things built in.

Outside of Dart we already have pretty good solutions for Promises (with Promise A+ compatible libs; Q, RSVP etc) and modules (ES6 modules, Require etc), which /kind of/ makes those points moot.

Which leaves type checking and autocompletion as the big benefit. Which are nice, I guess.

<comment><USER9> I've clarified at the bottom of the post that JavaScript is probably going to get some of these features in the future. One of the points I was trying to make was Dart has these features _now_ (and because Dart compiles to JS, it means I can deploy these features now).

The other question we should ask is, why didn't the original author use those new shiny JS features in his app? He's a crazy smart developer. My hypothesis: because the out-of-the-box dev experience doesn't include modules, promises, etc, there's a higher barrier to using the new shiny JS features because the developer needs to first A) know about them B) find the right polyfill.

Thoughts?

<comment><USER22> As a counterweight: I'm not a crazy smart developer, and I use those features. In production. Now.

I'm not going to argue against your point though, because I think you are right. One needs to have some grasp of the JS ecosystem to know what libraries to use. And as I said, it's nice that Dart has made that choice for you.

But that said, poking around a bit in the Dart documentation I think it's interesting that "Futures" are seemingly /not/ entirely interoperable with the de facto standard of Promises (A+) in JS.

<comment><USER9> I don't know enough of the intimate details of Promises to know if Future == Promise. I hope I didn't make it sound like Future == Promise, but I do think they are quite similar in intention.

Can you expand on why you think Futures aren't entirely interoperable with Promises? Also, which specific implementation of promises? (what's the link to the promises that you're talking about?)

</comment></comment></comment></comment><comment><USER23> I wonder how the size of the dart-generated js compares to the size of the original js.

<comment><USER9> Good question, I'll try to add that. Maybe more importantly, what is the startup time for the two versions?

<comment><USER22> Would also be interesting: Perform some operations, compare flame charts from Chrome developer tools.

<comment><USER9> Also a good idea! Gah, I need more time.

</comment></comment></comment></comment><comment><USER24> Why can't I comment on the blog? Anyway, I was going to say.

>Slowly but surely the JS worlds moves toward looking like the Flex/AS3 of years before.

<comment><USER9> Hm, the blog has G+ comments on it. Apologies if that's not working. You can leave comments here, too :)

</comment></comment><comment><USER25> All that code and one bug? Either the original programmer is a genius or Dart isn't as great as it seems.

<comment><USER9> The original developer is really good. Also, the original app is small-ish, so I really wouldn't expect too many (or any) bugs in the original app.</comment></comment>


Analysis of Mariano Rivera's signature cutter - <AUTHOR> http://www.nytimes.com/interactive/2010/06/29/magazine/rivera-pitches.html <comment><USER2> Outstanding video analysis. The composite view of all pitches (then broken down by cutter vs. fastball or what hand the batter was) is overwhelming - which is I guess how batters facing him feel.

The one thing lacking: an explantaion of why he shatters so many more bats than any other pitcher I've ever seen. (It can't be just velocity.)</comment>


Hospitals across England hit by large-scale cyber-attack - <AUTHOR> https://www.theguardian.com/society/2017/may/12/hospitals-across-england-hit-by-large-scale-cyber-attack?CMP=Share_iOSApp_Other <comment><USER2> That's really really low.

Does anyone know anything about whether this connects to the election? Seems like too big a coincidence.

</comment><comment><USER3> BBC reports ransom ware</comment>


TechCrunch Disrupt Interview with Marissa Mayer - <AUTHOR> http://techcrunch.com/2013/09/11/marissa-mayer-yahoo-is-a-personalization-company/

<comment><AUTHOR> People > Products > Traffic > Revenue</comment>