Blockchain-Based Gold Settlement Is Coming to London - <AUTHOR> https://news.bitcoin.com/blockchain-based-gold-settlement-london/ <comment><USER2> Why is this interesting? What is the net efficiency being achieved here? Will this gold be cheaper due to reduced settlement costs, or is blockchain just the buzzword du jour that increases your VC funding.

<comment><USER3> From my dabblings the in the fintech space, it certainly seems that if you're trying to sell a ledger a service these days and you don't use Blockchain, you will not get funding and/or any press mentions.

</comment></comment><comment><USER4> Does this company have any 'official' relation to Paxos, the consensus protocol? This sounds like an incredibly unfortunate and potentially misleading name.

Addendum: I'm by no means an expert on this subject, but are't all those fintech startups that dabble in 'permissioned block chains' and 'distributed ledgers' without incorporating bitcoin's proof of work / public p2p nature effectively just selling rebranded distributed databases? In that light the name Paxos would be even more comical.

<comment><USER5> > Does this company have any 'official' relation to Paxos, the consensus > protocol? This sounds like an incredibly unfortunate and potentially > misleading name.

"Then they join the proud list of all the other poorly named companies in the bitcoin ecosystem including the likes of coinbase, blockchain, consensys, chain, decentral, 21, asicminer, ledger, bitcoin.com, and elliptic." \- some other comment, i don't remember the source

</comment></comment><comment><USER6> It means that I'll be able to buy gold just like I'm able to buy bitcoin? and instead of physically storing gold I'll have the tokens and will be able to get physical gold for them whenever I want?

Does this means that the demand for gold (and implicitly its price) will soon increase?

<comment><USER7> This concept of notional gold that can be redeemed for physical bullion has existed for a while (see: Xetra-Gold). Adding a blockchain for tracking redemptions doesn't fundamentally change the service.

And just like companies like Xetra-Gold, it doesn't address the chiefmost concern: You have no assurance that your fund actually has the gold they claim they do. They might be "renting" the physical bullion out and running a fractional reserve system, in essence a giant Ponzi scheme.

</comment></comment><comment><USER8> Digix is another interesting blockchain/gold project being built on Ethereum:

[https://www.youtube.com/watch?v=kWbgMoJVIzk&feature=share](https://www.youtube.com/watch?v=kWbgMoJVIzk&feature=share)

</comment><comment><USER9> So, moving from fiat crypto to gold standard crypto?

I love how everything eventually comes full circle.

<comment><USER10> How does this comment make any sense at all? Bitcoin etc. aren't fiat settlement systems, they are currencies that have active exchanges.

Using a blockchain for a settlement would mean a ledger of keys that should match 1:1 with the gold held by a company.

<comment><USER9> "Using a blockchain for a settlement would mean a ledger of keys that should match 1:1 with the gold held by a company"

If I were to open up a mine and dump several tons of gold on the market, your 1:1 bitcoin value disappears entirely. I think you should check out why we moved away from a gold standard in the first place - it was too subject to supply pressures.

<comment><USER10> Once again, you are confusing a floating currency with a company using a blockchain technique for more transparent and safe book keeping of their gold inventory.

<comment><USER9> "Once again, you are confusing a floating currency with a company using a blockchain technique for more transparent and safe book keeping of their gold inventory."

You're purposely ignoring basic economic principles required to understand the gist of my comment. Spend some time doing day trading in the metals market and you'll see how a blockchain isn't going to help with keeping gold inventory straight when the prices are tied up. This is gold settlement, not simple inventory tracking, so this is a much more complex issue than you're trying to make it out to be.

</comment></comment></comment></comment></comment><comment><USER11> Failing startup trying to pivot?

[http://www.coindesk.com/itbit-exodus-populating-startups- blo...](http://www.coindesk.com/itbit-exodus-populating-startups-blockchain- expertise/)</comment>


A SaaS Startup's Journey to $100K a Month - <AUTHOR> http://www.groovehq.com/blog/100k

<comment><USER2> I'm looking forward to the future posts. All luck to you!

</comment><comment><USER3> Best of luck to you guys.</comment>


Show HN: ZenJournal – Fast journal app with chat interface - <AUTHOR> https://thezenjournal.com <comment><AUTHOR> Maker here. A while ago I wanted to find a journal app that would allow me to type my thoughts and ideas into a stream as if chatting or tweeting. I couldn't find anything. Most current journaling apps are either bloated with irrelevant features or require too much efforts like notifications, answering random questions, multiple taps, too much whitespaces, or forcing you to come up with a title. So I decided to create it using React Native, and V1 was published last year, and had gained a small user base.

ZenJournal 2.0 offers a few unique features other than a single-stream focused interface where you can open and type:

\- Unified search and type: you can type '?' into the log entry point and start searching. \- Discreet Mode: you can double tap your logs and it can obfuscate everything so you can comfortably journal in public spaces or show off your past efforts. \- Pull to graph: you can pull from your stream to see a heatmap of your past 100 days. \- Hashtag auto-suggestion. Organize everything using #hashtags and tap to search.

V2 was just made available on iOS App Store today, with Android coming in the following months. Let me know if you have suggestions and feedback. Thank you!

<comment><USER2> I just fell in love with this journal. that would be great if I had control over the fonts.

<comment><AUTHOR> Thank you for the shout-out! Will add that to the feature list. What's your desired font?

<comment><USER3> I love Helvetica, but a bit bigger than default font size right now.

</comment></comment></comment></comment><comment><USER4> Well, I am testing this app since yesterday, now I can make some valid points.

Things I loved:

\- Can start typing just after opening the app.

\- Can add text with line breaks.

\- The same button to confirm is the button to add a new text.

\- Clear and dark modes are very nice.

\- Easy to backup and restore.

Things that would improve the app:

\- Edit previously saved records

\- Add a field "updatedAt"

\- Allow the user to quickly sort by "createdAt" or "updatedAt".

\- Add a marker to show the records that were updated (change the style of datetime, add a dot, an asterisk, etc. anything to show that this record was modified. Or show both datetimes on modified records).

I just found one little strange behaviour. If you type just blank characters (spaces and/or LF), it allows you to add the entry.

To finish, congratulations for this beautiful application.

<comment><AUTHOR> Thanks for the feedback! Although edit is something I rarely had the need to use, I agree it's probably something that i have to add. Love the idea of having a marker to differentiate.

About the spaces, yes you can add an empty line if you want. I've used it to add a separator. Sometimes I also just start or end my log with an empty line it also will separate logs if they are logged within five minutes(so they are auto grouped together).

Are you using the iOS version? Would the Discreet Mode be useful to you at all?

Please help spread the word and leave a review in the store if you can. Happy holidays!

<comment><USER4> > About the spaces, yes you can add an empty line if you want.

Sorry, I think I don't explained well. What I meant to was if the user type only spaces, oy only LF, or both, without text and confirm, this entry will be recorded, but without any text.

<comment><AUTHOR> Are you saying the app doesn't prevent you from just adding blank logs as entries? That's also intentional as a way to do separators. :)

<comment><USER4> AH, ok so.

</comment></comment></comment></comment></comment><comment><USER5> For me, the killer feature in a journal is that it sends me reminders of what I was doing 1 month/year/etc ago. I was willing to pay for that feature in the app I use. Maybe it can be useful for your planning.

All the other features seem to be spot on!

</comment><comment><USER6> The biggest concern of me with journals is that I'm always afraid that one day the developers will stop developing it, and all my data will be gone.

Therefore, I choose some reliable names like Evernote or Wordpress to store my thoughts there. Although agreeably, they are not fast and smooth, they provide reliability. How do you plan to solve this?

I believe many people have the same concern as me because personal thoughts are very important.

<comment><AUTHOR> Very valid concern! Currently it exports to and restores from JSON so it's already 10x portable than most journal apps.

I've been using this app for the last year and half consistently so it's hard to quit this habit now.

In the event that I can no longer update this app, it will be open sourced. I'm also considering OS it before that so more can contribute.

Also, right now the JSON format is extremely simple with a log key and timestamp key and anyone can create a compatible app. I'd recommend it as the new hello world project instead of a to-do list app. :)

</comment></comment><comment><USER7> Thank you for making something that doesn't put all of it's data on somebody else's server. I love that it's an offline app.

</comment><comment><USER8> Wow, I really like the privacy policy of this app.

I think I'd rather use pen & paper for this sort of thing, but I might come back to this to use during times of very light travel

<comment><AUTHOR> Thanks for noticing: [https://thezenjournal.com/#privacy](https://thezenjournal.com/#privacy)

Pretty deliberate about the policy. I don't care about third-party analytics, especially in a journaling app.

I use this to app sometimes multiple times a day, on the go. But I wanted to make sure the experience is as close and stress-free as pen & paper.

</comment></comment><comment><USER9> Looks really nice, well done.

The video was bit too fast for my slow post-christmas brain (plus fast pace doesn't induce feeling of calm and Zen). Otherwise perfect :)

<comment><AUTHOR> Thank you! Yes the video is a bit fast. I've slowed it down since my first draft but still too much content to be fit in the 30s.

</comment></comment><comment><USER10> Looks awesome. How does the author monetize? If it is free, someting something.

<comment><AUTHOR> Right now I'm purely solving a personal pain, so I'm just offering it for free because I have to publish anyway and I kinda enjoy the process. As soon as there are enough requests coming in for features that I personally don't use, like syncing, appearance (color, fonts) customization, prompt questions etc. I'm going to experiment with a freemium model to make this more sustainable. This is also why I haven't open sourced it yet, because I want to leave room for experiment and make this sustainable long-term.

<comment><USER11> To me offline is more important than open source for an app like this.

Sustainability without being another app that demands monthly payments is also important to me (there are some really nice examples of apps that play their freemium game excellently out there. Agenda on iOS come to mind as an example as does Manic Time on PC. I own both.)

</comment></comment></comment><comment><USER12> Honestly, I have fallen in love with this app.

<comment><AUTHOR> Wow thanks! I spent two weeks to create that space illustration myself so I guess it's worth it... :) please give it a review or spread the word so more people can find it.</comment></comment>


Record Labels Waged War on Human Psychology, and Lost - <AUTHOR> http://madepublishing.com/wp/2010/05/record_labels_waged_war_on_human_psychology/

<comment><USER2> The same thing happened with FM radio, the cassette tape, and the VCR. I sympathize to a certain degree with the record labels, but they're essentially just middlemen. Door-to-door vacuum salespeople were undoubtedly upset when the market shifted and made their business model irrelevant -- the primary difference is that vacuum salespeople don't have a powerful lobby presence and thousands of attorneys on retainer.

Personally, I'll never buy another CD, because I feel like the prices are artificially inflated to sustain a large number of unnecessary middlemen in an outdated supply chain. I do miss the feeling of buying a new album, reading the insert, and so forth -- but it's just not worth it to me knowing I'm funding the record labels' war on their own customers.

<comment><USER3> I don't want to sound "elitist" but I still enjoy buying CD's from artists websites. Usually they let you download the MP3 album and ship the CD to you. Best of both worlds.

<comment><USER2> The money still goes to the labels, because of the licensing agreements they have in place.

</comment></comment></comment><comment><USER4> Interesting. I actually used to use iTunes a lot, but I've lost a lot of music through them. The first time was before I had my iPod, and my old computer died. I had tried to make an mp3 cd of those songs before the compy died, but back then, iTunes didn't allow it. I went to iTunes on my new computer, and I wasn't allowed to re-download the songs I'd already purchased.

I have a lot of issues with iTunes and iPods (how the hell do I transfer music from my iPod to my PC? This is really not clear), but I actually want to pay for music, and so far, it's the best fit for me.

It was really laughable when Sony installed malware on peoples' computers for having legitimately purchased their music cd, and then was unapologetic about it.

I always argue that people should pay for copyrighted material, rather than violate the copyright, but when I read some of the stories about the RIAA's activities, I feel like I'm playing the devil's advocate.

<comment><USER5> Did you try contacting Apple about redownloading the music? I've heard that they're usually sympathetic to people who lose downloaded music when computers and hard disks die.

<comment><USER4> No, I never tried. This was years ago. I don't even remember the songs. Perhaps I can ask them to check their records. Thanks for the idea.

</comment></comment></comment><comment><USER6> I think that almost every single time I buy a CD I get buyers remorse. I have decided I will never buy another CD or single track, as I get this feeling even from buying a single track on iTunes. Thankfully, mog.com alleviates all of my remorse!

<comment><USER6> Thanks for the down votes. I feel like sites like mog.com (I'm just a happy customer) are really much better than any alternatives. They have all of the songs I want, I don't have to download anything, and I don't have to pay per track. So, if I don't like a song, I don't feel bad about it. Add social features on top of that and the experience is even better.

As a customer, I don't feel cheated with subscription services. I think they are a real way to stop piracy and make people want to pay for music again.

<comment><USER7> and so you don't care about sound quality?

<comment><USER6> I've never noticed an issue with mog sound quality. AFAIC it's great. I'm sure other services are on par with that. While the difference between a CD and a stream are noticeable, it's like watching a netflix movie on your xbox and watching the actual DVD: I prefer netflix for the convenience and price and my friends do too.

</comment></comment></comment></comment><comment><USER8> A related data point is the Humble Indie Bundle, which is a pay-anything (including $.01) software bundle that is experiencing fairly heavy levels of piracy.

[http://arstechnica.com/gaming/news/2010/05/humble-bundle- giv...](http://arstechnica.com/gaming/news/2010/05/humble-bundle-gives- pirates-what-they-want-gets-ripped-off.ars)

<comment><USER9> "A related data point is the Humble Indie Bundle, which is a pay-anything (including $.01) software bundle that is experiencing fairly heavy levels of piracy."

This shows further proof that the people bitching about DRM still won't pay for software if they can easily get it for free. This is why you need to have some sort of copy protection in place if you are going to sell software.

<comment><USER10> I'm not sure how it does, since "copy protection" never seems to stop software, music, movies, etc. from showing up on pirate sites. I honestly don't know what the answer is, but DRM is really a pain-in-the-ass for legitimate customers who are perfectly happy paying money for their software, movies, etc., but it doesn't seem like it ever amounts to more than a minor speedbump to pirates.

I'm sympathetic to software devs, musicians, movie makers, etc. who don't want to see their work pirated, I really am. But as a customer, I FUCKING HATE being treated like a criminal when I try to play games, watch movies, etc. that I legitimately fucking payed for.

I don't see how this is a sustainable situation, particularly when each new generation of DRM seems to punish legitimate _paying_ customers harder than the last generation.

<comment><USER9> "I'm sympathetic to software devs, musicians, movie makers, etc. who don't want to see their work pirated, I really am. But as a customer, I FUCKING HATE being treated like a criminal when I try to play games, watch movies, etc. that I legitimately fucking payed for."

How is copy protection treating you like a criminal? Do you FUCKING HATE when the website for your bank makes you login with a username/password to prove your identity?

"I don't see how this is a sustainable situation, particularly when each new generation of DRM seems to punish legitimate paying customers harder than the last generation."

If you really want to blame someone, blame the pirates. DRM was created as a direct result of things like Napster and most recently, thepiratebay. Most people laughed in the faces of the software, music, and movie industry. They never offered any kind of solution for those industries to make money and continued to download their work for free. Now, customers are complaining and wondering why there is so much copy protection on software and games.

<comment><USER10> Oddly enough, I believe Cracked.com has an appropriate and well timed rebuttal: [http://www.cracked.com/article_18513_5-insane-file- sharing-p...](http://www.cracked.com/article_18513_5-insane-file-sharing- panics-from-before-internet.html)

</comment></comment></comment></comment></comment><comment><USER11> Excellent article really nailing the root of things.</comment>


Ask HN: Where do developers find designers willing to work for equity? - <AUTHOR>

Where do developers find designers willing to work for equity instead of pay?  I have no funding and my start-up needs a logo and better aesthetics. <comment><USER2> To get yourself off the ground I would recommend hiring someone on elance to do the logo. You'll find someone that'll do a good job for $100-$150.

I doubt you'll find someone who'll do it for equity when most startups fail unless you can really sell them that yours won't.

</comment><comment><USER3> Design can be subjective so be sure to find someone who's on the same wavelength with you.

Share your idea and I'm sure there will be some people who think it's cool. Don't take it too hard if a lot of designers say "no". We're a moody bunch ;)

Also, maybe this will help: <http://www.builditwith.me/>

</comment><comment><USER4> Logos can be fun to make, so maybe have a competition and the winner gets a year free services from your startup and credit on the about us page.

I'd design for that.. But I'd have to know more about the startup to make something relevant.

</comment><comment><USER5> You could join dribbble <http://dribbble.com/site/about>

</comment><comment><USER6> Use 99designs for the logo and mimic the aesthetics of a well designed site yourself.

</comment><comment><USER7> Try <http://forrst.com>

</comment><comment><USER8> if you can't convince someone for equity you can try 99designs.com. I had good success with it and a fair price tag.

</comment><comment><USER9> A support group for masochists?

<comment><USER10> Which meets in the back of a rutabaga truck.</comment></comment>


Now These Two Guys Are Being Called the Real Inventors of Bitcoin - <AUTHOR> http://www.fastcompany.com/welcome.html?destination=http://www.fastcompany.com/3054429/now-these-two-guys-are-being-called-the-inventors-of-bitcoin <comment><USER2> [https://news.ycombinator.com/item?id=10699846](https://news.ycombinator.com/item?id=10699846)</comment>


One in ten new HN submissions get killed by mods. - <AUTHOR>

<comment><USER2> Show your working.

In particular, how are you distinguishing between

a. submissions killed by mods;

b. submissions flagged to death by ordinary users;

c. submissions autokilled due to pointing to a banned domain;

d. submissions autokilled because the submitter is hellbanned; and

e. submissions killed for some other reason?

Also, it would be interesting to know how many submissions are _wrongly_ killed.</comment>


Ask HN: What do you use for bookkeeping? - <AUTHOR> Quickbooks, spreadsheets, some fancy web based solution? Do you like it? <comment><USER2> GnuCash.

It has modules for vendors (so you can track how much you owe them) and clients (how much they owe you), and employees (including expenses).

</comment><comment><USER3> A bookkeeper.

I basically collect all the receipts through the year, do my own quarterly VAT and then have the bookkeeper do the annual reports, integration of all the companies and the actual filing.

I don't send out a lot of invoices and I don't have a lot of stuff I buy on the company so that is relatively easy to do.

<comment><USER4> Almost same here - I send all the receipts each quarter, pay my VAT and other taxes based on what my accountant says. My accountant also does annual report.

If it's useful to you, I use freckle (<http://letsfreckle.com>) and/or google calendar (see [http://blog.logeek.fr/2009/11/27/how-to-use-google- calendar-...](http://blog.logeek.fr/2009/11/27/how-to-use-google-calendar-and- rufus-google-for-time-tracking)) for time-tracking/invoicing.

</comment></comment><comment><USER5> Using Sage for everything now (I've got the Instant Accounts Plus).

Not the prettiest, or easiest to use, but once you get used to it and over the learning curve, its actually plenty useful and powerful.

In a nutshell, the user thinks in terms of invoices, customers, suppliers, payments, etc.. and Sage takes care of the rest and produces a full set of accounts.

You'd want to get some accountant to help out initially (I did), as some of the concepts in the accounting world can be a little unintuitive and then you end up with unbalanced accounts.

</comment><comment><AUTHOR> Quick interjection on my own question:

I just started looking at <http://outright.com>. I've been playing with it for the last 30 minutes or so. Seems like a pretty nice system. It sucked in all of my PayPal history from last year, and even properly expensed PayPal's fees. First service I've used that did that.

</comment><comment><USER6> I was about to ask the same question.

I've been using Quicken Mac for over a decade, but I need something more, given a business change, so I'm going to try out Quicken Online. (One of the main features I need is check printing, and most of the online accounting packages don't support that.)

</comment><comment><USER7> Billings.app - switched from quickbooks since it didn't have time tracking and Billings does that and invoicing pretty well.

Also, prefer it over freckle since freckle is WAY more expensive ($40 for Billings vs $12/mo for Freckle)

</comment><comment><USER8> I use a combination of a quick-n-dirty double-entry accounting django app, and web scraping scripts for my bank/credit bards online accounts so I don't have to enter stuff in manually.

</comment><comment><USER9> Quickbooks Pro. If i started now, I would probably use Gnucash. I would certainly not put my financial books in the cloud.

</comment><comment><USER10> We use xero.com.

Your best solution might depend what tax jurisdiction you're in, though.

<comment><USER11> Another vote for xero.com

Used GnuCash for 5 years, and whilst it was OK, Xero is a hell of a lot nicer to deal with.

</comment></comment><comment><USER12> freshbooks</comment>


Ask HN: What drove you away from Facebook? - <AUTHOR>

A lot of articles are getting attention concerning Facebook's limitations and pettiness.
What made you go from loyal advocate to outspoken outcast in the span of a few years?
I am curious to know individual stories, they matter a lot more than technical breakdowns. <comment><USER2> The continual realization that nothing private stays private. The number of times that Facebook has added privacy settings set at default-allow has made me extremely wary of putting anything on my page that I wouldn't want an employer to see-- and for that, I have LinkedIn. The only thing I still have Facebook for now is for family in other states.

</comment><comment><USER3> When they first opened the site to non-college students, it was distinguished from myspace by being private by default as opposed to myspace's public by default. This is why I joined.

Since then, they are increasingly making things public by default, and exposing your actions publicly if your friends are not also vigilant about privacy.

Further, I saw Mark Zuckerberg speak publicly and he managed to convince me that he was not someone I could consider trustworthy.

Add it all up, and the only facebook presence I will have is the minimum required corporate one to integrate facebook features in products.

<comment><AUTHOR> my experience was almost identically the same. I wonder if we are just a small, passionate minority or if we are among the first of millions to leave in the coming months and years...

<comment><USER2> Considering the site we're on, I'm betting we're a minority that cares (or pays attention to) privacy measures-- the ones who would call us paranoid are the ones who are getting divorces after putting pictures of their mistresses on Facebook.

That said, it'll be interesting to see if more millenials leave Facebook as their parents join.</comment></comment></comment>


Robot Odyssey (1984) - <AUTHOR> https://www.robotodyssey.online/ <comment><USER2> When I was 8-11 I played this game obsessively. I did a fourth grade project on logic gates because of it. Probably contributed to why I ended it up in robotics.

It was an incredibly hard game. I got to the last level on my own but didn't unlock the fourth robot, leading to a soft lock. I also used unoptimal solutions for maybe half the levels. Ie. Using a random bouncer and patience to traverse the ventilation shafts.

Some of my fondest memories of growing up with an Apple II.

</comment><comment><USER3> A thread from 2018: [https://news.ycombinator.com/item?id=17421175](https://news.ycombinator.com/item?id=17421175)

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

<comment><USER4> Dag nabbit dang, you beat me to it! That 2018 thread about Robot Odyssey Online had a link to a Slate article mentioned some stuff about Alan Kay's high regard for Robot Odyssey, who somebody quoted, then he posted a correction to the article himself, and I posted some other discussions about it with him as well (and some links to other papers about related stuff by Chaim Gingold, Kurt Schmucker, and Dan Ingalls). Robot Odyssey was brilliant and waaaay before its time, and as Alan Kay said: Warren Robinette is a very special designer! He was the creator of one of the first known easter eggs in a video game: Atari Adventure, released in 1979 on the Atari 2600.

(I happen to be wearing my Factorio t-shirt right now! That's another robophilic game too, notoriously known as "programmer crack".)

>nlawalker on June 29, 2018 [-]

>From the Slate article: "When Teri Perl described the project to legendary computer scientist Alan Kay, he said, "You're wasting your time. It can't be done." That is, the basic idea was simply too complex to run on an Apple home computer. When Robot Odyssey shipped, the company gave Wallace a plaque that said, "It can't be done. —Alan Kay.""

>That's an awesome story.

>alankay1 on June 29, 2018 [-]

>An "awesome story" that isn't the way it happened (as with too many "awesome stories"). See the comment I made (posted below by niawalker). To summarize here, I said I love "Rocky's Boots", and I love the basic idea of "Robot Odyssey", but for end-users, using simple logic gates to program multiple robots in a cooperative strategy game blows up too much complexity for very little utility. A much better way to do this would be to make a "next Logo" that would allow game players to make the AI brains needed by the robots. So what I actually said, is that doing it the way you are doing it will wind up with a game that is not successful or very playable.

>Just why they misunderstood what I said is a bit of a mystery, because I spelled out what could be really good for the game (and way ahead of what other games were doing). And of course it would work on an Apple II and other 8 bit micros (Logo ran nicely on them, etc.)

>From: Alan Kay Date: Mon, 12 Nov 2007 13:55:27 -0800 (PST) Subject: Re: Just curious ... To: Samuel Klein, Don Hopkins, Chris Trottier, John Gilmore

>Hi SJ --

>Robot Odyssey is another game that would benefit from having a clean separation between the graphical/physical modeling simulation and the behavioral parts (both the games levels and the robot programming could be independently separated out) -- this would make a great target for those who would like to try their hand at game play and at robot behavioral programming systems.

>This is a long undropped shoe for me. When I was the CS at Atari in 82-84, it was one of our goals to make a number of the very best games into frameworks for end-user (especially children's) creativity. Alas, Atari had quite a down turn towards the end of 83 ... We did get "the Aquarium" idea from Ann Marion to morph into the Vivarium project at Apple ... And some of the results there helped with the later Etoys design.

>Cheers,

>Alan

>From: Alan Kay Subject: Robot Odyssey

>I actually argued with him [Will Wright] and Maxis for not making SimCity very educational. E.g. the kids can't open the hood to see the assumptions made by SimCity (crime can be countered by more police stations) and try other assumptions (raise standard of living to counter crime) etc. I've never thought of it as a particularly good design for educational purposes.

>However, I have exactly the opposite opinion of Robot Odyssey, which I thought was a brilliant concept when the TLC people brought it to me at Atari in the early 80s. (Rocky's Boots is pretty much my all time favorite for a great game that really teaches and also has a terrific intro to itself done in itself, etc. Warren Robinette is a very special designer.).

>The big problem with Robot Odyssey (as I tried to explain to them) was that the circuits-programming didn't scale to the game. They really needed to move to something like an object-oriented event-driven Logo with symbolic scripting to allow the kids to really get into the wonderful possibilities for strategies and tactics. (BTW, Etoys is kind of an OO event-driven Logo (not an accident), and the next version of it has as a goal to be able to do Robot Odyssey in a reasonable way. This got delayed because of funding problems but we now have funding and are really going to do it this year. Want to help design and build it?)

>From: Alan Kay Date: Thu, 3 May 2018 07:49:16 +0000 (UTC) Subject: Re: Blocky + Micropolis = Blockropolis! ;)

>Yes, all of these "blocks" editors sprouted from the original one I designed for Etoys* more than 20 years ago now -- most of the followup was by way of Jens Moenig -- who did SNAP. You can see Etoys demoed on the OLPC in my 2007 TED talk.

>I'd advise coming up with a special kid's oriented language for your SimCity/Metropolis system and then render it in "blocks".

>Cheers

>Alan

>\</comment></comment><comment></comment><comment>- * Two precursors for DnD programming were in my grad student's -- Mike Travers -- MIT thesis (not quite the same idea), and in the "Thinking Things" parade programming system (again, just individual symbol blocks rather than expressions).

>From: Don Hopkins Date: Fri, 4 May 2018 00:43:56 +0200 Subject: Re: Blocky + Micropolis = Blockropolis! ;)

>I love fondly remember and love Thinkin' Things 1, but I never saw the subsequent versions!

>But there's a great demo on youtube!

[https://youtu.be/gCFNUc10Vu8?t=24m58s](https://youtu.be/gCFNUc10Vu8?t=24m58s)

>That would be a great way to program SimCity builder "agents" like the bulldozer and road layer, as well as agents like PacMan who know how to follow roads and eat traffic!

>I am trying to get my head around Snap by playing around with it and watching Jens's youtube videos, and it's dawning on me that that it's full blown undiluted Scheme with continuations and visual macros plus the best ideas of Squeak! The concept of putting a "ring" around blocks to make them a first class function, and being able to define your own custom blocks that take bodies of block code as parameters like real Lisp macros is brilliant! That is what I've been dreaming about and wondering how to do for so long! Looks like he nailed it! ;)

>Here's something I found that you wrote about tile programming six years ago.

>-Don

>Squeak-dev:

[http://squeak- dev.squeakfoundation.narkive.com/7ZN0H3vt/etoy...](http://squeak- dev.squeakfoundation.narkive.com/7ZN0H3vt/etoys-alice-and-tile-programming)

>Etoys, Alice and tile programming ajbn at cin.ufpe.br () 6 years ago

>Folks,

>I have been trying the new version of Alice <www.alice.org>. It also uses tile programming like Etoys.Just for curiosity, does anyone know the history of Tile Programming? TIA,

>Antonio Barros PhD Student Informatics Center Federal University of Pernambuco Brazil

>Alan Kay 6 years ago

>This particular strand starting with one of the projects I saw in the CDROM "Thinking Things" (I think it was the 3rd in the set). This project was basically about being able to march around a football field and the multiple marchers were controlled by a very simple tile based programming system. Also, a grad student from a number of years ago, Mike Travers, did a really excellent thesis at MIT about enduser programming of autonomous agents -- the system was called AGAR -- and many of these ideas were used in the Vivarium project at Apple 15 years ago. The thesis version of AGAR used DnD tiles to make programs in Mike's very powerful system.

>The etoys originated as a design I did to make a nice constructive environment for the internet -- the Disney Family.com site -- in which small projects could make by parents and kids working together. SqC made the etoys ideas work, and Kim Rose and teacher BJ Conn decided to see how they would work in a classroom. I thought the etoys lacked too many features to be really good in a classroom, but I was wrong. The small number of features and the ease of use turned out to be real virtues.

>We've been friends with Randy Pausch for a long time and have had a number of outstanding interns from his group at CMU over the years. For example, Jeff Pierce (now a prof at GaTech) did SqueakAlice working with Andreas Raab to tie it to Andreas' Balloon3D. Randy's group got interested in the etoys tile scripting and did a very nice variant (it's rather different from etoys, and maybe better).

>Cheers,

>Alan

Warren Robinett:

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

Rocky's Boots:

[https://en.wikipedia.org/wiki/Rocky%27s_Boots](https://en.wikipedia.org/wiki/Rocky%27s_Boots)

Robot Odyssey:

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

Here's The Programming Game You Never Asked For:

[https://blog.codinghorror.com/heres-the-programming-game- you...](https://blog.codinghorror.com/heres-the-programming-game-you-never- asked-for/)

The Hardest Computer Game of All Time: It was called Robot Odyssey, it took me 13 years to finish it, and it sealed my fate as a programmer.

[http://www.slate.com/articles/technology/bitwise/2014/01/rob...](http://www.slate.com/articles/technology/bitwise/2014/01/robot_odyssey_the_hardest_computer_game_of_all_time.html)

Chaim Gingold's Gadget Background Survey:

[http://chaim.io/download/Gingold%20(2017)%20Gadget%20(1)%20S...](http://chaim.io/download/Gingold%20\(2017\)%20Gadget%20\(1\)%20Survey.pdf)

A Taxonomy of Simulation Software:

[http://www.donhopkins.com/home/documents/taxonomy.pdf](http://www.donhopkins.com/home/documents/taxonomy.pdf)

The Fabrik Programming Environment:

[http://www.donhopkins.com/home/Fabrik%20PE%20paper.pdf](http://www.donhopkins.com/home/Fabrik%20PE%20paper.pdf)

<comment><USER5> I get what Kay was getting at (using a Logo-like language rather than circuits), but that would have been a very different game. The point of Robot Odyssey (and Rocky's Boots) was to teach digital logic, not programming.

</comment></comment><comment><USER6> When I was a kid, this game was an incredibly effective teaching tool! What it taught me was that I was a dumb dumb dummy dumb-head who would never be able to comprehend how electronics worked.

Not sure that was the lesson its developers were aiming for. But if so, job well done :-D

</comment><comment><USER7> This game is really cool. Played it on Apple 2 originally.

</comment><comment><USER8> Does anyone else find the ".online" TLD slightly redundant.

<comment><USER9> Yes it is a bit redundant.</comment></comment>


Good bye Microsoft!  MS employee and author of 9 Visual Basic books has now left the building (for RoR). - <AUTHOR> http://peterwright.blogspot.com/2006/09/good-bye-microsoft-pete-has-now-left.html <comment><AUTHOR> With the best comments I've ever seen in a blog post.

I found that article at an appropriate time, for many reasons...

So, has anybody tried using a MacBook Core 2 Duo with 1GB RAM connected to a 24 inch dell fpw monitor and wireless usb keyboard? Is that enough ram for development? How well can it handle standard-definition video editing, since the hard drive operates at 5400rpm? Anybody over 6' tall who finds the MacBook keyboard comfortable? Can you run Visual Studio (last Microsoft product I hopefully will ever use) in parallels?

<comment><USER2> 1 GB is more than enough RAM for development, no Mac would even ship with too little.

I'm 6'3" and the MacBook keyboard is too small for me, so I bought the iMac and have not looked back. The iMac has a 7200rpm drive as well, together with the gorgeous screen would be better for video editing.

<comment><USER3> 1GB might be enough RAM if you don't use Parallels, but with Parallels, forget it. Running Windows XP with less than 1GB RAM while trying to do anything intensive is torture, and running Visual Studio certain qualifies. So you'd probably need 2GB, with 1GB allocated to your virtual machine.

Heck, even that might not be enough for you. I have a MacBook Pro (2.33ghz C2D) with 2GB, and Parallels slows my machine down enough that I don't leave it running unless I'm actively using it. (To be fair, I tend to leave a lot of OS X apps open at a time.) I'm probably going to upgrade to 3GB one of these days and see if that helps -- I've read in a couple of blog posts that's really Parallels' RAM sweet spot.

In any event, if you're not sure, you can always just buy the MacBook and upgrade the RAM later. In fact, I've read that you can even stick 3GB in the MacBook, even though Apple advertises 2GB as being the limit.

As far as Dell monitors go -- I got one recently (3007WFP -- I do IT work for my father and get paid in merchandise :)). It works great as a monitor, but I've been having issues with the built-in USB hub, to the point that I can't really use it (when it's plugged in and the computer goes to sleep, it either immediately wakes it or causes a kernel panic a large percentage of the time).

<comment><USER2> Ahh, Parallels will take more RAM - I wasn't considering that, thanks for pointing it out. As soon as you start running XP your memory requirements go through the roof.

</comment></comment></comment></comment><comment><USER4> ...and Python and Perl.

By the time kids born today are in college, they probably won't need to know any special programming languages. AIs will intuit what you _mean_.

<comment><USER5> We can only hope.</comment></comment>


Can tablets replace laptops and desktops in enterprise? - <AUTHOR> http://venturebeat.com/2011/03/23/ctia-tablet-replace-computers/

<comment><USER2> _there are a number of security issues surrounding Android tablets because the application development ecosystem is much more open than Apple's closed development system_

Sounds like BS to me.

For tablets to really take off in businesses they would have to become more capable of doing Real Work. Emailing files around isn't the answer to file sharing. It should be possible to print easily without having one of the 3-4 models of printers in existence that support AirPrint. If Apple were interested in addressing this market at all, I'm sure they'd be able to solve all of these. Otherwise, it's a good opportunity for the other tablet manufacturers to enter into a segment that Apple doesn't own and may not even want to.</comment>


Show HN: A chrome bug makes it hard to leave page - <AUTHOR> http://www.dogself.com/ <comment><AUTHOR> and this is how it is done:

                    window.onbeforeunload = function () {
                        var cat = document.createElement('a');
                        cat.setAttribute('href', 'http://ultragen.org');
                        cat.setAttribute('download', 'endless-cats.gif');
                        setTimeout(function () {
                            window.open(document.location.href.replace(document.location.hash, '') + '#' + Math.random(), '_self');
                        }, 0);
                        cat.click();
                        return "cat";
                    };</comment>


Show HN: Confello – Discover Tech Events with your GitHub account - <AUTHOR> http://www.confello.com <comment><USER2> Wow, this is so cool!!!</comment>


RIP LivingSocial: The fast rise and slow demise of a daily deals company - <AUTHOR> https://www.washingtonpost.com/news/innovations/wp/2017/02/25/rip-livingsocial-the-fast-rise-and-slow-demise-of-a-daily-deals-company/?utm_term=.0deeebc01efb <comment><USER2> I met a group of 6 living social employees in 2011 at a local meetup. They spoke so negatively about their company AND their partners/customers. This wasn't just run of the mill complaining about work or customers, it was really vile and made me sick. I vowed to never use their service and encouraged others to not use them. Why am I posting this? Because it is fundamental to any startups culture to be careful about how they present themselves to the rest of the tech community and the world.

<comment><USER3> I'd be interested to hear some specifics on why they were so bad. IIRC bezos/Amazon invested in LS so it'd be interesting to find out what they didn't vet properly.

</comment></comment><comment><USER4> > As executives reflect on LivingSocial's fatal moment, all point to a > security breach in April 2013. Hackers gained access to the account > information of 50 million subscribers, and LivingSocial forced all of them > to reset their passwords. About 20 percent never came back.

I don't know how they came to this number, but at least it's something to point to when the c-level executives decide password security is something that they can just skip doing. Obviously part of that 20% is are just dead accounts but still, something to show next time you're in this situation.

<comment><USER5> Or c-level executives will remember this tidbit before they let their security folks talk them into a password reset after a breach. You have to wonder whether a company in that situation has other options, like blocking logins from previously unseen IPs (for users who don't change passwords).

<comment><USER6> You think a company that was using SHA1 [0] to hash passwords was actually logging IP addresses?

[0] - [https://arstechnica.com/security/2013/04/why- livingsocials-5...](https://arstechnica.com/security/2013/04/why- livingsocials-50-million-password-breach-is-graver-than-you-may-think/)

</comment></comment></comment><comment><USER7> > As the longtime manager put it: "When I look at LivingSocial's legacy, more > than anything else, we basically gave a lot of people their MBAs in scaling > a company very fast."

Oh nice, the people at the company that grew too quickly learned how to do it again. Tight.

<comment><USER8> This is something I latched on to too; does scaling imply stability and business fitness? Otherwise scaling is not the correct word in this context - thin yet brittle hypergrowth that over-extends the emotions and focus of employees and the correct use of economic resources.

Perhaps they learned the highly valuable mistakes that can make the second time easier?

</comment></comment><comment><USER9> They raised a billion dollars, were valued at one time at 6 billion, and in the end were worth $0. Their lasting impact is other smaller startups who might or might not ever become anything. What a strange world we live in.

</comment><comment><USER10> The key takeaway I've got is that sometimes it's hard to see when you're inside the fad.

Interesting that the VC (Jeremy Liew) is the also behind Snapchat. You win some, you lose some, and in Venture investing, the wins take care of the losses.

<comment><USER11> This is always the case. Even Sequoia has made blunders before - turning down Salesforce and investing in Webvan, to name a few.

<comment><USER10> There are two types of mistakes for VCs:

1 - Investing in the wrong company

2 - Missing the right company

The first bucket has limited financial downside. (You only lose what you invested) The real cost is time and attention. (An investor can only sit on a fixed amount of boards)

The second can be a lot more painful, because the upside can be 10-100x. Missing out on Salesforce (or Yelp, or pick your winner) can be even tougher.

</comment></comment></comment><comment><USER12> What does a $0 acquisition even mean? What would the purpose be?

<comment><USER13> The acquiring company acquires the target company's assets in return for assuming its liabilities. No cash changes hands.

</comment></comment><comment><USER14> What allowed Groupon to survive in this same market (where deals are a waning fashion)?

</comment><comment><USER11> If I understanding this correct - Groupon is now a monopoly?

<comment><USER15> Not really, not without an extremely narrow definition of what market they occupy.

The "daily deals" model is only one of many ways for businesses to offer deals and try to find new customers, and for customers to find discounts. Groupon/LivingSocial/etc have many competitors, all the way down to simply advertising specials and promotions with a sign in the window.

</comment></comment><comment><USER16> How is Groupon doing?

</comment><comment><USER17> How long does Groupon have left?</comment>


Why Mark Zuckerberg is A Terrible Role Model - <AUTHOR> http://www.inc.com/jessica-stillman/why-mark-zuckerberg-is-a-terrible-role-model.html?nav=linkedin

<comment><USER2> _According to a new analysis, if you want to run a tech company, you shouldn't drop out of college._

More like "if you want to run a tech company, but you're not already running one that's becoming so successful it needs your full attention, you shouldn't drop out of college."

</comment><comment><USER3> Knowing what happens to the averages is next to irrelevant in trying to do the extraordinary.

Also importantly: these are CEOs, not founders. CEOs are often a different breed, and there is a selection effect for mainstream acceptability.

<comment><USER4> Also, correlation isn't causation, and there are many other factors that correlate with college educations that may make it more likely for somebody to become a CEO. For example, I'd guess that most people who become CEOs also happen to come from a middle or upper class background, and such peoples' parents would strongly urge their kids to go to college. So is it their college education or their upbringing and connections that allowed them to become CEOs? To find out, you'd have to have a rigorous statistical study that controlled for these factors.

And even if we find out that having a college degree does make it more likely that you'll become a CEO, it doesn't follow that anything about what your learned or experienced in college would help you get there. The reason might simply be that most corporations have a culture of not hiring or promoting people who don't have college degrees into management positions, and you can avoid that hurdle by simply starting your own company.

</comment></comment><comment><USER5> The article's conclusion is not well-supported by the data.

Conclusion: "According to a new analysis, if you want to run a tech company, you shouldn't drop out of college."

Data: "We analyzed the educational backgrounds of the 50 highest paid and most powerful CEOs in the US tech industry."

The number of tech companies >> the top 50 tech companies. Their conclusion should be supported by data from a large number of tech companies, including successful smaller tech companies. Even then, correlation != causation.

</comment><comment> olog-hai Odd design choice by Inc. This is what you get if your window width is 1166 or less: <http://i.imgur.com/vbXWY.png>

<comment><USER6> or if you zoom the page (as I do with almost all sites I visit. I'm not sure if I have bad eyes or just sit away further from the monitor than most people)

</comment></comment><comment><USER7> Hyperbolic Titles are wearing on me..</comment>


ORWL – The First Open Source Hardened Computer - <AUTHOR> https://www.kickstarter.com/projects/designshift/orwl-the-first-open-source-hardened-computer <comment><USER2> I thought it meant EMP hardened, kinda disappointed</comment>


Place the App Store badge first in the lineup of badges - <AUTHOR> https://developer.apple.com/app-store/marketing/guidelines/ <comment><USER2> Exactly what I'd expect. There's also:

> Don't refer to Apple devices generically as "smartphones" or "tablets."

> Don't list Apple products that are not compatible with your app.

> Don't display a blank screen on an Apple product, or on a television screen > when showcasing Apple TV.

> The status bar [...] should show a full network icon [...], a full Wi-Fi > icon, and a full battery icon.

And:

> Don't feature the Apple logo to take advantage of the promotional value of > the Apple brand.

But:

> Don't obscure or cover the [Apple] logo.

It's really treading a fine line between the two, figuring out what exactly is allowed.

Some of the guidelines are even more neurotic:

> Always typeset [iPod] touch with a lowercase t.

> For [iPhone XR/XS] headlines and copy, use an uppercase X, small cap S, and > small cap R

> Don't use the word "watch" or "time" as a pun or verb in your marketing > materials.

And the final gem:

        Don't break Apple
        Watch over two lines.

Oops.

</comment><comment><AUTHOR> > Whenever one or more badges for other app platforms appear in the layout, > use the preferred black badge. Place the App Store badge first in the lineup > of badges.</comment>


A Stock Called 'TWTRQ' Was Up 1,500% Because People Thought It Was Twitter - <AUTHOR> http://www.businessinsider.com/twtr-stock-up-1500-percent-2013-10

<comment><USER2> I'm sure it wasn't 'people that got confused. More like trading algorithms.</comment>


A beautiful interactive model of Solar System - <AUTHOR> http://www.sunaeon.com/#/solarsystem/cinematic/

<comment><USER2> I'm on my not-so-smart-phone and can't tell - is this the same thing as being discussed here:

<http://news.ycombinator.com/item?id=3844930>

??

<comment><AUTHOR> No, they are different.

<comment><USER2> Thx.</comment></comment></comment>


Escaping a Python sandbox (NdH 2013 quals writeup) - <AUTHOR> http://blog.delroth.net/2013/03/escaping-a-python-sandbox-ndh-2013-quals-writeup/

<comment><USER2> I recommend Zope's Restricted Python: <https://pypi.python.org/pypi/RestrictedPython> for that sort of thing (this is not like Python's now-dead restricted mode).

Restricted Python will recompile your code from something like "x.y(42)" into your_getattr(x, "y")(42). It will disallow access of any names starting with _, a number of other unsafe constructs etc.

So you can set up your sandbox as restricted as you want. For example the objects I expose have each an ACL so I can give users access to some system object's specific properties while disallowing modifications of them.

</comment><comment><USER3> Tl;dr do not try to create a Python sandbox it is not a good language for it.

<comment><USER4> Or create a real sandbox, with interpreter support, like the PyPy one.

<comment><USER5> Hm how new is this? Any projects using it? It looks pretty good from the docs:

<http://pypy.readthedocs.org/en/latest/sandbox.html>

<comment><USER6> It's really not new at all. Pretty clear demonstration that Python as a language is not incompatible with sandboxing

</comment></comment></comment></comment><comment><USER7> Did you try grabbing the code of the ``auth`` function so that you could discover what you were supposed to do?

<comment><USER8> From the article:

> You can get the code object of a function using myfunc.func_code. This is > forbidden in the restricted mode of the Python interpreter, so we can't see > the code of the auth function.

</comment></comment><comment><USER9> You can get access to the usual builtins using a lambda function's func_globals.

</comment><comment><USER6> Is it really news to concoct exploits against obscure, antiquated practices which nobody uses because they have been known as insecure for years?

</comment><comment><USER10> The regulars of #python have known about this for a while; here's a decent writeup: [http://nedbatchelder.com/blog/201206/eval_really_is_dangerou...](http://nedbatchelder.com/blog/201206/eval_really_is_dangerous.html)</comment>


Yarn Plug'n'Play: Getting rid of node_modules - <AUTHOR> https://github.com/yarnpkg/rfcs/pull/101 <comment><USER2> Thing is, node_modules isn't just thirdparty modules.

It's just what the Node path resolution standard uses, which is also how Local Modules (the "/src/node_modules" structure) allows you to import other files with clean paths, without having to add a config in every tool of the toolchain, post-install symlinks, or any other non-crossplatform tricks. It just works because it's literally what Node uses to resolve paths, and all build tools are based on Node, so when you stick to the standard resolution, you can add new tools to the toolchain without needing a bunch of configs for them to find your files. For example, it's now also the default resolution in Typescript as well.

The only time /src/node_modules doesn't work is when tool goes out of its way to break it, and wrongly assumes that node_modules can only ever be used for external thirdparty code (e.g. Jest).

So best of luck to make Node + NPM + Yarn to agree on a new path resolution syntax, but I hope we won't end up with another tool-specific resolution that only works in Yarn.

<comment><USER3> This doesn't break that, it specifically says it will fall back to Node's module resolution algorithm when the module you're looking isn't in the static resolutions table. That means you can keep using that technique as you have bee.

As an aside, you can also use lerna[1], yarn workspaces[2] or pnpm workspaces[3] to achieve the same effect, depending on your package manager of choice. You might get additional boosts to code organization/productivity, it's explained in the links.

[1]: [https://lernajs.io](https://lernajs.io) [2]: [https://yarnpkg.com/lang/en/docs/workspaces/](https://yarnpkg.com/lang/en/docs/workspaces/) [3]: [https://pnpm.js.org/docs/en/workspace.html](https://pnpm.js.org/docs/en/workspace.html)

<comment><USER4> Since we're doing an aside, what advantages do those "monorepo" things have over git submodules?

<comment><USER5> I don't maintain any monorepos, I've always used Git sub-modules; not just for Node.js, but for all sorts of stuff.

 _However_ , I'm increasingly finding that sub-modules are a bit of a pain. If I patch a sub-module, I have to move into every single project that depends on the sub-module and pull the latest version. Additionally, if the sub-module is large it's a real waste of storage on my computer.

That said, monorepos have annoyances of their own e.g. many modern package managers will happily check-out dependencies directly from Git. However, that's simply not going to work unless there's some standardisation in monorepo structure that the package manager is able to interpret.

</comment></comment></comment></comment><comment><USER6> I'm the author behind the proposal, feel free to ask me any question you might have!

As a personal note, I'm super excited and so grateful to have had the chance to work on this project - node_modules have been a longstanding thorn in the side of the Javascript ecosystem, and to finally have a chance to try something completely new is amazing.

<comment><USER7> This is awesome. I didn't read the full proposal yet, but at first glance it's very close to how we do things where I work (because we needed something long before Node even existed, and never replaced it).

The biggest hurdle we constantly face is tools that make assumptions about the environment (eg: Flow, TypeScript, Webstorm, etc), so changing anything to module resolution breaks everything. We have to spend a lot of time hacking it in every single time. Sometimes the hooks just aren't there (TypeScript has a hook for overriding module resolution, but editors often don't give you an easy way to hook into TypeScript's own hooks).

Any thoughts on how things would work for tools if this was to go forward? Would they all need to be updated to honor this new way to resolve modules?

<comment><USER6> Flow is already 100% compatible with PnP, through the use of the `module.resolver` configuration settings. We even saw some slight perf increases after switching in.

I guess the same could be done for other tools: the .pnp.js file can be easily interfaced with anything you throw at it without them having to care about the way the dependencies are resolved under the hood. Even non-js tools can simply communicate with it through the cli interface, which returns JSON data ready to use.

</comment></comment></comment><comment><USER8> Removing `node_modules` would be fantastic, but not at the expense of native modules:

From the PDF:

"On the long term we believe that post-install scripts are a problem by themselves (they still need an install step, and can lead to security issues), and we would suggest relying less on this feature in the future, possibly even deprecating it in the long term. While native modules have their usefulness, WebAssembly is becoming a more and more serious candidate for a portable bytecode as the months pass."

WebAssembly is not "more and more a serious candidate" to replace native modules.

The issue with post-install scripts needs a better long-term solution, but simply deprecating native modules is not it.

<comment><USER6> I mentioned it in another answer, but we'll eject the packages that require postinstall scripts - so they will work as before, but will take extra time to be installed.

As for wasm, I'm curious to hear what you think isn't good enough. I think the two main issues are garbage collection and dynamic linking, and there's ongoing work on them to fix them.

<comment><USER9> Native code has two benefits over JavaScript: it's faster, and it can call the OS. WASM is faster, but it can't call the OS. It cannot replace all uses of native modules.

<comment><USER10> Calling the OS doesn't require native modules, it should be supported via a native cffi in node, like in Python.

<comment><USER9> Are you describing something you wish that node had, or something that actually exists? As far as I'm aware, native modules _are_ the FFI for node, and that every package that involves presenting an FFI to the developer is using a native module to do it.

<comment><USER10> Node doesn't have it natively like Python does, but it exists:

[https://github.com/node-ffi/node-ffi](https://github.com/node-ffi/node-ffi)

<comment><USER9> Yeah, that's a native module. If you look at the C source code in "src", the "NAN_METHOD" and stuff are Node native module macros. node-ffi will not work if they remove native modules.

</comment></comment></comment></comment></comment></comment></comment><comment><USER11> npm announced crux yesterday, seems focused on the same problems. Approach seems slightly different, although there aren't as much technical details available for crux (unless someone has a better link):

[https://blog.npmjs.org/post/178027064160/next-generation- pac...](https://blog.npmjs.org/post/178027064160/next-generation-package- management)

edit: found the repo, seems a bit behind yarn's effort and not yet beta status. [https://github.com/npm/crux](https://github.com/npm/crux)

</comment><comment><USER12> This is effectively how pub, the package manager for Dart works. At version resolution time, we generate a manifest file that contains the local paths to every depended-upon package. Then, at compile/load time, tools just use that file to locate packages.

</comment><comment><USER13> Very cool, does this mean you can check in the dependency file to version control? Just like yarn.lock?

As much as I hate node_modules, there are times when I want to see how a library is implemented. Is there a way to have some libraries in node_modules? Say only the ones in listed in the package.json file

<comment><USER6> The .pnp.js file can be checked-in, but needs the cache to work. Right now I'd advise not to check-it in.

`yarn unplug` will eject a dependency from the cache and put it into the project folder. That's a quick and easy way to inspect and debug libraries you use.

<comment><USER14> Just curious, why not?

<comment><USER6> It doesn't have a lot of advantages right now. That said, it won't stay true forever. PnP is but the first step of a long-term goal I have. Check the Section 6.B from the whitepaper[1] for more details.

[1] [https://github.com/yarnpkg/rfcs/blob/65b36475c04b1149eb51a81...](https://github.com/yarnpkg/rfcs/blob/65b36475c04b1149eb51a81875bad9b853e113fb/accepted/0000-plug- an-play.md#b-tarball-unpacking)

</comment></comment></comment></comment><comment><USER15> I wish there was something I could do about reducing the contents of the node_modules folder instead of hiding the files somewhere else on disk.

It angers me how many dependencies very simple projects amass.

<comment><USER16> This change will reduce the size node_modules uses up (10 or more times).

pnpm saves one version of a package only ever once on a disk and node_modules consume drastically less space

<comment><USER16> here's an article about how much less disk space is used by pnpm. This concept will probably come with the same disk space savings [http://www.andrewconnell.com/blog/npm-yarn-pnpm-which- packag...](http://www.andrewconnell.com/blog/npm-yarn-pnpm-which-package- manager-should-you-use-for-sharepoint-framework-projects)

but this concept is fresh, pnpm already works;)

</comment></comment></comment><comment><USER17> All I really want is a consistent solution to the `../../../..` problem with local module resolutions.

<comment><USER18> Put your content inside of a nested node_modules folder and you won't have this problem anymore.

I don't think node_modules is perfect, and I get why it gets hate, but IMHO the algorithm is actually kinda nice for nesting packages.

If you set up your folders like so:

\----

src--->node_modules--->utils--->helper.js

src--->main.js

\----

You can require your helper in main.js with a simple ``require('utils/helper.js');``

What's nice is that you _can 't_ do the reverse. So your helper doesn't get the same access to your main.js. I use this a lot for testing - it means that my tests can require my components using the same syntax that I use in normal code, but those components don't have special access to the tests.

A big "aha" moment for me with node_modules was figuring out that it's an entirely separate system from npm. It's not trying to build a flat package structure; it's trying to make it easy to on-the-fly set up packages from anywhere.

 _Edit: example -[https://gitlab.com/dormouse/dormouse/tree/master/src](https://gitlab.com/dormouse/dormouse/tree/master/src)

I've also gotten into the habit of checking my installed packages into source for projects that I don't expect users to rebuild (ie. websites, games, etc...). That's a much longer conversation, but it mitigates a large number of issues with node_modules on long-lived projects._

<comment><USER19> _> A big "aha" moment for me with node_modules was figuring out that it's an entirely separate system from npm._

I _wish_ this was true. My workflow from back in the early days of node has always been to `npm install` external dependencies, then `npm link` (symlink) the dependencies I'm working on. But npm >= v5 _removes_ such symlinks if I `npm install` anything afterwards. I spend a significant amount of my time re- linking what npm install unlinked.

Usually when I hit a problem like this it's because I'm things have moved on and I'm doing something wrong. But when an npm developer says "consider npm as it is to be broken" and closes the issue [1], I'm not so sure.

[1] [https://github.com/npm/npm/issues/17287#issuecomment-4008339...](https://github.com/npm/npm/issues/17287#issuecomment-400833982)

<comment><USER18> To repeat: a big "aha" moment for me with node_modules was figuring out that it's an entirely separate system[0] from npm.

Node's module resolution has nothing to do with npm. Npm is a package repository and installer built _on top_ of node_modules. The reason your system broke is because npm cleared out your node_modules folder as part of its install. And from the sound of things on your linked issue, the devs are entirely aware of the problems this behavior causes and are planning to fix it.

An interesting exercise that I highly encourage people to do if they're finding this weird is to take a weekend and build their own version of npm just to demystify what's going on with it. It's not that hard to do, Node gives you all the tools you need - in its simplest form you need to curl whatever packages you want to install, and stick them in a node_modules folder. Then you need some way to track which packages you've downloaded. Node handles all the rest.

That npm occasionally breaks Node behavior is bad - I've been on the wrong end of those regressions as well[1] and it was _super_ frustrating. But that doesn't really have anything to do with Node, it just means the npm team needs to test their releases more.

[0]: [https://nodejs.org/api/modules.html#modules_loading_from_nod...](https://nodejs.org/api/modules.html#modules_loading_from_node_modules_folders)

[1]: [https://github.com/npm/npm/issues/18942](https://github.com/npm/npm/issues/18942)

</comment></comment></comment></comment><comment><USER20> Congratulations to the JavaScript community in reinventing the Maven local repository.

Hopefully yarn does a better job at validating dependencies than early Maven 1 and 2 did.

<comment><USER21> I just saw two comments comparing Yarn's RFC to Maven - yours and one over on Lobsters.

Having never used Maven, any chance you could point to a document explaining how Maven's cache approach works, and maybe expand on the similarities between that and Yarn's RFC?

<comment><USER20> Sure, here you go.

[https://maven.apache.org/guides/introduction/introduction- to...](https://maven.apache.org/guides/introduction/introduction-to- repositories.html)

</comment></comment></comment><comment><USER22> I just came here to say this is great work, and congrats to the Yarn team for continually making package management more sane.

</comment><comment><USER23> Nice work – what's being done to make this the default behavior in node and deprecate node_modules proper, or is this forever destined to live in the awkward place of userland-but-not-really kind of territory?

People have already mentioned native modules. Install scripts are a nuisance, but exist for reasons. If you remove support for them – provided this project takes off, which I suppose it will because bandwagons – you risk people performing install-type tasks on first module load, potentially creating an even worse situation. Has this been considered as a risk?

<comment><USER6> > what's being done to make this the default behavior in node and deprecate > node_modules proper

My hope is that PnP proves that this approach can work and raises the stakes for Node to implement APIs that would allow for a better integration. It's a long term plan and we have yet to prove ourselves on the long run, but I'm quite confident :)

> If you remove support for them

I don't think we'll ever remove support for them. I'll personally advocate for them not to be used because of their subpar developer experience, but apart from that it won't cost us much to support them.

</comment></comment><comment><USER24> From what I understand: instead of cp -rf from offline cache, or ln -sf (which doesn't work for a large percentage of packages due to node being node), they propose to use a custom resolver to tap into the cache directly.

This will also break for various packages due to fs.readFile* dependencies, gyp, and other things. If your dependency tree is 4k+ node modules, the "vanilla" yarn or npm resolution and reconciliation techniques are already so brittle, that changing them will undoubtedly break things.

</comment><comment><USER25> Currently I use npm for angular projects. Before writing even hello world , I have to perform npm install on the project and install so many module to serve up small web app. This seems like we are going in the right direction, cant wait to try yarn as package manager.

</comment><comment><USER26> Novice question from someone from ruby land: would this work similar to bundler and Gemfile?

</comment><comment><USER27> How does yarn pnp compare to nix? (node2nix)

I've been thinking about unifying our current ivy+yarn+bower setup, but haven't yet gotten much past thinking about it...

</comment><comment><USER28> This is a compelling reason to switch:

From [https://pnpm.js.org](https://pnpm.js.org)

"Efficient: One version of a package is saved only ever once on a disk. So you save dozens of gigabytes of disk space!"

Without digging, I imagine this will be more like Maven's cache.

NPM's design decision to flatten the version hierarchy baffled me. And has occasionally tripped me up.

<comment><USER29> For everyone running a Docker setup, this is not an option... Docker doesn't support symlinking files outside the build context.

<comment><USER30> Docker also has a cache, making dependency installs not usually an issue.

<comment><USER29> Which works on a totally different level and doesn't help at all in terms of sharing dependency snapshots between different projects.

<comment><USER30> That is not something I'd want to do. Docker's solution is good enough for almost every build that happens. I can eat the time cost not covered by that solution and not have to worry about bugs stemming from improper copying of dep snapshots.

</comment></comment></comment></comment></comment><comment><USER31> The problem in javascript seems more an ideological one where programmers instantly reach for a package that has multiple dependencies of which those dependencies have even more dependencies.

There's this culture of not caring about bloat it seems in the vast majority of javascript projects. left_pad comes to the mind as the poster boy for this stuff.

<comment><USER32> Isnt this the point of OOP?

Does any other language have a solution to this?

<comment><USER33> Yes and no. It's more a question of degrees and developer culture. I think JS just has a stronger "glue stuff together" mentality combined with the lack of a thorough standard API.

In my experience, C# libraries tend to be more averse by default to taking on extra dependencies, but that's in part because .NET already does so much work for you. Python is a bit less averse, but certainly not to the level of JS where you can easily end up with hundreds of nodes in the dependency graph. But then Python isn't used much for client UI code.

<comment><USER34> Part of the problem comes from using a popular package. That package could be importing 100's of other things.

Typescript is one of the very few node modules that is very self contained. You install babel, webpack and eslint and that's easily over 1k packages.

So yes, js ecosystem is a nightmare for security folks since anyone of those thousands of packages could access filesystem, network and create Backdoors.

Our express site got hacked because one of the sub dependencies was compromised.

Seriously stay away from using nodejs to serve production traffic for serious projects using glued packages. If you want to do it, use extremely thin, well vetted packages and be very mindful of upgrades.

<comment><USER35> I recommend giving each node process an Apparmor profile.

</comment></comment></comment></comment></comment><comment><USER36> Can we get rid of Yarn instead?

<comment><USER21> Why in the world would you want to do that? As this example shows, the competition is good for the ecosystem.</comment></comment>


The safest way to allow file uploads on your site. - <AUTHOR> http://blog.filepicker.io/post/86530077287/the-safest-way-to-allow-file-uploads-on-your-site

<comment><USER2> Filepicker is a great service!</comment>


Ask HN: Facebook Pixel Pros and Cons? - <AUTHOR> When I'm creating Instagram ads, one of the things Facebook suggests me is to put Facebook Pixel's JS code on my website.
Since Facebook is not really good when it comes to privacy, I wanted to hear your opinions and advice. What's the pros and cons? Thanks in advance.
Sorry, not a native speaker. <comment><USER2> Cons:

* Extra JavaScript to download and execute, slows down site on low-end devices

* Privacy: you know share all the data of your visitors with Facebook

* Blocked by ad-blockers, so the analytics that you get out of it are not accurate

<comment><USER3> > Blocked by ad-blockers, so the analytics that you get out of it are not > accurate

Assuming the pixel is used for measuring advertising performance, it doesn't matter because the blockers would also block the adverts to begin with.

</comment></comment><comment><USER3> Pros: more insight in your advertising performance.

Cons:

* Facebook now stalks every visitor of your website, regardless of whether they have an account or arrived from the ad

* Not GDPR compliant unless you ask for opt-in, and nobody in their right mind will actually opt-in

I suggest against using the pixel and instead making your ad point to a dedicated URL ([https://example.com/?source=instagram_campaign_id](https://example.com/?source=instagram_campaign_id)) which will allow you to measure ad performance on your site (through server logs or whatever analytics you already have) without compromising your visitor's privacy.</comment>


AI can distinguish between gay and straight faces with accuracies of up to 91% - <AUTHOR> https://www.economist.com/news/science-and-technology/21728614-machines-read-faces-are-coming-advances-ai-are-used-spot-signs <comment><AUTHOR> "When shown one photo each of a gay and straight man, both chosen at random, the model distinguished between them correctly 81% of the time. When shown five photos of each man, it attributed sexuality correctly 91% of the time. The model performed worse with women, telling gay and straight apart with 71% accuracy after looking at one photo, and 83% accuracy after five. In both cases the level of performance far outstrips human ability to make this distinction. Using the same images, people could tell gay from straight 61% of the time for men, and 54% of the time for women. This aligns with research which suggests humans can determine sexuality from faces at only just better than chance."</comment>


Makani's first commercial-scale energy kite [video] - <AUTHOR> https://www.youtube.com/watch?v=An8vtD1FDqs <comment><AUTHOR> Here's an earlier video showing a smaller scale prototype: [https://www.youtube.com/watch?v=GSYMHzgLLn8](https://www.youtube.com/watch?v=GSYMHzgLLn8)

</comment><comment><USER2> This is the most epic hardware Google has ever created.</comment>


Deepening Our Partnership with Microsoft to Grow Redis Enterprise in the Cloud - <AUTHOR> https://redislabs.com/blog/microsoft-partnership-redis-enterprise-cloud/ <comment><USER2> Seems logical for redislabs after their latest license move.</comment>


Inequality and Democratic Responsiveness (2005) [pdf] - <AUTHOR> https://scholar.princeton.edu/sites/default/files/mgilens/files/inequality_and_democratic_responsiveness.pdf <comment><USER2> Every few years the oppressed get to vote on who we want to oppress us.

It's a very powerful illusion to placate the masses by tricking us into thinking that our voices are being heard and we are participating in a democracy.

An excerpt from Howard Zinn's "A People's History of the United States":

> We have here a forecast of the long history of America politics, the > mobilization of lower-class energy by upper-class politicians, for their own > purposes. This was not purely deciption; it involved, in part, a genuine > recognition of lower-class grievances, which helps to account for its > effectiveness as a tactic over the centuries.

^^ This was in the lead-up to the American revolution where the upper-class needed to gain support from the lower-classes. The wealthy colonists were able to redirect the lower-class's ire from wealthy colonists to the British. One way of gaining support was allowing some lower-classes to participate in politics or give some of them land. However, the concessions given to the lower classes by the upper classes never materially change the power dynamics.

A contemporary example of this is the response by politicians to the George Floyd Protests. Most politicians aren't entertaining the significant demands of the protesters. Instead, politicians try to placate the masses (and it's effective) by offering concessions that don't really change the root the power dynamics that have led to the protests: e.g. remove statues, changing names of streets to BLM, "8 can't wait" policies, etc.

</comment><comment><USER3> The system just works as designed. [https://chomsky.info/commongood02/](https://chomsky.info/commongood02/)</comment>


Warning: 2016 MacBook Pro is not compatible with Linux - <AUTHOR> https://www.reddit.com/r/Ubuntu/comments/5c8s1k/warning_2016_macbook_pro_is_not_compatible_with/ <comment><USER2> The three primary issues here are:

1) The input devices are on SPI, not USB. Apple's ACPI tables don't provide the GPIO mappings for these things via the standard mechanisms, so the chipset driver won't bind. You then still need another driver for the SPI controller, and there's an out of tree one at [https://github.com/cb22/macbook12-spi- driver/](https://github.com/cb22/macbook12-spi-driver/) . Longer term, the kernel needs to be able to parse Apple's ACPI tables and that driver needs merging.

2) Apple's NVME hardware uses the wrong PCI device class, possibly because it's not entirely NVME compatible (trying to read 64 bits of mmio register space in one go will fail, for instance). Linux has a specific entry for the older Apple NVME devices, and that may need to be broadened.

3) Having source ID checking enabled when doing IRQ remapping results in the system hanging on boot. It's unclear what the underlying problem is.

Windows works fine because Apple provide drivers for (1) and (2). (3) is unclear - Windows may be setting up interrupt remapping differently, or it may never enable source ID verification. These issues are far from unusual when dealing with Apple hardware ((1) was true for the new Macbook, (2) has been true since Apple introduced NVME, (3) is the kind of weirdness that we've seen on Apple hardware ever since they went Intel), and this particular set of breakage is unsurprising.

I spend some time while I was at Red Hat trying to keep Apple hardware working ([https://mjg59.dreamwidth.org/12037.html](https://mjg59.dreamwidth.org/12037.html) is an example of what we had to do), but I don't know that anybody's really working terribly hard on it these days.

<comment><USER3> _The input devices are on SPI, not USB_

Things like this make me wonder if Apple is deliberately going for proprietariness as a sort of vendor-lock-in, because I can't see any other compelling reasons for coming up with a completely different interface for such basic and existing devices. USB and PS/2 are standardised to the point that hardware and software for them are widely available and cheap. They're also extensible, so one does not have to reinvent everything to add additional features.

I still remember when the first "Intel Macbooks" came out with nearly identical hardware to a PC laptop of the same era, i.e. keyboard and trackpad looked like standard PS/2 devices. Later models of PCs and Macs started using USB internally (which is in some ways _more_ complex, since the existing PS/2 interface was provided by the EC via LPC whereas USB may require an additional controller and definitely requires routing additional signals between it and one of the USB ports on the chipset), but at least they would still work relatively standardly.

Personally, I'm all for new features but implemented in backwards-compatible or relatively standard ways. Apple doesn't seem to be a fan of that.

<comment><USER4> > I can't see any other compelling reasons for coming up with a completely > different interface for such basic and existing devices.

I don't know enough about the implementation to speak to why they made this choice, but for what it's worth, SPI _is_ a standard[1] - and a quite old one. I suspect, were we to follow this down the rabbit hole, that we'd find it's related to power management.

1\. [https://en.wikipedia.org/wiki/Serial_Peripheral_Interface_Bu...](https://en.wikipedia.org/wiki/Serial_Peripheral_Interface_Bus)

<comment><USER5> that's a good guess. I would agree. SPI is not connection-oriented and "comes up and goes down" (to the extent that it goes up and comes down at all) very fast with very little active memory needed to support the communication.

<comment><USER3> Neither is PS/2, which also being a synchronous serial interface with very low overhead, does share many characteristics with SPI at the physical layer:

[https://en.wikipedia.org/wiki/PS/2_port#Legacy_port_status_a...](https://en.wikipedia.org/wiki/PS/2_port#Legacy_port_status_and_USB)

 _The PS /2 interface saves power due to its interrupt-driven nature compared to USB which requires periodic polling, so it is a popular interface for laptops' internal keyboards and pointing devices_

The major difference is that PS/2 is a de-facto standard up to the application layer/software interface, while the MacBook SPI protocol is unique to Apple.

<comment><USER2> PS/2 isn't high enough bandwidth to support decent multitouch, which is why most modern PC touchpads come up in PS/2 mode and then transition to SPI.

</comment></comment></comment></comment></comment></comment><comment><USER6> A more accurate description is that Linux isn't compatible with the new Macbook Pro. It's not Apple's job to make their laptop compatible with Linux.

<comment> teto-plz Two things being compatible with each other is a symmetric relation, so the order doesn't matter.

<comment><USER7> When previous devices in a series were compatible, things are a little different.

When I upgraded my iPhone to iOS 8 (in 2014), it stopped connecting via bluetooth with my car (2011 Subaru, FWIW). Apple told me it was a Subaru problem. I reiterated that the problem was caused by my upgrading iOS, and that nothing changed in my car. They said to get a firmware upgrade for my car.

So incompatibility can be symmetric, but for people with an expectation based on prior compatibility, the party that whose update triggers the issue will be seen (fairly or not) as the cause.

</comment></comment></comment><comment><USER8> Macbooks were never good choices to run Linux on, and it's naive to think it would've gotten any easier. Apple's version of EFI is slightly different than the standard. The laptops are filled with custom hardware that you won't find anywhere else.

It took Dell months of effort by a dedicated team [1] to get all the features of a subset of Dell XPS13 laptops working under Linux. I'm actually considering buying one as a Linux machine, and I already own a Macbook.

To think that an Apple laptop would in any way make a good or even workable Linux machine is laughably naive.

[1] [https://sputnik.github.io/](https://sputnik.github.io/)

<comment><USER9> I've been running Linux on my MacBook Pro for quite a while (years?), and while there are a couple of hicups due to Apple weirdness, they are minor.

I would definitely call my MacBook Pro a good (and workable) Linux machine.

<comment><USER10> Mind elaborating on the hiccups and generation?

<comment><USER9> I've been making some notes going along as I have figured out different things over different generations of MBP:

\- [https://plus.google.com/+MagnusHoff/posts/Bnor8DQkKZ4](https://plus.google.com/+MagnusHoff/posts/Bnor8DQkKZ4)

\- [https://plus.google.com/+MagnusHoff/posts/b23xMvSk3Hg](https://plus.google.com/+MagnusHoff/posts/b23xMvSk3Hg)

\- [https://plus.google.com/+MagnusHoff/posts/1fUQWHPujX3](https://plus.google.com/+MagnusHoff/posts/1fUQWHPujX3)

\- [https://plus.google.com/+MagnusHoff/posts/eLtER7D8feX](https://plus.google.com/+MagnusHoff/posts/eLtER7D8feX)

\- [https://plus.google.com/+MagnusHoff/posts/7JHdmgZHwy8](https://plus.google.com/+MagnusHoff/posts/7JHdmgZHwy8)

\- [https://plus.google.com/+MagnusHoff/posts/2wJnwgZt2md](https://plus.google.com/+MagnusHoff/posts/2wJnwgZt2md)

Additionally, the SD card slot won't work with ultra high speed SD cards, so I have had to cap the sdhci driver to high speed.

So; Yes, there are some hiccups, but I am a happy camper :)

</comment></comment></comment></comment><comment><USER11> $2800 on a laptop with only 16GB RAM that you're going to run linux on anyway?

If you're going to run Ubuntu, why not get a Lenovo for much less and with notably better legitimately "Pro" specs?

<comment><USER12> Build quality. It's difficult to find a _computer_ that matches the quality of a MacBook for fit and finish, trackpad quality, and battery life.

I haven't used the new one, but the 2015 models were among the best hardware on the market - regardless of what OS was installed.

<comment><USER13> While Macs have fantastic build quality, there are now premium-level PCs that are catching up to it. The new EliteBook Folio is a Core M-powered, Thunderbolt-containing replacement for the 12" MacBook (not Pro); the Razer series appear to be built just as well as Macs from my time with them hands-on as well.

Personally, I don't care so much about "build quality" in terms of materials used. If the hardware works I'm happy, and the Thinkpad is fine to me.

<comment><USER14> It may be fine, but the disk speeds on the latest Macs are amazing. There is no laptop that matches that I'm aware of.

<comment><USER15> Unless I'm missing something: Huh? Apple is just using regular NVMe/M.2 SSDs, nothing special about them. Lots of laptops have the option for M.2 NVMe SSDs, and most newer desktop motherboards have the slot for it.

<comment><USER16> The latest MBP leapfrogged the rest of the market again

<comment><USER15> Specs seem to be 3.1 GB/s read and 2.1 GB/s write speed. While that's faster than most M.2 SSDs, equally-or-better specced SSDs are already on the market, eg. Samsung 960 Pro (3.5 / 2.1 GB/s).

<comment><USER17> It's kinda disingenuous to say that the 960 Pro is already on the market when it's not for sale yet.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER18> I run my Linux on a VM where I spend most of my time, so I have no first hand experience, but a friend of mine just bought a new MBP, installed Arch on it and blogged about it: [http://www.nico.schottelius.org/blog/linux-on-macbook- pro-20...](http://www.nico.schottelius.org/blog/linux-on-macbook-pro-2016/)

</comment><comment><USER19> Would anyone expect it to be compatible, this soon after release?

<comment><USER20> All previous models were compatible out of the box.

<comment><USER21> There's a 17 month old bounty to add support for the 2015 MacBook: [https://www.bountysource.com/issues/35422234-macbook8-1-12-i...](https://www.bountysource.com/issues/35422234-macbook8-1-12-inch- early-2015-keyboard-and-trackpad-don-t-work). The 2012 Retina MBP also didn't work correctly at first but that was fixed quickly. The only models that were compatible out of the box were the ones which didn't change much.

<comment><USER20> my bad

</comment></comment></comment></comment><comment><USER22> There are other nice machines to run Linux on.

AFAICT people buy Apple laptops to run macOS; for _that_ you have pretty little choice.

<comment><USER23> For a while a Macbook was the best Windows laptop. Not sure if that's still true.

<comment><USER12> IMHO it's still up there. I don't know about the new ones, but I had a 2015 at my previous place of employment and Windows 10 on BootCamp is a very nice experience. I still haven't seen a laptop from "PC manufacturers" that comes close. I haven't physically used a SurfaceBook though.

<comment><USER24> The surface is nice, but it's a very different experience from the older, more solid macbook hardware. Most of the complaints about the new directions for macbook hardware (too light, not enough material, weird inconsistencies, and sacrificed keyboard mechanics) also appear on the Surface

<comment><USER25> The Surface Pro, yep - the Surface Book on the other hand has pretty nice keyboard, and a fantastic track pad (just as good as that in MBPs). My partner owns one (after I recommended it) - they're great laptops... and tablets to boot!

</comment></comment></comment></comment></comment><comment><USER26> I've read this thread and see there are people who highly appreciate Apple's products and others who dislike them very much. Personally, I see plenty of Apple laptops used by my colleagues, and I can't help liking them.

Since I want to run linux though, my question is: is there a specific (older) version of the MacBook Pro that I should consider?

</comment><comment><USER27> Meanwhile I just put Arch back on my Chromebook Pixel and I couldn't be happier. Far better screen, far better font rendering, and no absurdities regarding keyboard shortcuts and keys whenever plugging in an external keyboard. I can use my mouse with normal scroll while having my trackpad inverted. I have a real window manager again with "Always On Top". And I have real per-app volume mixing again. Oh, and an escape key!

I literally had money set aside to buy a new MBP, but I don't see myself being an Apple customer again anytime soon.

edit: I just don't get this place sometimes. Did I piss off some Apple fans?

<comment><USER28> I wish I'd gotten a 2015 and put OpenBSD on it. Oh well :(

<comment><USER27> Are they out of stock, or just can't bring yourself to buy 18mo old hardware?

I feel like mid-summer next year we're going to start seeing signs of a new Pixel for the Andromeda merging of Android/ChromeOS.

<comment><USER28> Prices are climbing because they're harder to get now but yes on point 2.

</comment></comment></comment></comment><comment><USER29> Honestly curious here: I understand running Linux on a laptop that came with Windows installed, but a Mac comes preinstalled with a fairly reasonable Unix environment. Why bother?

Even on Linux I usually develop inside a VM with a stable OS (CentOS, Ubuntu LTS) that's older than the host environment (current Ubuntu or Fedora).

</comment><comment><USER30> First everyone complained there MBP was shit and that they weren't going to get one. Now apparently it's so good people are wanting them to run Linux on.

</comment><comment><USER31> I have the new MacBook from 2015, and I was hoping now that that they've released a new MacBook Pro, we will finally see work on Linux support on this damn machine. For one, the keyboard does not work on that machine too[0], probably for the same reason.

[0] [https://bugzilla.kernel.org/show_bug.cgi?id=108331](https://bugzilla.kernel.org/show_bug.cgi?id=108331)

</comment><comment><USER16> Works just fine in a VM - I find it works better to just do that and you keep all the OS X benefits (touchpad, battery life...)

<comment><USER32> What do you use? I like fusion but can't get option to map to alt for alt tab to save my life

<comment><USER33> You could use any VM and make it fullscreen so you can swap environments using the three finger swipe set up in the trackpad gestures.

<comment><USER34> I didn't manage to keep the dock and menubar permanently hidden (even when moving the mouse to the edge of the screen) in both Virtualbox and Veertu Desktop. Did you get that right, or do you just live with it?

</comment></comment></comment></comment><comment><USER33> I don't see a big problem here. A virtual machine will not have the same conflicts. Besides, running a Linux distro in a VM is very efficient in terms of CPU and in turn battery consumption (I get <1% CPU with VMware). having the two OS's (OSX and Linux) in parallel should be the preferred operation.

</comment><comment><USER32> Anyone here run linux on their macbook succesfully? I tried but couldnt get hardware rendering to work with cinnamon (2015 15" pro). I'm open to any window manager that does hidpi well though.

Vmware fusion actually works pretty damn well but I hate having the extra layer and hearing the fans all the time.

<comment><USER35> I tried it once with suckless' dwm. Obviously dwm doesn't respect HiDPI but after having set the .Xresources file, everything was absolutely great. [1]

This will probably only work if you take the time to write your own .xinitrc. I'm really sorry about that, but I haven't had an opportunity to find a better solution. Perhaps someone else can further assist you.

1: [https://wiki.archlinux.org/index.php/HiDPI#X_Resources](https://wiki.archlinux.org/index.php/HiDPI#X_Resources)

<comment><USER32> Thanks for the advice, i'll give that a go.

</comment></comment></comment><comment><USER36> I assume the author means you won't be able to boot the machine using Linux until modifications are made to the OS. Linux probably runs just fine inside a Docker container.

<comment><USER32> That container is not running on macos. Its inside an alpine vm.

<comment><USER36> Yes, thanks for the correction. My point was that virtualization makes it likely that Alpine Linux runs fine on the new MacBook Pro without modification.

</comment></comment></comment><comment><USER37> is this only a problem for installs down to the metal? or are there issues getting a linux VM running as fast as possible?

i don't understand why you'd want a $4000 MacBook to run only linux. there are so many other options for native installs.

</comment><comment><USER38> Sorry but who runs linux on a Mac?

</comment><comment><USER39> This is obviously Microsoft's fault, right?

</comment><comment><USER40> I think they said they spent like $2800.

For that amount of money you could get 2 Chromebooks ($179 each), build two decent gaming PCs ($900 each), and rent 5 Digital Ocean VPSs ($5 per month) for two years.

<comment><USER41> And for the price of a Ferarri you can get 5 Toyotas, 2 scooters and monthly passes for the subway for a year.

I'm not sure what you're trying to say.

<comment><USER40> MacBooks aren't Ferraris.

<comment><USER42> Indeed. More like BMWs.

</comment></comment></comment></comment><comment><USER43> You can't have your (cake) and eat it too.

</comment><comment><USER44> Idiots don't seem to realize that there are two ways hardware is supported by linux. Either the vendor writes the driver (like in windows land) and releases or merges it, or some other guy figures out how to twiddle the hardware and make it work, and merges it. You must wait for one of those to happen if you cannot do it yourself. This is not news.

</comment><comment><USER45> To be honest I'm not sure why you'd really want to do that. For a developer OS X gives you everything that linux offers that you would need, with the advantage of a better GUI. I only ever use linux on servers these days. OS X is a much more usable client-side OS for a variety of reasons.

<comment><USER46> What are those reasons apart from having a "better" ui? (Which is highly subjective and if you use a tiling wm Linux is probably the better choice).

What turns me off OS X is the lack of a good package manager with up to date packages. Has this changed?

<comment><USER45> >What are those reasons apart from having a "better" ui? (Which is highly subjective and if you use a tiling wm Linux is probably the better choice).

\- More commercial software available (photoshop, etc).

\- OS X is required if you need to run xcode

\- Easier to upgrade to the next version of the OS, without having to do a full reinstall

\- Better binary compatibility. (Pretty minor issue).

>What turns me off OS X is the lack of a good package manager with up to date packages. Has this changed?

[http://brew.sh/](http://brew.sh/)

<comment><USER35> > full reinstall

You need to fully reinstall your Linux install every upgrade?

That might be a symptom of Ubuntu usage, but many other distros handle upgrades gracefully. Arch is an example of this.

<comment><USER45> Perhaps it depends on the distro. You certainly have to reinstall to upgrade to a new version of CentOS (which is what I use on all my servers).

</comment></comment></comment></comment></comment><comment><USER47> Apple is working so hard for us to not buy from them anymore. It's incredible.

<comment><USER43> They are trying desperately.</comment></comment>


Colons in computer science paper titles - <AUTHOR> http://www.kmjn.org/notes/colons_in_dblp_titles.html <comment><USER2> many of my paper titles were "'Cool' Project Name: Description of Project" as on the engineering side.</comment>