Ubuntu seems horribly bloated, and the installation takes forever. Try Knoppix livecd, they have a pretty quick program to flash the installation to an external usb. Plus you can get all the latest debian packages.
On the contrary I believe Ubuntu installation process is straight forward and fast. But the os may be a bit bloated. At least with the newest additions of Amazon integration.
There are some grammatical and capitalization errors, and numerous comma splices (stringing similar sentence fragments together in an effort to form a coherent statement). There was also usage of very short sentences in repeated succession.
Those are mostly stylistic issues but they're indicative of non-native grasp of the English language.
Furthermore it's clearly written by someone with enough capability to express themselves eloquently and succinctly, but as mentioned it's clearly non-native.
Not the same person, but I've found that learning other languages (and making mistakes in other languages) makes you attuned to what kinds of mistakes happen when speakers of that language learn English.
Just off the top of my head, Russian doesn't have articles. A Russian learning English is more likely to confuse definite and indefinite articles than a speaker of a Romance language.
I've been learning Thai and teaching English in Thailand. Thai has no articles, no tenses (in the way we think about them) and a simpler syntax with many prepositions and other "small words" omitted. When they start learning English, they often omit too many words and don't conjugate anything, so a sentence like "I don't have any pencils." becomes "No have pencil".
Type systems: This is the biggest issue in my opinion. Most Lisps don't really have any formal notion of a type system. Common Lisp kind of does; it's pretty baroque, but if you look deep enough, you'll see it's way behind the systems offered by ML derivatives, Scala, or Haskell. Such a thing would be incredibly hard to bolt-on. Shen sort of offers a richer system in very weird syntax, but the compiler just throws that info away and doesn't make it useful. Typed Racket is another approach.
Polymorphism: In Common Lisp, I can't really make efficient, generic data structures. In Haskell, I can, by making the data structure polymorphic. Haskell will know the types at compile time and can optimize accordingly. In CL, I must do ugly things like provide equality predicates to functions, as opposed to having them associated to the data structure itself. François René Rideau has been trying to patch this up by something called the "Lisp Interface Library".
Functional optimizations: In any Lisp, you typically need a special library for doing optimization of functional code. Deforestation and so on can only be done with special packages like reducers in Clojure or SERIES in Common Lisp. Again, they aren't broad enough to cover the language as a whole.
Immutable/persistent data structures: Clojure has this pretty covered. It is possible to implement these data structures in other Lisps, like Common Lisp, but they're not bound to be very efficient.
OS integration: Not much of a comment. For Common Lisp at least, the language was designed without POSIX or Windows in mind. So it has really weird pathname conventions, poor ways of targeting the user environment, a weird idea about files, etc.
Code organization and packaging at the language level: This is an issue with CL and Scheme. Lisp doesn't really have the concept of an explicit API, or modules of code. There's no concept of a compiled shared library. Code is almost always distributed and integrated by source.
...
The list goes on. You can implement lazy data structures in Lisp, but it's hard to really integrate them in the language. Lazy data structures provide tons of benefits, especially by moving the boundaries for abstraction, but there seems little hope to make this a part of Lisp.
A big problem is that even if some of the above concepts are implemented in various languages (and as I stated, some of them have), they're usually implemented as a part of a toy language (even if it's not intended to be a toy), and are never really integrated well with what exists. Because of this, I don't think it's fair to say Lisp has all of these features, even if there exists dialects of Lisp that implement some of them.
> In CL, I must do ugly things like provide equality predicates to functions, as opposed to having them associated to the data structure itself.
> Immutable/persistent data structures: Clojure has this pretty covered. It is possible to implement these data structures in other Lisps, like Common Lisp, but they're not bound to be very efficient.
You really should take a look at FSet[0]. Not only does it provide fairly efficient persistent implementations of functional datatypes -- not as fast as Clojure's, perhaps, but not bad -- but it allows you to associate your equality predicates with your datatypes rather than passing them to every operation explicitly. (In fact, FSet currently provides no way to pass the predicate explicitly. Some people, including Faré, think this is an unfortunate omission, but I've never needed to do that.)
I know about FSet and have used it in production. It indeed is a library that has an immutable data structure.
FSet's solution to the equality "issue" is by having a generic function COMPARE which will return :LESS, :GREATER, and whatnot.
FSet goes to length describing the issues embedding immutable data structures in an inherently mutable language. Things like RENAME-PACKAGE screw up invariants that FSet expects.
Lastly, FSet admits that it isn't exactly performant, it's just good enough, which was the point I was trying to make.
Aside from a few gripes I have, it's a good library to use, especially in multithreaded environments where you don't want to deal with locking and whatnot.
Glad to hear you like FSet! (Not sure if you noticed: I am the author.)
I protest, though, that there's nothing about Common Lisp that makes FSet slower than Clojure. Rich Hickey used a very clever data structure called a Hash Array-Mapped Trie to implement Clojure sets and maps, and (I think) an Okasaki-style sequence implementation. FSet, in contrast, uses balanced binary trees for all these types. That's the source of the performance difference, not anything about CL.
> Shen sort of offers a richer system in very weird syntax, but the compiler just throws that info away and doesn't make it useful.
While I share your belief in the importance of type systems, I don't understand this remark.
I haven't used Shen (or Qi), but it's at the top of my list of interesting languages to try. As I understand, the optional type system is a core Shen feature. The syntax may be unlike other programming languages, but is taken directly from type theory. Can you go into more detail, perhaps contrasting with Haskell?
Thanks. I don't partake in any newsletters and don't really write about languages in general, though I am interested in them. As I said in my parent post, there are ramblings on programming/Lisp/etc on [1]. There are topics related to the above that I plan on writing about, including the somewhat messy state of type/data-driven programming in Lisp, and so on.
Agreed with the polymophism efficiency concern. I was doing some farting around with heaps-the-data-structure earlier this year and changing my DEFUN to/from DEFMETHOD made a decent difference.
`(defmethod insert ((heap heap)) ... )` is distinctly slower than `(defun insert-heap (heap) ... )` (even after as much tuning of SBCL as I could).
In economics, a public good is a good that is both non-excludable and non-rivalrous in that individuals cannot be effectively excluded from use and where use by one individual does not reduce availability to others.[1] Examples of public goods include fresh air, knowledge, lighthouses, national defense, flood control systems and street lighting. Public goods that are available everywhere are sometimes referred to as global public goods.
your statement is an existence statement. Yes, public goods exist. In some cases government regulation of public goods against abuse is reasonable e.g. "clean air". But your statement doesn't give moral justification for government subsidy of public goods.
Let's put it in really stark terms. I want to build a lighthouse. Because it's a public good; it will keep ships in the ocean safe. Is it morally justified for me to hold a gun to your head and threaten to blow it off if you don't give ten dollars for the construction of the lighthouse? What about one dollar? Ten cents? Half a cent? Let's ratchet back a little bit. Maybe I don't threaten to blow your head off. I'll just build a cell and throw you in there. For ten years. Is it any better if it's six months? Six weeks? Does that make it any better? Does it make it any morally better if instead of taking the personal responsibility for detaining you, I delegate that responsibility to agents of a byzantine bureaucracy?
I don't think the provision of public goods are a moral choice, if anything it is an economic choice, where its subsidy is justified by two things: the benefit of the public good outweigh its costs, the general public will not sufficiently fund public goods out of their free will. The degree of benefit for the future is sometimes not measurable, however if the past is any indication than it has definitely provided major contributions to innovation.
>the general public will not sufficiently fund public goods out of their free will.
May I remind you:
>I'm going to anticipate your answer: because they're too selfish. But is there any reason to believe that our elected officials are any less selfish? Look at the narcissistic idiots we elect - and ask, are these the people whom you really want holding the purse strings?
>The degree of benefit for the future is sometimes not measurable, however if the past is any indication than it has definitely provided major contributions to innovation.
It's not like privately funded applied and basic science is chopped liver here. Applied: Salk and Sabin developed the polio vaccines without a public dime (pun intended) and didn't patent it either. Basic: Peter Mitchell proposed and validated the chemiosmotic effect (1970s) and even won a nobel prize on the discovery, without public help. Obviously, if you go far back enough to where the state was essentially uninvolved in science, most of the discoveries were made with private funding. Yes, of course, publically funded science has made discoveries, but what you are arguing is the broken window fallacy.
I agree with you that governments can be very suboptimal, but that doesn't diminish the existence or usefulness research as a public good. Some research can not be readily commercialised, but nevertheless form basic building blocks for other innovation, in such cases government funding is crucial.
>Some research can not be readily commercialised, but nevertheless form basic building blocks for other innovation, in such cases government funding is crucial.
Quit being such an ultra-capitalist arse. The funding of public goods is not and should not be an opt-in system. You contribute whether you like it or not because that's in the best collective interest.
And if an individual decides to opt out, what then? The current solution is "throw them in jail for a decade", which seems way too excessive for me. I keep hearing people complaining about how others get sent to jail for drug-related crimes, but not many similar complaints about tax evasion. Is this crime so bad that we have to throw a person away for years?
That's all fine and good until "we" decide that the "best collective interest" is to defund gradstudent's research in favor of something else more politically expedient. Then gradstudent throws a hissyfit because the collective interest is not his interest. Who's the selfish one then?
The purpose of government is to marshal these selfish urges such that we benefit as a whole.
Whether or not that happens is a political problem. That the political system can be captured by politically expedient interests is a political problem.
Of course gradstudent should throw a hissyfit, if it is in their interest - would you expect anything less?
"The purpose of government is to marshal these selfish urges such that we benefit as a whole."
I think a lot of people think that's what government should do, but you should really think hard about why that's a bad idea. Who is "we"? Who gets to really decide what is "benefit"? Who gets to decide what is "selfish"? And how can I be that person so that I can screw over gradstudent, and bring about benefits, which, oh by the way, also REALLY benefit my friends and family? Some animals are just.... More equal than others.
>why would you give in to your "competition" and make games for their "console"
Because these general purpose "consoles" have grown tremendously in power while decreasing in cost, they have the potential to take market share from Nintendo. Nintendo consoles used to be one of only a few avenues for kids to play games. today there are smartphones, tablets and PCs which all have comparable price to the gaming console.
> Have you considered the case where the parent is not 'stupid'?
The irony of the situation is that parents who are educated and intelligent and, therefore, great candidates to be good homeschool teachers also realize that they are not up to the task of homeschooling their children.
An educated and intelligent parent taking personal interest in a child's education vs. an overworked or underperforming (cannot be fired, unions) teacher lecturing to the lowest common denominator of 30 students at a time. I know which one I'd bet on.
(Not to mention "contributing to technological progress" is a subjective value. I'm pretty sure most Amish value instead "contributing to community connectedness", and I bet some find it disconcerting that most non-Amish are not raised to further this end.)
From the article, it sounds like they're contributing to technological progress in some pretty remarkable ways. Their pneumatic diesel-powered factories sound incredible. They're not necessarily any better than your standard factories, but from an engineering perspective these sound like fascinating research laboratories.
Of course, these research laboratories are churning out a lot of high-quality modern furniture.
http://en.wikipedia.org/wiki/Pneumatic_tool
"Air tools were formerly unpopular in the DIY market, but are becoming increasingly popular, and have always been ubiquitous in industrial and manufacturing settings."
Its sad that my statement is being down-voted without being refuted in any way.
This is a loaded phrase which makes some unwarranted assumptions. Are Ikea desks that can be made at 1/5th the cost but last 1/10th as long representative of the forefront of technology? I'd argue when it comes to furniture manufacturing, the Amish actually are at the forefront of technology. The Amish are Apple and Ikea is Sony.
> at least extremely sub-optimal.
This doesn't matter. Laboring under the assumption that tools X, Y, and Z are indispensable makes your average shop much less likely to discover tool Q that does all three jobs at once for a quarter of the effort and practically for free. The best technology often looks like nothing at all because you don't even know it's there.
> Pneumatic power tools are nothing new
Neither are computers. Your entire arguments are based on the unstated assumption that electricity and computers are required to make anything that is on the forefront of technology - this is not true. Electricity and computers are all well and good. There's nothing wrong with specialization.
If you look at things from the "good of scientific progress" perspective, it's a great thing that we have people like the Amish who arbitrarily cut off ties to certain technologies but not others. By necessity, they become the absolute experts at the technologies they keep. To us the better pneumatic drill is worthless, but it's still valid technological progress.
>Are Ikea desks that can be made at 1/5th the cost but last 1/10th as long representative of the forefront of technology?
I refuted the example of technological progress being use of pneumatic tools, just look at car manufacturing, they're are an essential tool.
>Your entire arguments are based on the unstated assumption that electricity and computers are required to make anything that is on the forefront of technology.
No, my basic assumption is that education and freedom of thought are required for progress. The Amish have neither.
I'm not saying that they're the only people using pneumatic tools out there, I'm saying that they're building new pneumatic tools every day, and some of them probably are pneumatic tools no one has ever built before. That's valuable to society at large if engineers from your car factories are visiting the Amish and swapping ideas.
Yeah, the Amish themselves aren't going to reap any benefits, and they probably aren't going to work as fast as people in a fancy lab, but they're also likely to find some one-in-a-million ideas you would never come up with in a fancy lab.
The article describes in detail how the lack of technology inspires and encourages an inventive spirit. He calls them "hackers" because tinkering and inventing is so prevalent in the group as a whole.
It may not fit your own definition of technological progress, but it's true all the same.
The phrase "re-inventing the wheel" comes to mind, the definition of progress is moving forward from the current, not artificially handicapping oneself the past and then working back towards the current. My statement is extremely easy to refute, but I see no examples in the article which show they have advanced the forefront of technology.
There is no doubt that these people are creative and tinker, it just seems to me that their efforts are wasted, or at least extremely sub-optimal.