Netflix Prize 10% barrier broken - <AUTHOR> http://www.research.att.com/~volinsky/netflix/bpc.html

<comment><USER2> ...and I eat crow: <http://news.ycombinator.com/item?id=393667>

Haskell wins: <http://news.ycombinator.com/item?id=394528>

</comment><comment><USER3> Pretty exciting. I've been working on the prize in my spare time. Got to #162 (.8838 rmse).

The algorithms involved and the solutions from past years have been very interesting. I highly recommend that people check out the forum posts on <http://netflixprize.com>

The winning submission was made by a combination of the top 3 teams. In my opinion, if they win it, it's well deserved! It will be very interesting to see Pragmatic Theory's method published.

Teams BellKor and Chaos Theory published their methods when they won the 2008 Progress Prize.

<comment><USER4> I thought one of the caveat of the prize was that the winner was not supposed to disclose the algorithm they used, isn't?

<comment><USER5> On the contrary, they are supposed to publish it.

</comment></comment></comment><comment><USER6> Wow! I wonder though how they account for over fitting of the data. Is it a real solution or a statistical anomaly? I ask because it seems that the progress over the last year(s) has been small increments within the 9-10% range.

<comment><USER7> I'm also worried about this. I believe that Netflix has a separate data set, not used in the previous reports of mean squared error, which validates the $ prize. I also believe that the teams have been use the Netflix-reported squared errors from standard test data to combine their estimates. If so, in a month we're going to learn that the Prize has not actually been won yet.

<comment><USER8> But I wonder whether the effect of an unknown dataset slowly seeps into the algorithms as they are tweaked, especially when 100s of algorithms are competing to fit that data.

It might be akin to the fact that if you correlate more than 25-30 sets of 25-30 random numbers, you would find at least one statistifcally significant correlation.

<comment><USER9> They are not granted access to the data set, so it would be statistically unlikely to achieve 10% RMSE improvement on the test set solely by chance.

</comment></comment></comment></comment><comment><USER10> And so it begins. It will be interesting to see what other teams will do now with such a tight deadline.

</comment><comment><USER11> Congratulations to the team Bellkor's Pragmatic Chaos. Now if they could only spend some of their time researching how to make a page that doesn't look like it was coded by an 11 year old myspace user.

An example from the source

          <big><big><big><big>   </big></big></big></big><big><big><big><big>  </big></big></big></big><big><big><big><big>

      </big></big></big></big>

<comment><USER12> I dare say, if you can do what they are doing ~ your not to worried about perfect html or design.

<comment><USER13> or grammar, apparently ;-)

("your not to" => "you're not too")

<comment><USER14> I had _exactly_ the same thought, word for word, when I read the comment, but I wasn't, um, _inspired_ enough to post it and take the downvotes. ;)</comment></comment></comment></comment>


North Korea's architecture - <AUTHOR> http://www.reuters.com/news/picture/north-koreas-architecture?articleId=USRTS5INU <comment><AUTHOR> Some of those buildings, and interiors, look like 1950s artist renderings (of what future architecture would look like) brought to life.</comment>


Posterous Releases Desktop TwitPic Downloader - <AUTHOR> http://blog.posterous.com/posterous-releases-desktop-twitpic-downloader

<comment><AUTHOR> Following in the vein of all-your-content-belong-to-us, posterous unleashes an picture hoover for twitpic. Hmm. Interesting, sure. But isn't this kind of a utility some dude should be making as a weekend project?

My blog[1] is on posterous and im pretty happy with them. Nevertheless, I would rather them improve the core of their platform then worry about sucking up data from the four(thousand) corners of the interwebs.

[1]<http://siculars.posterous.com></comment>


HN is not available from Ashburn for the past month or so - <AUTHOR>

The server returns 520 Origin Error for the past month. Sent a request to CloudFlare to take a look into it. Does anyone else experiencing this issue? <comment><USER2> For a month? Can you do a request and paste the ID at the bottom of the page so I can look into it?

<comment><AUTHOR> 188cac5571fe02ba</comment></comment>


Auftragstaktik - <AUTHOR> https://en.wikipedia.org/wiki/Mission-type_tactics <comment><USER2> I wrote a thing a few years back about how _auftragstaktik_ and related ideas fit into everyday organizational life: [https://jasonlefkowitz.net/2013/03/how-winners-win-john- boyd...](https://jasonlefkowitz.net/2013/03/how-winners-win-john-boyd-and-the- four-qualities-of-victorious-organizations/)</comment>


Check what people in your nearby area are tweeting and where? - <AUTHOR> http://whatsupneighbors.herokuapp.com/ <comment><AUTHOR> This web app lets you to see the location of people in your nearby area and what they have tweeted recently. Though originally the idea was not mine, But i was interested in building this, so here it is. Spending time in this project was worth. Feedbacks are welcome. :)</comment>


Chrome Extension that adds anonymous live chat to every site you're browsing. - <AUTHOR> https://chrome.google.com/webstore/detail/affmlbhoebcjponkmlmoeinojjcggbnk <comment><USER2> Is it me or do I see a "add a live chat room to every website!" startup/idea every 6 months, either by apps, HTML framesets, whatever, then followed by press saying it will change the world/internet/whatever, then I never hear about it again. Perhaps nobody actually wants an anonymous chat room on every site :P

<comment><USER3> That's because it's a classical chicken and egg problem - the idea is only valuable if a _lot_ of people use it.

Here's a back-of-the-envelope calculation:

If I go to Hacker news, what are the chances there'll be someone to chat with? Well, according to <http://www.internetworldstats.com/stats.htm> there are currently around 2 billion Internet users, and if we assume that at any given point 10.000 people are on Hacker news then one out of 200.000 global users are available to chat on this site at this moment. What this means is basically that unless you have an installed base of millions there will be noone to talk to. And you won't get that base because there's noone to talk to...

It's simple math, and noone seems to do the numbers before they launch something like this.

<comment><USER4> While I agree in principle this example is bad - chances for someone to be on HN or any other techno-startup site are _much_ bigger.

</comment></comment></comment><comment><USER5> _why was one of the first to implement this, in 2005. It wasn't a chat, but a comment system for hackers.

The installation instructions were intentionaly elusive:

[http://web.archive.org/web/20051125122020/http://hoodwinkd.h...](http://web.archive.org/web/20051125122020/http://hoodwinkd.hobix.com/)

The IP adresses point to DNS servers that serve two custom domains: hoodwink.d and ___._ (or you could add them to your host file? not sure...).

From there you could browse those sites that had further info, and enjoined you to install a greasemonkey script that injected the comment div in the target pages.

To add hoodwink'd comments to a site, you had to register it at hoodwink.d, with an URL regexp to recognize the site, and an xpath query to locate the point where the comment thread would be inserted.

There were also RSS feeds, that allowed to follow a commenter, or get all the updates of a given site.

Cool stuff. .

Here is some more info

A longer description: <http://ecmanaut.blogspot.com/2006/01/hoodwinkd.html>

Magnus Holm, debugging the system: <http://oldblog.judofyr.net/posts/who- broke-hoodwinkd.html>

A few screenshots: [http://www.flickr.com/photos/robbyrussell/3838274563/in/phot...](http://www.flickr.com/photos/robbyrussell/3838274563/in/photostream/)

<comment><USER6> Hoodwink'd was a fun project. You really felt like you were sneaking around the interwebs, leaving comments and sharing links to a tiny community.

I also have a theory that many of _why's (earliest) most known projects were created because of Hoodwink'd. He needed a web framework, so he wrote Camping. He wanted to write the HTML in Ruby, so he wrote Markaby. In order to inject the hoodwinks into the web page you need a proxy, so he wrote mouseHole. And he wanted a simple way to search and replace HTML in the proxy, so he wrote Hpricot. It's all one big family…

<comment><USER5> This reminds me of the first camping announcement.

He spent perhaps half an hour, probably more, frantically adding surrealist images to the post. I imagined him excited as a kid, stuck in a creativity rut. Good memories.

Do you know how long it took him to write Camping?

</comment></comment></comment><comment><USER7> This always seems like such a good idea to me. Like walking around a busy city bustling with people all around.

But then I realize I would never use it. The idea of broadcasting my browsing habits page by page to a third party is creepy beyond belief.

<comment><AUTHOR> That's exactly why SiteChat is anonymous and doesn't save _anything_ on the server! :)

<comment><USER7> While I give the author the benefit of the doubt he or she has every intent to respect privacy, if I really care about my own privacy I should do what I can to protect it myself before I place my trust in a third party.

It's like revealing my own secret to someone and telling them not to tell anyone else. I have the most to lose if my secret is revealed. If that isn't enough for me to keep it to myself what is preventing anyone else from revealing it?

Because I don't care to let people follow my browsing behavior site by site, I had better not broadcast it to begin with.

EDIT: I should add, I do have some initial doubts about the anonymity guarantees in this extension. Is all traffic encrypted? Can I be sure nothing is getting unintentionally logged by say a forgotten debug statement or server request logs? I've seen credit card numbers turn up in Apache access logs. Is my IP actually obscured from others or is it merely my name? Even Tor is hesitant to guarantee anonymity.

</comment></comment></comment><comment><USER8> If a large % of Facebook users used this, it would quickly become unusable on the site.

Any ideas about handling large usage - separate people out into smaller manageable groups by IP/geo/other?

<comment><AUTHOR> At present, if a large % of my apartment building used this, it would quickly trash my server ;).

My intention is to just see how things develop, and if I need to upgrade servers and write some more intelligent routing, then I absolutely will. :)

<comment><USER9> Sweet app man!

</comment></comment></comment><comment><USER10> I once tried to convince my employer to let me do something like this via a Java applet in the banner ads we were running (yes, banner ads can include applets). The idea was that all the people seeing our ad could chat among themselves, and the hope was the would be unusual enough to get people to actually notice the ad.

Sadly, they wouldn't let me try it.

</comment><comment><AUTHOR> If people start using it, it could have very interesting social implications. Live communities can form for different sites--facebook, reddit, HN, youtube-- and each community would be interesting to observe.

</comment><comment><USER11> Really cool, I've been waiting for something like this to come along and be executed right so that it will pick up traction. We'll see if this is the one...

</comment><comment><USER12> Maybe you should take a look at SideSpeech (<http://www.sidespeech.com>)

</comment><comment><USER13> I'm curious about the privacy issues around this. Can your chats (and browsing info) be traced back to you?

</comment><comment><USER14> Where are the comments hosted? How long are they kept? Are they censored or moderated? Are there rules?

<comment><AUTHOR> Comments are not hosted, they're passed through a relay server and immediately discarded. There's no censorship or moderation, other than stripping out HTML tags. No rules whatsoever.

<comment><USER14> Oh, so you don't see comments that were made before you get to the site.

<comment><AUTHOR> Correct, you only start listening once you get there. This is intended to be more of a flash-mob style application, rather than a reliable communication application

</comment></comment></comment></comment><comment><USER15> I bet the chat on HN could be interesting.. Not sure about most other sites, though.

<comment><USER16> Probably also on sites linked from HN.

</comment></comment><comment><USER17> no need for GCaht, gacebook chat etc..now..wow..this is cool!!

</comment><comment><USER18> You guys should have a look at sidespeech.com

</comment><comment><USER19> Tweet size this shit for spam prevention pleaaaase!</comment>


Good things come to those who write - <AUTHOR> https://nathanbarry.com/good-things/ <comment><USER2> There's a two star Amazon review from a verified purchaser on Nathan Barry's book "Authority" that I think illustrates Mr. Barry's marketing writing prowess well[1].

It reads: "Meh. Nothing new here. Could have been a series of 3-4 blog posts and gotten the same value."

Well, he still got you to buy the book didn't he?

[1] [https://www.amazon.com/gp/customer- reviews/R3M5PAZX0YY5IM/re...](https://www.amazon.com/gp/customer- reviews/R3M5PAZX0YY5IM/ref=cm_cr_dp_d_rvw_ttl?ie=UTF8&ASIN=1612060919)

</comment><comment><USER3> Successful writer knows other successful writers who make lots of money. Sounds like selection bias.

</comment><comment><USER4> Hard disagree. I believe what constitutes good writing is not teaching, but sharing. In printed word we can all be equals, that's the magic.</comment>


Virtual DOM in Elm - <AUTHOR> http://elm-lang.org/blog/Blazing-Fast-Html.elm <comment><USER2> It's great to see Elm crediting Om for some of its ideas. The cross pollination between the Elm and Clojurescript community is great. Looking into Zelkova ([https://github.com/jamesmacaulay/zelkova](https://github.com/jamesmacaulay/zelkova)), an Elm style signal library for Clojure, right now. It's a great time to be a fan of stuff like this.

<comment><USER3> Another Elm inspired approach is re-frame ([https://github.com/Day8/re- frame](https://github.com/Day8/re-frame)) which is a framework for writing SPAs in Reagent ([http://reagent-project.github.io](http://reagent- project.github.io)).

re-frame doesn't get enough love so here's an overview. re-frame encourages you to keep the state of your app in one map and treat it like a database. re- frame has 4 main parts:

\- DB: where your global, shared state is stored. If that sounds scary and you use databases often, that's logically inconsistent. The DB is usually a map in an atom. (so it is mutable via transactions).

\- Views: Reagent components. for an aweosome live example checkout [http://reagent-project.github.io](http://reagent-project.github.io)

There are 2 ways for views to interact with the db - via dispatching handlers and subscribing to subscriptions.

\- Handlers: analogous to stored procedures on the database. Handlers are pure functions that act on the database. The value returned by the handler is the new value of the DB. The handler gets registered and can be used as a high level declarative function from the views. Here's an example from our current app:

        (register-handler
         :cart-order-failed
         (fn [db [_]]
             (assoc db :cart-order-failure true)))

\- Subscriptions: analogous to materialized views on the database. Allows you to watch a specific part of the state-map, do some computation, and rerun only when that specific part is updated. Here's another example:

        (register-sub
         :user-info
         (fn [db [_]]
             (reaction (->
                        ;; never give out the password if it's there
                        (get @db :user)
                        (dissoc :password)
                        (dissoc :pass2)))))

So the data flows like this:

          DB -> Subscription
           ^             |
           |             v
        Handler   <-   View

The view also turns into a react.js component and is rendered to the vdom using immutable data structures, but that's Reagent not re-frame.

<comment><USER4> _re-frame doesn 't get enough love_

Sure it does, it was pretty much the only thing talked about on the cljs mailing list for about two weeks solid. It is a fantastic library though (I'm using it right now!)

</comment></comment></comment><comment><USER5> The benchmarks are very interesting. I wonder what React's performance would look like when using immutable data structures, such as those by Immutable.js (another FB project). It seems to me that you would again get the benefit of immutable data in the diffing algorithm; namely that the one can check if any data has changed just be checking shallow equality.

I really admire Elm for being a trailblazer for pushing techniques such as reactive programming, but it seems to be that it's unlikely to be very mainstream. This is why I'd love to see the performance benefits using more mainstream solutions with JS.

<comment><USER6> Semi-tangential note: React comes with the helpful `React.addons.update`, which implements "immutable data structures" in an extremely simple way.

I'm working on a medium-sized React application where all application state changes go through this function—there's one big state object with all substate, and we don't do any mutation inside of it. We haven't needed to benchmark anything yet, nor do we have any extreme performance requirements.

Since all our state updates work like this, we can use `PureRenderMixin` on all components, which gives us the kind of shallow equality behavior you describe.

<comment><USER5> I see, so there's no need to even use an external library.

It doesn't look like they are using the PureRenderMixin for the benchmarks. Would be curious to see how they compare then..

<comment><USER6> They do implement `shouldComponentUpdate` on the todo items in a way that should give about the same performance boost. (All the pure render mixin does is implement that method using shallow equality.)

</comment></comment></comment></comment><comment><USER7> I love seeing real world consequences of pure functions. They are often praised for simplicity in development but this is a great example of leveraging constraints to build more performant solutions.

</comment><comment><USER8> This was also discussed last year: [https://news.ycombinator.com/item?id=8063870](https://news.ycombinator.com/item?id=8063870)

</comment><comment><USER9> Great post, as usual. I wish these posts had dates on them.

<comment><USER10> According to the git history, it was posted June 16, 2014 (1136ce4).

</comment></comment><comment><USER11> I used Elm in a personal project. It's a joy to play with but the standard library has some bugs that made it impossible for me to continue development.

<comment> brown-dragon Could you give some examples of the bugs you found? I would like to contribute to elm and this looks like a good place to do it.

<comment><USER11> Some strange bugs in the forms library. One being:

[https://github.com/elm-lang/core/issues/227](https://github.com/elm- lang/core/issues/227)

This was a major blocker for me. I know of workarounds but I haven't gotten around to implementing them and I'd rather the core library just work.

</comment></comment></comment><comment><USER12> Why?</comment>


How Much Are People Making from the Sharing Economy? - <AUTHOR> https://priceonomics.com/how-much-are-people-making-from-the-sharing/ <comment><USER2> In the UK at least, the "sharing" economy is basically a way of paying employees less.

There are two types of employment, contracted employees (that is employees that are directly employed by a company) and "self employed" (where the employee creates a single person company, which the employer then contracts)

the reason why "self employed" is popular amongst the gig employers is not because its "flexible" its because its cheap.

There is a side effect that employees have less rights(no holiday pay, maternity cover, sick pay) However the simple fact is that employers pay less national insurance (social care and health tax, effectively)

The lack of holiday means 10% less wage, no sick pay means 100% efficiency, which important for cycle courier companies like uber eats, deliveroo.

Basically the sharing economy in the UK (with the exception of airBnB) is a way of undermining works rights to save money.

<comment><USER3> Employers can't be forced to hire workers, so I don't think "worker's rights" is the right term. What restrictions to employment such as holidays, sick pay and maternity care actually mean is that workers are unable to negotiate on those grounds. For instance, if a single female in her early 30s is interviewing for a position, she is unable to tell waive her right to maternity care by telling her employer that she does not intend to have children. If she were to have children, her employer would not be able to legally deny her maternity benefits, making her promise unenforceable. Employers can get around paying some benefits by preferring to hire men, who are statistically less likely to take the full extent of their mandated paternity benefits.

So I think in some sense "worker's rights" is more a restriction on worker's right to negotiate. It's fine if people think that a regulatory body has a role in restricting the types of things that can be negotiated, but let's not talk about it as "worker's rights"

<comment><USER4> Okay what should we call fundemental and federally enforced privileges granted to individuals by the state that cannot be disregarded by anybody?

Ah.. rights.. that's basically what they are.

Nobody is forced to listen to you, yet you cannot waive you rights to free press or whatever.

</comment></comment></comment><comment><USER5> I think people are missing the point of the article. I summarize that the sharing economy is not a good way to make a living. In search for the lowest price we have people that can't make enough to get an apartment and raise a family. Raising a family has become a luxury for some people. Try to raise 2 kids and you fall into poverty status.

The scary part is that it's possible to see a future where a big chunk of the economy is powered by gigs. The uberizing of the economy is just starting.

People say that all these workers will eventually get better jobs but that's not the case. We are hundreds of years into the industrial revolution yet low/unskilled work is still something society needs. For whatever reason, some people just can't get enough skills to move up the food chain.

I wish the new tech entrepreneurs would find a better way to fix the low skill problem rather than find a way to reduce services/costs to the bone.

<comment><USER6> > I wish the new tech entrepreneurs would find a better way to fix the low > skill problem rather than find a way to reduce services/costs to the bone.

Just a few years ago there was a big push in this direction. MOOCs reduced the price of access to college level material close to zero [1].

There is more to it than access, of course.

[1] edit: following others, notably MIT, who have been releasing great stuff for free for a long time, and the Open University who have had great distance ed with online content for 48 years and counting. ('Online' started out as radio and TV shows). MOOCs were a fresh push, not a wholly original idea.

<comment><USER7> It turns out that course material is only one of the things you learn in college. And it's not the one that is necessarily a predictor of being gainfully employed.

<comment><USER5> Very true, some of the classes have very little value. I can go to any auditorium based class and sit in the class and the professor would likely not know. The TA's might but mostly I can be there and learn. There are no security guards. What people pay for is that final grade and the degree you are working to get. You can even hang out on campus. When I was getting my degree there were always former students that would hang out.That was there base of operation.

Strange how it works.

</comment></comment></comment></comment><comment><USER8> I usually enjoy priceonomics posts, but this analysis is disappointing. The sharing economy is a way of deploying labor and capital. So the operating question is, is it a good way of doing so on net?

In some sense the market is spoken in that many people are willing to sell in these marketplaces. However, an argument could be made that services like Uber actually exploit the hidden costs associated with selling through the service. How many Uber drivers have done a fully netted anlaysis of their cost basis when driving on the service, including capital cost and depreciation of the vehicle?

Rather than attempting to dig into the financial viability of these services for sellers, this article focuses on the most superficial metric: monthly revenue. $500/mo on average would be consistent with $50/hour fully netted earnings, which would be amazing, or even a negative income if true costs tend to exceed earnings.

<comment><USER9> I think it's pretty patronizing to suggest that people spending 40+ hours a week driving for Uber / Lyft are too incompetent to calculate out their own finances.

I've talked to a lot of drivers who understand in-depth cost per mile they are able to deduct from depreciation for tax purposes, the impact of buying a new car on Uber black, the cost savings per mile of buying a Prius, etc etc.

<comment><USER10> > I think it's pretty patronizing to suggest that people spending 40+ hours a > week driving for Uber / Lyft are too incompetent to calculate out their own > finances.

Your average _person_ isn't great at calculating out their own finances. I don't see any reason to assert Uber/Lyft drivers are better than average in this regard.

I'd suspect this is one of the reasons 96% of Uber drivers don't last a year. [http://www.cnbc.com/2017/04/20/only-4-percent-of-uber- driver...](http://www.cnbc.com/2017/04/20/only-4-percent-of-uber-drivers- remain-after-a-year-says-report.html)

<comment><USER11> You could use that same number to support the proposition that they _are_ accurately calculating their returns.

<comment><USER12> Yes, but only in hindsight, when they realize they have been losing money or didn't make as much as they expected.

</comment></comment></comment></comment></comment><comment><USER13> For larger income Lyft/Uber drivers (probably those in SF/NYC), is it common to setup an S-Corp? Or you could setup an LLC with S-Corp accounting..

With such a low average earning, they could basically pay FICA on the first 20%, but take the rest as a dividend distribution and avoid those taxes. Would save them about an extra 18(?)% on taxes for the cost of a CPA & S-Corp filing (probably about $1800/yr).

EDIT: Looks like it would be fairly easy..

1) Create a corporation through LegalZoom (~ $400) [https://www.legalzoom.com/business/business-formation/inc- ov...](https://www.legalzoom.com/business/business-formation/inc- overview.html)

2) It'll take a couple of weeks, but they'll receive an EIN (employer identification number). Submit the "EIN" to Lyft or Uber. [http://www.ridesharingdriver.com/driving-with-an-llc-or- corp...](http://www.ridesharingdriver.com/driving-with-an-llc-or-corp-how-to- send-your-ein-to-uber-or-lyft/)

<comment><USER14> Can dividends be issued at-will? Or are they restricted to being quarterly / pre-planned / etc.?

<comment><USER13> Since you'd be the only owner of the S-Corp, according to my CPA, they can be issued at-will (you don't need to hold a meeting with yourself).

I just transfer from the business account to the personal account and mark the transaction as a "DIVIDEND". My CPA takes care of the rest.

</comment></comment></comment><comment><USER15> Anybody who studied how British dock workers were hired in the late 19th Century could have told you this.

Those who fail to study history are doomed to repeat it.

Never believe the hype about extreme individualism. You will always certainly make far more money if you team up with others and make your case politically.

<comment><USER16> You mean if everyone teams up and makes their case politically, we'll all make far more, in real terms? So teaming up increases overall productivity? (Not impossible but would need more evidence than teaming up increasing bargaining power, though of course the latter needs evidence, too as a junior unionized worker doesn't have bargaining power against senior workers whom union arrangements incidentally tend to benefit.)

<comment><USER17> productivity changes are only part of the picture, for example real wages for most people didn't change much over the last decades, despite fabulous increases in productivity.

[http://www.pewresearch.org/fact-tank/2014/10/09/for-most- wor...](http://www.pewresearch.org/fact-tank/2014/10/09/for-most-workers-real- wages-have-barely-budged-for-decades/)

(Still don't know how they measure real wages and purchasing power, thirty years ago you couldn't get a smartphone )

</comment></comment></comment><comment><USER18> A good example of why the rich get richer. It would be interesting to see this on a per hour worked basis. Of course, the Airbnb host (maybe) had to work to acquire the capital to purchase the residence, and the drivers to purchase the cars, but it's still interesting to see how wealth begets wealth.

All that said, I am not saying whether such a system is good or bad, just that it's interesting to see it here.

</comment><comment><USER19> Without earnings per hour metric, it's hard to make much of this post.

<comment><USER20> Also, the upfront or ongoing costs of using some of these platforms, like AirBnB or Uber where you might have a mortgage or car payment that far exceeds your earnings. A $1000 a month mortgage to make $924 a month isn't profitable.

<comment><USER21> At least the partially covered mortgage on a domicile might lead to increased equity in an asset with some long term retained, or even increasing, value. The car financing case seems much more dubious.

<comment><USER22> Partially covered mortgage means the bank will eventually foreclose. They take the house and, zero out the equity the owner may have, and take any asset value increase and pocket it all.

<comment><USER21> I meant partially covered by the rent you are able to charge. When I moved away from the house I had bought, I rented it out for a number of years. The rent I was able to charge covered about 90% of the payments, and I put the rest in from my salary. I sold the house a few years later after it had appreciated somewhat, and it was overall a good deal.

I could imagine a similar situation with Airbnb instead of traditional lease arrangements, assuming the numbers line up. My point was more that I can't see it working out that way with an asset like a car.

</comment></comment></comment></comment></comment><comment><USER23> If you're charging money, that's not really sharing.

It's not really surprising that airbnb hosts make more money, since some people are buying houses just to rent out the rooms like a flophouse. Can you do that with Uber (one user manage a fleet of cars? It would seem not worth the effort.)

<comment><USER24> I'm pretty sure it's possible and being done(especially in developing countries).

If I'm not mistaken Uber itself was cutting deals with dealerships in some markets to help drivers finance cars loans and insurance, so Uber itself would be managing the fleet of cars in some way.

</comment></comment><comment><USER25> I cannot understand the putting all together in a basket.

AirBnB revenue is essentially "return on investment" and very little "labour" (you have paid the house/apartment/room you are offering, the maintenance, cleaning and laundry work is connected to just a trifling part of the income).

Uber, Lyft, and similar is half and half (you have to buy a car AND put hours of work in the service)

Fiver and similar is ONLY work.

<comment><USER24> I think they observed the wrong people.

AirBnB's supply comes from property owners, not hospitality employees(i.e. hotel workers).

Uber, Lyft, Postmates and similar supply comes from driver and courier time spent on the platform, not cars, cars/bikes are suppliers tools, unlike Airbnb renters, the suppliers of cars are not necessarily the Uber drivers here, the comparison would be fairer if they compared fleet managers revenue to Airbnb property owners'.

</comment></comment><comment><USER26> Their data comes from loan applications. Talk about selection bias ...

<comment><USER27> Not that I disagree with the more general point that a loan provider's data isn't necessarily the best, but in what way do you suggest there is selection bias here?

<comment><USER26> My thinking is that the population of people who are applying for loans in any given month is going to be drastically different than the population who are not applying for loans in exactly the metric, personal finances, that Pricenomics wants to look at. Kudos on Pricenomics for being so upfront about their data, but I wouldn't have titled it "How Much Are People Making from the Sharing Economy?", because it's not. It's more like "How Much Are Loan Applicants Making from the Sharing Economy?"

<comment><USER27> Different in what way? Just for example, during the housing bubble of the 2000s, people in any given slice of "personal finances" one cared to measure were applying for loans (purchases and lines of credit).

I suspect the people who are in the gig economy are more likely to be in a class that has lower education, income, and assets. In that sense I'm not sure "personal finances" as a selection bias would apply (that is, it seems likely as a rule gig economy loan applicants might resemble gig economy workers to a high degree).

<comment><USER28> There's a strong inverse correlation between how much you make and how much you borrow. People who are making enough to cover their daily expenses don't need to borrow, by definition, and so they tend to be underrepresented in loan origination statistics. Similarly, people who are making very little money tend to need cash, which makes them more likely to seek out loans, because the very product a loan is selling is cash (today, in exchange for more cash tomorrow).

While its true that during the housing bubble, people who took out loans included people from all different slices of the income distribution, the borrowers were disproportionately drawn from poorer income segments. That's why they called it a "subprime" crisis; the percentage of the mortgage market lent to people who wouldn't otherwise qualify for prime loans was much higher than normal, and predictably, these loans ended up defaulting at a higher rate.

</comment></comment></comment></comment></comment><comment><USER29> The sharing economy is evil. The only making money are the big corporations, the little guy is slaving for bellow minimum wage and taking all the risk on top of that...

<comment><USER30> Well good and evil is a pretty binary description. You will only have a market if seller (the driver) and buyer (the service operator) are meeting. If the driver do not want to operate under those conditions there is no "invisible hand" forcing them to do so. Of course in lack of alternatives it is a small but easily accessible form of immediate income.

<comment><USER29> The alternative is to get educated and get thinking about starting a real business instead of this part time addictive pitty of income... it's like saying to the addict it is his fault he is spending all his money on drugs...

<comment><USER31> Is the addict not even partly at fault for spending all his money on drugs??!

<comment><USER32> Let's not get started with the moralistic stance will we? Poverty is most often due to - especially in societies with precious little social safety nets - accidents of life, hereditarity. Very few fall deservedly, most are thrown or kept down</comment></comment></comment></comment></comment>


How many lines is your MainViewController? - <AUTHOR>

Asking for a friend. Who's currently at 1290. <comment><USER2> 5,239, although I employed a lot of white space–it was my first spacecraft simulator–to make it easier for me to read even years later. And no, I never did that again.

<comment><AUTHOR> So how many lines do you run in your MainViewControllers now? I'm curious as to how bloated this class is getting in the real world - it seems to be a running joke that though we all know you shouldn't put so much code into one basket, we do for expediency.</comment></comment>


Don't Settle for Eventual Consistency - <AUTHOR> http://queue.acm.org/detail.cfm?id=2610533 <comment><USER2> Don't settle ... unless you can.

Some business processes/problems can handle eventual consistency. Banking is the classic (and perhaps un-expected) example. You can overdraw your account, there are processes to go back and solve conflicts. Some are automatic, some are manual some are legal.

Bitcoin at the blockchain level is eventually consistent, just wait 10 minutes or whatever the current time it (I don't use it personally just know about it) and then you can be fairly sure of the validity of the transaction. There are built-in incentive to assure histories will converge. But, wallets kept at some exchange should _not_ be eventually consistent. Should _not_ be able to take 100x more than your wallet holds and send it to someone else. There is no regulatory, automatic of any other kind of framework to revert transactions that went through.

There is crdt (a commutative replicated data type) research. So these are data types that an always solve inconsistencies should they arise and instead of diverging they auto-converge, in face of conflicts. Think set union operation or max() function.

These kind of trade-off will percolate up through your data layer into your business problem. For some cases you'd want to pick one, for some pick another.

<comment><USER3> Yah but banking sucks as an eventual consistency problem. Sure there are processes to go back and solve conflicts, but they suck too.

Part of the reason we can't transfer money instantly between two accounts in the USA is due to sorting out eventual consistency. Federal guidelines on transfer intentionally make it a slow process so the manual processes can catch up.

<comment><USER4> > Part of the reason we can't transfer money instantly between two accounts in > the USA is due to sorting out eventual consistency.

Yeah, but that's because __everything __is a case of eventual consistency. Causality itself is limited to the speed of light, and "instantly" is impossible. The only question is whether you want to block/wait, or gloss over it with eventual-tricks.

Just look at online FPS games! Even with some of the best consumer-grade communication links and high expectations for each node, it's _impossible_ to provide actual "instant" behavior, and all modern games contain huge reams of code dedicated to maintaining an _eventually_ -consistent environment.

</comment></comment></comment><comment><USER5> So, I've actually been thinking a lot about this problemset. I think that polyglot databases are the future. Most applications can deal with eventual consistency, or at least bounded stale reads [see: most interactions with Twitter, Facebook, etc..].

I think a hybrid consistency model will end up becoming the way we end up going, but not without some changes to the working definition of eventual consistency.

I think that eventually consistent systems that we'll see in the future will at a minimum have atomic, consistent (as in ACID), durable transactions. The big thing you're missing is isolation, and by that, you're also missing serializability. ([http://www.vldb.org/pvldb/vol7/p181-bailis.pdf](http://www.vldb.org/pvldb/vol7/p181-bailis.pdf))

Bounded staleness consistency will probably make most people happy -- as in "Give me a consistent snapshot of the database as of 1 second ago," or "Give me a consistent snapshot of the database as of this logical time" (assuming the database consumer has some sort of logical clock you're passing back and forth -- In essence, MVCC with some exposure of the timestamp. (better explanations: [http://pages.cs.wisc.edu/~cs739-1/papers/consistencybaseball...](http://pages.cs.wisc.edu/~cs739-1/papers/consistencybaseball.pdf))

In addition to this, part of the problems that were outlined in the paper talked about multi-datacenter issues -- a lot of issues with banking-like apps can be solved with escrowing For example, each datacenter has 10% of the account's balance, and you can use consistent commits in the datacenter. If an interactions effects more than 10% of the account's value, it should occur across datacenters, and make a consistent commit across datacenters. (More info: [http://mdcc.cs.berkeley.edu/](http://mdcc.cs.berkeley.edu/))

Anyways...the future is bright, but we need someone to throw a ridiculous amount of money, and time at it.

<comment><USER2> Basho's Riak DB is becoming such a hybrid. It is an traditionally an eventually consistent database, but they are adding strong consistency in the new release. [I don't work and am not affiliated with them, just follow them on Github].

And by hybrid in this case I mean some part to keyspace can be tagged as consistent while others remain as before.

<comment><USER5> Yep. I've done a lot of work with Basho's Riak already, but there is still a lot of work to be done.

</comment></comment></comment><comment> jude- A more recent version of the COPS system is described here: [http://www.cs.princeton.edu/~wlloyd/papers/eiger- nsdi13.pdf](http://www.cs.princeton.edu/~wlloyd/papers/eiger-nsdi13.pdf)

Github for the more recent system: [https://github.com/wlloyd/eiger](https://github.com/wlloyd/eiger)

You can find the first author's posters and talks on the subject of scalable casaully-consistent storage here: [http://www.cs.princeton.edu/~wlloyd/research.html](http://www.cs.princeton.edu/~wlloyd/research.html)

</comment><comment><USER6> Really, you don't want to drop problems like consistency, transactional reasoning, data loss, ... on the head of an application developer. They should be able to have a simple, idealized view on a database or key value store; otherwise you risk their sanity.

<comment><USER7> I'd argue that if you _don 't_ make application developers consider these things, _then_ you risk their sanity when they have to deal with the fallout.

They need to understand the tradeoffs, and be able to decide which guarantees are important when.

<comment><USER8> Exactly this. I wrote a blog (at [https://www.crittercism.com/blog/scaling- with-eventual-consi...](https://www.crittercism.com/blog/scaling-with- eventual-consistency/)) about why my company designs for eventually consistent stores from the beginning. There are a lot of use cases - and the number is growing as companies deploy large, scaleable systems - where a consistent store just isn't practical or even needed.

You can't just use an eventually consistent store as an ACID system and expect it to work, and it's almost always a Really Bad Idea to try to implement ACID on top of EC. Understand how your database works and design to its strengths instead of trying to pretend that its weaknesses don't exist.

</comment></comment></comment><comment><USER9> Am I missing something, or is this just a rehash of lamport timestamps, which were first described in 1978, and are part of any reasonable undergrad distributed systems course?

<comment><USER10> It's a pretty good rehash, but yeah, it's a rehash of Distributed Systems 101. In particular, the idea that changes can be propagated eventually but still in order is almost as old as computers, but don't say it too loud. For some reason that seems to bring out the knives in the dark.

</comment></comment><comment><USER11> Very well written and informative once you distinguish "causal" from "casual".

</comment><comment><USER12> I think this is an eloquent response to this: [http://www.businessinsider.com/the-future-of-the- blockchain-...](http://www.businessinsider.com/the-future-of-the- blockchain-2014-4)

</comment><comment><USER13> Another take at this problem is HyperDex [1], which provides strong consistency [2] and multi-key transactions [3].

[1] [http://hyperdex.org/](http://hyperdex.org/)

[2] [http://hyperdex.org/papers/hyperdex.pdf](http://hyperdex.org/papers/hyperdex.pdf)

[3] [http://hyperdex.org/papers/warp.pdf](http://hyperdex.org/papers/warp.pdf)

</comment><comment><USER3> Eventual consistency violates the principle of least surprise.

"Oh you hit the save button? Yah, we'll get to that."

<comment><USER9> Eventually consistent systems aren't built because eventual consistency is considered a "good" property. Eventually consistent systems are built because eventual consistency is the least-bad option in a fundamental trade-off.

When a distributed system is partitioned, it is impossible to execute all operations on a shared resource serializably. So, the system must either fail some requests, or fail to be serializable.

You can have your principle of least surprise, or you can have a system that is capable of serving traffic even after some drunk sailor drags an anchor through a submarine cable. You can't have both.

</comment></comment><comment><USER14> Here is a summary of their SOSP 11 paper. [http://muratbuffalo.blogspot.com/2012/09/dont-settle-for- eve...](http://muratbuffalo.blogspot.com/2012/09/dont-settle-for-eventual- scalable.html)

</comment><comment><USER10> The title is misleading link-bait (eventual does not necessarily imply unordered) but otherwise looks like a pretty good discussion of issues many of us have to deal with.

</comment><comment><USER15> The page is timing out. Or is that the 'eventual consistency' pun intended ?

<comment><USER16> Not timing out here, Pun would suck, and here's a cached version for you: [http://webcache.googleusercontent.com/search?q=cache:KNB7FI3...](http://webcache.googleusercontent.com/search?q=cache:KNB7FI3WkdwJ:queue.acm.org/detail.cfm%3Fid%3D2610533+&cd=1&hl=en&ct=clnk)</comment></comment>


Google's Opt Out from 3rd party cookies extension is broken for long time - <AUTHOR> http://code.google.com/p/google-opt-out-plugin/issues/detail?id=18

<comment><AUTHOR> The reason is simple, Chrome Extensions Cookies API is not in experimental state no more, but nobody took time to update extension code.</comment>


Ask YC: Good Lisp Hosts? - <AUTHOR>

We're in the early stages of our app and just recently decided to write it in Lisp (we started out with Ruby, but given what we're doing, Lisp began to look like a very good fit).<p>Anyone have experience with a host, good or bad, that they'd like to share?  We've got a couple hosts in mind, but if anyone is going to have good tips on this, it's Hacker News. <comment><USER2> Been there, done that:

[http://www.google.com/search?hl=en&q=site%3Anews.ycombin...](http://www.google.com/search?hl=en&q=site%3Anews.ycombinator.com+hosting&btnG=Google+Search)

Get a dedicated box and run whatever you want on it.

<comment><USER3> +1 dedicated boxes are quite cheap these days!

</comment></comment><comment><USER4> Good host: tech.coop

Bill Clementson and Drew Crampsie are still on staff there, as far as I know.

Are you willing to share any more info on your app?

</comment><comment><USER3> Which Lisp are you running? Xen VPS on x86-64 seems to have troubles running SBCL.</comment>


Ask HN: Open Source equivalent of Kindling app? - <AUTHOR>

Can anyone suggest/recommend an open source equivalent of Kindling app (MindTouch etc)? Thank you <comment><AUTHOR> <http://www.kindlingapp.com/></comment>


How to find and delete data Google keeps about you - <AUTHOR> https://www.cnet.com/how-to/google-keeps-a-scary-amount-of-data-on-you-heres-how-to-find-and-delete-it/ <comment><USER2> Funny that this is from CNET, notorious for bundling all of their download.com software with adware and spyware.

<comment><USER3> To big tech, tech news and media, privacy is just propaganda

</comment></comment><comment><USER4> Did you hear the joke about the guy that successfully opted out of Google tracking?

He got run over by a Waymo.

Seriously though, anyone who understands Google's ad business (and ancillary businesses, like Waymo and Nest) knows they will never voluntarily provide a complete opt-out to data tracking.

On the bright side, I used to bike commute near their self driving cars. They certainly have GB's of 3D full body scans of me wearing spandex. I hope it gives their AI nightmares.

<comment><USER5> > knows they will never voluntarily provide a complete opt-out to data > tracking

In the sense that they lack the will or in the sense that it's a technical impossibility? I think there's a lot of detail in the definition of the term "complete opt-out to data tracking" that needs clarification to evaluate a statement like that.

(For one thing, your Waymo joke is kinda serious. ;) )

<comment><USER3> In the sense that as nobody can ever know for sure if they did, or prove they didn't, than they will never do

</comment></comment></comment><comment><USER6> This article says that holding your location history is creepy but holding your search history is harmless and you should let them do it.

I find the opposite is true. I have no use for my search history, but I like to see my timeline to help me remember. I have a bad memory. Looking up past events, trips I took, places I've been and the context of my old photos is important to me.

So my question is, why does CNET want me to delete my timeline but not my search and app usage history? My location data is of no use to them, (but it is of use to me,) so location data is "creepy" but my search history is very important to keep? Huh? Why exactly? Why do I need to remember that 2 months ago I searched for "python ppa ubuntu"? Useless. Delete it please.

</comment><comment><USER7> PSA: Before you delete your location history, please consider downloading it for personal use later, via Google Takeout. Several tools (that you host) may make that data useful/interesting to you (especially for trips/vacations/events).

<comment><USER8> Would you mind elaborating on the "several tools" that you're referring to? I'd like to learn more about this.

<comment><USER7> There are a couple tools that will extrapolate your location from a bunch of location sources and apply it, to, for example, images and videos that don't have direct GPS metadata. The only tool I've used is [https://exiftool.org/geotag.html](https://exiftool.org/geotag.html)

(I'm a huge fan of ExifTool: I wrote both the ruby and node wrappers for it!)

FWIW I will be adding this location extrapolation to PhotoStructure at some point soon, as all my dSLR images don't have GPS tags.

</comment></comment></comment><comment><USER9> The article starts with this sentence:

"Whether you have an iPhone ( $699 at Apple ) or Android phone, Google Maps logs everywhere you go, the route you take to get there, when you arrive and what time you leave -- even if you never open the app."

Where iPhone link actually is an affilate link to Apple Store which (I assume) pays money to CNet for advertising it.

Am I the only one that considers this a bit suspect? Especially in an article that's talking about Apple's competitor?

<comment><USER7> I agree it's suspect, but the link may have been auto-added by the publishing system, not by the author (disclaimer: I helped build their product catalog and taxonomy tools a long time ago).

</comment></comment><comment><USER10> All it probably does is switch a Deleted field to True.

<comment><USER11> Just in case you want to get it back some day!

<comment><USER5> You joke, but accidental deletion of critical information is more common than desired deletion of sensitive information, which is exactly why services have soft deletion: most users want it.

</comment></comment></comment><comment><USER12> I'm curious about how they make use of their knowledge of multiple accounts. In Chrome and the Gmail app they definitely understand that these x accounts belong to the same person, and I imagine there's some kind of Uber-profile on me.

I keep waiting for the day I'm filling out one of their captchas and after a couple failed attempts it'll say, "c'mon, (my actual name), you know what a traffic light looks like".

<comment><USER13> > I'm curious about how they make use of their knowledge of multiple accounts. > In Chrome and the Gmail app they definitely understand that these x accounts > belong to the same person, and I imagine there's some kind of Uber-profile > on me.

At the beginning they actively discouraged these, but in the end they gave up and make multiple personal profiles supported. Of course the have our uber- profile, after all, I situations where multiple Gmail accounts in one phone are shared by different people must be extremely rare. So I guess they embraced it and try to learn more about the user by analyzing how these different accounts are used.

<comment><USER5> Whether or not they use it for aggregate tracking, it's necessary for fraud detection. Creating a thousand ghost accounts to multiply the force of an attack via (or upon) Google services is "black hat 101."

</comment></comment></comment><comment><USER14> So you click a few buttons and trust that they do what you want them to do. Google could just say they delete that data and still keep and sell it, there is no way of really knowing.

<comment><USER15> That would open them up to costly litigation, especially under GDPR. Not saying "companies never break the law", just that doing it this explicitly is a much higher risk profile to them. That, in turn, makes it less likely they'll do it.

<comment><USER16> They are already not compliant with the GDPR.

</comment></comment></comment><comment><USER17> It's pretty easy to go to the main privacy settings and turn off all tracking and also 'delete' whatever info they've accumulated. I tend to do that every month or to, as Google's dark patterns on my phone or some other site almost always turn them back on, especially location.

Regardless, it seems like a pointless exercise. Besides the easier to find 'privacy' settings that Google makes available, you can actually request to download ALL the data Google has on you. Last time I tried, I filled out the form and the reply is that Google will need almost a week of time to gather the data, upon which they sent me a link to download a massive (several GB) log file.

So let me get this straight. I supposedly deleted ALL my data in the privacy settings. Just five minutes later I can then download the GB of data they still have on me?

I'm guessing the easier to find privacy settings don't do much at all except delete some advertiser ID that is used a primary key in their main caches, used with cookies and on Android.

On the other hand, using more complex analytics, they could easily put together a profile of every single bit of data they've got on my for the last 10 years.

<comment><USER18> That's not all the data on you. That's all the obvious visible sort of data.

</comment></comment><comment><USER19> > but you can wipe the slate clean with these steps.

That subtitle is misinformation, and so is the underlying premise of much of that story, as:

1\. All of the data Google collects is passed on to the NSA (if not also elsewhere), which will obviously not delete it.

2\. The fact that the information stops appearing as part of your account does not mean it is properly deleted from Google's servers for their own internal use (and perhaps more 3rd party sharing).

3\. The results of _processing_ your collected personal data - even mildly - are not part of what you see on your profile, and you're not issuing a command to delete all that.

<comment><USER20> > All of the data Google collects is passed on to the NSA (if not also > elsewhere), which will obviously not delete it.

This is obviously false, given that the Snowden leaks showed the NSA literally tapping wires between Google datacenters. They wouldn't need to do this if everything was shipped to the NSA already.

<comment><USER21> The NSA got caught with its hand in the cookie jar, and instead of taking it out, just made a deal with the cookie chef to share crumbs without anyone knowing, coz "national security", etc.

</comment></comment></comment><comment><USER22> I'd be interested to see what they know about me if I don't have an account.

<comment><USER23> assuming no smartphone in this scenario, every time you visit any o their services you are being tracked via ip and headers you sent(referrer for example). this way they can build a profile, even if they do not have your personal details. you think you are "safe" if you do not use their services but 99% of websites use their google analytics, cdn or social widgets/sharing buttons... which allows them to track you. so the only way to avoid this breach of privacy is to keep your hosts file updated and never let your browser access any of their websites. i would also be concerned with their dns over http now.

facebook is the same but due to its nature it does it only via its social sharing widgets that people put on their websites and the embedded comments and things like that.

google's cdn is the most dangerous of these things.

</comment></comment><comment><USER24> But why?!</comment>


Apple Tries to Win Back Students and Teachers with Low-Cost iPad - <AUTHOR> https://www.bloomberg.com/news/articles/2018-03-23/apple-will-return-to-its-roots-with-education-tools-and-new-ipad <comment><USER2> My kids have now had both iPads and Chromebooks, and the Chromebooks were obvious winners in every single way. The teachers and kids both like them, they're clearly better for actual school work and learning, everything is just better. It's just a nice bonus that they're way cheaper.

<comment><USER3> My kids have both iPads and school issued Chromebooks. They hate the chromebooks, only using them for homework. They call them "CrummyBooks." The build quality is terrible, battery life is terrible, and to my kids, they're locked down way too much (some of this might simply be the wifi restrictions/filtering at school).

Initially our school district planned iPads, but backtracked over cost. We were initially excited for them, so that our kids wouldn't have to carry so many heavy textbooks. But the quality of the textbooks on the Chromebook are terrible. It's as if the publishers simply took galley proofs and dumped them into a pdf.

<comment> Harvey-Specter > the quality of the textbooks on the Chromebook are terrible

Would you expect the textbooks to be better quality on the iPads vs on the Chromebooks? Why?

<comment><USER3> No, I just expected them to be better, more like an ebook than a crappy PDF. If I could move the textbooks to my daughter's iPad I would, but they're licensed and I haven't tried to work around the DRM.

<comment><USER4> Textbooks that cannot be read on a different device due to DRM? That's some really ugly distopian stuff. Feels so wrong on multiple levels.

Back when I was in school, I was getting some of the textbooks second hand from the year older students and selling mine to the younger ones, on a fair organized by the school.

</comment></comment></comment></comment></comment><comment><USER5> It is not the hardware you need to spend the most on... It is to the inflated cost of apps, like Oxford Dictionary, etc that charge more due to the Apple Tax. The lower cost of the iPad is not enough incentive for us to upgrade any time soon.

</comment><comment><USER6> My previous job was in K-12 tech, and I still keep in contact with my old boss.

When I started at that position, the school district (~5k students) was nearly 100% Apple. Nearly every device was the low-cost polycarb Macbook. The district purchased them with a heavy investment from "Classrooms for the Future" program, which covered a large portion of the cost.

Since that time, Apple retired the less expensive model and (same as they still are) trying to position the iPad as a replacement.

Here's the problem though: Students are never going to be effective at long- term use on a tablet. Can you imagine writing a grade 12 level book report on a touch screen? Budget-wise, the district would only be able to purchase the iPads, a case, and that's all. Bluetooth keyboards would not be able to fit in the budget.

Compared, feature for feature, and price- Chromebooks and other traditional low-cost laptops are much more effective to the success of getting technology into students' hands.

In fact, they currently run one of the largest 1-to-1 Linux laptop deployments in the eastern US: [https://technology.pennmanor.net/11-laptop- program/](https://technology.pennmanor.net/11-laptop-program/)

<comment><USER7> You worked for Penn manor? That is pretty cool. At Philadelphia fosscon last year I saw a presentation by the it director at Penn manor (who is who I assume you are talking about). It was a really interesting talk, and it was an impressive achievement. More than just the saving money or more foss use in schools, I thought the program was especially cool for how it taught actual it and computer skills to the children.

</comment></comment><comment><USER8> The Apple Pencil should be a key strategic advantage for the iPads and should be compatible with every model if not included in the box outright. Instead Apple restricts the Pencil to the Pro models. Microsoft won the Business world by owning the document format. Apple could win the education world by owning the handwritten notes format [1] if Pencils were standard

What is Tim Cook's vision for education? Nobody fucking knows. One year Apple is trying to sell iPads claiming it's "whole new kind of computer" then a few months later they are wondering "what's a computer". Without a compelling vision the iPad will continue to flounder.

p.s. I want a 7.9" iPad Pro

[1] there is no open source .txt equivalent for hand written notes. We'll need one if OneNote/Apple Notes ever takes off

<comment><USER9> I put some effort into seriously transferring over note-taking and journaling to an iPad Pro and Pencil. The initial experience was so delightful that I thought it could be amazing.

\- I initially liked the experience of writing on glass - its fast and the responsive but quality seriously suffers - letter roundness and stroke subtlety is lost to become spider-scrawl. This meant that reading it back later became a deeply unpleasant and difficult experience reducing the value of writing anything at all. I committed to it and it didn't seem to be a technique issue but a combination of the zero friction pen/screen interaction and how strokes are recorded and rendered. The one thing I did not try was a screen protector to add more friction.

\- electronic store of handwriting did not not prove useful. It became a worse experience than flicking through loose leaf paper which you can layout, rearrange, pin up etc. There is no handwriting recognition or anything to add value like searching. If I ever wanted to make ink digital, I could take a photo in 2 seconds.

\- There is something psychological and so special about ink, paper, flow experience. When you write with ink, you make a mark on the world. The experience and art is lost on a screen. Its also pretty weird when the screen gets hot and it increases the time you are staring closely at a screen which is more fatiguing than taking a break to stare at paper.

\- IOS is just a bad productivity platform - copy text out of a webpage/ebook into notes? Ugh. Get a pdf onto the iPad. Ugh. It hobbles the user at every turn. Delight turns into impotent rage at anti-user design decisions to keep you buying media from Apple. I found I either wanted real text notes and all the high quality text tooling I am used to on a laptop or the real pen and ink experience for the flow and flexibility.

A week later, I returned the 12" pro and pencil - the initial wow-factor turned into loathing. Its worse than the cheapest pen and paper.

<comment><USER10> I completely agree, except my experience was on a Surface Pro 4. Let me start by saying it's a fantastic product and the experience of writing/erasing with the pen was great. I commit to it for a few months in college and while it was fun to write on, I found that it became more of a hassle when I would try to study or refer back to my notes. I would be switching tabs constantly on OneNote then back to a browser, then back to my notes, etc.

With traditional pen/paper, it leaves your computer fully available for research, videos, or quick references without having to switch around. Great products overall, but the experience is still lacking in that regard.

</comment></comment></comment><comment><USER11> I just came from a state-wide, three day tech conference for K-12. I came as a technology person and thought I might just attend the sessions for teachers and boy did I get my eyes opened—Google Classroom is a major hit. Teachers really, really like Chromebooks. This is major.

</comment><comment><USER12> I will never understand why they don't just rebrand the Macbook Air as just the Macbook... The new Macbooks look ridiculous to me. They look more like something that could be called the Macbook Air instead. They should swap the names. And if they did that and THEN got rid of the Macbook Airs (currently the Macbooks) I would not be bothered by that. I think Macbooks are hideus compared to how nice they used to look before they discontinued them. But that's beside the point. I hope they figure this simple trick out. It would make their line up way better. Not like they haven't changed their OS name already.

<comment><USER13> I love the 12 inch MacBook. It's super small and light and I can carry it in just a sleeve, and the battery still holds for many hours. Granted, it's not a powerhouse and I mainly use it for presentations and very light coding, but there's the Pro model if you need more. Each tool has a purpose, and the 12" is great for my needs.

The current Air is larger for no particular reason and has a lower res display, so it's obviously the budget version.

<comment><USER14> I have a 13" MBP (2017), and it fits in the sleeve I bought for my 12" Windows tablet (Samsung TabPro S). Battery life is adequate to great, though it feels pretty low-spec. I'm not sure if that feeling is because it _is_ comparatively low-spec, but because I recently bought a desktop for gaming and am comparing it to that.

</comment></comment></comment><comment><USER15> With budget constraints I don't see how the iPad can compete with cheaper alternatives. The only real advantage I see for the iPad over Chromebook in the education market is that one can digitally markup documents on the iPad and take handwritten notes on it.

I use an iPad Pro to grade math homework for my online students. I wish they all had iPad Pros (or Surface Pros) but I can't force them to buy an iPad for one class. It would be nice if the college required their usage but there aren't enough compelling reasons to do so at this time. I'm skeptical that there will be enough after Tuesday's event.

<comment><USER8> > The only real advantage I see for the iPad over Chromebook in the education > market is that one can digitally markup documents on the iPad and take > handwritten notes on it. I use an iPad Pro...

The 'regular' iPad (and presumably this cheaper iPad) do not support the Apple Pencil. There are Chromebooks with wacom pen support e.g. Samsung's Chromebook Plus/Pro [1]. Those Chromebooks start at $499. The iPad Pro starts at $649 (+$100 for the Apple Pencil).

[1] [https://www.samsung.com/us/computing/chromebooks/all- chromeb...](https://www.samsung.com/us/computing/chromebooks/all-chromebooks/)

<comment><USER15> I know only the Pro model of the iPad supports the pencil. I'm assuming - hoping! - these new iPads do as well. I did not know about Chromebooks having pen support. Given this I don't see how Apple can make a compelling case for the iPad.

When the iBooks development software came out I was excited. I create my own materials for my college math courses and I wanted to write a book. But iBooks is only on Apple devices so why would I spend time creating materials for iBook? Apple needs to open up some of their stuff if they want a wider adoption in education.

</comment></comment></comment><comment><USER16> Update the iPad Mini... it's been 2.5 years.

</comment><comment><USER17> A low cost pencil, paper, and a book is all you really need.

<comment> throwaway-1x9 Yea? Are they going to teach programming with pencil and paper?

<comment><USER18> How do you teach programming without pencil and paper ?

<comment><USER19> On laptops?

You do know they have the ability to keep notes, right?

<comment><USER20> How long does it take to draw diagrams and modify and annotate them over time on note taking apps? You can do it in seconds by hand. The situation applies to drawing arrows between phrases and such too. For some things, the simple way is the best.

It's not one or the other, even in the classroom. Computers didn't kill handwriting or print, and latter don't hinder the use of computers. They all complement each other.

Useless tangent: In my experience (= K-12 + 10 years at universities) the best way to lock things in ones head is to take quick handwritten notes and then reread, correct, and enter them as notes on one's computer.

<comment><USER19> I didn't make myself clear. I agree, I use pen and paper every day to complement my laptop use, and it's miles better for some things than can be accomplished digitally even today.

It's still doable to only have a laptop and use that for everything, if not practical or quick enough in many cases. Pen and paper is nice to have, but it's not 100% required.

</comment></comment></comment></comment></comment></comment><comment><USER21> Seems to be a lot of Chromebook comments. Has anyone actually seen one used in the real world? I contract at a bunch of different places and I've never seen anyone use one in a business setting. I'm not sure just learning how to use an iPad is better but I definitely see those being used.

<comment><USER22> I know of two people who used Chromebooks around 2015. One of them basically used it as a light laptop. Took notes with it, traveled with it, etc. The other guy used it as his primary computer. In spite of him praising it whenever someone would ask about it, he was always complaining about how difficult it was to use as a development machine. Once you got external software properly installed and configured, it was fine.

Hearing him complain was reminiscent of using Linux in the early 2000s. No one really wrote consumer applications for Linux at the time, and driver support was a nightmare. Once you figured out all the warts and quirk, it was fine.

This was 3+ years ago though, so I imagine things have improved in that space.

</comment></comment><comment><USER23> Maybe that they can try and win back us developers with better macbooks. And stop being so stingy with space.</comment>


Minimize your cloud costs with GLPK and Haskell - <AUTHOR> http://www.chrisstucchio.com/blog/2012/linear_programming.html <comment><USER2> This is great, but the Github literate Haskell code looks so much better (cleaner, syntax highlighting, etc.) than your blog formatting - I found the code fragments impossible to read.

The literate Haskell version on Github:

[https://github.com/stucchio/Cloud-capacity- planning/blob/mas...](https://github.com/stucchio/Cloud-capacity- planning/blob/master/cloud-planning.lhs)

</comment><comment><USER3> Is this considered a nice Haskell style for this kind of programs? If so, I prefer how LP looks in Python. If someone is interested, my presentation slides:

[http://www-sop.inria.fr/members/Remigiusz.Modrzejewski/prese...](http://www- sop.inria.fr/members/Remigiusz.Modrzejewski/presentations/python_2012.pdf)

Note this presentation was given to an audience that mostly knew ILP and has used it before for combinatorial optimization, so I'm not gentle with theory. It's just to show that Python is a little nicer than Java to do it.

<comment><USER4> Your Python DSL looks very nice. There's no reason a Haskell one couldn't look equally nice.

<comment><USER5> Indeed, with type information you can do quite sophisticated embedded DSLs that heavily reuse the host language's infrastructure for variables, control and types.

So no need for the LpVariable stuff, for example, and you get type safety.

An example of an SMT solver DSL, which:

* reuses Haskell's type checker to check the types of the embedded language,

* uses Haskell's polymorphism to add polymorphism to the underlying language

* and the host language's variables as target language variables.

[http://code.haskell.org/~dons/docs/yices-painless/Yices- Pain...](http://code.haskell.org/~dons/docs/yices-painless/Yices-Painless- Language.html)

</comment></comment></comment><comment><USER6> Very insightful

Linear Programming is one of those things that's usually underrated (and sometimes overrated)

But I would probably not use Haskell and just create the problem as a text file in whatever format GLPK accepts - probably a derivative of 'the standart format' (which is bad for very complex problems, still)

<comment><AUTHOR> I didn't know glpk takes text input.

I'd write the program anyway, however - the text file would actually be quite large. This problem has 15 variables and 27 constraints (if I counted correctly). Your plain text input to glpk would be at least 43 lines long (counting the objective function), compared to about 30 lines of haskell.

If your usage pattern varied daily (e.g., one pattern for monday, a different one for tuesday), your input would become even bigger. The only modification to the haskell code would be:

        main = do
            printLPSolution (Map.fromList [ ("mon_0", 12.2), ("mon_1", 25.1), ("mon_2", 53.5),
                                            ("tues_0", 15.8), ("tues_1", 33.9), ("tues_2", 76.2),
                                            ...
                                           ])

<comment><USER6> Yes

Here's the docs for the language glpk uses

<http://www.cs.unb.ca/~bremner/docs/glpk/gmpl.pdf>

Yeah, with 15 (effective) variables it's better to write in some higher level way.

And there's always the canonical way, but that's awful to write by hand, like

k00.v00 + K01.v01 + K02.v02 + k03.v03 < C0 k10.v10 + K11.v11 + K12.v12 + k13.v13 < C1

<comment><USER7> I used it for a problem recently, and just wrote code to generate the text file for me.

</comment></comment></comment></comment><comment><USER8> If others are interested in Linear Programming or more specifically the science of Operations Research you can look to Michael Trick's OR Blogroll. [http://www.google.com/reader/shared/user/1312140850587335682...](http://www.google.com/reader/shared/user/13121408505873356820/label/ORBlogRoll)

</comment><comment><USER9> Cool that they're using Haskell for something. But this would be much better done in Mathematica, Octave, R or Macsyma. It's an operations research optimization problem and all of those environments have packages for OR.

<comment><AUTHOR> Why would it be better in one of those languages?

I'd be very surprised if it was as easy to set up the problem in R or Macsyma. In those languages, you'd probably need to write loops to generate your constraints (but maybe I'm wrong, I'm no R-expert).

But I'd love to see code proving me wrong.

<comment><USER9> Well, my experience is in mathematica. Which has operations research functions built right in. Point being, there are systems where this is already a solve problem, where you can get your answer in a minute or two.

So you'd simply do Minimize[function, {variables/constraints}] and then get on with your day.

<comment><AUTHOR> It's true, glpk is not part of the haskell standard library. But solving a simple LP problem is easily done in a minute or two:

        lp = execLPM $ do	setDirection Max
    			setObjective objFun
    			leqTo (varSum ["x1", "x2", "x3"]) 100
    			leqTo (10 *^ var "x1" ^+^ 4 *& "x2" ^+^ 5 *^ var "x3") 600
    			leqTo (linCombination [(2, "x1"), (2, "x2"), (6, "x3")]) 300
    			varGeq "x1" 0
    			varBds "x2" 0 50
    			varGeq "x3" 0
    			setVarKind "x1" IntVar
    			setVarKind "x2" ContVar

        main = print =<< glpSolveVars mipDefaults lp

The code in the blog post is just longer and more complicated because it's generating multiple constraints from code.

The only reason my code doesn't look as simple as the above is because it's doing a lot more. For example, this line generates 9 constraints:

        reservationConstraints loadPattern = [ linCombination [ (1.0, "reservation_" ++ k),
                                           (-1.0, "reserved_" ++ k ++ "_" ++ p) ], 0.0  |
                                           p <- (Map.keys loadPattern),
                                           k <- reservationTypes ]

E.g.:

        reservation_heavy - reserved_heavy_morning <= 0
        reservation_heavy - reserved_heavy_afternoon <= 0
        reservation_heavy - reserved_heavy_evening <= 0
        reservation_medium - reserved_medium_evening <= 0
        ....

If Mathematica is so easy, I'd love to see a significantly simpler version _of the same problem_ written in it. But I have absolutely no idea how I'd write that simpler version.

<comment><USER10> Maximize[...], Minimize[...], LinearProgramming[...] thats it... But Mathematica costs money.

Example:

Minimize[{x + 2 y, -5 x + y == 7 && x + y >= 26 && x >= 3 && y >= 4}, {x, y}] LinearProgramming[{1, 2}, {{-5, 1}, {1, 1}}, {{7, 0}, {26, 1}}, {{3, Infinity}, {4, Infinity}}]

<comment><AUTHOR> The vast majority of the code I wrote is setting up the problem (which has 15 vars and 27 constraints), not solving it. I.e., those list comprehensions are a way of writing 9 constraints on a single line.

To demonstrate mathematica is easier, you need to demonstrate that it's similarly easy to translate the problem from a verbal specification to an LP problem. Solving LP is the easy part.</comment></comment></comment></comment></comment></comment>


Does Google Instant really work? I don't see it. - <AUTHOR> http://techstopmuse.tumblr.com/post/1709050678/does-google-instant-really-work

<comment><USER2> This video wasn't about Google instant: it was about magazine search, which it handled extremely well.

<comment><AUTHOR> i know that. what i'm saying is.. notice that instant wasn't used. even though it was clearly working. that's what i meant by activity in the background. google instant working. not used. I've seen this behavior quite visibly around my university labs as well.

If you have seen otherwise do hit back. I'm trying to find out if Instant really does change the game the way they hoped it would or whether it's a few years ahead of its time since most people still type out the full thing all the same.</comment></comment>


Socket.IO 0.6 released - <AUTHOR> http://groups.google.com/group/socket_io/browse_thread/thread/788f3594b9b16899

<comment><USER2> For those Python developers who want to try socket.io, there's an implementation of server part of socket.io in Python: <http://www.gelens.org/code/gevent-websocket/>

<comment><USER3> Correct me if I am wrong, but isn't this just websockets, not the whole of Socket.IO (i.e. fallbacks for non-supporting browsers)?

There is also: <http://github.com/SocketTornadIO/SocketTornad.IO> which is a port of Socket.IO that runs on Tornado.

<comment><USER2> Indeed, sorry. Here's the correct link: <http://bitbucket.org/Jeffrey/gevent- socketio> (by the same guy)

</comment></comment></comment><comment><USER4> Impressive list of improvements. Can't wait to update.

</comment><comment><USER5> Socket.IO has really impressed me in the past month. That said, some of the documentation is tricky (IMHO) with things like gotchas in the absolute/relative paths, special cases for working within Node.js, etc. If anyone else here is using this new Socket with Node, I'd be interested in comparing notes-- PM me.

<comment><AUTHOR> One of the goals of this release was to make it as easy as possible to get started.

1) One line to install

npm install socket.io

2) Three lines two use on the server

var io = require('socket.io');

var socket = io.listen(yourHttpServerInstance);

socket.on('connection', function(conn){ conn.on('message', function(msg){ console.log('message from client', msg); }); }

3) Three lines to use on the client

<script src="/socket.io/socket.js"></script> <!-- assuming node serves the HTML too -->

var socket = new io.Socket().connect();

socket.send('my message!');

</comment></comment><comment><USER6> Rauchg: I'm sorry I didn't check back in with the changes I suggested (using a filtering function in listener.broadcast as a complement to an array with exceptions).

I have the implementation down but I'm struggling with the tests. I wanted to create tests for all means of calling with exceptions, and I think I have the other ones down.

I'll ping you when I get it fixed, promise!

Edit: Thanks again for your work, Socket.IO is really great!

</comment><comment><USER7> this library is what i am looking for to implement my project. great news. Thanks

<comment><USER8> It feels like programming with websockets, except that it works with every browser that people are likely to use. Socket.io is wonderful.</comment></comment>


Show HN: On the 50th anniversary of MLK's speech, here is our tribute - <AUTHOR>

Hi guys,<p>We run an inspiration based site and back on the 4th April created a tribute slideshow of Martin Luther King - all his inspiring quotes, and pictures, in one place. We thought it was a good opportunity to share this page today and to show people just how inspiring he was. Here's the link - http://www.getinspired365.com/20130404 <comment><USER2> Nice UI, although it does seem to get confusing when you blend in a video.

<comment><AUTHOR> Thanks! Yep we're looking at how to blend the two together in a nicer way. Thanks for the feedback..

<comment><USER2> personally I would separate them. Offer a photo only or video only experience, and taoilor UI to them. Clicking on a video that's externally hosted compared with a image can be totally different and not so easy to control.

</comment></comment></comment><comment><USER3> Nice site. Well done!

<comment><AUTHOR> Thanks, really appreciate it!</comment></comment>


Linux on an 8-Bit Micro? (2012) - <AUTHOR> http://dmitry.gr/?r=05.Projects&proj=07.%20Linux%20on%208bit <comment><USER2> For the curious—2017: [https://news.ycombinator.com/item?id=15841241](https://news.ycombinator.com/item?id=15841241)

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

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

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

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

</comment><comment><USER3> It's a good example of a minimal system, but it's more academic than an example of something that illustrates a useful system. It's arguable whether much could be done with it in real time. There's no TCP/IP stack, and even if networking did exist, most connection types would time out.

I'm interested in the minimal computing resource needed to run a full network stack and recent software. So far, I've run an m68030 with 10 megs of memory and a 16 bit memory bus (Mac LC II) multiuser with networking. 24 megs in a VAXstation VLC is enough to compile plenty of real software. Even a real 11/780 from 1977 can still run sshd and negotiate a connection before a timeout.

<comment><USER4> I have this bucket list idea of getting the lowest-powered chip I can find that's still fast enough to give me a nice little *nix environment in which I can use Vim, Tmux, and also SSH into things, then sticking it into a laptop shell and filling the rest of the space with batteries.

I wonder if one could achieve like a month of battery life for such a glorified typewriter/thin client.

<comment><USER5> Just curious, what would you use vim for on a device like that? Presumably it won't be able to do much beyond what you outlined so unless you plan on using it as just a not taking device/typewriter, why not just have an embedded ssh client with tmux?

<comment><USER4> Pretty much just what you said - when offline, it's just a fancy typewriter that I can also run a simple shell script or two on.

</comment></comment></comment></comment><comment><USER6> For people interested in this, another thing to be aware of is uClinux: [https://en.wikipedia.org/wiki/%CE%9CClinux](https://en.wikipedia.org/wiki/%CE%9CClinux)

Another easy way to play around with Linux fit onto very modest hardware (but not 8-bit microcontrollers), which is very popular and very useful, is OpenWrt on a cheap old home WiFi router: [https://en.wikipedia.org/wiki/OpenWrt](https://en.wikipedia.org/wiki/OpenWrt)

(If you want to pick up an old router for $20, WNDR3700v2, WNDR3700v4, WNDR3800, and select later ones in that family are a good starting point. The OpenWrt wiki pages for them will give specs and suggest what hardware revs are better.)

</comment><comment><USER7> This is impressive.

Myself and several project mates used an Atmel AVR in early 2003 to build an mp3 player. We didnt bother with the storage integration instead to just opt to stream the mp3 file from a host PC over a UART. IIRC, we only had 32k RAM & 32k ROM to work with (we werent using a Mega chip, I'd have to dig through notes to find the model).

Knowing what we went through to get that mp3 player working (which we delegated the actual decoding to a dedicated chip) with just the AVR, what Dmitry accomplished with this is amazing. Many props.

Edit: this was a senior level college project for a BSEE, not work related.

</comment><comment><USER8> _Very_ impressive.

Kinda reminds me of Linux running on JavaScript: [https://bellard.org/jslinux/vm.html?url=https://bellard.org/...](https://bellard.org/jslinux/vm.html?url=https://bellard.org/jslinux/buildroot-x86-xwin.cfg&graphic=1)

<comment><USER9> They're both hacks for running Linux in ways it was not intended to run, by exploiting other technology, so there's certainly some connection.

<comment><USER10> How was linux intended to run?

<comment><USER11> It's in the article:

"The common answer is that it requires a 32-bit architecture and an MMU and at least a megabyte of ram to fit the kernel."

He gets around the 32 bit + MMU requirement by emulation. It's a cool hack, but it really is a hack.

<comment><USER12> According to him it takes about 5 hours to get to the command prompt which is kinda funny but interesting project nevertheless

<comment><USER13> I'd imagine that a modern kernel has a lot of pointless fat in it and that the 5-hours figure _could_ be reduced if perhaps only slightly, with appropriate optimization effort. It might even be useful to deliberately have such a super-slow (but reliable, since it runs on highly deterministic microcontroller-class HW) benchmark in the mix, as you would be able to make very precise and fine-grained measurements about how even seemingly-unrelated changes might impact performance within the kernel, whether for the better or worse.

<comment> silly-silly I believe that the idea would not be relevant in "general purpose benchmarking improvements" due to the vast differences in micro architecture between this CPU and modern CPU's.

The pipelining and internal optimizations differ greatly.

</comment></comment></comment></comment></comment></comment></comment><comment><USER14> I have probably commented this before, but the nommu support was merged all the way back in 2.5.46, so a mmu is certainly not a requirement for running Linux.

A 32-bit architecture is not really a requirement either, you just need a compiler that can be told to use 32-integer types and pointers. You probably also have to modify the compiler to generate accesses to your external ram for loads and stores.

The real thing preventing you from running Linux on 8-bit micros is the requirement of a von Neumann architecture (or something that looks like it). These small MCUs usually don't even have a way of loading code at runtime which makes it impossible to run any sort multitasking without interpretation.

</comment><comment><USER15> Maybe CP/M would be an easier type of operating system for that type of computer..if a bit dated.

[https://spritesmods.com/?art=avrcpm](https://spritesmods.com/?art=avrcpm)

[https://hackaday.com/2017/03/25/cpm-8266/](https://hackaday.com/2017/03/25/cpm-8266/)

[https://github.com/toyoshim/cp-mega88](https://github.com/toyoshim/cp-mega88)

<comment><USER16> Or FUZIX

[https://github.com/EtchedPixels/FUZIX](https://github.com/EtchedPixels/FUZIX)

<comment><USER17> Yep, definitely [http://www.fuzix.org/](http://www.fuzix.org/) . It works on a whole lot of 8 bit machines.

</comment></comment></comment><comment><USER18> I had an 8-bit micro, the Tandy (i.e. Radio Shack) Color Computer ("CoCo"), made in the mid 80s.

I got an optional OS for it, called "OS9" but unrelated to Apple's OS9 (which came later).

OS9 had capabilities very similar to (and modeled on)Unix. Clearly, Linux or something a lot like it could also have run on the CoCo.

<comment><USER19> Trs80 Coco series used the 6809 CPU that is 16 bits. The article talks about Linux on 8 bit systems.

I'd say the Mega65 might be a good 8 bit machine to port Linux to. [http://mega65.com](http://mega65.com)

<comment><USER18> The 6809 was 8 bits, in the same way Z80 and 6502 and 6800 were: 8 bit data bus, 16 bit address bus.

It had a few 16 bit instructions: arithmetic on data in registers, or loading/storing a 16 bit register (8 bits at a time). I think the Z80 did as well.

Here's Wikipedia: [https://en.wikipedia.org/wiki/Motorola_6809](https://en.wikipedia.org/wiki/Motorola_6809)

<comment><USER20> It also had an 8x8 mul with 16 bit result.

<comment><USER21> One 16-bit feature doesn't make a CPU where every other feature is 8-bit a 16-bit CPU.

<comment><USER20> I don't think I claimed it was a 16 bit CPU.

</comment></comment></comment></comment></comment></comment><comment><USER22> Needs (2012)

</comment><comment><USER23> Spoiler: they wrote an ARM emulator.

Very impressive project, but if you were hoping to run Linux on an 8-bit microcontroller for anything real you'll be disappointed.

<comment><USER24> Well, it will run Linux on an 8-bit microcenter for real, just sloooowly :)

<comment><USER25> All they have to do fix that is set LS_COLORS appropriately.

<comment><USER26> I dunno if a factor of 40 is going to cut it.

</comment></comment></comment></comment><comment><USER27> I wonder what would be the ideal Linux compile target for running on interpreter style emulators (as contrasted to binary translation style).

I guess the machine instructions should be as high level as possible, to reduce the interperter dispatch overhead. Of course then you'd need to port Linux and gcc to your hyper-CISC...

</comment><comment><USER13> Interesting. Making it run RISC-V rather than ARM would provide slightly quicker emulation, I believe. (And indeed, more generally, running a RISC-V VM provides a quick way of enabling modern 64-bit code to run even on hardware that's restricted to a 32-bit address space. Given that there's a lot of such hardware around, even of quite recent vintage, this _can_ be practically helpful.)

<comment><USER24> Riscv didn't exist when I wrote this. Even now it doesn't exist (it will "exist" when someone ships a billion somethings with it in it)

<comment><USER28> I absolutely love your 8-bit Linux and plan on building one after I finish my relay computer.

The billion cores mark for RISC-V will be somewhere around the middle of 2020 thanks to Western Digital and Microsemi.

[https://www.forbes.com/sites/tiriasresearch/2017/12/06/weste...](https://www.forbes.com/sites/tiriasresearch/2017/12/06/western- digital-gives-a-billion-unit-boost-to-open-source-risc-v-cpu/#23a62b782266)

> What many do not realize is that the company ships over 1 billion processor > cores within its products each year and is moving toward 2 billion per year.

[https://hackaday.com/2019/02/13/western-digital-releases- the...](https://hackaday.com/2019/02/13/western-digital-releases-their-risc-v- cores-to-the-world/)

> Last year, Western Digital made the amazing claim that they will transition > their consumption of silicon over to RISC-V, putting one Billion RISC-V > cores per year into the marketplace.

[https://www.microsemi.com/product-directory/mi-v-embedded- ec...](https://www.microsemi.com/product-directory/mi-v-embedded- ecosystem/4406-risc-v-cpus)

<comment><USER24> Oh, I do realize it. But it is 2019 so my statement holds as true :)

</comment></comment></comment></comment><comment><USER29> Reminded me of this XKCD:

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

</comment><comment><USER30> Sadly the software is proprietary. Indicating for "commercial use" means it is proprietary.

When already doing something for Linux kernel, it would be advisable to promote the same license as the Linux kernel, such as GNU General Public License 2.

Promote free software and advance of free software.

<comment><USER31> Give it a rest. The project is really impressive and quite a feat. Leave the militant piggy-backing out of it.</comment></comment>