Galeria Virtual Micornio Arte, obra grafica, documentos antiguos y piezas de coleccion seleccionadas por Roberto Perez Ver catalogo
Galeria Micornio Arte y piezas de coleccion Ver
Galeria Virtual Micornio

Explora arte, obra grafica, documentos antiguos, antiguedades y piezas de coleccion seleccionadas desde el archivo de Roberto Perez.

domingo, 13 de enero de 2019

Richard Stallman's personal site. how to learn a new languaje

Richard Stallman's personal site.

https://stallman.org

For current political commentary, see the daily political notes.
RMS' Bio | The GNU Project

https://stallman.org/photos/rms-working/pages/28.html
https://stallman.org/index.html

RMS lifestyle

See also for info on my practices involving computers.

I don't have a favorite this or that

I do not have a favorite food, a favorite book, a favorite song, a favorite joke, a favorite flower, or a favorite butterfly. My tastes don't work that way.
In general, in any area of art or sensation, there are many ways for something to be good, and they cannot be compared and ordered. I can't judge whether I like chocolate better or noodles better, because I like them in different ways. Thus, I cannot determine which food is my favorite.

Home

Until around 1998, my office at MIT was also my residence. I was even registered to vote from there. Nowadays I have a separate residence in Cambridge not far from MIT. However, I am rarely there, since I am nearly always travelling out of town.

Music

  • Music genres I often like include some Spanish folk music (but not Flamenco), Latvian folk music, Swedish folk fiddling, Moroccan traditional music, Soukous, Balkan folk dance music, Turkish folk dance music, Turkish classical music, Armenian folk dance music, Georgian choral music, Indian classical music (I tend to enjoy Carnatic more than Hindustani), Javanese and Balinese gamelan music, Vietnamese traditional music, Japanese court music (Gagaku), Japanese folk dance music (Minyo), Andean folk music (except when the words are in Spanish and about romantic rejection), and traditional US folk music when it is lively.
  • I like European art music, but I have less appetite for it than I had a few decades ago.
  • I like polyphonic music from medieval times. Especially from the 1200's, with hocket. However, Gregorian chant has insufficient complexity to engage me.
  • I don't appreciate jazz much, perhaps because I never learned enough about it. However, I like some fusions that include jazz. For instance, Bulgarian wedding music (a fusion of jazz and Bulgarian folk music) and Latin jazz.
  • I like some avant garde works — for instance, Conlon Nancarrow's player piano music.
  • If something is popular in the US, I usually find it boring, but there are occasional exceptions. I liked much of what I used to hear on the radio before the Beatles. Around 1980 there was another period in which I heard on other people's radios a considerable amount of music I liked.
  • I dislike most country music especially. I dislike c…rap music too. I don't like slow romantic songs, or harsh-sounding rock. "Heavy metal" sounds too harsh to me; anyway, the name is deceptive: the metal in a bronze gamelan is far heavier.
  • If I generally dislike a certain genre of music, there can be occasional exceptions which I like nonetheless. For instance, I love Weird Al's "Can't Watch This", even though it's c…rap, because it's a parody of c…rap.
  • When a foreign musical style starts becoming popular in the US, it usually develops in a direction I don't like. For instance, I love Bulgarian folk dance music but I am bored by the Bulgarian women's chorus that became a big hit in the US in the 80s. Youssou nDour's music was exciting in the 80s, but then he started making records for US and European tastes and the spark disappeared.

Books

  • Genres I enjoy include fiction, science fiction, mystery, romance occasionally, history, anthropology, science, mathematics, and occasionally other things.

Food

  • I am an omnivore; I will try almost anything if it doesn't gross me out.
  • I refuse to eat the most intelligent animals, such as simians, cetaceans and parrots.
  • On my first visit to Taiwan I ate insects — specifically, larval bees and crickets. I loved the larval bees, and sought another chance to try them. Strange to say, when I found them again in Taiwan, I did not like them; it seemed that the breading was too thick. I don't know whether it was the style of preparation that changed, or my tastes. On another visit to Taiwan, I ate snake (two kinds of snake, in two different preparations). I liked them well enough, but not tremendously.
  • Cooked tuna tastes terrible. What a waste of good tuna, to cook it!
  • I refuse to eat shark fin, because collecting the fins is wiping out the sharks. For similar reasons I now usually don't order tuna sushi (although I love that).
  • I uphold the total boycott of Coca Cola Company, which is a response to the murder of union organizers in Colombia and Guatemala. I will not use any of that company's products and I hope you will reject them too.
  • 'Breakfast'? Is that the thing some people eat in the 'morning'?
    Seriously, for many years in the 1970s I was almost always asleep when other people had breakfast, so I got used to waking up and having lunch or dinner. I thus lost all association between any particular time of day and any particular foods. Nowadays I am often awake in the morning, but I still have no such association: what I'd like to eat when I wake up is anything I'd like to eat at any other time.

Religion

  • I am an Atheist, for scientific reasons. The religious theory of the natural world ("It's this way because a god decided to make it this way") does not explain anything, it only replaces one question with another. That means it is so bad that "valid" and "invalid" don't even apply.
  • I also reject the idea that a god's opinions would provide us with a moral compass. A god that would allow so much suffering to occur — most of it not the result of anyone's free will — is clearly no guide to what anyone should do. It would be entitled to its opinion just like you or I, but its opinion would not be entitled to any special respect.
    Religion offers no moral short-cut. It is up to us to figure out what is right and what is wrong.

Clothing


  • Not all my shirts are red or purple, but many are. I like those colors.

  • None of my shirts carry messages (such as words or symbols). That practice strikes me as lacking dignity, almost like being a sandwich man, so I won't wear clothing with symbols, not even for causes I support. This is not a matter of ethical disapproval, so I don't mind selling hats and shirts with free software slogans on behalf of the FSF; but I choose not to wear them myself.

  • As a matter of principle, I refuse to own a tie.
    I find ties uncomfortable, so I don't wear them. If ties were simply a clothing option, I would decline to use them but there would be no reason to make a fuss about it. However, there is an absurd social pressure on men to wear ties as a way of sucking up to the company.
    When I worked at MIT, I was shocked that MIT graduates, who due to their ability and skill could have almost dictated employment terms, instead felt compelled to wear ties to job interviews, even with companies that (they knew) had the sense not to ask them to wear ties on the job.
    I think the tie means, "I will be so subservient as an employee that I will do even totally senseless things just because you tell me to." Going to a job interview without a tie is a way of saying you don't want to work for someone who demands that.
    The people who yield to the pressure to wear ties are victim-coperpetrators: each one who wears a tie at work increases the pressure on others. This is a central concept for understanding other forms of propagating nastiness, including nonfree software and Facebook. In fact, it was in regard to ties that I first recognized this phenomenon.
    I don't condemn victim-coperpetrators, since they are primarily victims and only secondarily perpetrators, and they don't know about the latter aspect. But I feel a responsibility not to contribute to the pressure on others. I hope my refusal to wear a tie will make it easier for you to refuse as well.
    The first time I visited Croatia, that country had a major PR campaign about being the place of origin of the necktie. ("Cravate" and "Croat" are related words.) You can imagine my distaste for that — in response, I referred to that country as "Tieland" for a while.
    The Free Software Foundation's dress code says that a propeller beanie is required, but other clothing is optional. However, we don't enforce it.

Surveillance issues

See also How I use the Internet.

"Loyalty cards"

  • I refuse to have supermarket frequent buyer cards of my own if they have any identifying data, because they are a form of surveillance. I am willing to pay extra for my privacy and to resist an abusive system. See nocards.org for more explanation of this issue.
    However, I don't mind using someone else's card or number once in a while, to avoid the extra charge for not using a card. That doesn't track me.
    Also, I use a frequent buyer card in one store for buying a few kinds of things, because I got it anonymously.
  • I do use airline frequent flier numbers because the airlines demand to know my identity anyway.
    However, I won't purchase other things with an airline-linked credit card to get miles, because I'd rather pay cash and be anonymous.

Credit Cards

I have a credit card, but I use it as rarely as possible. Effectively, only for airline tickets, car rental, and hotel checkin — because they demand identification anyway. However, I try to avoid staying in a hotel that will demand to know my name.
I pay some bills with checks. Once again, the payees already know my name.

Cellular Phones

  • I see that cellular phones are very convenient. I would have got one, if not for certain reprehensible things about them.
  • Cell phones are tracking and surveillance devices. They all enable the phone system to record where the user goes, and many (perhaps all) can be remotely converted into listening devices.
  • In addition, most of them are computers with nonfree software installed. Even if they don't allow the user to replace the software, someone else can replace it remotely. Since the software can be changed, we cannot regard it as equivalent to a circuit. A machine that allows installation of software is a computer, and computers should run free software.
  • Nearly every cell phone has a universal back door that allows remote conversion into a listening device. (See Murder in Samarkand, by Craig Murray, for an example.) This is as nasty as a device can get.
  • From the book Alone Together, by Sherry Turkle, I learned that portable phones make many people's lives oppressive, because they feel compelled to spend all day receiving and responding to text messages which interrupt everything else. Perhaps my decision to reject this convenience for its deep injustice has turned out best in terms of convenience as well.
  • When I need to call someone, I ask someone nearby to let me make a call. If I use someone else's cell phone, that doesn't give Big Brother any information about me.

Holidays

I mostly ignore holidays, except for Grav-mass. They have no direct effect on me, since I work when I wish (which is most of the time) and do other things when I wish.
If I had a family, and holidays were a special opportunity to do some leisure activity when they did not have work or school, that would be a practical reason to pay attention to them. However, I decided not to have a family, and I don't need to wait for a holiday to see my friends.
Many holidays have become commercialized: corporate PR has taught many people that buying things for their friends or relatives on these days is "the thing to do", and the truest expression of love. I dislike the feeling that I am obliged to give a gift for some meaningless event, and get no particular pleasure from receiving gifts under these circumstances either, and hiding the fact that I don't like a gift makes me feel quite uncomfortable. I opted out of these forms of ritual consumption back in my teens, and I am glad I did.

Trains

I like trains, and in general I would rather take a train for many hours than fly.
However, I absolutely refuse to take Amtrak trains because they check passengers' ID (not all the time, but it could happen at any time). Please join me in boycotting Amtrak until it stops requiring identification.
It's not that I expect my personal rejection to make Amtrak change. Rather, as long as Amtrak does not change, I resent it so much I'd rather take a bus.

Learning languages

I have developed a way of learning a language that works for me.
First I study with a textbook to learn to read the language, using a recording of the sounds to start saying the words to myself. When I finish the textbook, I start reading children's books (for 7-10 year olds) with a dictionary. I advance to books for teenagers when I know enough words that it becomes tolerably fast.
When I know enough words, I start writing the language in email when I am in conversations with people who speak that language.
I don't try actually speaking the language until I know enough words to be able to say the complex sorts of things I typically want to say. Simple sentences are almost as rare in my speech as in this writing. In addition, I need to know how to ask questions about how to say things, what a word means, and how certain words differ in meaning, and how to understand the answers.
I first started actually speaking French during my first visit to France. I decided on arrival in the airport that I would speak only French for the whole 6 weeks. This was frustrating to colleagues whose English was much better than my French. But it enabled me to learn.
I decided to learn Spanish when I saw a page printed in Spanish and found I could mostly read it (given my French and English). I followed the approach described above, and began speaking Spanish during a two-week visit to Mexico, a couple of years later.
As for Indonesian, I have not got enough vocabulary to speak it all the time when in Indonesia, but I try to speak it as much as possible.

Avoiding Boredom

I hate being bored, and since I want to get a lot done, I don't like losing time. So I always carry a computer and a book. When I have a few minutes to wait and can sit down, I get work done. When I have to stand, or the wait isn't long enough to do anything useful on the computer, I read.
When I wait for my baggage in an airport, I generally do one of these two things. I notice the people around me, waiting anxiously for their bags and getting nothing done. They would be happier if they did as I do.

Photos

I don't smile artificially for photos because such smiles look insipid to me. Old photos from before 1950 seem much more digified because the subjects did not smile. I'd rather be photographed that way.
Occasionally I do smile while being photographed because I feel happy.
If you take photos of me, or with me in them, please do not put them in Facebook (or Instagram or Whatsapp, which are part of the same company). That company tracks people that appear in photos.

Copyright (c) 2010, 2011, 2012, 2013, 2015, 2016, 2018 Richard Stallman
Verbatim copying and redistribution of this entire page are permitted provided this notice is preserved.

How I do my computing

My computer

I use a Thinkpad T400s computer, which has a free initialization program (libreboot) and a free operating system (Trisquel GNU/Linux). It was not sold that way by Lenovo, however; small businesses buy them used, recondition them, and install the free software. This is one of the computers endorsed by the FSF.
Before using such Thinkpads, I used the Lemote Yeeloong for several years. At the time, it was the only laptop one could buy that could run a free initialization program and a free operating system. But it was never sold with a free operating system.
Before that, I used an OLPC for some weeks. The OLPC uses a nonfree firmware blob for the WiFi, so I could not use the internal WiFi device. No big problem, I used an external WiFi adaptor.
I stopped using it because the OLPC project decided to make their machine support Windows, so I did not want to appear to endorse it by visibly carrying it around. I could have continued using it privately with its free software installation, but I had no need for another computer to use only privately.
The results that seemed likely, millions of children running Windows on the OLPC, have not occurred. Instead we see millions of children running Windows on the Intel Classmate, or nowadays a Chromebook that sends the child's personal data to Google.
Before that I used machines that ran completely free GNU/Linux systems but had nonfree BIOSes. I tried for about 8 years to find a way to avoid the nonfree BIOS in some commercial machine.

GNU/Linux distro

I do not have a preferred GNU/Linux distro. I recommend all the ethical distros — namely, those that are 100% free software.
I've chosen not to have any preferences among those ethical distros. In fact, I am not in a position to judge them on other criteria: even to try them all would be a lot work of that I have no need to do.

What I do on my computer

Mostly I use a text console, for convenience's sake. Most of my work is editing text and that is more efficient on a text console. On the text console, the touchpad can't cause me any trouble if I touch it by accident.
I do use X11 for tasks that need a graphical interface. I have no preferred graphical environment or window manager. Since my interest in using graphical environments is small, I don't want to spend time comparing them.
This is not an ethical issue, just my own personal preference. On the ethical level, I think it is important for free software to provide convenient free graphical user interface software, which is why the GNU Project launched three projects to develop that. The third, GNOME, was successful, so we never needed a fourth one.
I spend most of my time editing in Emacs. I read and send mail with Emacs using M-x rmail and C-x m. I have no experience with any other email client programs. In principle I would be glad to know about other free email clients, but learning about them is not a priority for me and I don't have time.
I edit the pages on this site with Emacs also, although volunteer helpers install the political notes and urgent notes. I have no experience with other ways of maintaining web sites. In principle I would be glad to know about other ways, but learning about them is low priority for me and I have other things to do.

How this site is maintained

This site is maintained in a very simple way. I edit the pages such as this one manually as HTML. I only know simple HTML; others who know more wrote the parts at the top and bottom of pages, and the more complex formatting on the home page. Volunteer helpers install the political notes every day after receiving the text from me by email. A cron job "rolls over" the political notes page every two months. The photo galleries are generated with this perl script. The search feature on the site is done with this code.
An explanation of the concept of designing a "user experience" which also shows why I find it loathsome. This is why I want stallman.org to remain simple: not a "user experience" but rather a place where I present certain information, views and action opportunities to you.
Would you like to help do this? Write to rms at the site gnu.org.

How I use the Internet

  • I have used the Internet since it first existed. I never used UUCP, though occasionally I sent emails to addresses that involved transmission via UUCP.
  • I am careful in how I connect to the internet.

    Specifically, I refuse to connect through portals that would require me to identify myself, or to run any nontrivial nonfree Javascript code. I use to prevent nonfree Javascript code from running..
    I don't mind giving an identity that isn't really me, if that works.
    I often connect in a person's home. The person of course knows who I am, but that does not bother me. What I would object to is putting my identity in a database that can be searched. I prevent that by changing my mac address at each location.
  • I am careful in how I use the Internet.

    I generally do not connect to web sites from my own machine, aside from a few sites I have some special relationship with. I usually fetch web pages from other sites by sending mail to a program (see https://git.savannah.gnu.org/git/womb/hacks.git) that fetches them, much like wget, and then mails them back to me. Then I look at them using a web browser, unless it is easy to see the text in the HTML page directly. I usually try lynx first, then a graphical browser if the page needs it (using konqueror, which won't fetch from other sites in such a situation).
    I occasionally also browse unrelated sites using IceCat via Tor. Except for rare cases, I do not identify myself to them. I think that is enough to prevent my browsing from being connected with me. IceCat blocks tracking tags and most fingerprinting methods.
    I never pay for anything on the Web, because I cannot pay anonymously. Anything on the net that requires payment that would identify me, I don't do. (I made an exception for the fees for the stallman.org domain, since that is connected with me anyway.)
    I avoid paying with credit cards gemerally. For freedom's sake, insist on paying cash. When a business pressures you to pay in an identified way, it's your chance to defend freedom by saying, "If you won't take my cash, no sale!"
  • I would not mind paying for a copy of an e-book or music recording on the Internet if I could do so anonymously, and it treated me justly in other ways (no DRM or EULA). But that option almost never exists. I keep looking for ways to make it exist.
  • For searching, I have mostly used DuckDuckGo for the past few years. It does work with JS disabled, but you have to follow a link before you search.
    I also sometimes use ixquick.com. My usual precautions should stop them from knowing it is me.
    I no longer use Google search, not even occasionally, because it sends me a broken CAPTCHA. I suspect the reason it tries to send me a CAPTCHA is that I am coming through Tor. I would answer the CAPTCHA if that worked.
    I suspect that the reason the CAPTCHA is broken is that it depends on nonfree Javascript. I won't run that in my computer. I am not willing to let Google see where I am, so I won't bypass Tor. Therefore, I can't use Google search any more.

Social media

  • I do not use any social networking sites because that way of working is inconvenient for me. That doesn't mean I think they are all unethical. Some are, some are not. Social networking sites raise their own set of ethical issues, completely different from the ethical issues of distributing software ( free vs proprietary), and there are big differences between them.
    I have a Twitter account called rmspostcomments, which I use to log in on other sites to post comments on articles. I never post on Twitter. Someone made an account stallman_feed which I'm told posts something about my political notes. Any other Twitter account that claims to be mine is an impostor.
    The rms account on gnusocial.no repeats the political notes from this site, but I do not post on it directly. That site runs GNU Social.
    Aside from those two, any account on a social networking site that says it is mine is an impostor.
    I do not post on 4chan. I have nothing against it in principle, but I am told a lot of the posts nowadays are right-wing bigotry which I condemn totally. I have occasionally answered questions for interviews for 4chan, but I have never posted anything there. Any posting there that says it is by me is by an impostor.
  • I have never had a Facebook account, or a Google+ account. Some impostor created a Facebook account using my name. The page is not mine. The Google+ account using my name is also not mine.
    I reject Facebook because it requires each used (i.e., person used by Facebook) to have just one account, which means that all the person's activities are grouped together. It also insists on knowing the person's usual name, and it is starting to demand a series of different photos.
    I am proud to identify myself when stating my views; I can afford to do that because I am in a fairly safe position. There are people who rationally fear reprisals (from employers, gangsters, right-wing extremists, or the state) if they sign their name to their views. For their sake, let's reject any social networking site which insists on connecting an account to a person's real identity.
    Of course, Facebook is bad for many other reasons as well.
    Google+ formerly required knowing the user's real name, but no longer. However, it does require identification in the form of a phone number. Meanwhile, Google+ has another unacceptable injustice: it requires running nonfree Javascript code to post a message.

E-mail service

People sometimes ask me to recommend an email service. The two ethical issues for an email service are (1) whether you can use it without running any nonfree software (including nonfree Javascript code from the site), and (2) whether it respects your privacy.

For issue 1, see the FSF's page. On issue 2, I have no way to verify that any email service is satisfactory. Therefore, I have no recommendation to offer.

However, I can suggest that it may be wise to use an email service that is not connected with your search engine. That way you can be almost sure that your email contents don't influence your search results. You shouldn't identify yourself to your search engine in any case.

Programming languages

  • The most powerful programming language is Lisp. If you don't know Lisp (or its variant, Scheme), you don't know what it means for a programming language to be powerful and elegant. Once you learn Lisp, you will see what is lacking in most other languages.
    Unlike most languages today, which are focused on defining specialized data types, Lisp provides a few data types which are general. Instead of defining specific types, you build structures from these types. Thus, rather than offering a way to define a list-of-this type and a list-of-that type, Lisp has one type of lists which can hold any sort of data.
    Where other languages allow you to define a function to search a list-of-this, and sometimes a way to define a generic list-search function that you can instantiate for list-of-this, Lisp makes it easy to write a function that will search any list — and provides a range of such functions.
    In addition, functions and expressions in Lisp are represented as data in a way that makes it easy to operate on them.
    When you start a Lisp system, it enters a read-eval-print loop. Most other languages have nothing comparable to `read', nothing comparable to `eval', and nothing comparable to `print'. What gaping deficiencies!
    While I love the power of Lisp, I am not a devotee of functional programming. I see nothing bad about side effects and I do not make efforts to avoid them unless there is a practical reason. There is code that is natural to write in a functional way, and code that is more natural with side effects, and I do not campaign about the question. I limit my campaigning to issues of freedom and justice, such as to eliminate nonfree software from the world.
    Lisp is no harder to understand than other languages. So if you have never learned to program, and you want to start, start with Lisp. If you learn to edit with Emacs, you can learn Lisp by writing editing commands for Emacs. You can use the Introduction to Programming in Emacs Lisp to learn with: it is free as in freedom, and you can order printed copies from the FSF.
    You can learn Scheme (and a lot of deep ideas about programming) from Structure and Interpretation of Computer Programs by Abelson and Sussman. That book is now free/libre although the printed copies do not say so.

    Please don't buy books (or anything) from Amazon!
  • My favorite programming languages are Lisp and C. However, since around 1992 I have worked mainly on free software activism, which means I am too busy to do much programming. Around 2008 I stopped doing programming projects. As a result, I have not had time or occasion to learn newer languages such as Perl, Python, PHP or Ruby.
    I read a book about Java, and found it an elegant further development from C. But I have never used it. I did write some code in Java once, but the code was in C and Lisp (I simply happened to be in Java at the time ;-).
  • By contrast, I find C++ quite ugly.

    The flaws of C++, as I recall from when I studied the matter around 1990, include syntax and semantics. As for syntax, its grammar is ambiguous, and it is gratuitously incompatible with C, which blocks the smooth upgrade path from C to C++.
    As for semantics, the abstract object facility of C++ is designed around the case where the real type of an object is known at compile time. However, in that case, abstract objects are equivalent to a naming convention for functions to call. The case where abstract objects add real power to a language is when the type is not known until run time. C++ does handle that, but it seems to be an afterthought, a poor relation.
    I suspect that I would find plenty of ugliness in the template library, but I don't know. That was added to C++ after I studied it.
  • I skimmed documentation of Python after people told me it was fundamentally similar to Lisp. My conclusion is that that is not so. `read', `eval', and `print' are all missing in Python.

How to learn programming

First, read a textbook about programming in some language, then manuals for several programming languages including Lisp. If this makes natural intuitive sense to you, that indicates your mind is well-adapted towards programming.
If they don't make intuitive sense to you, I suggest you do something other than programming. You might be able to do programming to some degree with a struggle, but if you find it a struggle you won't be very good at it. What's the point of programming if it is a struggle instead of a fascination?
After that, you need to read the source code of real programs (or parts of them) and figure out what they do. Then start writing changes in them, to add features, or fix bugs if you can find out about specific bugs to fix. Ask some good programmers who are familiar with the code of those programs to read and critique your changes.
If you fix a bug in a free program that people are developing, the developers are likely to be glad to get fixes from you and will tell you the way to write them to make them good to install. Look at their TODO list for features you would like to implement. You will find it is a great satisfaction when the developers incorporate your changes.

Do this over and over and you will become good at developing software.
Please use your programming capability only for good, not for evil. Don't develop nonfree software, or service as a software substitute. Design systems not to collect personal information, and to allow anonymous use.

Non-free software issues

I firmly refuse to install non-free software or tolerate its installed presence on my computer or on computers set up for me.
However, if I am visiting somewhere and the machines available nearby happen to contain non-free software, through no doing of mine, I don't refuse to touch them. I will use them briefly for tasks such as browsing. This limited usage doesn't give my assent to the software's license, or make me responsible its being present in the computer, or make me the possessor of a copy of it, so I don't see an ethical obligation to refrain from this. Of course, I explain to the local people why they should migrate the machines to free software, but I don't push them hard, because annoying them is not the way to convince them.
Likewise, I don't need to worry about what software is in a kiosk, pay phone, or ATM that I am using. I hope their owners migrate them to free software, for their sake, but there's no need for me to refuse to touch them until then. (I do consider what those machines and their owners might do with my personal data, but that's a different issue, which would arise just the same even if they did use free software. My response to that issue is to minimize those activities which give them any data about me.)
That's my policy about using a machine once in a while. If I were to use it for an hour every day, that would no longer be "once in a while" — it would be regular use. At that point, I would start to feel the heavy hand of any nonfree software in that computer, and feel the duty to arrange to use a liberated computer instead.
Likewise, if I were to ask or lead someone to set up a computer for me to use, that would make me ethically responsible for its software load. In such a case I insist on free software, just as if the machine were my own property.
As for microwave ovens and other appliances, if updating software is not a normal part of use of the device, then it is not a computer. In that case, I think the user need not take cognizance of whether the device contains a processor and software, or is built some other way. However, if it has an "update firmware" button, that means installing different software is a normal part of use, so it is a computer.
Skype (or any nonfree noninteroperable communication program) is a special case because of its network effect. Using Skype to talk with someone else who is using Skype is encouraging the other to use nonfree software. Doing so regularly is pressuring the other to use nonfree software. So I refuse to use Skype under any circumstances (See more information.)

Streaming medias and DRM issues

  • Streaming media dis-services such as Netflix and Spotify require nonfree client programs that impose digital restrictions mechanisms (DRM) intended to stop the user from saving a copy of the data being streamed through her own computer. You should never use DRM that you can't break, so you should not use these dis-services unless you can break their DRM.
    An additional injustice of these and other streaming client programs is that they impose unjust contracts (EULAs) which restrict the user more strictly than copyright law itself. I do not agree to EULAs, period, and I urge you to join me in rejecting them.
    These streaming dis-services are malicious technology designed to make people antisocial. (If you don't have a copy, you can't share copies.) Rejecting them is of the highest ethical priority.
    A friend once asked me to watch a video with her that she was going to display on her computer using Netflix. I declined, saying that Netflix was such a threat to freedom that I could not treat it as anything but an enemy.
    Out, out, damned Spotify! Flick off, Netflix!
  • Every product with Digital Restrictions Management (DRM) is an attack on your freedom.
    Therefore, one should not buy or tolerate any product with DRM handcuffs unless one personally possesses the means to break the handcuffs. For instance, don't use encrypted DVDs unless you have DeCSS or another comparable free program. And never use a Bluray disk unless you find a way to break its handcuffs. Don't use the Amazon Swindle or other e-book readers that trample readers' freedoms. Don't use music or video streaming "services" that impose DRM. (If they require a nonfree client program, it is probably for DRM or some sort of surveillance of users.)

Miscellaneous

  • I never used Unix (not even for a minute) until after I decided to develop a free replacement for it (the GNU system). I chose that design to follow because it was portable and seemed fairly clean. I was never a fan of Unix; I had some criticisms of it too. But it was ok overall as a model.
  • In the mid 90s I had bad hand pain, so bad that most of the day I could only type with one finger. The FSF hired typists for me part of the day, and part of the day I tolerated the pain. After a few years I found out that this was due to the hard keys of my keyboard. I switched to a keyboard with lighter key pressure and the problem mostly went away.
    My problem was not carpal tunnel syndrome: I avoid that by keeping my wrists pretty straight as I type. There are several kinds of hand injuries that can be caused by repetitive stress; don't assume you have the one you heard of.
  • I find it bizarre that people use the term "coding" to mean programming. For decades, we used the word "coding" for the work of low-level staff in a business programming team. The designer would write a detailed flow chart, then the "coders" would write code to implement the flow chart. This is quite different from what we did and do in the hacker community -- with us, one person designs the program and writes its code as a single activity. When I developed GNU programs, that was programming, but it was definitely not coding.
    Since I don't think the recent fad for "coding" is an improvement, I have decided not to adopt it. I don't use the term "coding", except if I were talking about a business programming team which has coders.
  • Why I coined the name POSIX.

Mis experiencias con Lisp y el desarrollo de Emacs de GNU

(Transcripción de la conferencia pronunciada por Richard Stallman el 28 de octubre de 2002 en el Congreso Internacional de Lisp [International Lisp Conference]).
Dado que ninguna de mis charlas habituales tiene nada que ver con Lisp, ninguna era apropiada para hoy. Así que voy a tener que improvisar. Como he hecho bastantes cosas relacionadas con Lisp a lo largo de mi carrera, debería ser capaz de decir algo interesante.
Mi primera experiencia con Lisp tuvo lugar en la escuela secundaria, cuando leí el manual de Lisp 1.5. Entonces quedé maravillado con la idea de que pudiera haber un lenguaje de programación así. La primera vez que tuve la oportunidad de hacer algo en Lisp fue siendo un novato en Harvard, cuando escribí un intérprete de Lisp para el PDP-11. Era una máquina muy pequeña, tenía algo así como 8k de memoria, y me las arreglé para escribir el intérprete en unas mil instrucciones. Eso me dejó sitio para unos pocos datos. Aquello fue antes de que llegara a conocer cómo era el software real, el que hacía el trabajo en los sistemas reales.
Fue tras comenzar mi trabajo en el MIT cuando empecé a trabajar en una implementación real de Lisp con JonL White. No fui contratado para el Laboratorio de Inteligencia Artificial gracias a JonL, sino por Russ Noftsker, lo que es de lo más irónico teniendo en cuenta lo que vendría después, debe de haber lamentado realmente lo ocurrido aquel día.
En la década de los 70, antes de que mi vida se politizara a causa de terribles sucesos, simplemente me dedicaba a hacer una extensión tras otra de varios programas, la mayoría de los cuales no tenía nada que ver con Lisp. Pero, al mismo tiempo, escribí un editor de textos: Emacs. Lo interesante de Emacs era que incluía un lenguaje de programación, y las órdenes de edición de texto a utilizar por usted como usuario serían escritas en ese lenguaje de programación interpretado, de forma que podría cargar nuevas órdenes en el editor mientras estaba editando. Podría modificar los programas que estaba utilizando e, inmediatamente, editar utilizando los programas recién modificados. Es decir, teníamos un sistema que resultaba útil para algo más que para programar, y, sin embargo, permitía que usted lo programara mientras lo estaba usando. No sé si era el primer sistema de estas características, pero, desde luego, sí el primer editor así.
Esta construcción de programas complejos y gigantescos para usarlos en las ediciones de textos de uno, y después intercambiarlos con otros, alimentó el espíritu de cooperación espontánea que teníamos entonces en el Laboratorio de Inteligencia Artificial. La idea era que podía dar una copia de cualquier programa que tuviera a quien quisiera una. Compartíamos programas con todo el que deseara usarlos, eran conocimiento humano. Así que, a pesar de que no había un pensamiento político organizado que relacionara la forma en que compartíamos software con el diseño de Emacs, estoy convencido de que había una conexión entre ellos, quizá una conexión inconsciente. Creo que fue la naturaleza de la forma de vida que llevábamos en el Laboratorio de Inteligencia Artificial lo que condujo a Emacs e hizo de él lo que fue.
El Emacs original no incluía Lisp. Su lenguaje, de más bajo nivel y no interpretado, era Ensamblador del PDP-10. El intérprete que escribimos nosotros en realidad no fue escrito para Emacs, sino para TECO. TECO era nuestro editor de textos y era un lenguaje de programación extremadamente feo, no podía haber sido más feo. La razón era que no fue diseñado para ser un lenguaje de programación, sino como un lenguaje de órdenes y un editor de textos. Había órdenes como «5l», que significaba «mover cinco líneas», o «i» seguido de una cadena de caracteres y después ESC para insertar esa cadena de caracteres. Podría escribir una cadena de caracteres que fuera una secuencia de órdenes, lo que se llamaba una cadena de órdenes, terminada con ESC ESC, y sería ejecutada.
Bien. La gente quería extender este lenguaje con elementos útiles para la programación, así que añadió algunos. Por ejemplo, uno de los primeros fue una estructura iterativa: < >. Encerrar algo entre estos signos hacía que se ejecutara en un bucle. Había otras crípticas órdenes que podían usarse para salir del bucle condicionalmente. Para construir Emacs, nosotros (1) añadimos mecanismos para tener subrutinas con nombres. Antes de esto, de forma análoga a lo que ocurre con Basic, los nombres de las subrutinas sólo podían estar formados por una letra. Con esta limitación era difícil escribir programas grandes, así que añadimos código que permitió que pudieran tener nombres más largos. De hecho, había algunos mecanismos bastante sofisticados; creo que Lisp tomó su mecanismo unwind-protect de TECO.
Empezamos a añadir otros mecanismos sofisticados, todos ellos con la sintaxis más horrible que puedan imaginar, y funcionó, por lo menos la gente fue capaz de escribir programas extensos con él. La lección obvia fue que utilizar un lenguaje como TECO, que no había sido diseñado como lenguaje de programación, fue una opción equivocada. El lenguaje sobre el que construye sus extensiones no debería ser considerado como un lenguaje de programación a posteriori, sino que debería ser diseñado como un lenguaje de programación desde un principio. De hecho, nosotros descubrimos que el mejor lenguaje de programación para ese propósito era Lisp.
Fue Bernie Greenberg quien descubrió que lo era (2) . Escribió una versión de Emacs en Multics MacLisp, y programó sus órdenes en MacLisp de forma sencilla. El propio editor estaba escrito enteramente en Lisp. Multics Emacs fue un gran éxito: programar nuevas órdenes de edición era tan práctico que incluso los administrativos empezaron a aprender a hacerlo en sus oficinas. Utilizaban un manual que mostraba cómo extender Emacs, pero que no lo llamaba programación, de forma que los administrativos, que pensaban que no sabían programar, no se asustaran. Leyeron el manual, descubrieron que podían hacer cosas útiles y aprendieron a programar.
Así que Bernie vio que una aplicación, un programa que hace algo útil para usted, con Lisp en su interior y que pueda extender reescribiendo los programas Lisp, es realmente una muy buena manera de que la gente aprenda a programar. Le da la oportunidad de escribir pequeños programas que le son útiles, algo que, en la mayoría de las situaciones, no puede hacer. Le puede estimular para transitar mediante su propio uso en la práctica, en la que es la fase más dura, desde su creencia en su propia incapacidad para programar, hasta el momento en el que ya es un programador.
Llegado este punto, la gente se empezó a preguntar cómo podría conseguir algo así en una plataforma que no poseyera una implementación de Lisp completa. Multics MacLisp tenía tanto un compilador como un intérprete, era un sistema Lisp con todas las de la ley, pero la gente quería implementar algo similar en otros sistemas para los cuales todavía no había programado un compilador de Lisp. Bien, si no tenía el compilador de Lisp no podía escribir todo el editor en Lisp: resultaría demasiado lento, especialmente al refrescar la pantalla, si tenía que ejecutarse en Lisp interpretado. Así que desarrollamos una técnica híbrida. La idea era escribir conjuntamente un intérprete de Lisp y los fragmentos de nivel más bajo del editor, de forma que algunos fragmentos del editor fueran mecanismos incorporados en el intérprete de Lisp. Estos fragmentos serían todas aquellas partes que consideráramos que teníamos que optimizar. Ya habíamos utilizado esta técnica en el Emacs original, cuando reescribimos en lenguaje máquina algunas funciones de nivel relativamente alto, transformándolas en primitivas TECO. Por ejemplo, había una primitiva TECO para rellenar un párrafo (en realidad, para hacer casi todo el trabajo necesario para rellenar un párrafo, porque algunas de las tareas que menos tiempo consumían eran realizadas en un nivel superior por un programa TECO). Se podría haber hecho todo el trabajo con un programa TECO, pero habría resultado demasiado lento, por eso lo optimizamos escribiendo parte de él en lenguaje máquina. Esa misma idea es la que usamos aquí (en la técnica híbrida): escribimos la mayoría del editor en Lisp, pero escribimos en un nivel inferior algunas partes que tenían que ejecutarse particularmente rápido.
Por lo tanto, cuando escribí mi segunda implementación de Emacs seguí el mismo esquema. El lenguaje de bajo nivel ya no era lenguaje máquina, sino C. C era un lenguaje bueno y eficiente para programas portátiles que fueran a ejecutarse en un sistema operativo tipo Unix. Había un intérprete de Lisp, pero implementé directamente en C funciones para tareas de edición de propósito específico: manipular las zonas de memoria intermedia [buffers] del editor, insertar texto por delante, leer y escribir ficheros, refrescar la pantalla con el contenido de la memoria intermedia y gestionar la ventanas del editor.
Ahora bien, este no fue el primer Emacs escrito en C y que se ejecutaba en Unix. El primero lo escribió James Gosling, y era conocido como GosMacs. Con James ocurrió algo extraño. Al principio parecía estar influido por el mismo espíritu de participación y cooperación del Emacs original. En primer lugar liberé el Emacs original para personal del MIT. Alguien quería adaptarlo para su ejecución en Twenex, inicialmente sólo se podía ejecutar sobre el Incompatible Timesharing System [sistema de tiempo compartido incompatible] que usábamos en el MIT. Lo adaptaron a Twenex, lo cual significaba que había unos pocos cientos de instalaciones alrededor del mundo que podían, potencialmente, usarlo. Empezamos a distribuírselo junto con la norma de que «usted debía enviarnos todas sus mejoras» para que así todos nos pudiéramos beneficiar. Nadie intentó nunca hacer cumplir esta norma pero, hasta donde yo sé, la gente cooperaba.
Inicialmente Gosling parecía participar de este espíritu. Escribió en un manual que llamó Emacs al programa con la esperanza de que otros miembros de la comunidad lo mejoraran hasta que llegara a ser merecedor de ese nombre. Esa es la forma correcta de enfocar la relación con la comunidad, pedirle que se una al proyecto y mejore el programa. Pero más adelante pareció cambiar el espíritu, y lo vendió a una empresa.
Por aquel entonces yo estaba trabajando en el sistema GNU (un sistema operativo libre tipo Unix al que mucha gente llama erróneamente «Linux»). No había ningún editor Emacs que pudiera ejecutarse en Unix y que fuera software libre. No obstante, tenía un amigo que había participado en el desarrollo del Emacs de Gosling. Gosling le había dado permiso, por correo electrónico, para distribuir su propia versión. Me propuso que usara esa versión. Entonces me di cuenta de que el Emacs de Gosling no incluía un Lisp real. Tenía un lenguaje de programación conocido como «mocklisp», que sintácticamente parece Lisp pero que no tiene sus estructuras de datos. Así, los programas no eran datos, y carecía de elementos vitales de Lisp. Sus estructuras de datos eran cadenas de caracteres, números y unos pocos elementos especializados más.
Llegué a la conclusión de que no podía utilizarlo y tuve que reemplazarlo por completo, para lo cual el primer paso fue escribir un intérprete de Lisp real. Gradualmente adapté cada componente del editor basándolo en estructuras de datos de Lisp real, en lugar de estructuras de datos ad hoc, y haciendo visibles y manipulables por los programas Lisp del usuario las estructuras de datos internas del editor.
La excepción fue redisplay. Durante mucho tiempo, redisplay fue una especie de universo paralelo. El editor pasaba al universo de redisplay y todo funcionaba con estructuras de datos muy especiales que no eran seguras para la recolección de memoria [garbage collection], no eran seguras frente a interrupciones, y no podía ejecutar ningún programa Lisp mientras tanto. Posteriormente lo hemos modificado, ahora se puede ejecutar código Lisp concurrentemente con redisplay. Es algo muy práctico.
Este segundo Emacs era «software libre» en el sentido moderno del término: formaba parte de una campaña política explícita para la elaboración de software libre. La esencia de la campaña era que todo el mundo debería ser libre de hacer lo que nosotros hacíamos en el MIT en los viejos tiempos: trabajar conjuntamente en el software y colaborar con todo el que quisiera trabajar con nosotros. Esta es la base del movimiento por el software libre, la experiencia que tuve, la vida que viví en el Laboratorio de Inteligencia Artificial del MIT: trabajar para el conocimiento, y no obstaculizar su uso ni su expansión.
En esa época, podía construir un ordenador por un precio similar al de otros ordenadores que no estaban pensados para usar Lisp, en el cual Lisp se ejecutaría mucho más rápido y que incluiría validación de tipos en cada operación. Los ordenadores normales típicamente le forzaban a elegir entre velocidad de ejecución y buena validación de tipos. O sea que sí, podía tener un compilador de Lisp y ejecutar sus programas con velocidad, pero cuando sus programas intentaban tomar car de un número, obtenían resultados absurdos y terminaban por fallar o bloquearse.
La máquina Lisp podía ejecutar instrucciones aproximadamente a la misma velocidad que esas otras máquinas, pero cada instrucción validaría los tipos de los datos, así cuando usted intentara obtener el car de un número en un programa compilado, obtendría un error inmediato. Construimos la máquina y un sistema operativo Lisp para ella. Estaba escrito en Lisp casi en su totalidad, con las únicas excepciones de algunos fragmentos escritos en microcódigo. Hubo quien se interesó en fabricarla, lo que significaba fundar una empresa.
Había dos visiones diferentes sobre cómo debería ser esa empresa. Greenblatt quería fundar lo que él llamaba una empresa «hacker». Esto quería decir que sería una empresa gestionada por hackers y que operaría de un modo propicio para hackers. Otro objetivo era mantener la cultura del Laboratorio de Inteligencia Artificial (3). Desafortunadamente, Greenblatt no tenía experiencia empresarial, por lo que otros miembros del grupo de la máquina Lisp expresaron sus dudas sobre el éxito de la empresa. Pensaban que su plan para evitar inversiones externas no funcionaría.
¿Por qué quería evitar la inversión externa?. Porque cuando una empresa tiene inversores externos, éstos toman el control y no permiten que tenga ningún escrúpulo. Y, si usted tiene algún escrúpulo, finalmente le relevan de sus funciones directivas.
La idea de Greenblatt era encontrar un cliente que pagara sus máquinas por adelantado para poder comprar las piezas necesarias. Construirían las máquinas y las entregarían; con los beneficios obtenidos podrían comprar las piezas para unas pocas máquinas más, venderlas, comprar piezas para un número mayor de máquinas, y así sucesivamente. Los otros miembros del grupo pensaban que lo más probable era que el plan no saliera bien.
Entonces Greenblatt reclutó a Russell Noftsker, la persona que me había contratado, quien había dejado el Laboratorio de Inteligencia Artificial y creado una empresa exitosa. Russell era considerado una persona con aptitudes para los negocios. Demostró serlo al decir a los otros miembros del grupo: «deshagámonos de Greenblatt, olvidad sus ideas, y fundaremos otra empresa». Apuñalando por la espalda, sin duda un auténtico hombre de negocios. Decidieron crear una empresa llamada Symbolics. Obtendrían financiación externa, no tendrían escrúpulos y harían todo lo posible para ganar.
Pero Greenblatt no se dio por vencido. Fundó, junto con los pocos que permanecieron leales a él, Lisp Machines Inc. y siguió adelante con sus planes. ¡Y tuvieron éxito! Consiguieron el primer cliente y éste les pagó por adelantado. Construyeron las máquinas y las vendieron, y construyeron más y más máquinas. Tuvieron éxito a pesar de no contar con la ayuda de la mayor parte de los miembros del grupo. Symbolics también empezó con buen pie, así que había dos empresas de máquinas Lisp compitiendo. Cuando Symbolics vio que LMI no se iba a caer de bruces empezó a buscar maneras de destruirla.
Por lo tanto, al abandono de nuestro laboratorio le siguió la «guerra» en nuestro laboratorio. El abandono tuvo lugar cuando Symbolics se llevó a todos los hackers, excepto a los pocos que trabajaban a tiempo parcial en LMI y a mí mismo. Luego apelaron a una norma y eliminaron a la gente que trabajaba a tiempo parcial para el MIT, que tuvo que marcharse, lo cual me dejo sólo a mí. En ese momento el Laboratorio de Inteligencia Artificial estaba indefenso. Y, además, el MIT había llegado a un acuerdo muy poco sensato con esas dos empresas. Era un contrato a tres bandas por el que ambas empresas autorizaban el uso de los fuentes del sistema de la máquina Lisp. Estas empresas debían permitir al MIT usar sus modificaciones. Pero el contrato no decía que el MIT tuviera derecho a instalarlas en las máquinas Lisp para cuyo uso le habían otorgado licencia ambas empresas. Nadie había previsto que el grupo de hackers del Laboratorio de Inteligencia Artificial sería aniquilado, pero lo fue.
A Symbolics se le ocurrió un plan (4). Dijeron al laboratorio: «seguiremos permitiéndoles que usen nuestras modificaciones al sistema, pero no podrán instalarlas en la máquina Lisp del MIT. En su lugar, les daremos acceso al sistema de la máquina Lisp de Symbolics, y podrán ejecutarlo, pero eso será todo lo que podrán hacer.».
Esto, en la práctica, significaba que nos exigían posicionarnos en un bando y utilizar, o bien la versión del MIT del sistema, o bien la versión de Symbolics. Nuestra decisión determinaría a qué sistema irían nuestras mejoras. Si mejorábamos la versión de Symbolics, estaríamos apoyando a Symbolics exclusivamente. Si utilizábamos y mejorábamos la versión del sistema del MIT, ambas empresas tendrían acceso a nuestro trabajo. Pero Symbolics vio que estaríamos dando apoyo a LMI porque estaríamos ayudando a que siguiera existiendo. Así, no se nos permitió seguir siendo neutrales.
Hasta ese momento yo no había tomado partido por ninguna de las dos empresas, aunque me entristecía ver lo que le había ocurrido a nuestra comunidad y al software. Pero ahora, Symbolics había forzado la situación. Así que, en un intento por ayudar a mantener Lisp Machines Inc. a flote (5), empecé a duplicar todas las mejoras que había hecho Symbolics al sistema de la máquina Lisp. Escribí por mí mismo las mejoras equivalentes de nuevo (es decir, el código era mío).
Después de un tiempo (6), llegué a la conclusión de que sería mejor ni siquiera mirar su código. Cuando anunciaban la liberación de una actualización del código, podía ver en las notas correspondientes a la nueva liberación cuáles eran las modificaciones introducidas e implementarlas. Cuando ellos hacían finalmente la liberación de las modificaciones, yo también liberaba las mías.
De esta manera, durante dos años evité que acabaran con Lisp Machines Incorporated, y las dos empresas siguieron adelante. Pero no quería pasarme años y años castigando a alguien, evitando que se cometiera un acto malvado. Supuse que ya habían sido castigados bastante puesto que estaban inmersos en una competición que no tendría fin (7). Por otro lado, había llegado el momento de formar una nueva comunidad que reemplazara a la que las acciones suyas y de otros exterminaron.
La comunidad Lisp en los setenta no estaba limitada al Laboratorio de Inteligencia Artificial del MIT, y no todos los hackers estaban en el MIT. La guerra iniciada por Symbolics fue lo que aniquiló el MIT, pero había otras actividades en marcha. Había gente que abandonó la cooperación, y esto también contribuyó a extinguir la comunidad.
Una vez que dejé de castigar a Symbolics, tuve que pensar qué hacer a continuación. Tenía que hacer un sistema operativo libre, eso estaba claro. La única forma de que la gente pudiera trabajar conjuntamente y compartir era con un sistema operativo libre.
Al principio pensé en hacer un sistema basado en Lisp, pero me di cuenta de que no sería una buena idea desde el punto de vista técnico. Para tener algo como el sistema de la máquina Lisp, necesita microcódigo de propósito específico. Eso es lo que hizo posible ejecutar programas con la misma velocidad con la que se ejecutaban programas en otros ordenadores y con el beneficio adicional de la validación de tipos. Sin eso, se habría visto limitado a algo similar a los compiladores Lisp para otras máquinas. Los programas h abrían sido más rápidos, pero inestables. Ahora bien, eso puede ser admisible si está ejecutando un programa en un sistema de tiempo compartido: que un programa falle no es un desastre, es algo que ocurre con su programa ocasionalmente. Pero no es admisible cuando lo que escribimos es el sistema operativo, así que rechacé la idea de hacer un sistema como la máquina Lisp.
En su lugar, decidí hacer un sistema operativo tipo Unix que tuviera implementaciones Lisp, las cuales serían ejecutadas como programas de usuario. El núcleo no estaría escrito en Lisp, pero tendríamos Lisp. Así que el desarrollo de ese sistema operativo, el sistema operativo GNU, fue lo que me llevó a escribir Emacs de GNU. Al hacerlo, me propuse como meta hacer la implementación de Lisp mínima posible. El tamaño de los programas era algo a tener muy en cuenta.
Había gente en aquellos días, en 1985, que tenía máquinas con un megabyte de memoria y sin memoria virtual. Querían poder usar Emacs de GNU. Esto significaba que tenía que hacer que el programa fuera lo más pequeño posible.
Por ejemplo, en aquel entonces la única estructura iterativa era «while», implementada de forma extremadamente simple. No había ningún mecanismo para interrumpir la ejecución de la sentencia «while» y transferir el control a la instrucción siguiente a dicha sentencia, usted tenía que ejecutar un catch y un throw, o monitorizar una variable para salir del bucle. Esto muestra hasta dónde estaba llevando las cosas para mantener los programas pequeños. No teníamos «caar», «cadr», etc., el espíritu de Emacs de GNU, el espíritu de Emacs Lisp fue, desde el principio, «sácale todo el jugo posible».
Evidentemente, las máquinas actuales tienen mayor capacidad, y ya no hacemos las cosas así. Ahora incluimos «caar», «cadr», etc. Y podríamos añadir otra estructura iterativa un día de estos. Queremos ampliarlo en cierta medida, pero no hasta el punto de Common Lisp. Una vez implementé Common Lisp en una máquina Lisp, y no estoy muy satisfecho con el resultado. Algo que no me gusta gran cosa son los parámetros de palabra clave(8). No me parecen muy de Lisp; los utilizo a veces pero intento hacerlo lo menos posible.
Ese no fue el fin de los proyectos de GNU implicados con Lisp. Más tarde, alrededor de 1995, estábamos estudiando el inicio de un proyecto de escritorio gráfico. Teníamos claro que queríamos un lenguaje de programación que hiciera fácilmente extensibles, como el editor, los programas accesibles desde el escritorio. La cuestión era cuál.
En aquel momento, TCL estaba recibiendo un fuerte impulso como lenguaje a utilizar para este propósito. Yo tenía una opinión muy negativa de TCL, básicamente porque no era Lisp. Tiene un ligerísimo parecido con Lisp, pero no semánticamente, y no es tan limpio. Después, me mostraron un anuncio en el que Sun ofrecía un puesto de trabajo para trabajar con TCL y hacer de él el «lenguaje de extensión estándar, de facto» en el mundo. Y pensé: «Tenemos que evitar que eso llegue a ocurrir.». Así que empezamos a hacer de Scheme el lenguaje para extensiones estándar para GNU. No Common Lisp, porque era demasiado voluminoso. La idea era tener un intérprete Scheme diseñado para ser enlazado en las aplicaciones de la misma manera que se enlazaba TCL. Entonces lo recomendaríamos como el paquete para extensiones prefererido para todos los programas GNU.
Usted puede obtener un beneficio interesante del uso de un lenguaje tan potente como un dialecto de Lisp como su lenguaje primario de extensión: puede implementar otros lenguajes traduciéndolos a su lenguaje primario. Si su lenguaje primario es TCL, usted no podrá implementar Lisp fácilmente mediante su traducción a TCL. Pero si su lenguaje primario es Lisp, no es tan difícil implementar otros lenguajes traduciéndolos. Nuestra idea era que si cada aplicación extensible admitía Scheme, usted podría escribir una implementación de TCL o Python o Perl en Scheme que tradujera los programas en esos lenguajes a Scheme. Entonces, usted podría cargar su traductor en cualquier aplicación y extender dicha aplicación usando su lenguaje favorito.
Mientras los lenguajes de extensión sean débiles, los usuarios sólo pueden usar los lenguajes proporcionados por el programador. Lo que significa que a quien le guste utilizar un lenguaje de programación determinado tiene que competir por la elección de los diseñadores de aplicaciones diciendo «por favor, programador, ponga mi lenguaje en su aplicación, no el lenguaje de aquél.». Después los usuarios no tienen ninguna opción, la aplicación viene con un lenguaje y tienen que quedarse con él. Pero cuando dispone de un lenguaje potente que puede implementar otros mediante la traducción, da al usuario la posibilidad de elegir el lenguaje y ya no hay necesidad de una guerra de lenguajes. Esto es lo que esperamos que haga «Guile», nuestro intérprete Scheme. El verano pasado tuvimos a una persona trabajando en la finalización de un traductor de Python a Scheme. No sé si ya está completamente terminado, pero cualquiera que esté interesado en este proyecto, por favor póngase en contacto. Este es nuestro plan para el futuro.
Esta charla no es sobre software libre, pero déjenme comentarles brevemente lo que significa. Software libre no se refiere al precio1, no significa que usted lo obtiene gratis (puede haber pagado por una copia, o haberla obtenido gratis.). Lo que significa es que usted tiene libertad como usuario. Lo fundamental es que es libre de ejecutar el programa, libre de estudiar qué hace, libre de modificarlo para adaptarlo a sus necesidades, libre de redistribuir las copias de otros y libre de publicar versiones mejoradas, ampliadas. Esto es lo que significa software libre. Si utiliza un programa que no sea libre, pierde una libertad crucial, así que no lo haga nunca.
El propósito del proyecto GNU es hacer más fácil para la gente rechazar el software que no sea libre, pisotea libertades y domina usuarios, proporcionándole software libre para sustituirlo. Para aquellos que no tienen el valor moral de rechazar el software que no es libre cuando hacerlo representa un inconveniente práctico, lo que intentamos hacer es ofrecer una alternativa libre de forma que puedan mudarse a la libertad de forma más ordenada y con menos sacrificios en términos prácticos. Cuanto menor el sacrificio, mejor. Queremos hacer más fácil vivir en libertad, cooperar.
Es una cuestión de libertad para cooperar. Solemos pensar en la libertad y en la cooperación con la sociedad como si fueran opuestos. Pero aquí están del mismo lado. Con software libre es libre de cooperar con otros así como libre de ayudarse a usted mismo. Con software que no es libre, alguien le está dominando y está manteniendo dividida a la gente. No se le permite compartir con el resto, no es libre de cooperar ni de ayudar a la sociedad, como tampoco es libre de ayudarse a usted mismo. Divididos y desamparados es como se encuentran los usuarios de software que no es libre.
Hemos producido una enorme variedad de software libre. Hemos hecho lo que la gente decía que nunca lograríamos hacer; tenemos dos sistemas operativos de software libre. Tenemos muchas aplicaciones y, obviamente, todavía tenemos mucho camino por recorrer. Así que necesitamos su ayuda. Me gustaría pedirles que colaboraran como voluntarios para el proyecto GNU; ayúdennos a desarrollar software libre para más tareas. Echen un vistazo a http://www.gnu.org/help/help.es.html para encontrar sugerencias sobre cómo ayudar. Si quieren hacer algún pedido, hay un enlace disponible en la página principal. Si quieren leer sobre cuestiones filosóficas, miren en /philosophy. Si están buscando el software libre disponible, miren en /directory, donde se listan alrededor de 1900 paquetes en la actualidad (lo cual es una fracción de todo el software libre disponible ahí fuera). Por favor, escriban más software y contribuyan. Mi libro de ensayos, «Free Software and Free Society» se encuentra a la venta y puede adquirirse en www.gnu.org2. ¡Feliz hacking!.
  1. Guy Steele diseñó el conjunto de órdenes simétrico original de Emacs; luego, él y yo empezamos a implementar Emacs (sobre TECO), pero, tras una larga sesión conjunta de desarrollo, Steele empezó a distanciarse, así que yo finalicé Emacs. Otros, entre los que destacan Eugene C. Cicciarelli y Mike McMahon, contribuyeron más tarde de forma sustancial.
  2. Bernie Greenberg dice que Dan Weinreb implementó Emacs para la Máquina Lisp antes de que Greenberg lo implementara para Multics. Pido disculpas por el error.
  3. El plan de Greenblatt, según lo entendía yo, era contratar a la gente del laboratorio a tiempo parcial, de forma que pudieran seguir trabajando en el Laboratorio de Inteligencia Artificial. En cambio, Symbolics les contrató a jornada completa, así que dejaron de trabajar en el MIT.
  4. Las circunstancias de este plan, que no expuse explícitamente en la charla, fueron las siguientes: durante un periodo inicial los hackers que habían dejado el Laboratorio de Inteligencia Artificial, tanto los que trabajaban para Symbolics como los que lo hacían para LMI, continuaron aportando al sistema de la máquina Lisp del MIT sus modificaciones, a pesar de que el contrato no lo exigía. El plan de Symbolics era provocar unilateralmente la ruptura de esta cooperación.
  5. No era que me preocupara especialmente el destino de LMI, sino más bien que no quería que Symbolics saliera vencedora gracias a haber agredido como lo hizo al Laboratorio de Inteligencia Artificial.
  6. Esta afirmación ha sido malinterpretada atribuyéndole el significado de que nunca miré el código de Symbolics. En realidad dice que sí lo hice, al principio. El código fuente de Symbolics estaba disponible en el MIT, por lo tanto yo podía leerlo, y al principio era así como me enteraba de sus modificaciones.
    Pero eso significaba que tenía que hacer un esfuerzo especial para resolver cada problema de forma diferente, para evitar que mi código fuera una copia del código de Symbolics. Pasado un tiempo, llegué a la conclusión de que era mejor no mirarlo. De esa forma podía escribir el código de la forma que considerara mejor sin preocuparme de lo que contenía el código de Symbolics.
  7. En una ocasión Symbolics se quejó al MIT de que mi trabajo, al frustrar sus planes, le había costado un millón de dólares.
  8. No me molesta si una función muy compleja y avanzada toma parámetros de palabras clave. Lo que me molesta es ponerlas en funciones simples y básicas como «miembro».
Notas del traductor:
  1. Software Libre es la traducción de Free Software. Aquí se hace referencia al doble significado del término inglés Free, que puede significar tanto «libre» como «gratis». Regresar al texto.
  2. Existe una traducción del libro publicada en España por el editorial Traficantes de Sueños. Regresar al texto
**********************

"... If this makes natural intuitive sense to you, that indicates your mind is well-adapted towards programming. If they don't make intuitive sense to you, I suggest you do something other than programming...."
I actually think persistence is far more important that intuition.

domingo, 6 de enero de 2019

PROGRAMMING IS REALLY FUN! FUN! AND MORE FUUUUUUUUUUUN!!! I LOVE PROGRAMMING




PROGRAMMING IS REALLY FUN! FUN! AND MORE FUUUUUUUUUUUN!!! I LOVE PROGRAMMING &lt;3 &lt;3 &lt;3


What delights may its practitioner expect as his reward?
First is the sheer joy of making things. As the child delights in his mud pie, so the adult enjoys building things, especially things of his own design. I think this delight must be an image of God's delight in making things, a delight shown in the distinctiveness of each leaf and each snowflake.
Second is the pleasure of making things that are useful to other people.Deep within, we want others to use our work and to find it helpful. In this respect the programming system is not essentially different from the child's first clay pencil holder "for Daddy's office."
Third is the fascination of fashioning complex puzzle-like objects of interlocking moving parts and watching them work in subtle cycles, playing out the consequences of principles built in from the beginning. The programmed computer has all the fascination of the pinball machine or the jukebox mechanism, carried to the ultimate.
Fourth is the joy of always learning, which springs from the nonrepeating nature of the task. In one way or another the problem is ever new, and its solver learns something: sometimes practical, sometimes theoretical, and sometimes both.
Finally, there is the delight of working in such a tractable medium. The programmer, like the poet, works only slightly removed from pure thought-stuff. He builds his castles in the air, from air, creating by exertion of the imagination. Few media of creation are so flexible, so easy to polish and rework, so readily capable of realizing grand conceptual structures. (...) Yet the program construct, unlike the poet's words, is real in the sense that it moves and works, producing visible outputs separately from the construct itself. It prints results, draws pictures, produces sounds, moves arms. The magic of myth and legend has come true in our time. One types the correct incantation on a keyboard, and a display screen comes to life, showing things that never were nor could be.
Programming then is fun because it gratifies creative longings built deep within us and delights sensibilities we have in common with all men.










opinion
I think that showing them algorithmic problems is too aggressive, unless your target audience are students that already compete in math competitions.
For a general audience of students, I'd try first to motivate them to learn some programming and play with it. There's a summer program in my university for high school students where they play with visual tools to create games (iirc). The hour of code uses a robot walk as an example. Using something visual like this helps people seeing the results of their work and motivates them to try different things.
After this phase, for those that enjoy programming, I'd show them the 'power' of efficient algorithms. If they don't like it, they can still try to build other kinds of programs.
What I did once was picking a problem like sorting, demonstrate that an algorithm works (e.g. bubble sort) for small inputs and is slow for large ones (let the shell several seconds waiting and kill it). Then, show the speed of an efficient algorithm. It impressed the students and got them engaged.



Programming computers is a piece of cake. Or so the world’s digital-skills gurus would have us believe. From the non-profit Code.org’s promise that “Anybody can learn!” to Apple chief executive Tim Cook’s comment that writing code is “fun and interactive,” the art and science of making software is now as accessible as the alphabet.
Unfortunately, this rosy portrait bears no relation to reality. For starters, the profile of a programmer’s mind is pretty uncommon. As well as being highly analytical and creative, software developers need almost superhuman focus to manage the complexity of their tasks. Manic attention to detail is a must; slovenliness is verboten. Attaining this level of concentration requires a state of mind called being “in the flow,” a quasi-symbiotic relationship between human and machine that improves performance and motivation.
Coding isn’t the only job that demands intense focus. But you’d never hear someone say that brain surgery is “fun,” or that structural engineering is “easy.” When it comes to programming, why do policymakers and technologists pretend otherwise? For one, it helps lure people to the field at a time when software (in the words of the venture capitalist Marc Andreessen) is “eating the world”—and so, by expanding the labor pool, keeps industry ticking over and wages under control. Another reason is that the very word “coding” sounds routine and repetitive, as though there’s some sort of key that developers apply by rote to crack any given problem. It doesn’t help that Hollywood has cast the “coder” as a socially challenged, type-first-think-later hacker, inevitably white and male, with the power to thwart the Nazis or penetrate the CIA.
Insisting on the glamor and fun of coding is the wrong way to acquaint kids with computer science. It insults their intelligence and plants the pernicious notion in their heads that you don’t need discipline in order to progress. As anyone with even minimal exposure to making software knows, behind a minute of typing lies an hour of study.
It’s better to admit that coding is complicated, technically and ethically. Computers, at the moment, can only execute orders, to varying degrees of sophistication. So it’s up to the developer to be clear: the machine does what you say, not what you mean. More and more “decisions” are being entrusted to software, including life-or-death ones: think self-driving cars; think semi-autonomous weapons; think Facebook and Google making inferences about your marital, psychological, or physical status, before selling it to the highest bidder. Yet it’s rarely in the interests of companies and governments to encourage us to probe what’s going on beneath these processes.
All of these scenarios are built on exquisitely technical foundations. But we can’t respond to them by answering exclusively technical questions. Programming is not a detail that can be left to “technicians” under the false pretense that their choices will be “scientifically neutral.” Societies are too complex: the algorithmic is political. Automation has already dealt a blow to the job security of low-skilled workers in factories and warehouses around the world. White-collar workers are next in line. The digital giants of today run on a fraction of the employees of the industrial giants of yesterday, so the irony of encouraging more people to work as programmers is that they are slowly mobilizing themselves out of jobs.
In an ever-more intricate and connected world, where software plays a larger and larger role in everyday life, it’s irresponsible to speak of coding as a lightweight activity. Software is not simply lines of code, nor is it blandly technical. In just a few years, understanding programming will be an indispensable part of active citizenship. The idea that coding offers an unproblematic path to social progress and personal enhancement works to the advantage of the growing techno-plutocracy that’s insulating itself behind its own technology.
This article is part of Quartz Ideas, our home for bold arguments and big thinkers.



Kids are naturally excited about building, whether it's building blocks or building rockets. Programming can be just as much fun. And the skills kids gain programming can help them feel accomplished, while giving them a head start in our fast-paced digital world. This course is designed to help parents and educators introduce programming concepts to kids of all ages, from grammar school to high school. David Gassner starts with a description of different learning styles (auditory, kinesthetic, or visual) and talks about how kids' programming tools appeal to different styles. He then introduces mobile device apps for young programmers that let them animate graphical images using simple block-based programming. For older kids, he introduces software such as Scratch for more advanced animation, MIT App Inventor for programming real Android apps, and tools that teach core languages like JavaScript and Java. The final chapter covers how kids can work with robots and other hardware like the Raspberry Pi, which show how programming can work in the real world.
Topics include:
  • Understanding your child's learning style
  • Graphical programming on iPads and computers
  • Making things move
  • Learning about algorithms
  • Programming animations, apps, and games
  • Learning JavaScript and other core languages
  • Programming virtual and real robots
  • Programming hardware: Arduino and Raspberry Pi

Seeing Programming Through the Eyes of an Artist

The health benefits of creative output are well documented – a May 2012 article on CNN.com titled “A Healthy Life is a Creative Life opens in new window” acknowledges a strong link between creativity and improved mental and physical health. “Creating helps make people happier, less anxious, more resilient and better equipped to problem-solve in the face of hardship,” says author Amanda Enayati.
Many recent studies have shown that stress commonly experienced by people in jobs they dislike leads to weight gain and higher glucose levels. Those issues can morph into to bigger problems, such as upper-respiratory infections and even cardiovascular disease.
With these proven facts in mind, students or adults seeking new career paths may shun the idea of becoming a computer programmer when choosing a profession. Long hours spent hunched before a computer screen writing endless streams of code seems to be the antithesis of a creative occupation. But, when one truly understands how engaging coding can be – when they see how it can be used to create limitless programs, utilities and applications – they begin to see computer programming as an exciting, modern creative outlet.

Coding is Creating

Writing code may not be the same as producing a novel, a painting, a new design for a building, a sculpture or a beautiful piece of music, but when the coder can see him or herself as an artist whose ideas impart limitless functionality to a computer program, a new facet of creativity comes to light.
The basis of programming is to solve a problem – for example, a programmer wants to create an app that generates sales tax information on any purchase made by a given user, using location-based technology. Through the design and testing process, the programmer achieves repeated, successful results and has thus created something new and useful. Just like any other creative pursuit, the more a person practices, the better he or she will be at the craft of programming.
Before he died, Apple’s Steve Jobs said, “Everybody in the country should learn how to program a computer… because it teaches you how to think.”

Learning Method Matters

For those on the fence about whether to pursue education, then a career, in computer science or programming, the overarching advice is to learn computer languages in the correct order. Some are much more complex and more difficult to learn than others, and jumping into a difficult language first can hinder a learner’s confidence and progress.
This is where The Software Guild can have the best influence on a programming student’s education. The Software Guild is a fast-paced apprenticeship program that teaches programming and software development. It is a 12-week boot camp program in which enrollees receive staff expertise and personalized attention they may not get in traditional classrooms. This boot camp is intended to help students master the computer languages they need – in an order that makes sense – that they’ll then use to create software programs from the ground up. All of this is accomplished in a collaborative, hands-on way.
Students shouldn’t let the stereotypes of what they think computer programming and coding looks like sway them from a career in this lucrative field. With code as their medium, computer programmers can become intensely creative artists with important contributions that impact people around the world.

https://www.quora.com/Is-hacking-fun
Hacking is the most exhilarating rush you could ever get.
Have you ever broken into somewhere? What did you feel like? Were your knees trembling with fear that you might be caught?
Hacking is like that 1000x.
Hacking is the fun we almost shouldn't be allowed to have. Hacking is the intellectual and logic oriented video game that so many people crave.
It is like the ultimate hit. Or think of a level in a video game. It seemed impossible. You stuck at it for hours and hours. Tried again and again. Then you have finally won, beating the ultimate boss. That is what hacking is over and over again. But hacking requires hours of dedication that can only be sustained by someone who is truly passionate about hacking/infosec/programming.
Conclusion: Yes, Hacking is so f*cking fun.
most people here havent got a clue about hacking..
so they spout on about how hacking is investigating, washing machines, watches and lots more bullshit.
proper hacking is all about hacking computers…so just ignore all the lengthy explanation on what hacking means to an old grey or someone who hasnt got a clue what you are talking about clearly…ignore that balloney.
hacking is not really that much fun…it takes lots of study, investigation, coding and low level programing and understanding. hackers are born. to them it is fun of the highest order…they get a better buzz from sussing out and circumventing systems and enhancing their knowledge on computers, than a 14 year old kid gets from jerking off and playing x box all night. Hacking is the big boys computer game….but you have to be elite with computers in order to play competently…
this is the main problem, most are not prepared to put in the endless hours of toiling through books and programs in total confusion and frustration.you need to be a proper jack of all trades…you need to know about networking, firewalls, databases, machine code, linux dumps, encryption, scanning , coding, metadata, and analysing files and files of data, competent with scripting and programming, and anonimity.
once you get competent at certain skills and with certain tools it can be quite interesting, or you can just get some silly kiddy scripts and plant them into an email or attachment of some sort..
conclusion
hacking is really very very very difficult, takes a hell of a lot of expertese to do properly, (finding zero day exploits - that nobody else on earth knows about ) extreme competence with computers and programming and various computer technology, is very time consuming….
if you are not a total geek, dont even bother . geek is not good enough …total geek may suffice.
if you are just starting out and have a basic understanding of computing then possibly in 10 years time of hard study you will be able to do some simple hacks.
a great start will be to get linux fast. then get nmap port scanner and read up on a few scans and start scanning target ips,…try not to just scan a block of ips, scan something of your own choosing, and you will find you get very little inofrmation back, look into how the ohter sysadmins know they are being scanned, get a couple pcs , scan each other and go deeper into scans, you can then look inot metasploit and nessus …once you know what is running on a system you can find existing exploits for that version of software, then you can use metasploit to dump a payload to the machine ..try and get a back door on your other pc..once you do that see if you can see any trace ..use snort and monitor all your files…create access lists to block stuff and alarms etc…keep delving around and open more doors and study more
i have been hacking for several years…and still havent managed more than becoming competent with linux, competent with anonimity, a little programming, decent networking and understanding of switches routers firewalls and routing protocols….but i still havent managed to break into a friends windows machine….i mean i could send an email with a payload ..but that would be cheating.
good luck.
We all have different motivators and reasons for doing things. You’re the only one who can tell whether your husband is behaving strangely.Generally speaking though, here are a few common telltale signs. Disclaimer: one person’s odd behavior doesn’t necessarily translate into universal truth, so YMMV. Always—ALWAYS—talk about things and find out the facts before you fly off the handle and do something rash that you might (probably will…) regret later.Note: These are based on things my father taught me. He was a detective for almost 20 years, so many of these things are based on lying or suspicious behaviors—not necessarily “cheater” behaviors. But since most cheating features lying concomitantly, I think it’s safe to say you can try these out and see what you come up with.1) A person you know well is doing, or starts doing, something uncharacteristic of their usual behavior. For instance: your husband gets home late from work. In fact he despises staying past 5. Suddenly he starts finding things to do after work—going out for a beer “with the guys”, working late, or doing something else that keeps him away from home. This is especially true if it’s one or two specific days a week, since many cheaters are plying their nefarious trade with another person who’s also cheating. So for instance, they agree to meet on Thursdays at 5:30 pm at the 7 Dwarfs Motor Lodge…a time that isn’t necessarily suspicious to their spouses.2) Someone gets defensive when questioned about recent activities. My dad used to say (he had lots of little cop homilies): “Liars shout; the innocent talk it out.” For example, let’s say your spouse claims he’s meeting The Guys For A Beer after work each Friday. After a week or two, you say “Dear, is there anything you aren’t telling me about what you’re doing on Fridays?”Liar’s answer: “How dare you question me!! I thought you trusted me!! I’m not even going to justify that with a response! I’m going out, and you better just think about what you just said to me, because I refuse to be treated this way!”Innocent’s answer: “Nope, I’m just meeting The Guys For A Beer. You want to call Tom right now and ask him? You want to come with me next week For A Beer so you can see it’s all good?”In other words, liars try to hide their deceit with anger, rage, and evasiveness…very common defensive techniques which are actually fear-based responses. He’s scared of getting caught, so he tries to reverse that and scare you into laying off your questioning.People labor under the delusion that this behavior works…and maybe for some weak-willed people, it does. But not for most people. For most people, this behavior actually supports their suspicions.Innocent people are too happy to provide you with any piece of evidence necessary to clear their names. You want to look at his phone? He’ll say ok, cool, go right ahead. You want to call Tom’s wife and ask whether he’s been meeting your husband For A Beer With The Guys? He says go right ahead—I’ll even dial the number for you. He’ll even ask you to meet him every Friday afternoon just to prove he’s innocent, if that’s what it takes to convince you.Bottom line: he wants you to believe him…no…NEEDS you to believe him, because he has nothing to hide

jueves, 3 de enero de 2019

Prodigal Genius BIOGRAPHY OF NIKOLA TESLA



Prodigal Genius
BIOGRAPHY OF NIKOLA TESLA
1994 Brotherhood of Life, Inc.,
110 Dartmouth, SE, Albuquerque,
New Mexico 87106 USA

"SPECTACULAR" is a mild word for describing the strange
experiment with life that comprises the story of Nikola
Tesla, and "amazing" fails to do adequate justice to the
results that burst from his experiences like an exploding
rocket. It is the story of the dazzling scintillations of a
superman who created a new world; it is a story that
condemns woman as an anchor of the flesh which retards the
development of man and limits his accomplishment--and,
paradoxically, proves that even the most successful life,
if it does not include a woman, is a dismal failure.

Even the gods of old, in the wildest imaginings of their
worshipers, never undertook such gigantic tasks of worldwide
dimension as those which Tesla attempted and
accomplished. On the basis of his hopes, his dreams, and
his achievements he rated the status of the Olympian gods,
and the Greeks would have so enshrined him. Little is the
wonder that so-called practical men, with their noses stuck
in profit-and-loss statements, did not understand him and
thought him strange.
The light of human progress is not a dim glow that
gradually becomes more luminous with time. The panorama of
human evolution is illumined by sudden bursts of dazzling
brilliance in intellectual accomplishments that throw their
beams far ahead to give us a glimpse of the distant future,
that we may more correctly guide our wavering steps today.
Tesla, by virtue of the amazing discoveries and inventions
which he showered on the world, becomes one of the most
resplendent flashes that has ever brightened the scroll of
human advancement.
Tesla created the modern era; he was unquestionably one of
the world's greatest geniuses, but he leaves no offspring,
no legatees of his brilliant mind, who might aid in
administering that world; he created fortunes for
multitudes of others but himself died penniless, spurning
wealth that might be gained from his discoveries. Even as
he walked among the teeming millions of New York he became
a fabled individual who seemed to belong to the far-distant
future or to have come to us from the mystical realm of the
gods, for he seemed to be an admixture of a Jupiter or a
Thor who hurled the shafts of lightning; an Ajax who defied
the Jovian bolts; a Prometheus who transmuted energy into
electricity to spread over the earth; an Aurora who would
light the skies as a terrestrial electric lamp; a Mazda who
created a sun in a tube; a Hercules who shook the earth
with his mechanical vibrators; a Mercury who bridged the
ambient realms of space with his wireless waves--and a
Hermes who gave birth to an electrical soul in the earth
that set it pulsating from pole to pole.


This spark of intellectual incandescence, in the form of a
rare creative genius, shot like a meteor into the midst of
human society in the latter decades of the past century;
and he lived almost until today. His name became synonymous
with magic in the intellectual, scientific, engineering and
social worlds, and he was recognized as an inventor and
discoverer of unrivaled greatness. He made the electric
current his slave. At a time when electricity was
considered almost an occult force, and was looked upon with
terror-stricken awe and respect, Tesla penetrated deeply
into its mysteries and performed so many marvelous feats
with it that, to the world, he became a master magician
with an unlimited repertoire of scientific legerdemain so
spectacular that it made the accomplishments of most of the
inventors of his day seem like the work of toy-tinkers.
Tesla was an inventor, but he was much more than a producer
of new devices: he was a discoverer of new principles,
opening many new empires of knowledge which even today have
been only partly explored. In a single mighty burst of
invention he created the world of power of today; he
brought into being our electrical power era, the rockbottom
foundation on which the industrial system of the
entire world is builded; he gave us our mass-production
system, for without his motors and currents it could not
exist; he created the race of robots, the electrical
mechanical men that are replacing human labor; he gave us
every essential of modern radio; he invented the radar
forty years before its use in World War II; he gave us our
modern neon and other forms of gaseous-tube lighting; he
gave us our fluorescent lighting; he gave us the highfrequency
currents which are performing their electronic
wonders throughout the industrial and medical worlds; he
gave us remote control by wireless; he helped give us World
War II, much against his will--for the misuse of his
superpower system and his robot controls in industry made
it possible for politicians to have available a tremendous
surplus of power, production facilities, labor and
materials, with which to indulge in the most frightful
devastating war that the maniacal mind could conceive. And
these discoveries are merely the inventions made by the
master mind of Tesla which have thus far been utilized--
scores of others remain still unused.
Yet Tesla lived and labored to bring peace to the world. He
dedicated his life to lifting the burdens from the
shoulders of mankind; to bringing a new era of peace,
plenty and happiness to the human race. Seeing the coming
of World War II, implemented and powered by his
discoveries, he sought to prevent it; offered the world a
device which he maintained would make any country, no
matter how small, safe within its borders--and his offer
was rejected.
More important by far, however, than all his stupendously
significant electrical discoveries is that supreme
invention--Nikola Tesla the Superman--the human instrument
which shoved the world forward with an accelerating lunge
like an airplane cast into the sky from a catapult. Tesla,
the scientist and inventor, was himself an invention, just
as much as was his alternating-current system that put the
world on a superpower basis.
Tesla was a superman, a self-made superman, invented and
designed specifically to perform wonders; and he achieved
them in a volume far beyond the capacity of the world to
absorb. His life he designed on engineering principles to
enable him to serve as an automaton, with utmost
efficiency, for the discovery and application of the forces
of Nature to human welfare. To this end he sacrificed love
and pleasure, seeking satisfaction only in his
accomplishments, and limiting his body solely to serving as
a tool of his technically creative mind.
With our modern craze for division of labor and
specialization of effort to gain efficiency of production
in our industrial machine, one hesitates to think of a
future in which Tesla's invention of the superman might be
applied to the entire human race, with specialization
designed for every individual from birth.

The superman that Tesla designed was a scientific saint.
The inventions that this scientific martyr produced were
designed for the peace, happiness and security of the human
race, but they have been applied to create scarcity,
depressions and devastating war. Suppose the superman
invention were also developed and prostituted to the
purposes of war-mongering politicians? Tesla glimpsed the
possibilities and suggested the community life of the bee
as a threat to our social structure unless the elements of
individual and community lives are properly directed and
personal freedom protected.
Tesla's superman was a marvelously successful invention--
for Tesla--which seemed, as far as the world could observe,
to function satisfactorily. He eliminated love from his
life; eliminated women even from his thoughts. He went
beyond Plato, who conceived of a spiritual companionship
between man and woman free from sexual desires; he
eliminated even the spiritual companionship. He designed
the isolated life into which no woman and no man could
enter; the self-suficient individuality from which all sex
considerations were completely eliminated; the genius who
would live entirely as a thinking and a working machine.

Tesla's superman invention was a producer of marvels, and
he thought that he had, by scientific methods, succeeded in
eliminating love from his life. That abnormal life makes a
fascinating experiment for the consideration of the
philosopher and psychologist, for he did not succeed in
eliminating love. It manifested itself despite his
conscientious efforts at suppression; and when it did so it
came in the most fantastic form, providing a romance the
like of which is not recorded in the annals of human
history.
Tesla's whole life seems unreal, as if he were a fabled
creature of some Olympian world. A reporter, after writing
a story of his discoveries and inventions, concluded, "His
accomplishments seem like the dream of an intoxicated god."
It was Tesla's invention of the polyphase alternatingcurrent
system that was directly responsible for harnessing
Niagara Falls and opened the modern electrical superpower
era in which electricity is transported for hundred of
miles, to operate the tens of thousands of mass-production
factories of industrial systems. Every one of the tall
Martian-like towers of the electrical transmission lines
that stalk across the earth, and whose wires carryelectricity to distant cities, is a monument to Tesla;
every powerhouse, every dynamo and every motor that drives
every machine in the country is a monument to him.
Superseding himself, he discovered the secret of
transmitting electrical power to the utmost ends of the
earth without wires, and demonstrated his system by which
useful amounts of power could be drawn from the earth
anywhere merely by making a connection to the ground; he
set the entire earth in electrical vibration with a
generator which spouted lightning that rivaled the fiery
artillery of the heavens. It was as a minor portion of this
discovery that he created the modern radio system; he
planned our broadcasting methods of today, forty years ago
when others saw in wireless only the dot-dash messages that
might save ships in distress.
He produced lamps of greater brilliance and economy than those in common use today; he invented the tube, fluorescent and wireless lamps which we now consider such up-to-the-minute developments; and he essayed to set the entire atmosphere of the earth aglow with his electric currents, to change our world into a single terrestrial lamp and to make the skies at night shine as does the sun by day. If other first-magnitude inventors and discoverers may be considered torches of progress, Tesla was a conflagration. He was the vehicle through which the blazing suns of a brighter tomorrow focused their incandescent beams on a world that was not prepared to receive their light. Nor is it remarkable that this radiant personality should have led a strange and isolated life. The value of his contributions to society cannot be overrated. we can now analyze, to some extent, the personality that produced them. He stands as a synthetic genius, a self-made superman, the greatest invention of the greatest inventor of all times. But when we consider Tesla as a human being, apart from his charming and captivating social manners, it is hard to imagine a worse nightmare than a world inhabited entirely by geniuses. When Nature makes an experiment and achieves an improvement it is necessary that it be accomplished in such a way that the progress will not be lost with the individual but will be passed on to future generations. In man, this requires a utilization of the social values of the race, cooperation
of the individual with his kind, that the improved status may be propagated and become a legacy of all. Tesla intentionally engineered love and women out of his life, and while he achieved gigantic intellectual stature, he failed to achieve its perpetuation either through his own progeny or through disciples. The superman he constructed was not great enough to embrace a wife and continue to exist as such. The love he sought to suppress in his life, and which he thought was associated only with women, is a force which, in its various aspects, links together all members of the human race.  
In seeking to suppress this force entirely Tesla severed the bonds which might have brought to him the disciples who would, through other channels, have perpetuated the force of his prodigal genius. As a result, he succeeded in imparting to the world only the smallest fraction of the creative products of his synthetic superman. The creation of a superman as demonstrated by Tesla was a grand experiment in human evolution, well worthy of the giant intellect that grew out of it, but it did not come up to Nature's standards; and the experiment will have to be made many times more before we learn how to create a super race with the minds of Teslas that can tap the hidden treasury of Nature's store of knowledge, yet endowed too with the vital power of love that will unlock forces, more powerful than any which we now glimpse, for advancing the status of the human race. There was no evidence whatever that a superman was being born
when the stroke of midnight between July 9 and 10, in the year 1856, brought a son, Nikola, to the home of the Rev. Milutin Tesla and Djouka, his wife, in the hamlet of Smiljan, in the Austro-Hungarian border province of Lika, now a part of Yugoslavia. The father of the new arrival, pastor of the village church, was a former student in an oficers' training school who had rebelled against the restrictions of Army life and turned to the ministry as the field in which he could more satisfactorily express himself. The mother, although totally unable to read or write, was nevertheless an intellectually brilliant woman, who without the help of literal aids became really well educated.

Both father and mother contributed to the child a valuable heritage of culture developed and passed on by ancestral families that had been community leaders for many generations. The father came from a family that contributed sons in equal numbers to the Church and to the Army. The mother was a member of the Mandich family whose sons, for generations without number, had, with very few exceptions, become ministers of the Serbian Orthodox Church, and whose daughters were chosen as wives by ministers. Djouka, the mother of Nikola Tesla (her given name in English translation would be Georgina), was the eldest daughter in a family of seven children. Her father, like her husband, was a minister of the Serbian Orthodox Church, Her mother, after a period of failing eyesight, had become blind shortly after the seventh child was born; so Djouka, the eldest daughter, at a tender age was compelled to take over the major share of her mother's duties. This not alone prevented her from attending school: her work at home so completely consumed her time that she was unable to acquire even the rudiments of reading and writing through home study. This was a strange situation in the cultured family of which she was a member. Tesla, however, always credited his unlettered mother rather than his erudite father with being the source from which he inherited his inventive ability. She devised many household labor-saving instruments. She was, in addition, a very practical individual, and her well-educated husband wisely left in her hands all business matters involving both the church and his household. An unusually retentive memory served this remarkable woman as a good substitute for literacy. As the family moved in cultured circles she absorbed by ear much of the cultural riches of the community. She could repeat, without error or omission, thousands of verses of the national poetry of her country--the sagas of the Serbs--and could recite long passages from the Bible. She could narrate from memory the entire poetical- philosophical work Gorski ffenac (Mountain fireath), written by Bishop Petrovich Njegosh. She also possessed artistic talent and a versatile dexterity in her fingers for expressing it. She earned wide fame throughout the countryside for her beautiful needlework. According to Tesla, so great were her dexterity and her patience that she could, when over sixty, using only her fingers, tie three knots in an eyelash.

The remarkable abilities of this clever woman who had no formal education were transmitted to her five children. The elder son, Dane Tesla, born seven years before Nikola, was the family favorite because of the promise of an outstanding career which his youthful cleverness indicated was in store for him. He foreshadowed in his early years the strange manifestations which in his surviving brother were a prelude to greatness. Tesla's father started his career in the military service, a likely choice for the son of an oficer; but he apparently did not inherit his father's liking for Army life. So slight an incident as criticism for failure to keep his brass buttons brightly polished caused him to leave military school. He was probably more of a poet and philosopher than a soldier. He wrote poetry which was published in contemporary papers. He also wrote articles on current problems which he signed with a pseudonym, "Srbin Pravicich." This, in Serb, means "Man of Justice." He spoke, read and wrote Serbo-Croat, German and Italian. It was probably his interest in poetry and philosophy that caused him to be attracted to Djouka Mandich. She was twenty-five and Milutin was two years older. He married her in 1847. His attraction to the daughter of a pastor probably influenced his next choice of a career, for he then entered the ministry and was soon ordained a priest. He was made pastor of the church at Senj, an important seaport with facilities for a cultural life. He gave satisfaction, but apparently he achieved success among his parishioners on the basis of a pleasing personality and an understanding of problems rather than by using any great erudition in theological and ecclesiastical matters. A few years after he was placed in charge of this parish, a new archbishop, elevated to head of the diocese, wished to survey the capabilities of the priests in his charge and offered a prize for the best sermon preached on his oficial visit. The Rev. Milutin Tesla was bubbling over, at the time, with interest in labor as a major factor in social and economic problems. To preach a sermon on this topic was, from the viewpoint of expediency, a totally impractical thing to do. Nobody, however, had ever accused the Rev. Mr. Tesla of being practical, so doing the impractical thing was quite in harmony with his nature. He chose the subject which held his greatest interest; and when the archbishop arrived, he listened to a sermon on "Labor." Months later Senj was surprised by an unanticipated visit from the archbishop, who announced that the Rev. Mr. Tesla had preached the best sermon, and awarded him a red sash which he was privileged to wear on all occasions. Shortly afterward he was made pastor at Smiljan, where his parish then embraced forty homes. He was later placed in charge of the much larger parish in the nearby city of Gospic. His first three children, Milka, Dane and Angelina, were born at Senj. Nikola and his younger sister, Marica, were born at Smiljan. Tesla's early environment, then, was that of an agricultural community in a high plateau region near the eastern shore of the Adriatic Sea in the Velebit Mountains, a part of the Alps, a mountain chain stretching from Switzerland to Greece. He did not see his first steam locomotive until he was in his `teens, so his aptitude for mechanical matters did not grow out of his environment. Tesla's homeland is today called Yugoslavia, a country whose name means "Land of the Southern Slavs." It embraces several former separate countries, Serbia, Bosnia, Croatia, Montenegro, Dalmatia and also Slovenia. The Tesla and Mandich families originally came from the western part of Serbia near Montenegro. Smiljan, the village where Tesla was born, is in the province of Lika, and at the time of his birth this was a dependent province held by the AustroHungarian Empire as part of Croatia and Slovenia. Tesla's surname dates back more than two and a half centuries. Before that time the family name was Draganic (pronounced as if spelled Drag'-a-nitch). The name Tesla (pronounced as spelled, with equal emphasis on both syllables), in a purely literal sense, is a trade name like Smith, firight or Carpenter. As a common noun it describes a woodworking tool which, in English, is called an adz. This is an axe with a broad cutting blade at right angles to the handle, instead of parallel as in the more familiar form. It is used in cutting large tree trunks into squared timbers. In the Serbo-Croat language, the name of the tool is tesla. There is a tradition in the Draganic family that the members of one branch were given the nickname "Tesla" because of an inherited trait which caused practically all of them to have very large, broad and protruding front teeth which greatly resembled the triangular blade of the adz. The name Draganic and derivatives of it appear frequently in other branches of the Tesla family as a given name. When used as a given name it is frequently translated "Charlotte," but as a generic term it holds the meaning "dear" and as a surname is translated "Darling." The majority of Tesla's ancestors for whom age records are available lived well beyond the average span of life for their times, but no definite record has been found of the ancestor who, Tesla claimed, lived to be one hundred and forty years of age. (His father died at the age of fiftynine, and his mother at seventy-one.) Although many of Tesla's ancestors were dark eyed, his eyes were a gray-blue. He claimed his eyes were originally darker, but that as a result of the excessive use of his brain their color changed. His mother's eyes, however, were gray and so are those of some of his nephews. It is probable, therefore, that his gray eyes were inherited, rather than faded by excessive use of the brain. Tesla grew to be very tall and very slender--tallness was a family and a national trait. When he attained full growth he was exactly two meters, or six feet two and one-quarter inches tall. while his body was slender, it was built within normal proportions. His hands, however, and particularly his thumbs, seemed unusually long. Nikola's older brother Dane was a brilliant boy and his parents gloried in their good fortune in being blessed with such a fine son. There was, however, a difference of seven years in the two boys' ages, and since the elder brother died as the result of an accident at the age of twelve, when Nikola was but five years old, a fair comparison of the two seems hardly possible. The loss of their first-born son was a great blow to his mother and father; the grief and regrets of the family were manifest in idealizing his talents and predicting possibilities of greatness he might have realized, and this situation was a challenge to Nikola in his youth. The superman Tesla developed out of the superboy Nikola. Forced to rise above the normal level by an urge to carry on for his dearly beloved departed brother, and also on his own account to exceed the great accomplishment his brother might have attained had he lived, he unconsciously drew upon strange resources within. The existence of these resources might have remained unsuspected for a lifetime, as happens with the run of individuals, if Nikola had not felt the necessity for creating a larger sphere of life for himself. He was aware as a boy that he was not like other boys in his thoughts, in his amusements and in his hobbies. He could do the things that other lads his age usually do, and many things that they could not do. It was these latter things that interested him most, and he could find no companions who would share his enthusiasms for them. This situation caused him to isolate himself from contemporaries, and made him aware that he was destined for an unusual place if not great accomplishments in life. His boyish mind was continually exploring realms which his years had not reached, and his boyhood attainments frequently were worthy of men of mature age. He had, of course, the usual experience of unusual incidents that fall to the lot of a small boy. One of the earliest events which Tesla recalled was a fall into a tank of hot milk that was being scalded in the process used by the natives of that region as a hygienic measure, anticipating the modern process of pasteurizing. Shortly afterward he was accidentally locked in a remote mountain chapel which was visited only at widely separated intervals. He spent the night in the small building before his absence was discovered and his possible hiding place determined. Living close to Nature, with ample opportunity for observing the flight of birds, which has ever filled men with envy, he did what many another boy has done with the same results. An umbrella, plus imagination, offered to him a certain solution of the problem of free flight through the air. The roof of a barn was his launching platform. The umbrella was large, but its condition was much the worse for many years of service; it turned inside out before the flight was well started. No bones were broken, but he was badly shaken up and spent the next six weeks in bed. Probably, though, he had better reason for making this experiment than most of the others who have tried it. He revealed that practically all his life he experienced a  

Galeria Virtual Micornio

Galeria Virtual Micornio

Arte, obra grafica, documentos antiguos y piezas de coleccion seleccionadas desde Mexico.