The 'intellectual property' oxymoron - <AUTHOR> http://harmful.cat-v.org/economics/intellectual_property/ <comment><USER2> What I consider to be intellectual property is between my ears - it is _my_ intellect and _my_ property.

I have an arrangement with my employer to rent my intellect for nominally 8 hours per day. What that arrangement produces are _artifacts_ (ink on paper, magnetic domains on disk drives, charge on floating gates) of my intellect. My employer owns those _artifacts,_ but not the _intellect_ that created them.

Companies can talk all they want about their "intellectual property", but their property is _artifacts,_ and artifacts are _not_ intelligent. Artifacts cannot generate new, novel, artifacts. When a company uses the term "intellectual property," that is offensive to me because the company is denigrating my intellect by equating it to inanimate artifacts.

The uncomfortable truth (for companies) that they have forgotten or chosen to ignore is that the intelligence part of their company is _not_ their property. The intelligence walks out the door every evening.

<comment><USER3> IP is a catch-all term for a variety of legal situations (patents, copyright, trade secrets, even non-compete). Your comment is a very nice legal theory, but I don't know if the courts decide things this way in every case.

</comment></comment><comment><USER4> A basic roundup of ethical problems for IP:

* Conflict with fundamental personal liberty: Mill's idea that we have unrestricted liberty except to the extent that it injures someone else, is fairly standard. But IP conflicts with that, yet IP is not fundamental, not grounded in physical fact. (See Koepsell: [http://www.hxa.name/articles/content/ethical-case-against-ip...](http://www.hxa.name/articles/content/ethical-case-against-ip_koepsell_2009.html))

* Cannot be justified on the basis of harm: One could justify rights by showing that lack of them causes harm to those denied. But IP represents no physical relation where any harm could be rendered. (See Wilson: [http://www.ucl.ac.uk/~rehbjgs/docs/could-there-be-a-right.pd...](http://www.ucl.ac.uk/~rehbjgs/docs/could-there-be-a-right.pdf))

* Does not make complete sense as a generalised rule: The idea that a moral rule is generalisable, as a critical feature, is also standard (probably more so). But if everyone owned IP equally much there is no advantage, and everyone would be better off freely sharing copies. (And indeed, what do we seem to see amongst similarly large corporations? They buy big patent portfolios and agree, or tacitly accept, truces between them.)

<comment><USER5> None of these are ethical problems if you accept the premise that the author of a work is entitled to be remunerated for the production of said work, and can contract (exclusively, for a period of time) with a publisher for the distribution of said work.

Put another way: you may (or may not) be old enough to remember when an American paperback company, Ace books, produced and sold paperback copies of Tolkien's "Lord of the Rings" without paying Tolkien for the rights (and in direct competition with Houghton Mifflin, to whom Tolkien had contracted).

Are you prepared to argue that Ace did Tolkien no harm?

<comment><USER4> > if you accept the premise that the author of a work is entitled to be > remunerated for the production of said work

That is not the premise, that is the matter in question.

If it is simply assumed as the answer, nothing has been said.

As to the idea of harm here, it is not in the actions or materials themselves. It depends on assuming the particular law is the baseline, and then saying _without_ that the person would be worse-off. That is effectively saying: people can make a living in a particular way because of the rule, and we have the rule because people can make a living in a particular way from it. This is a circular fallacy. It cannot be justified by itself.

 _Why_ is IP justified? -- as a rational argument, in terms more basic than the question itself . . . (having looked around a bit, there seems to be only one half-decent/plausible one: the standard economic one -- which is not really an ethical argument (and conspicuously lacks actual evidence anyway))

<comment><USER6> > Why is IP justified?

From an economic point of view, by trying to prevent something like the tragedy of the commons.

Since everyone can make copies if there is no ownership, the majority of authors have no incentive to make their works public. And since authors can figure this out before starting to work, there's less production of works than beneficial.

In other words: Nobody would have spend the money to make movies like Lords of the Rings, or whatever you fancy.

The free market argument applies in a world with ownership, too: Those who paid the price for a work are assumed to be better off, otherwise they wouldn't have agreed to the bargain. If they would want works without ownership, they can always assemble, throw their money into one pot, and have works made for them.

Since they don't do this, an average, the incentive of having works with no ownership can't be that great.

You got to admit that every author is the possessor of his work, even in a world without ownership, since he possesses the first copy. So, the question is: How can you make him publish his copy?

<comment><USER7> > In other words: Nobody would have spend the money to make movies like Lords > of the Rings, or whatever you fancy.

Sure. Like how nobody would write encyclopedia articles, operating systems, fiction, manuals, textbooks, etc, for free.

</comment></comment></comment></comment></comment><comment><USER8> There's an economic justification for the current type of IP law in societies that philosophically believe that the free market should be used whenever possible to determine the allocation of resources. It goes like this:

\</comment><comment>

It can be shown by the mathematical economics folks that the free market leads to economically optimum results if and only if the goods in the market have certain attributes.

If goods do not have those attributes, the free market does not work with those goods in the sense that it does not lead to a good allocation of resources.

Intellectual goods do not have those attributes. Therefore the free market does not work for intellectual goods.

If we want to have optimal allocation of resources to the production of intellectual goods, we either need some mechanism other than the free market (e.g., patronage, probably by the government) or we need to pretend that intellectual goods DO have the necessary attributes. Our current IP law takes the later approach.

\</comment><comment>

Nearly every anti-current-IP-system opinion I've read (including the submitted article and most of the comments here so far) fails to propose how to achieve reasonable allocation of resources using some system other than the current system (except for RMS...he's one of the few who gets it--see below).

At best we usually get suggestions that creators of intellectual goods will find something else to do. For instance, musicians will give concerts, writers will make their living doing contract articles, programmers will provide customization or support, and so on.

Those suggestions are missing the point. When a great novelist is spending time writing articles, he's not writing his next great novel. When a great programmer is handling tech support, he's not writing great programs. Those resources are not being optimally allocated.

RMS has suggested that there be a tax on internet connectivity, with the money going to fund creators of intellectual goods, with distribution of the money based on the cube root of popularity.

<comment><USER9> People are engaging in activity Y.

Activity Y is not profitable.

How can we control the internet to make Activity Y profitable?

Suggesting folks engaged in Activity Y figure it out is not an acceptable response.

I can't help but feel this is a false dilemma. What about Activity A B and C that aren't profitable? Shouldn't we care about the proliferation and development of all these activities? Furthermore, maybe folks engaging in Activity Y should just evolve and adopt to the modern climate of the digital age. See GNU/Linux.

<comment><USER10> It's a strawman argument, since there are two components here. First, it's hard to make a living as a writer, perhaps your just not good enough or only appeal to a small part of the population. Secondly your right to get paid for your work. The second part doesn't go away simply because making a living as a writer is hard.

<comment><USER11> Yes, it does in fact. It isn't society's responsibility to make writing profitable. Just because the internet et al are making it harder to make a living as a writer doesn't mean we have any responsibility to turn around and make it easier.

<comment><USER12>
      It isn't society's responsibility to make writing profitable.

Society rewards everything that benefits itself (at least the society i have agreed to live into). For example it rewards good scientific research because it makes everyone more productive and happier. I believe it has a good reason to make it profitable for writers to write good books too.

<comment><USER11> Let me amend it to say it isn't _necessarily_ society's responsibility to make writing profitable, and from what I've seen enough good writing gets done without being profitable that the distinction between professional writer and serious amateur writer is no longer meaningful.

</comment></comment></comment></comment></comment></comment><comment><USER13> I've seen many people say that if RIAA and MPAA keep trying to introduce new _censorship_ laws like that, eventually the "camel's back will break", and people will demand a total overhaul of the copyright system, or perhaps completely eliminate it.

I tend to agree. The more they will push this, the more people will rise up and speak against it, and many people will start questioning if copyright should even exist in the first place. Through their aggressiveness on this issue, they will put the spotlight on it, and I don't think it will end up being in their favor.

I believe the people will eventually win this one, even if in the mean time they manage to introduce one or two more Internet censorship laws.

I like this TED video on this:

<http://www.youtube.com/watch?v=7Q25-S7jzgs>

<comment><USER14> See also: <http://www.youtube.com/watch?v=zL2FOrx41N0> "Lessons from Fashions Free Culture."

</comment></comment><comment><USER15> That reminds me on Stallman's very interesting article about the (mis-)use of the term "intellectual property":

<http://www.gnu.org/philosophy/not-ipr.html>

<comment><USER16> That's a much less incendiary piece than what I'm used to seeing from Stallman, thanks for posting.

</comment></comment><comment><USER17> While I agree that our current intellectual property system is doing a great deal of harm (particularly due to it being slanted in favor of monied interests), there is a protect-the-little-guy rationale for some form of copyright.

Let's imagine a world without copyright. Suppose I spend a year writing a novel. This novel is great; it has the capacity to become the #1 bestseller, provided the right marketing is there. I go to my publisher and enter into a contract saying that I'll let them read my manuscript in exchange for them promising not to publish or sell it until we've worked out a deal.

So far so good. Contracts keep me protected in the world without copyright. I give them the manuscript, they love it, and they publish it.

All is well until a huge publishing company notices my book and starts printing and marketing it, without paying me or my publisher a dime. They manage to sell 100 times as many copies as my publisher, because mine is a small, independent operation, and the big company has a sophisticated and well-funded marketing machine.

This is one area where intellectual property laws, if properly designed, would protect smaller entities against larger ones. And that's where I think the real value of (hypothetical) intellectual property laws lies.

<comment><USER18> Or nobody sells your book at all. You give it away for free on the Internet, and you make money off speaking appearances.

<comment><USER19> Because that's very realistic (Cory Doctorow aside, and he's a special case).

It's foolish besides--speaking engagements, etc. take away time from _actually producing creative works_. It's the sort of miss-the-point silliness often espoused by the anti-IP sorts: "spend an incredible amount of time doing X to maybe, if you're lucky, sell a marginal number of Y, where Y is totally unrelated to X."

It's silly and a misallocation of a wtiter's resources to take away from _actually writing_ to hit the speaking circuit.

<comment><USER20> Well that's not fair, its not simply foolish. He prefaced his comment with "Or" meaning that its a possible business model. I think it would be fantastic to speak to my favorite writers and I know their time is valuable so I would pay to. But I am not stating that it is the perfect path. Though it would be nice if people considered it as a possibility.

<comment><USER19> It certainly is possible revenue source--once you have a big enough fanbase to support it. Which is probably multiple books and a number of years, during which your effective cash flow from an activity that takes up a staggering amount of time (and benefits others in the meantime) is essentially zero.

It is not, in the general case, very viable. Which is why nobody takes it very seriously as a good path for all, or even most, writers. Because they have to eat, too.

<comment><USER18> >Which is probably multiple books and a number of years, during which your effective cash flow from an activity that takes up a staggering amount of time (and benefits others in the meantime) is essentially zero.

That's pretty much what most artists go through now, isn't it? I'm not convinced that copyright does a particularly good job of solving that problem. I'm not saying I definitely think copyright should be abolished, but it does at best a very mediocre job of rewarding artists.

<comment><USER19> I'm not so sure. Given the rise of self-publishing services, once your product is done (or even close to done, I suppose), you can immediately start generating cash flow. If you have some pleasant "free culture" person spreading the book free of charge and against your copyright, you're probably losing some sales. (Obviously not every person who downloads it for free would have bought it otherwise, but c'mon. The number of people in that category is almost definitely not zero.)

It's not going to keep you in gold-plated Maseratis, but it can start to add up.

<comment><USER18> Yes, but can it pay rent? I guess, my concern is that it may be better to hold down a single, solid, paying job and do art in your spare time than trying to hold down enough art gigs to add up to a job. You end up doing a lot of hard work making ends meet. Making it appear like art is a generally viable career choice might be doing more harm than good in the average case.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER21> Intellectual property at least makes a certain sense, since it is something you create yourself out of thin air, and therefore can decide to make available to others under certain conditions if both parties agree. If you don't make it available, nobody suffers, and if you do, you have created value without depriving others, so it is only fair to receive compensation.

Owning land, on the other hand is clearly immoral. You didn't create the land, so how could you own it? Oh, you bought it from someone else. Well they didn't own it either. Someone stole it from the community a long time ago. Owning land is theft exactly _because_ it is a limited resource.

<comment><USER22> _you have created value without depriving others, so it is only fair to receive compensation._

How is this fair to everyone else who had the same idea but wasn't as fast or greedy?

<comment><USER21> Good point - that is why I don't support IP rights for ideas so simple that other people would come up with them independently. This includes many software patents. I do believe in IP rights for creations above a certain level of complexity. For example, no two people would come op with the same novel or symphony independently.

<comment><USER22> _I do believe in IP rights for creations above a certain level of complexity. For example, no two people would come op with the same novel or symphony independently._

Interesting thought. Though, where do you draw the line? I don't want to oversimplify things. But a lack of IP obviously didn't demotivate Mr. Beethoven from writing lots of symphonies.

</comment></comment></comment></comment><comment><USER23> The quote by John Perry Barlow:

"Royalties are not how most writers or musicians make their living. Musicians by and large make a living with a relationship with an audience that is economically harnessed through performance and ticket sales."

leaves a lot to be desired. OK, so how do writers make their living? By giving live readings? I think not.

<comment><USER24> The way I earn a living is the same way most musicians earn a living: By working for hire or teaching (consulting).

There are about 10,000 books that make any measurable money at all, at any given time, and only a small fraction of those earn the authors enough to live on. Even famous authors of widely read books often have a "day job."

Books I have co-authored are "pirated," mainly in markets where wages are lower than would support a local edition at local pricing. My publisher does not use DRM on e-books, and e-books still rapidly outpaced paper books.

If you do the thought experiment, lack of copyright protection or a significantly shorter term of copyright, or some other variant, like a publishers' agreement not to trespass on other publishers' author relationships for some term, would not change my direct income from book writing very much.

Publishing would adapt: Books might be serialized so that subscribers get first access on a continuing basis. Or frequent editions (which you might see anyway, with e-books) might become the norm.

Apart from the handful of authors of "blockbusters" the book publishing economy would not change that much. We have made, and are protecting at great expense a novel result: A small number of authors, musicians, motion-picture makers, etc. can make big money through mass-reproduction of their works.

Is that an advancement of civilization worth subverting all the potential for free expression the Internet provides, or not?

<comment><USER25> What if you wrote fiction?

</comment></comment></comment><comment><USER22> In my mind kickstarter.com is the solution to the intelectual property problem. How can, knowledge workers, for instance musicians, earn money in the 21. century? Simple, charge upfront before publishing.

Imagine a popular band like U2 would ask for the money, they expect from their next album, upfront. I think, their fans, including me, would do what ever it takes to raise that money together. Et voila, you can still become rich as musician without mega concerts or a police state.

I've been talking about this solution with my friends for years. We never made it happen. Now kickstarter.com is here. But I'm still waiting for a large adaptation in industries like music or software and video games. Is it just a question of time and promotion or am I'm overlooking something important?

PS: I posted this a few seconds ago at <http://news.ycombinator.com/item?id=2723374> but then realized it would fit better here.

<comment><USER26> That does sound like an interesting model. Producers would, I suppose, initially have to establish their reputations by releasing things for free. The dynamics of choosing prices would be completely different, more like selling equity.

One thing that would worry me: a lot of people would have to be involved in getting a piece to a point where it could be sold. How would it be protected while all these people are looking at it and working on it?

Also, if you work out one of these deals with a publisher, and transmit it over the Internet, are you legally protected against people stealing it en route?

<comment><USER22> _That does sound like an interesting model. Producers would, I suppose, initially have to establish their reputations by releasing things for free._

Yes.

 _One thing that would worry me: a lot of people would have to be involved in getting a piece to a point where it could be sold. How would it be protected while all these people are looking at it and working on it?_

Based on trust, just like today. How is this different from how music, books, games etc. are produced now?

 _Also, if you work out one of these deals with a publisher, and transmit it over the Internet, are you legally protected against people stealing it en route?_

Not sure if you got me. No publisher required. Its direct b2c. Just like kickstarter.com works today. I'm only missing the "big fish".

And no one could "steal" it. Once its published its published. Free like any information thats published into our world today. A free license like BSD would be appropriate.

<comment><USER26> > Based on trust, just like today. How is this different from how music, > books, games etc. are produced now?

Currently, if someone violates your trust, by releasing their own version of a song you wrote, for example, you can sue them. It's not clear to me that this would be the case in a copyright-free world. You would have to explicitly have to make a contract with everyone who ever comes in contact with your work before it's ready. That would be tiresome, at best.

And it doesn't cover people who steal/stumble across pieces of it in progress. There is no way I would not be working on something before it was paid for. Before I even put an idea up for funding, I would have notes and such. If someone takes these and makes a derivative work, I get to prosecute them for... stealing paper, because I'm not allowed to claim the information content of the paper as my own.

Artists not skilled in secrecy are going to be in serious trouble.

> Not sure if you got me. No publisher required. Its direct b2c. Just like > kickstarter.com works today. I'm only missing the "big fish"

No, I didn't quite understand that model. So if there is any large-scale physical production, say printing books or burning CD's, that will be handled by third parties and the artist won't have anything to do with it? And people who want the physical form will have to pay two parties?

One problem you'll run into is that everyone benefits equally no matter how much they put in, including those who didn't put anything in. That sorta sucks for anyone who put in a lot, who then watch those who didn't help at all benefit from their money. You're essentially relying on charity, and that's a worrisome business model.

I wonder if the reliance on idealism would have a positive effect on the quality of work produced.

I need to think about this more. And I should probably give Kickstarter a try for one of my own projects.

<comment><USER22> _No, I didn't quite understand that model. So if there is any large-scale physical production, say printing books or burning CD's, that will be handled by third parties and the artist won't have anything to do with it? And people who want the physical form will have to pay two parties?_

Whats wrong about paying two parties? Actually, most people would never pay the first party, because the work is already released. And the profit margin for the second party (publisher) would be small at best. First, because there will be a lot of competition and second because information delivery is almost free today.

Why burn CD's in 2011? Download the mp3's and play them wherever you want. Since I have a Kindle, I don't really want printed books anymore either. I also printed a lot of free books at the local copy shop in the past.

The problem with trust, I believe is not a bigger one than it is today. It should actually be smaller. Where is the problem if I paid someone over kickstarter.com to do XYZ and then XYZ gets published by some bad guy earlier than planed?

</comment></comment></comment></comment></comment><comment><USER27> Here's the rest of that letter from Thomas Jefferson. [http://press- pubs.uchicago.edu/founders/documents/a1_8_8s12....](http://press- pubs.uchicago.edu/founders/documents/a1_8_8s12.html) It's interesting to realize that even such a fierce supporter of personal rights in our country didn't recognize ideas as something that should be "protected" like personal property.

<comment><USER28> Actually, "protecting" ideas as if they were property is in direct opposition to personal rights, so this should be expected.

It's weird how "intellectual property" somehow got associated with personal liberty, the free market etc., when in fact it totally goes against those ideas.

<comment><USER27> Well, I've heard that in Britain, IP is considered an inherent right just like personal property. If I own the result of my own physical labor, why wouldn't I own the result of intellectual labor as well?

<comment><USER29> Because if you physically make something and it's taken from you, you no longer have it. Information can't be taken from you - granted, a medium on which it's stored could be, but again, that would be a physical, not an intellectual loss. You can't be deprived of the knowledge that allowed you to create the item in the first place.

Unless, of course, somebody else is granted the intellectual property rights to it.

<comment><USER5> But that's not quite the argument.

If I compose a poem or a play, and contract with a publisher to publish said poem and pay me a portion of the proceeds (or contract with a theater company to perform the play, and similarly pay me a portion of the proceeds), and some third party takes the poem/play and publishes/performs it without paying me, I have, in fact, been deprived of something, i.e., income.

And, if my reading of history is not mistaken, it is precisely from this use case that the notion of intellectual property (in the initial form of copyright) takes its foundation.

<comment><USER30> Interesting you chose the word 'deprived' instead of the more typical 'stole'. I think it's hard to justify stealing when only a copy was copied. So then 'deprived of income' in the sense of withheld income. Who is doing the withholding, and why do you think you're entitled to what they're withholding? And how much? (While the third party didn't have to write your work, they nevertheless would have to do a lot of work themselves to make a profit from it.)

Here's an economic quote but I don't remember the source: "Profit is not determined by how much value you create, it is determined by how much of that value you can capture." Edit: Ah, looks like it's an Eliezer quote not from an economics text.

<comment><USER5> In the example I offered, the economics are no mystery, but if it helps you to put numbers in the picture, let's go for it.

Suppose I write a book of sonnets. I negotiate with a publisher whereby he has the exclusive right to print, distribute, and sell said book of sonnets for a period of five years, and I will be paid $1 per copy sold. The book proves popular, and a pirate publisher produces, distributes, and sells an identical edition, but fails to pay me the $1 per copy sold.

In this case, I am being deprived of the income (by the pirate publisher) to the tune of $1 per copy that they have sold during the period in question.

Clear?

<comment><USER30> Not really. Why is it $1? Suppose you make a contract with one publisher who will pay you $1 per copy sold and also negotiate with a different publisher who will pay you $2 per copy sold. How much are you deprived then, $1.50? $2? You're assuming that every copy the pirate sold could have been sold by your current publisher(s) but wasn't.

<comment><USER5> Because I stipulated that the contract was exclusive and time-limited. In other words, the assumption that every copy the pirate sold would have been sold by my current publisher is accurate-- hence the simplicity of the hypothetical.

<comment><USER31> > Because I stipulated that the contract was exclusive and time-limited

And why should you have the right to control that?

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER32> Property underpins our ability to survive. All wealth is ultimately a product of the mind (whether it's writing a novel, or finding some oil and knowing how to use it), so as a general rule if a man cannot control the produce of his mind, he can't expect to survive. I see intellectual property as pretty fundamental to any society that respects individual rights.

</comment><comment><USER33> Given that (1) most people are or are becoming "authors" now that the tools to create and distribute have become much more distributed then ever before; that (2) the way copyright works at the moment is to reward only popularity, not original creativity; that (3) for any author obscurity is a much larger problem then infringement ever could be; that (4) creativity may not need encouragement as becomes obvious seeing how much is intentionally produced to be widely distributed for free (open source, creative commons, youtube, etc)?; that (5) only a very tiny percentage of authors will ever get "rich" of their work.

So perhaps we need to look at another solution?

An unconditional basic income for all would support authors/artists/anyone exactly at the moment they need it to do their work. It will not make anyone rich, but it will enable works that can't be created at the moment (because the artist needs to do other work instead). When an author does become populair they will not have been forced into an unfavorable contract with a publisher when they where broke, working poor.

An unconditional basic income would enable people to be creative, it would pay just enough so that money isn't an issue anymore. This would be more effective way to promote the arts and sciences then copyright in its current form.

<comment><USER34> Your idea sounds a bit like Milton Friedman's negative income tax.

</comment></comment><comment><USER35> A "right to sue" could be considered property if you squinted hard enough, but of course when people talk about intellectual property they're talking about "UNIX" or Windows or the Mac OS look and feel, not the legal mechanisms themselves.

<comment><USER36> Yes, juridically, the word "property" in "intellectual property" actually does refer to the _rights_ , not to the immaterial entities governed by those rights. "Intellectual property rights" is just tautological.

<comment><USER35> Thank you, it always seemed to me that it would make sense if it was supposed to be that way, but I didn't realize that that was the actual law.

</comment></comment></comment><comment><USER37> What if patents granted tax benefits instead of granting a monopoly? Would this work?

</comment><comment><USER38> easiest way for a government to bag some money is to liberalize to the private by means of copyrights. but what it does it slowly slaving it self to the private. one fine day the private will own the public completely and even copyright the constitution. so no other country can have its right to have rights.. pathetic system.</comment>


Ask HN: Would you read this blog? - <AUTHOR>

If there was a blog documenting the customer development & lean experiences of 3 companies as they happened, would you read it?
As we'd identify, and ask our customers if they'd pay for our products before we build them, we'd share what we're doing, what's working, what's not and what we're learning.
Of our 3 contributing companies, one would be b2c, one would be a b2b, and another would be c2c.
Assuming the content was occasionally valuable, would you read it? If you might read it, what would tip the scale?  Votes sufficient, comments appreciated. <comment><USER2> Yeah, count me in. I'm always interested in hearing about other people's experience with Customer Development.

</comment><comment><USER3> I always love to learn from other people success or failure, especially customer development, which is my field of expertise. so yeah, you can count me in.

</comment><comment><USER4> I love the idea of it. As a new startup, and and all learnigns around customer development are HUGELY valuable.

</comment><comment><USER5> May you share and email address?

</comment><comment><USER6> build it up, people find their way through blogs.

</comment><comment><USER7> no</comment>


Mac mini Late 2018 Teardown - <AUTHOR> https://www.ifixit.com/Teardown/Mac+mini+Late+2018+Teardown/115210 <comment><USER2> A bit disappointing to see that the storage is not user-upgradable. I guess it matters less on a device like this where you could more easily use external storage, but still. I wish Apple stopped soldering in stuff and just made things a centimeter taller if that was the tradeoff.

<comment><USER3> I think it's more because of the PCIe interface, and access control and encryption through the T2 chip. The PCIe interfaces SSDs that Apple's been using allow really fast speeds of upto 3Gbps, which is almost double those offered by other interfaces like M2 or even more faster than SATA. What's disappointing is the base storage. 128GB in 2019 is so ridiculous. I would't otherwise mind a soldered SSD when I can just use the TB3 ports to connect external drive with virtually no performance loss. But 250GB internal storage is a necessity especially when the OS itself takes up almost 20GB out of the paltry 120GB.

<comment><USER4> Is encryption optional? In general I'm more worried of forgetting my password (and thus losing all my data) than of unauthorized access to my home desktop.

<comment><USER5> If you really don't care about unauthorized access, just write the password in sharpie on the box. I have a bunch of machines hooked up to test equipment that sit on their own network. I just write the username and password on the box and no one ever needs to worry about trying to find the sticky note or find me and ask or waste time guessing. The name of the computer, the username, and password are all the same and reflect what the box setup for.

<comment><USER6> I also endorse writing the "password when passwords don't matter" on the side of the machine. ISPs have been doing it with their gateway modems for years, and I've never heard of any threat model that calls that out as a problem.

</comment></comment></comment></comment></comment><comment><USER7> Apple can be proud of using plastic recycled at 60 percent but a not easily serviceable computer will end up in a landfill way sooner than it should.

What happens three years down the line when the device is out of warranty and the storage fails? Between paying an absurd amount of money to replace the whole board and getting a new one I bet most people will go with the landfill option.

My Mac mini 2012 got a second life after I maxed out the ram and replaced the spinning rust. If a component fails I can easily replace it and squeeze a couple of years more out of it.

<comment><USER8> I think holding Apple to higher standards for its environmental impact has a lot to do with why they innovate in this respect, and I think that it is appropriate, given their size as a manufacturer and their positioning as a premium product.

Tightly integrated hardware, and efforts to develop software that improves performance of long-discontinued products does a lot to explain why Apple products are used much longer than alternatives. Compare a Mac mini to a budget mini tower, and it is difficult to argue that attaching an external Thunderbolt 3 drive in 2024 is worse for the environment, when the competing product will likely be in a landfill, due to difficult to diagnose hardware issues and there not being an easily understood recycling program.

<comment><USER9> OK, sure, but why do they need to manufacture everything out of CNC'd billets of aluminum? That seems extremely wasteful.

<comment><USER10> This is one of the least wasteful things they do. The cuttings are recycled, and aluminum is one of the few materials that is more energy efficient to recycle than to mine/manufacture from scratch.

<comment><USER11> They also do CNCing pretty efficiently. The same piece of aluminum that makes an iMac screen bezel makes two wired Mac keyboards.

</comment></comment></comment></comment></comment><comment><USER12> The new mac mini makes a constant electrical noise when I move the mouse. It is audible and irritating >2 meters away from the mac. I have tried hubs, different ports and nothing else connected. It is ok with a wireless mouse, lower polling rate. The fan is quiet, not irritating.

I might have sensitive hearing. Many modern gadgets are a pain in the ear. This type of noise digs deep and ruins the mood. I am sending it back. This is my data point, might not represent all new mac minis.

edit: I can probably go for a low polling rate, but then I wonder about tomorrow. What other use case will stress the same circuit components?

<comment><USER13> Take it back, get a replacement.

</comment></comment><comment><USER14> I really hope someone could figure it out if Mac mini with the i3-8100B CPU can work with ECC memory. According to Intel the CPU is ECC-capable, but I'm not sure about the mobo. If it works with ECC, it would be a truly mini Mac Pro.

The higher-end configs with i5 and i7 CPU are not ECC-capable, only the entry- level i3 CPU is ECC-capable.

<comment><USER15> What is your use case where ECC ram is that important?

<comment><USER14> I plan to ditch NAS and just connect external storage directly to the mini, and it needs to run 24/7\. ECC should give me better reliability, no?

<comment><USER16> Yeah, but for a NAS it's overkill in my opinion.

You're more likely to run into on disk than in RAM issues with silent bitrot depending on OS and FS even then pretty rare but if your NAS is huge becomes more likely just law of averages.

<comment><USER14> Bit rot on cold storage is at least detectable if using filesystem with checksumming (e.g. ZFS).

I'm not aware of any solutions to detect bit rot in RAM other than ECC.

</comment></comment></comment></comment></comment><comment><USER17> More accessible than the previous gen (although oddly iFixit gives it the same score of 6/10), but it's harder than I'd hoped to get to the RAM.

<comment><USER18> The previous one was a horror. Security t6 screwdrivers are a nightmare to source. I have bought 5 sets and none have been correct. Resorted to attacking them with pliers and eventually had success.

<comment><USER19> We include good T6 security bits in our Pro Tech Toolkit: [https://www.ifixit.com/Store/Tools/Pro-Tech- Toolkit/IF145-30...](https://www.ifixit.com/Store/Tools/Pro-Tech- Toolkit/IF145-307)

<comment><USER18> There was a period where you were all sold out - it's the first place I look as your kits are great.

</comment></comment></comment></comment><comment><USER20> Replaceable RAM, finally, THANK YOU!

But soldered storage... And storage is the wear item, d'oh!

</comment><comment><USER21> What I really like about the Mac mini is the internal power supply. I'd wish all the PC vendors would offer their mini PCs with internal power supplies too.

</comment><comment><USER22> Curious as to which 10Gb Ethernet controller is being used, no mention in the teardown. Anyone know?

<comment><USER23> Aquantia, same as the iMac Pro.

<comment><USER24> Is there anyone else manufacturing 10G controllers at $100 end-user prices?

<comment><USER25> Not for Mac Minis, but you can get two port, Intel X520 series 10GbE (optical) PCI-Express cards for $85 to $110 each on ebay these days. 1310nm/LX SFP+ are really cheap, like $25 a piece.

I am biased, working in network engineering, but I really don't see a huge use case for 10GBaseT. It's almost unheard of in an ISP environment. Anywhere we need more than 1000BaseT we do everything optically.

<comment><USER11> What about connecting to storage, either an SSD NAS or a local disk array? At work we have regular old HDDs in RAID 1 and it saturates a 1 gig connection, so I'd imagine SSDs in some faster RAID would get way above that, and you don't have to redo wiring everywhere if you already have Cat6 installed.

</comment></comment></comment></comment></comment><comment><USER26> Flash memory soldered to the main board also doesn't seem like a good idea, since this type of memory has a limited durability (depending on # writes).

<comment><USER27> I wonder if it's hard to resolder it. It's not a problem physically for experienced repair service, but may be Apple locked it with software.

</comment></comment><comment><USER28> They say it's got impressive specs, but I don't find it impressive at all. This brick-sized Gigabyte (NUC) computer has far more impressive specs than the Mac Mini: [https://www.gigabyte.com/Mini-PcBarebone/GB- BRi7-8550-rev-10](https://www.gigabyte.com/Mini-PcBarebone/GB- BRi7-8550-rev-10)

<comment><USER29> What's impressive about it? That's a mobile CPU, ~20% slower than the Mini base model. Slower RAM (2400 vs 2666). Two USB3.1 ports vs four in the mini, no Thunderbolt (10gbps vs 40gbps). Weaker GPU, can't output 4K. To top it off, it doesn't come with RAM (+€80 8gb) or an SSD (+€50 128GB).

Total cost €680 vs €899 for the Mac Mini - it actually makes the mini look like an incredible deal.

<comment><USER28> Those are fairly good points. I upvoted you.

Yes graphics is better — the GPU on the Mac Mini is the Intel UHD 630 vs the UHD 620 on the Gigabyte Brix.

With regard to the CPU, the Gigabyte's i7-8550U is slightly faster[1] than the i3 in the Mac Mini, but slower than the i5 and i7 offered on the Mac Mini.

The lower TDP might be something that people who plan to run a server on it might care about. I have a desktop with a i7-5820K (which has a 140W TDP), and I realized that a DigitalOcean droplet was cheaper than keeping my computer running all day (even with the monitor turned off, idle power usage was 100W+, and my electric cost is over $0.20/kWh).

I consider 16 GiB of RAM a minimum, and it is significantly cheaper with the Gigabyte. Apple's $200 charge for an upgrade from 8GB to 16GB (in the US) is a bit too much. You can buy 16 GiB (2x8GiB sticks) for that.

Having the flexibility to pick your own SSD is nice too. The 960 PRO is one of the fastest PCIe SSDs out there — I wonder if the SSD in the Mac Mini comes close to it in speed. Also: if you don't care about the SSD speed but want a lot more storage, you have the flexibility to get the slower 1TiB 860 EVO (or similar SSD) for around $150 — wheread Apppe charges $600 for an upgrade to 1TB on the Mac Mini — and exorbitantly high price.

Lastly, I use Arch Linux both on my home laptop, and on my work machine (whenever possible). And the fact is most people buy Macs for macOS; but I'm quite comfortable using Linux, and don't really need macOS.

[1] [https://www.cpubenchmark.net/compare/Intel-i3-8100-vs- Intel-...](https://www.cpubenchmark.net/compare/Intel-i3-8100-vs- Intel-i7-8550U/3103vs3064)

<comment><USER29> When I looked at userbenchmark.org the i3 came out ahead. Apple's SSDs are top notch, crossing 3Gbps. RAM is upgradeable on the mini so you can save a couple hundred, plus OSX memory management is so much better than windows you'll only feel any difference if doing heavy video/audio/3D workloads.

For some reason a TB3 NVMe enclosure is dirt cheap, around €40, and gives you full speed access to whatever SSD you like!

I just got a mini for myself - main driver being the OS, I can't be productive on my windows pc. Got the i5 and 256gb for ~$1200, which gives me same power as a high end 15"MBP at a quarter of the price. Mac OS is worth the €200 markup alone.

</comment></comment></comment></comment><comment><USER30> I'm disappointed that the CPU isn't upgradable. I got my hopes up with it being a desktop part number (i3-8100 according to everymac.com).

</comment><comment><USER31> Can you case-swap into the classic Silver body?

<comment><USER32> If it bothers you, you can remove the anodization chemically with household products. That gets you to silver, but easily scratched. Then you can anodize it using more household and hot tub chemicals and a current limited power supply, a bench supply is fine. That gets you to silver and hard, but will stain. Soak it in whatever dye you like to color it, or not, then boil it to seal off the pores in the anodization and you have the case of your dreams.

</comment></comment><comment><USER33> Soldered storage, soldered CPU, connectors on same board. Meh...

<comment><USER34> These are all par for the course for Apple's products. The fact that the RAM is upgradable is quite surprising, since it's a departure from the direction they went in for the earlier Mac Mini.

</comment></comment><comment><USER35> That thing has like $400 worth of hardware in it.

<comment><USER36> Heh every post about Apple products has this comment, doesn't it?

</comment></comment><comment><USER37> If only someone could figure out how to put components into a larger box, so that there is no need to solder things down. The motherboard is surely the same whether it is i7 or i3, so if there was some sort of a socket, you could replace a cpu like a bulb.</comment>


Offer HN: Advice on how to increase sales and conversions on your website - <AUTHOR> I'm the founder of Visual Website Optimizer and since last year have had the privileged of studying and analyzing 100s of A/B split tests to learn what makes a particular website convert visitors into customers. If you have website (or a landing page) and you have traffic but are struggling with your conversion rate, contact me. Would love to advice how you can go about increasing sales and conversions.
My contact details: firstname.lastname@example.com
PS: I'm loving the new phenomenon of Offer HN and in past few days actually contacted some amazing HNers for advice so thought of giving back to this awesome community. As a bonus, I expect to learn about many great HNers. <comment><USER3> I've worked with Paras on few occasions and cannot begin to tell you how helpful he has been. VWO is a stellar product that if you're not using it, confidently know you are loosing a lot of business. Our conversion ratio has increased substantially over course of 6 weeks with all the testing and implementations that we have done.

Thank you, amir g. | executive director the mansion group.

<comment><USER4> Visual Website Optimizer is a fantastic product and Paras is a great guy. If you run a website, you need to be using VWO. You will easily make your money back within one use.

Pull the trigger. Buy it. You won't regret it.

</comment></comment><comment><USER5> I own <http://www.chicagoteagarden.com> \- I'm using Ubercart for the checkout page. We don't have a huge amount of cart abandonment but I'm wondering if you see room for improvement as far as the UI goes. Thanks! My email is email@example.com

<comment><USER6> I'd throw in a couple of comments on this one - I'm looking specifically at cart/checkout:

a) Including the product picture again in the "Cart Contents" overlay provides better process continuity, and that usually results in better conversion.

b) Push all of your fields to the left side of the page in "Delivery Info" and "Billing Info" - that will put those fields directly into the hot-zone of attention where users spend the most time looking - the less you make your users work the higher your conversion rate.

c) The page width is a little off in IE8 and FF creating a horizontal scroll bar in 1024x768 at the bottom of the page, this is one of those tiny little professionalism issues that people can subconsciously pick up on and ruins a sale - even if you're only seeing <10% of visitors in that resolution.

d) Under payment method you have a floating radio button but no options - I'd remove the radio button, and position the VISA / MC / etc logos into the cart box.

e) Showing an SSL certificate and reinforcing security heavily around where users are actually entering credit card info can result in huge gains - <USER2> on that here [http://conversionvoodoo.com/blog/2010/07/proper-placement- of...](http://conversionvoodoo.com/blog/2010/07/proper-placement-of-trust- logos-can-make-a-huge-difference-in-conversion-rate/)

Good luck!

<comment><USER5> Thanks a lot! This is really helpful. You are right, I will definitely look into the 1024x768 scrollbar issue I did not know about that one. All of the other issues are also now on my to-do list. Thanks for the great advice. Cheers to better conversion rates!

</comment></comment></comment><comment><USER7> I have seen Paras's posts the past year around the internet about Visualwebsiteoptimizer. I am very impresssed with him and his company. If you own a website and are looking to take your business to the next level greatly consider VWO as you will not be disappointed by the results.

</comment><comment><USER8> I co-founded <http://www.myticklespot.com> \- we use Magento and have a ton of cart abandonment... our conversion rate is 1.34% and won't budge. Where do you see room for improvement?

Thank you so much for this offer!

<comment><AUTHOR> Well, I found in incredibly hard to find 'Add to Cart' button your site. On your product pages, you should move it to top and make it really prominent on the page (maybe a different color, how about red?). Plus, your product pages lack brief one line description. Ideally, I would like to see what a product is just below the product name. You have paragraphs and videos but not brief description. ou should emphasize the discount given. For now, I have to mentally calculate how much I am saving. Why can't you tell that directly on a page? You are also underplaying 'Free Shipping' aspect. It is a big, big advantage and should be written right next to the price.

After I add product to a basket, you should swap the order of buttons in the popup. The checkout button should be displayed above the continue shopping button.

Lastly, your checkout page: if possible, add tax in the price itself. Visitors don't prefer surprises on the checkout page. No where it was obvious to me that you were going to do that. Please avoid that or mention in price something like 10% tax extra (or better still, add in the price and say all inclusive).

Then you ask users to register with the site but you do have a express checkout as well. I would test eliminating that step. You should be able to detect a repeat visitor from cookie or something, so ideally should show that step only to those visitors. Lastly, try to take all information in a single step (that is shown to increase conversions).

Hope that helps!

<comment><USER8> WOW! Thank you so much! I've never considered a single of these things, thank you so much for the time and ideas. I've just added all of these things to my to-do list for AB testing!

</comment></comment></comment><comment><USER9> I've working on <http://toeflnow.com>.

The primary market is ESL (English as a Second Language) aged 17-24.

We are not converting. We actually had a much uglier out-of-the-box wordpress site that was converting better than this website.

What's your advice about how we can improve conversions for our paid products?

</comment><comment><USER10> I've been managing the website <http://www.lakerestoration.com> for a little under a year now. In that time I've managed to get the conversion rate up from 1.26% to about 1.78%. Any advice you could give me on further improvements would be awesome!

<comment><AUTHOR> I didn't realize that you were actually selling something on the site (and that's bad if you are actually selling something). I think you need a large headline on the homepage saying 'Buy Lake Weed Control Products' and then list 2-3 products (with images) and just below it 'See our full catalogue'.

</comment></comment><comment><USER11> I own an educational video site and we just launched a subscription product for teachers that is getting traffic but no conversion. Any thoughts?<http://www.studybeat.com/signup/instructors/> My email is email@example.com Thanks!

</comment><comment><USER12> Because of this offer, I'm signing up for Visual Website Optimizer. What a great way to share!

</comment><comment><USER13> I am launching www.tradesalerts.com in a few days.. would love some advice on how I can go about increasing conversions? I will drop you an email separately. Thanks in advance.

<comment><AUTHOR> Well, obviously, first get rid of "Just another WordPress site". Your image is confusing (to me, at least) and I think you could use a professional designer there. Also the subheadline (below image) sounds like you are shouting so maybe you can decrease the size a bit.

And yes, put "$9 only for limited time. Only X spots left" right below your 'Subscribe' button.

All in all, I think the page lacks "visual appeal" which creates trustworthiness. So, perhaps you can invest in some design.

<comment><USER13> Thank you for the advices. Once the website starts to make some form of profit, top of the todo list is to hire a professional designer.

Other cheaper options I have explored so far include; \- Buy a theme from ThemeForest or WooThemes and Mod it. ($40) \- Hire a designer to create the PSD, then use PSD to HTML/WordPress service. ($200) \- Use crowd sourcing websites such as crowdspring/99designs (min $500)

But to hire a designer at such a early stage could set me back at least $200, for a new gig it's hard for me to justify the cost, especially when design is so subjective. One might like it, others might now.

</comment></comment></comment><comment><USER14> We don't have major traffic, around 25% of visitors signup for a free alert. We would love to hear your thoughts. www.gobuzz.com.

<comment><AUTHOR> Your page is well-built and has an informative headline too. However, I think following changes may increase conversions:

a) Removing examples and (centering) and increasing size of the main dropdowns b) Selecting an option in dropdowns by default c) Removing 'preview' link d) Changing the color of button to red (yes, this can really work)

Essentially, try to highlight the dropdown section in the middle of the page. You can have all "extra" stuff as a separate section below it.

PS: You can also test a headline like "Google Alerts on Steroids" -- I am assuming most of your visitors would know what Google Alerts is

<comment><USER14> Awesome, I appreciate your help. Good Luck! Let me know if I can be of assistance in return.

</comment></comment></comment><comment><AUTHOR> Wow got 6 emails already. Replying to every one of them now!

<comment><AUTHOR> Got 50+ emails by now. Will reply to all but it is already 12:30 am here :) Will try to reply as many I can do today, rest tomorrow.

The biggest learning from looking at HNers' sites has been this: they are text-heavy without any clear call-to-actions and usually lack a concise, descriptive headline.</comment></comment>


Fascinating new map shows EVERY river basin with a different colour - <AUTHOR> https://twitter.com/davemwall/status/1088003350556303360 <comment><AUTHOR> [https://www.dailymail.co.uk/sciencetech/article-6511869/Fasc...](https://www.dailymail.co.uk/sciencetech/article-6511869/Fascinating- new-map-shows-river-basin-globe-different-colour.html) For world maps</comment>


In Response to an HN thread: Credentials - <AUTHOR> http://shamazing.blogspot.com/2009/02/in-response-to-hn-thread-credentials.html

<comment><USER2> In general, credentials are not worth much. If I don't have the technical background or knowledge to evaluate an answer given by an expert, I would be doing a disservice to myself to accept that answer on face value.Sure, I could use that explanation for learning. But still, it would be a lot better to get explanations from multiple sources.

So basically expert opinions can give a good start for learning something, but you won't learn a lot if you only go off that expert opinion.

Since the post you were referring to was about the value of ideas in math, credentials might have helped a little bit, because evaluating an idea's worth requires knowledge and experience in that problem domain. But even if that post were written by a credentialed expert, that fact would not help me a lot. I still have almost no idea how to evaluate the importance of an idea in mathematics, and learning that will take more than talking to one person.

Also, expertise and credentials are overrated. That's one thing that really shocked me while I was reading the four-hour work week. Tim Ferris suggested that you gain expertise and credentials, mentioning that it was quite easy. One of the ways he suggested was to go to some close by organization or fortune-500 company and hold a free seminar on a topic, which is easy to do because the standards for letting someone show up and do a free seminar are probably low. Then, when talking with someone, you just need to mention the seminars, and they will assume that the organization has evaluated you, and your worth will be viewed as dependent on that organization.

So basically, what I got from that was I naturally give too much deference to experts, and I don't really have the knowledge to give a thorough evaluation of someone's credentials.And a thorough evaluation of someone's credentials in an internet forum would probably devolve into a flame war.For example, the author of the article on the number 6174 has decent credentials, but it appears that he misused the definition of a kernel (See <http://mathworld.wolfram.com/ModuleKernel.html>).So how do I evaluate errors in an opinion where the value is determined from credentials? Do I say that it's not an error, the author just missed the details, or the credentials are not worth much?

Edit: Link to HN conversation:<http://news.ycombinator.com/item?id=480398></comment>


The F-35's Software Is So Buggy It Might Ground the Whole Fleet - <AUTHOR> http://motherboard.vice.com/read/the-f-35s-software-is-so-buggy-it-might-ground-the-whole-fleet <comment><USER2> Highlights from the GAO report:

* Pilots, maintainers, and administrators at three of the five sites we visited are concerned about ALIS's ability to deploy and function in forward locations. For example, users are concerned about the large server size and connectivity requirements, and whether the system's infrastructure can maintain power and withstand a high-temperature environment.

* ALIS users at three of the five sites we visited are concerned that a failure in the system's current infrastructure could degrade the system and ground the fleet. Currently, ALIS information, including data from all U.S. F-35 sites, flows from the Standard Operating Units (SOU) to a single national Central Point of Entry, and then to the lone Autonomic Logistics Operating Unit (ALOU).26 This data flow process has no back up system for continuity of operations if either of these servers were to fail.

* Maintainers and pilots at three of the five sites we visited were concerned that ALIS does not have much interoperability with legacy aircraft systems... The ability to share information between ALIS and these legacy systems is vital due to the way the services operate.

* Maintainers at four of the five sites we visited told us that the current Action Request (AR) process does not allow for the effective reporting and resolution of F-35 aircraft and ALIS issues.

* ALIS users at all five sites we visited are concerned with data accuracy issues within the system, including missing or inaccurate data and inaccessibility of raw data within ALIS.

[http://www.gao.gov/assets/680/676576.pdf](http://www.gao.gov/assets/680/676576.pdf)

Description of ALIS risks starts on page 15.

<comment><USER3> One other highlight from the report: the total lifetime cost of the program is now estimated at 1.3 trillion dollars, or $1300000000000 if you prefer longhand (up from the 1 trillion dollar estimate of a few years ago). Other things we could've done with that money besides spending it on this useless garbage heap of a plane are left to the reader's imagination.

<comment><USER4> > the total lifetime cost of the program is now estimated at 1.3 trillion > dollars

But the would-be US presidential candidate suggesting free higher education is the fiscally irrespomsible fantasist, apparently.

<comment><USER5> I've seen numbers floating at 70 billion/year for that. So that would be 18.5 years.

I've seen estimations of about 1.7 trillion for the wars since 9/11\. That'd be another 24 years.

Peter Dale Scott wrote a book about something he calls "The Deep State" which at least, to me helps explain how seemingly regardless of who gets elected, such unpopular expensive programs continue without elected officials people having any discussion of legislation to stop it.

<comment><USER6> Have you ever noticed that whenever government gives a bunch of money to higher education to operate, the cost to operate those universities goes up to match whatever extra was given?

<comment><USER7> That's just not true. Higher education costs have held steady for about 30 years.

What has increased is the share of that cost that is being fronted by the student, instead of the government. You want to be mad, be mad. But at least point it in the right direction.

For example - at the 'state funded' institution I was previously employed by, only 11% of our annual funding came from the state. Compare that to the 1970's, when around 60% came from the same source.

The cost of tuition didn't increase (outside of annual inflation adjustments) overall. The cost to the student increased because the state cut back so hard on their payments. Meanwhile, students demand the same, or better services every year. You can have cheap, you can have good, but you can't have both.

The fact that people going to college in the 1970's were able to pay for college on part-time summer jobs wasn't because it was miraculously cheap. It was heavily subsidized.

These aren't secrets.

</comment></comment></comment></comment></comment></comment><comment><USER8> Does anyone know what it's written in?

Boeing writes (nearly) everything in Ada and as far as I know has never had any software problems of this scale. Most of it is in SPARK as well, a restricted subset of Ada that can be partially formally verified[1]. Frankly, _not_ formally verifying mission-critical software where a failure can potentially threaten someone's life seems rather irresponsible.

1\. Contrary to what seems popular opinion, regular Ada is not particularly strict (less so than Rust). SPARK is very, very strict about what you can compile, and if it compiles it follows the spec (which is usually easier to audit).

<comment><USER9> Speaking as someone who left a company that did radar software development in ADA (and some C). We were a subcontractor of Boeing and wrote the software for them.

We didn't formally verify the code, its way too complex, but everything was reviewed and heavily tested. And tested again. Then integrated and tested...

Ada is pretty strict and if it compiles you usually had some confidence it was going to at least run ok.

The industry was moving to C/C++ because developers know it and promises of higher productivity.

I did kinda grow to like ada. It had its warts, but it was good. It reminds me a bit of GO with its packages.

<comment><USER8> > It reminds me a bit of GO with its packages.

Ada Tasks also bear some semblance to goroutines. (In the sense that they share memory by communicating instead of communicating by sharing memory.)

It's definitely a nice and well-designed language IMO—with a share of annoyances[1] and flaws—but overall deserving of more attention than it gets. Lately I've gotten comfortable enough with it that I have been making a habit of reaching for Ada for side-projects where I would formerly use C. (For example, I'm writing a toy X window manager in Ada at the moment—using XCB from Ada is a little ugly at times but definitely bearable.)

1\. For example, why can't a record discriminant be a range bound? Answer: standards committee didn't think people would use it. Of course, this means if you have an array of discriminated size, you can't conveniently have a type for a position in it. e.g.

      type Thing_Stack (Max_Size : Positive) is record
        Elements : array (Positive range 1 .. Max_Size) of Thing;
        Top_Index : Positive range 0 .. Max_Size := 0;  -- 0 = Empty stack
      end record;

Fails to compile with "Discriminant cannot constrain scalar type". According to [2], this is because

> This restriction is left over from Ada 83 (RM83 3.7.1(6)). We considered > removing this restriction in Ada 95, but ultimately decided that the > implementation effort to support this modest extension would outweigh the > (more?) modest benefits. Perhaps a short-sighted decision, in retrospect...

> As for why the original Ada 83 restriction existed, noone knows for sure, > but it probably relates to the historical purpose of discriminants as only > for controlling the "shape" of the record, rather than being seen (as in Ada > 95) as more general type "parameters."

And apparently it got left in Ada 2012 also.

(For C people, this is basically:

      typedef struct {
        size_t max_size, top_index;
        thing elements[];
      } thing_stack;

but bounds-checked and without the annoyance of allocating flexible array members.)

2\. [http://computer-programming- forum.com/44-ada/82b646ab38d529a...](http://computer-programming- forum.com/44-ada/82b646ab38d529af.htm)

<comment><USER9> Its been a while

I liked the records in ada. You could control the position and size of each field (which was really usefully for dealing with in binary messages) We had a ton of constrained types.

If I remember we has assert 'size on some of the records to make sure type changes didn't cause some records to become unexpected sized in case the types that made up the record changed.

variant records were fun, but when you start trying to do much (array of variant records?) it fell down.

The string handling left a little to be desired though..

</comment></comment></comment></comment><comment><USER10> "In one instance, maintainers even had to manually burn data onto CDs and drive off base to send the massive files across a civilian WiFi network."

That is a level of scary, I'm not comfortable with in our military's data. Logistics data flying across a civilian WiFi is really not good.

<comment><USER11> Similar stuff happens in medical sometimes too. Everything is so restricted that at some point if you want to get something done you have to circumvent all security systems in a really bad hack way.

<comment><USER12> So instead of gently decreasing security when it's not possible to be totally secure... it's better to throw the baby out with the bathwater. Wonderful.

<comment><USER13> The gist of a convo with IT when I needed to work around some parameters:

"Hey IT dept. I understand the reason for our network restrictions, but we have a lot of data that we need to get to [some endpoint] using [some method]."

"Sorry, we can't relax the restrictions. You have to work within the parameters."

"But the parameters do not allow me to complete my job."

"Sorry."

I'd love to work within the parameters, but when IT won't budge, you're stuck with the least preferrable method.

<comment><USER10> and where exactly is your boss during this time?

<comment><USER13> Right beside me infuriated, because there was nothing that he could do about it either.

<comment><USER10> That's not an IT issue, that's an organizational issue. If your boss cannot do anything including appeal to his/her boss, then you shouldn't do anything. That type of thing needs to be sorted out.

Clearly, in the case of the F-35 systems, federal law was violated doing the offsite thing. We see developers (and frankly some sysadmins) violating HIPA and this kind of stuff has to stop.

<comment><USER13> > _That 's not an IT issue, that's an organizational issue._

I knew this at the time. I never blamed IT directly for the issues, because I knew that they were just doing their job as well.

<comment><USER14> I know it's not the easiest thing to do, but the proper response is to walk to HR (with your boss alongside) and explain that you can't do your job. The improper response is to wardrive to the first open access point you can find and use that.

<comment><USER11> In theory you are right but that's not how it works in most places.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER15> Here is an interesting talk about the F-35 (Joint Strike Fighter) C++ code given at CppCon 2014 by an engineer working on the project:

[https://www.youtube.com/watch?v=sRe77Mdna0Y](https://www.youtube.com/watch?v=sRe77Mdna0Y)

      The Joint Strike Fighter (JSF) is the first major DOD aircraft program to use
      C++. Much of this software is either safety critical or mission critical and so
      must be written in such a way as to be clear, readable, unambiguous, testable,
      and maintainable. We discuss the driving requirements behind the standard and its
      evolution. We give a quick overview of our standard and discuss how it differs
      from later standards such as MISRA C++. We discuss lessons learned over our nine
      year history of applying the standard to a large embedded software program. We
      also address ambiguities in rules and difficulties with automated checking of
      conformance with the standard.

<comment><USER16> As I said in another comment, these remarks apply to the aircraft only, and not to ALIS. To be honest I have no idea what ALIS is written in.

</comment></comment><comment><USER17> Ok dumb question; if it's so damn broken why are we paying Lockheed Martin for it? Did someone not think to put a term in their contracts saying that if they can't meet basic milestones (working software) that the US Government (and the people) aren't going to pay for it?

It's just software...

<comment><USER18> Why would LM sign such a contract?

<comment><USER19> Hopefully they wouldn't, when you look at the end result of their contribution to the project.

</comment></comment></comment><comment><USER20> Some context is necessary here, because as engi_nerd explained, it's not as if the primary flight control system is crashing and having to be rebooted in mid-air. It's more like a separate system that's used by maintenance personnel on the ground. Of course, if the aircraft's maintenance procedures are designed around it, then deploying a whole wing of them isn't going to work very well, because high-performance aircraft are high-maintenance aircraft.

But I can't help but think of Battlestar Galactica. At what point does this software become too complicated? At what point does it become a vulnerability to be exploited by the enemy, or simply a liability reducing readiness below what's needed in wartime? I don't recall hearing stories about the F-16's or F/A-18's computers crashing and needing to be rebooted (or even the F-22's).

<comment><USER21> F-22 did have some howlers (the computers crapping out when they flew across an international dateline rings a bell) but as someone who casually follows high tech stuff including military equipment I don't remember anything on the scale of the issues they are having with the F-35.

I think a lot of it comes back to scope creep, the F-22 was designed for one branch by one branch to do one thing well, the F-35 was designed for multiple branches by multiple branches to do a bunch of things somewhat well.

It's an absolute bear of a programme.

</comment></comment><comment><USER22> How does this reconcile with this article? [https://www.f35.com/news/detail/f-35-chief-software-bugs- no-...](https://www.f35.com/news/detail/f-35-chief-software-bugs-no-longer-a- threat-to-ioc)

<comment><USER16> Those two articles are talking about two different things.

ALIS is the logistics system for the program that has an off-jet and on-jet component. ALIS takes the role of a traditional computerized maintenance management system and expands it to include an on-aircraft prognostics and health monitoring component. The idea is to have the jet tell you what's wrong with itself.

The article you linked to is about the F-35's mission systems software, which is really a software suite that encompasses all the computers on the aircraft itself. The MS software load provides all the stuff necessary to make the jet's hardware do what it needs to do to fight.

<comment><USER23> So, the plane will fly, it will just be hard to maintain and operate?

<comment><USER24> The best answer I can find is, "I don't know."

For years, the F-35 project has been calling ALIS absolutely critical. Now, they seem to be saying that the F-35 can fly without it and that ALIS only keeps the cost of ownership down.

I suspect that the real answer to that question is either classified or closely held amongst a core group.

<comment><USER16> [https://en.wikipedia.org/wiki/Operations_security](https://en.wikipedia.org/wiki/Operations_security)

</comment></comment></comment></comment></comment><comment><USER25> This headline is really misleading.

TFA is about the "Autonomic Logistics Information System" (ALIS) system used to automatically order replacements parts and schedule service, _NOT_ the plane itself.

It's grounding the plane because they can't schedule maintenance and order parts correctly now that they're moving to this new system, not because the plane itself is buggy. The planes have been flying (mostly bug free) for over 10 years now.

A lot of people here are using this to scapegoat C++, but although the plane is written in C++, I don't think the ALIS is...

<comment><USER26> Don't bother. Threads like this just become mindless ragefests from people with political axes to grind and sites like vice know how to exploit these feelings for ad impressions. Liberal doves also want anything to attack new weapon systems spending. Its an ugly scene altogether and accurate information and commentary about military programs are lacking.

I've lived through a few major weapons systems changes and its all the same. Heck, anyone who has ever worked on a large project knows this stuff is fairly common. A lot of people don't want this thing in the air, especially Russia, China, Iran, and North Korea. Its a very capable weapons system and fills a much needed role.

Its crazy a lazily sourced article like this could make it to the front page of HN. It reads like my grandmother wrote it, "THE AIRPLANE IS RUN BY A COMPUTER! TECHNOLOGY IS SCARY!" To compete on this level, automation and complexity are required. Its silly to think we are going to back to how planes were designed 50 years ago.

<comment><USER27> > Liberal doves also want anything to attack new weapon systems spending

I generally agree with your points, but not this one. I've seen no partisan bias in the criticism, and John McCain is the biggest critic of this program, which is being pushed by the Obama administration. In fact, IME most of the criticism comes from the temper-tantrum-of-the-week branch of the GOP.

Also, Democrats have become hawkish; almost everyone says they are for a strong military including Clinton and Obama. There aren't many of those knee- jerk doves left - can you name a prominent one?

</comment></comment></comment><comment><USER28> Appears to be a copy of [http://www.pogo.org/straus/issues/weapons/2016/f-35-chief- cr...](http://www.pogo.org/straus/issues/weapons/2016/f-35-chief-critical- logistics-software.html) from April 20th

</comment><comment><USER29> Why was the software not such a big problem with other jets like F-16 and F-22? Is the F-35 software really so much more complicated?

<comment><USER8> 1) The F-35 has VASTLY more software and several software systems that the F-16 and F-22 didn't have.

2) The F-22 software was largely written in Ada, a sane language that's great for real-time systems that cannot fail. Apparently the F-35 software is mostly written in... C++. Writing fault-tolerant real-time C++ is like walking on a tightrope while gripping a gun with the safety off. You can do it, but it's not particularly pleasant.

3) Apparently the team was considerably expanded/replaced between the F-22 and F-35.

<comment><USER30> ps: the F-22 was also over budget and under-delivered on expectations. So much that the Pentagon canceled the remaining production run after 195 aircraft. [https://en.wikipedia.org/wiki/Lockheed_Martin_F-22_Raptor](https://en.wikipedia.org/wiki/Lockheed_Martin_F-22_Raptor)

What the heck are we doing with these airplane projects? We build stuff we don't need, that doesn't work, and is waaay more expensive than we thought, and the starting cost point was extremely expensive to begin with.

<comment><USER27> > the F-22 was also over budget and under-delivered on expectations. So much > that the Pentagon canceled the remaining production run after 195 aircraft

It was canceled because it was expensive and no longer needed, because the mission it was designed for - fighting a peer enemy - no longer existed. That was 2009, when the U.S.'s primary military concern was fighting two simultaneous wars against enemies who didn't own one airplane or air defense system. Any plane could do the job; we didn't need F-22s. Also, our prior generation planes were still the best in the world.

Seven years later, Russia and China have engaged in massive military military buildups, including significantly improving their air combat capabilties, and aggressive behavior. The peer enemy mission is back at the top of the list (and some are now talking about re-starting F-22 production).

</comment></comment></comment></comment><comment><USER31> I don't really understand how the computer systems of the F-15 and F-14 which were written in 1970's and probably in assembly seemed flawless yet with todays tech we can't even do this?

<comment><USER32> > I don't really understand how the computer systems of the F-15 and F-14 > which were written in 1970's and probably in assembly seemed flawless yet > with todays tech we can't even do this?

Programming languages haven't evolved much since the 70's, yet the number of lines of code we have to write to fly a 5th generation fighter jet has probably followed the same curve as the number of transistors inside it. And scaling a CPU turned out to be easier than scaling a program. Imagine the difference in complexity between the earliest computers controlling car engines, and what the computers inside a new Tesla are doing. The same with jets. Modern jets can barely stay airborne without a lot of computer power.

<comment><USER31> True, but can you even imagine being a software dev in 1970? Where TDD, unit testing, or testing even in general isn't even a thing thought of? It just seems so foreign.

Even now, someone in college and spend all of their free time reading blogs and books for best practice development and can generally fit in pretty good with any development group once graduated. I don't think people had those luxuries in the 70's.

<comment><USER33> > ... or testing even in general isn't even a thing thought of?

That's really, really, REALLY not true.

[https://medium.com/@verne/margaret-hamilton-the-engineer- who...](https://medium.com/@verne/margaret-hamilton-the-engineer-who-took-the- apollo-to-the-moon-7d550c73d3fa#.86lu3dxcc)

^^ fairly sure that she was thinking a lot about testing

</comment></comment></comment></comment><comment><USER34> As a whole the F-35 is one of those big disappointments that was the direct result of each service branch having a say in requirements of the aircraft. There are more than a few documentaries and articles outlining this in fantastic detail.

Ars ran a similar article to this one in January: [http://arstechnica.com/information- technology/2016/01/f-35-s...](http://arstechnica.com/information- technology/2016/01/f-35-software-overrun-with-bugs-dod-testing-chief-warns/)

I was an employee at Lockheed during the time of when the "JSF" vendors were competing for the contract. While I wasn't directly involved in any F-35 programs (I was on the MS2 side supporting NATO programs, particularly ASOC / SCCAN - that's another story in itself...) I was friends with a few programmers responsible for the main flight systems of the early aircraft (I'm unsure if that system was ultimately used in the production version or not) and the attitude seemed to be that the aircraft would never make it to operational use anyway. I was a, relatively, new and naive employee (first employment after college) and it struck me as odd that the plane was a joke internally to the company, at least those "building" pieces of it and it makes me wonder today if the lackadaisical attitude was ripe across all facets of the program. If so it makes sense today of all the failures the program has endured. The aircraft has always underperformed and been overbudget.

Ultimately the tax payers foot the bill for a next-gen aircraft that continually gets beat by task-specific variants that are decades older unfortunately. I used to joke around with people about how the $1000 toilet wasn't far off once I learned about how every program's goal was to be cost plus and then milk scope creep to the Nth degree.

The programs I was involved with were selling commodity Sun + Cisco + some overpriced serial to Ethernet bridges ([http://spt.sunhillo.com/products.php](http://spt.sunhillo.com/products.php)) tied to some archaic war/peacetime ATC software. It was absolutely astounding what those packages cost and what was actually delivered.

I saw some were asking what language for some of these systems and if it were along the lines of what I was exposed to it was a mix of anything and everything. Most critical systems were written in ADA, as suggested, but I saw Java (think awesome Java in the early 2000's), TCL, shell scripts and the like as major components to these systems. In fact I remember a dev having problems getting working out reading serial data from a GPS receiver to set proper system time - so he just bundled ntpd in the build as his own work.

Working there was an eye opening experience for both good, and bad reasons. The stereotypical jokes were, unfortunately, true to an extent and I couldn't continue to justify pretending I was working on cool, unspeakable things that were shrouded in James Bond'esque mystique.

Ultimately I was proud walking in day one and couldn't get out of there fast enough. The people were great, but the management and true colors of the company were centered on, IMO, calculated enrichment of select groups of people. It was never about the best product - it seemed it was about who was next in line to get fed.

</comment><comment><USER35> We should just sell them to Saudi Arabia

<comment><USER35> I am genuinely interested in who/why I was downvoted for suggesting we sell F35's to Saudi Arabia

<comment><USER36> I didn't downvote you, but some things jump out at me.

The suggestion we sell them to Saudi Arabia is orthogonal to the subject of the article (technical problems). Your post and the article do not, from a naive perspective, have a connection.

My guess is that you think the F-35 project is not a worthwhile investment for the US defense system, but that it cost a lot of money to make, and so we should get some money out of it. Further, since Saudi Arabia has a lot of oil money and wants weapons, we should sell them this plane (which it seems you think is a failure) - even though Saudi Arabia is nominally an ally and it isn't obvious its a good idea to sell an ally weapons we consider bad investments.

My previous paragraph is a just a stab at the thinking that might inform your post - I'm probably totally wrong. Whatever the motivating factors, there's a lot you don't say - either because you don't think it's necessary or you don't want to talk about those background assertions. Obviously, we all believe the people here understand (at least some of) the context, but my guess is that people found your post to not be forthcoming enough.

</comment></comment></comment><comment><USER37> How is this still getting funded?!

</comment><comment><USER38> The software has apparently been written in C++, it all sounds like a bit of a farce. EDIT: to clarify the above comment, the context is the use of C++ and mainstream tools for 8 million lines of safety critical code.

<comment><USER39> You can write safe C++ (although it's hard). You can write extremely buggy haskell or ada. Are you really that much of a language bigot you can't see past the damn language to provide any interesting conversation?

<comment><USER8> Speaking from experience, it's a hell of a lot easier to write buggy C++ than buggy Haskell or Ada (both of which can in some cases be formally verified to follow the spec).

C++ is unsafe by default and you have to write lots extra checks to make sure your code is bulletproof. Ada is safe by default and you have to be verbose to do powerful-but-dangerous things with pointers.

While yes, you can write secure and fault-tolerant code in any language and insecure and buggy code in any language, the sheer amount of C and C++ software that has been demonstrated to be insecure and very buggy in recent years raises some questions about whether that's the tool we want to use.

Languages are tools. C is a $5 wrench with a blade for a handle. Ada is a pocketknife where you can pull out the wrench or blade if you need it. Both of them can do the same things, but with one you have to be very, very careful to not cut yourself.

<comment><USER39> Sure. None of this is news to anyone. Why not discuss why C++ was chosen in the first place?

<comment><USER40> Ability to hire people to fill the role of programmer.

<comment><USER14> That sounds like they were looking to scrape the bottom of the barrel. If programmer salary played a key role for such a critical piece of software, they have bigger problems.

<comment><USER8> From what I understand from this thread, it's worse than that:

The problem wasn't programmer salary, it was that _their budget was so big that they wanted to hire extra people and could not find enough Ada programmers_. Yup. It got written in C++ because they wanted to spend more money and there are more experienced C++ developers than Ada developers.

</comment></comment></comment></comment></comment></comment></comment><comment><USER41> Space-X: check. Tesla Motors: check. Hyperloop: in progress. Tesla fighter jet: The missing project in Elon Musk's portfolio...

<comment><USER42> I think he prefers being called "Iron Man" rather than "Tony Stark."

</comment></comment><comment><USER43> No it's not

[http://www.defensenews.com/story/defense/air- space/2016/04/2...](http://www.defensenews.com/story/defense/air- space/2016/04/26/f-35-chief-software-bugs-no-longer-threat-ioc/83553372/)

<comment><USER44> Different software.</comment></comment>


The Early History Of Smalltalk (1993) - <AUTHOR> http://worrydream.com/EarlyHistoryOfSmalltalk/ <comment><USER2> I really wonder what the software world would look like today if the Smalltalk environment had predominated. It seems like various ideas from the Kay's group get reinvented from time to time, but we it's not really mainstream. Even the RAD tools from the 90s somewhat fell out of favor, partially due to the rise of the web, which meant reinventing everything in the browser.

From hearing several talks by Alan Kay since then, it doesn't sound like software quite turned out the way he envisioned it, but he still thinks there's a better way to do things that's related to what he was thinking in the 70s with a living environment of little computers sending messages to one another. He's talked of the idea of modeling biological cells since then.

<comment><USER3> Kay found the web distasteful.

"his conception of the World Wide Web was infinitely tinier and weaker and terrible. His thing was simple enough with other unsophisticated people to wind up becoming a de facto standard, which we're still suffering from. You know, [HTML is] terrible and most people can't see it."

[https://www.fastcompany.com/40435064/what-alan-kay-thinks- ab...](https://www.fastcompany.com/40435064/what-alan-kay-thinks-about-the- iphone-and-technology-now)

<comment><USER4> I assume you're posting this to show that Kay "doesn't get it"?

The more I learn about cutting-edge technologies of the 60s, 70s and 80s, the more I'm convinced that he's entirely correct about the web and mobile. Most developers today are obsessed with tooling and features. Almost no one seems to care whether those tools and features have some kind of fundamentally valid idea behind them.

Just look at the proliferation of HTTP security headers for a clear-cut example of how this works out in the long run.

<comment><USER5> Considering a whole Smalltalk VM is smaller than a lot of hero images on websites, I get the feeling that Kay is correct. I would imagine a containerized / sandboxed environment would have developed. I cannot see how it could be worse than today.

<comment><USER6> > _I cannot see how it could be worse than today._

I fear it would turn out equivalent. The starting stack might have been better, but the promise of money to be made and competitive pressures would be the same. We would "worse-is-better" ourselves to roughly the same spot we're in today. Bloat, tracking and clickbait.

Whenever I implore people to cut down on software bloat, I know what I'm really asking is, "fight against the market, slow the decay down just a little bit".

<comment><USER7> > I fear it would turn out equivalent.

Only some 30 or so years earlier, and who knows what we'd have come up with, given such an early head start?

I work in the space of dynamic language runtimes, and it hurts me to see how ideas pioneered by SmallTalk and subsequently the Self language[1] runtimes haven't yet been adopted by some of the more popular dynamic languages today.

[1]: [http://bibliography.selflanguage.org/_static/implementation....](http://bibliography.selflanguage.org/_static/implementation.pdf)

<comment><USER8> The worse part is the insistence of Ruby and Python to keep JITs away from their canonical implementations.

Sure there is PyPy and the "C JIT" on upcoming Ruby, but they don't seem to be widely deployed.

Maybe with Graal and J9 focus on increasing support for dynamic languages, that will eventually change.

</comment></comment></comment></comment></comment></comment></comment><comment><USER9> I'm no programmer, but I remember back when Ruby 1.8.7 got really popular because of Rails even though Ruby 1.8.7 was not that secure or stable compared to other environments. (Yes, I know Ruby is better now.) But, I was wondering why someone didn't take Smalltalk (or Squeak or Pharo) and find a way to make it more popular? We have Node, Electron, Java, etc. So why not Smalltalk? Wouldn't it be easier to develop, run faster, and be more cross-platform than those popular environments? Is there something in Squeak or Pharo holding it back?

Maybe the next Tim-Bernes Lee could use it to develop new protocols + a browser and create a safer and secure WWW-alternative?

<comment><USER10> The short answer is it's different and unfamiliar to most newcomers:

1\. The image-based paradigm [1] holds it back. Using Smalltalk, there's quite a change in development style, the existing development tools (text editors, version etc) mostly don't work [2], and deployment is at least slightly different.

2\. The unfamiliar UI (mostly Morphic) looked very different.

3\. The different (but incredibly simple) syntax looks strange to newcomers.

There are paid tools that fix some of these, but they never quite caught on with lots of momentum, and they were used mostly in bigger enterprise shops. The biggest might have been IBM VisualAge (for Smalltalk), which later morphed into IBM VisualAge for Java and then Eclipse.

[1] The image-based paradigm is really really great. If you haven't experienced it before, give it a go. It's worth it even if you are never going to use Smalltalk. [2] There's been effort to get git to work. I haven't been tracking it, but this was only in the recent few years.

<comment><USER11> How exactly does the image-based approach mesh with version control like git? I'm trying to picture a possible approach, but failing.

<comment><USER10> Smalltalk has a concept of changesets. They can approximate diffs/patches.

And while the code is exposed in code browsers (some kind of IDE/text editor window) in the image, and not exposed as text files, they certainly can be. So I'd imagine it's just a matter of exposing those into files (or still classes and methods as separate "entities") and commit those into git with a bit of markup.

<comment><USER11> But the whole point of the image approach is that it's not just code, but also data, no? It would seem that it'd require some multiple-file text-based serialization format for images that would include both code and data, and would split it into files in a way reflecting the typical change patterns...

<comment><USER10> Code + data + live instances of the code/objects. Like I said, I haven't been tracking how they do it, but I'm guessing that they only track code. If you want to be able to deploy an image directly, you either have to write scripts (and check those in too, either standalone "scripts" or class-side initialisation) or save the entire image and deploy that.

Saving the development image and deploying it directly is also not done that often because the development image contains things that can stripped off, e.g. development tools or object instances you use during development. Squeak and Pharo is usually distributed in various flavours, loosely — full and minimal images (I might not get the names right). So you take the former and install packages for development and the latter + packages for deployment, or you can build your own from the minimal image.

But through this you can see how different it is and while it's great in many ways, some of the differences make it harder for newcomers to start and harder for everyone to use it in production.

I forgot to mention Dolphin Smalltalk [http://www.object- arts.com](http://www.object-arts.com). It used to be a paid product, running on Windows. It has been open source for a few years now. I think product sales wasn't sustainable for the owners. But for several years, it is was the best Windows thick client development tool. It's a great example of Smalltalk well- done. You have the same image-based approach, but the windows are all native and familiar looking, so basically a multi-window development IDE. There's a deployment tool that helps you to strip down your image and build it into an exe (which was basically the Dolphin Smalltalk image + the shrunk image). It might still run, maybe it looks a bit outdated, it was actively developed until 2004 or so. If it still works, it's a wonderful way to experience Smalltalk.

</comment></comment></comment></comment></comment></comment><comment><USER12> I installed pharo to see what this smalltalk was all about. At first, I was confused with what I saw. I was expecting to set up a compiler build pipeline and an emacs mode, but it booted into some kind of operating system graphical shell. I realised then that smalltalk is more than a programming language, its a full IDE + OS

A shame that I couldn't continue toying with it (that was before my computer got reformatted)

<comment><USER13> I had the same reaction. Once I realized what it was, I had no idea what to do with it though. Anyone know of something that shows you how to get started or shows off its capabilities?

<comment><USER14> [http://books.pharo.org/](http://books.pharo.org/) has a bunch of books. Pharo By Example is a nice starting point.

</comment></comment></comment><comment><USER15> To get another taste of the kinds of systems possible in the 70s, in spite of the constraints, see Kay's demo of a revived Smalltalk-78 system: [https://youtu.be/AnrlSqtpOkw?t=3m3s](https://youtu.be/AnrlSqtpOkw?t=3m3s) (I believe this system is about 10-20K LOC software in total)

Notes about the the revival are here: [https://freudenbergs.de/bert/publications/Ingalls-2014-Small...](https://freudenbergs.de/bert/publications/Ingalls-2014-Smalltalk78.pdf)

</comment><comment><USER16> Smalltalk is one of those things I want to learn, but resources seem sparse and everyone seems to be pushing their own particular flavor of Smalltalk. Do I go with Amber Smalltalk? Squeak? Pharo? Are they all sufficiently similar that I can move from one to the other without re-learning everything?

I'm honestly considering just going through the GNU Smalltalk manual on the terminal and worrying about all the graphical VM's later.

<comment><USER17> I'd just go with Pharo. _Pharo by Example_ is a good intro book, and it's still under development. Also, I would strongly suggest that you go with something like Pharo where you run the image on your desktop. Part of the reason I really, really like Smalltalk is how working in the image changes your workflow. As I understand it, GNU Smalltalk is still write file-compile- run, which is not at all how you work in Smalltalk (or at least not I or my colleagues do), instead I find that Smalltalk encourages a very iterative style since you're generally working directly on a running instance of your program.

It takes a bit of getting used to the development environment in the image (and setting breakpoints by inserting `self halt` directly into a method feels really dirty initially), but now that I've been working in Smalltalk for a while I find I prefer it to "normal" development, which is still very much "hand in your stack of punch cards and wait for the result to come back"-way of development.

</comment></comment><comment><USER18> Never realized how much Smalltalk influenced Objective C until I looked a bit more into it.

See e.g. object initialization here: [https://www.gnu.org/software/smalltalk/manual/html_node/Inst...](https://www.gnu.org/software/smalltalk/manual/html_node/Instance- methods.html#Instance-methods)

And the notion of passing messages to an object.

</comment><comment><USER19> Plenty of submissions but only a few short discussions:

[https://hn.algolia.com/?query=The%20Early%20History%20Of%20S...](https://hn.algolia.com/?query=The%20Early%20History%20Of%20Smalltalk&sort=byDate&dateRange=all&type=story&storyText=false&prefix&page=0)

<comment><USER5> I get the feeling it slips off the front page by the time folks have read the whole thing.

<comment><USER20> Maybe the front page algorithm should be adjusted to take this into account?</comment></comment></comment>