Domain: markwatson.com
Stories and comments across the archive that link to markwatson.com.
Comments · 17
-
I prefer Bruce Peren's approach
As much as I appreciate Eric's contributions to open source (his early writings helped get me interested in writing open source), and our shared interest in shooting guns -grin-, I prefer Bruce Peren's approach (as I wrote about recently http://markwatson.com/blog/2009/02/bruce-pernes-on-gnu-affero-general.html).
I think that a combination of AGPL, a less restrictive license like MIT or Apache 2, and perhaps something like the LGPL cover most needs, and the fewer licenses the better. The point of the article is that GPL is not good for business, raising VC for startups, etc. Perhaps true, but I still believe in the more restrictive (for developers) forced sharing of the AGPL is better for a world where software infrastructure is just about free because a very large number of people and companies supply resources for coding, bug tracking, and documentation.
I would rather do work for customers that involves adding functionality to an already great open source project, and I would prefer that improvements be folded back into infrastructure that everyone can share.
BTW, I disagree with Stallman's and the FSF's take on cloud computing as long as:
1. you have access to the software that you are running
2. you can easily copy your own data
3. you can easily migrate to your own servers or other hostsI think that both EC2 and App Engine meet these requirements.
-
diet and exercise, go light on alcohol
I am in my mid-fifties, so I am in the same situation. The big difference that I notice in my work is the start-up time when switching programming languages and development tools: whenever I switch between Ruby, Common Lisp, and Java it takes about 5 minutes to click in to whatever new set of tools that I am using. After a half day I get even more tuned in.
So, I used to switch around using development tools and now I try to work in much longer time blocks before switching development contexts.
I think that exercise a few times a day really helps. I find that even 15 minute walks help concentration and getting into nature really helps (I live a block from a national forest land trailhead, and this picture was taken about 8 miles from where I live: http://www.markwatson.com/pictures/Mark5.jpg -- try not to get jealous).
For Omega-3, organic cold-pressed flax oil is both tasty and offers a lot of the benefits of fish oil. Lots of organic fruits and vegetables helps, at least in a good "placebo" way
:-)Lastly, as long as I am tossing out opinions not backed by any real evidence, I would say that a happy attitude helps concentration and work. As Joseph Campbell said "follow your bliss" and do what makes you happy. I have always had a knack for really enjoying whatever I am working on, and that seems to help.
-Mark
-
why not just use ssh, then the screen utility?
Screen is a great utility. I wrote about it here: http://markwatson.com/blog/2007/04/cant-believe-i-missed-this-unix-utility.html and will not repeat myself.
-
I use lynx to check my sites
I have written about this twice in the last couple of years (http://markwatson.com/blog/2007/10/it-is-important-to-check-web-sites-and.html and http://markwatson.com/blog/2007/03/being-good-web-citizen.html).
Using lynx (a text only browser) is useful to check text-only navigation. Lynx also makes me nostalgic for the web as it was back in 1991. -
Re:And of course.. theyre also willing to accept..
I wish that I had mod points to give you - very well said!
I wrote about this last week: http://markwatson.com/blog/2007/12/consulting-and-working-at-home-when.html
The really important thing is to understand yourself and your own priorities. Except for travel, my wife and I have always chosen a less ritzy life style in return for a lot more free time. In the last 25 years, I have probably averaged about 30 hours per week (not counting my writing 14 books, which I enjoy a lot and do not really count as taking up free time). -
I wrote the first commercial Go program
I wrote Honinbo Warrior in UCSD Pascal and sold it for the Apple II. Sadly, I don't have the code anymore except for a printed listing. Anyway, it played a poor game, slowly.
I wrote a white paper a few years ago on how I would do 'real AI' and Go (PDF file: http://www.markwatson.com/opencontent/AI_Go_Consciousness.pdf). Really not much content, rather, I was just laying how I would go about it if someone funded me to work on AI Go for the rest of my life :-) -
I do this in several programming languages
There are 2 problems: getting plain text out of documents, then indexing the plain text
A good tool for getting plain text out of various versions of Word documents is the "antiword" command line utility.
The Apache POI project (Java) can read and write several Microsoft Office formats.
For indexing: I like Lucene (Java), Ferret (Ruby+C), and Montezuma (Common Lisp).
I have mostly been using Ruby the last few years for text processing. Here is a short article I wrote using the Java Lucene library using JRuby:
http://markwatson.com/blog/2007/06/using-lucene-with-jruby.html
Here is another short snippet for reading OpenOffice.org documents in Ruby:
http://markwatson.com/blog/2007/05/why-odf-is-better-than-microsofts.html
---
You might just want to use the entire Nutch stack:
http://lucene.apache.org/nutch/
stack that collects documents, spiders the web, has plugins for many document types, etc. Good stuff! -
I do this in several programming languages
There are 2 problems: getting plain text out of documents, then indexing the plain text
A good tool for getting plain text out of various versions of Word documents is the "antiword" command line utility.
The Apache POI project (Java) can read and write several Microsoft Office formats.
For indexing: I like Lucene (Java), Ferret (Ruby+C), and Montezuma (Common Lisp).
I have mostly been using Ruby the last few years for text processing. Here is a short article I wrote using the Java Lucene library using JRuby:
http://markwatson.com/blog/2007/06/using-lucene-with-jruby.html
Here is another short snippet for reading OpenOffice.org documents in Ruby:
http://markwatson.com/blog/2007/05/why-odf-is-better-than-microsofts.html
---
You might just want to use the entire Nutch stack:
http://lucene.apache.org/nutch/
stack that collects documents, spiders the web, has plugins for many document types, etc. Good stuff! -
Not a terrible outcome
OK, so they allow the use of either ODF or Open XML - at least simple programs can extract text and style data form both formats. I blogged recently about how I prefer ODF, and included a little Ruby program to process ODF files:
http://markwatson.com/blog/2007/05/why-odf-is-bett er-than-microsofts.html
and one of my readers pointed out that by changing a line or two of my code, that Open XML could be processed in the same way - I stand corrected.
Still, I am a member of the ODF Foundation, and don't like Microsoft's heavy handed actions. I sold all of my Microsoft stock a few years ago specifically because I did not like their proprietary file format lockins. I use both Open Source and proprietary software - I have no problem with people (including myself) buying Microsoft products except for their use of proprietary formats: hurts users and could cause expensive data loss now and in the future.
If Microsoft perfectly supported ODF in their release of Mac Office next year, I would buy a copy - but slap on plugins don't count here: I would require perfect native support. -
Re:Any OS X builds?
I wrote a blog entry yesterday: http://markwatson.com/blog/
with my Mac build options and my must-have .emacs code to toggle off the too large graphics icons tool bar:
(global-set-key "\C-xt" 'tool-bar-mode)
Aquamacs really is a better Mac application but I have had occasional crashes with Franz Lisp and ELI with recent builds the last few months so I will stick with the Mac app build that I did yesterday for a while.
Just an idea: also try the text mode emacs (Apple supplied or a new build), running in a Mac OS X Terminal app running under 'screen': type screen, hit a return to get past the slash screen, run Emacs, etc.: control-a c to create new screens, control-a n to skip forward to next screen, control-a p for previous screen, and for emacs user the all-important control-a a to send a control-a to emacs.
screen + console emacs is a bit old-school, but I really like the combination. -
I think the SW will be developed bottom up
I recently read a critique of "weak" SW (the "lower case semantic web") techniques like microformats, etc. The idea was that we need a high level metadata standard.
Contrary to this opinion:
I recently wrote in my my AI blog about my expectations that the SW will develop from the bottom up. I also wrote about this 3 years ago (PDF "Jumpstarting the Semantic Web", skip to page 3).
So, I partially agree with Stephen Downes that cooperation is unlikely, but the SW in some form will happen. -
More suggestions
Good suggestion! I would supplement it with the following as well:
1. Episodic Learner Model/An online Lisp tutorial
2. Common Lisp: A Gentle Introduction to Symbolic Computation
3. How to Design Programs
4. Practical Common Lisp
5a. The book - Structure and Interpretation of Computer Programs
5b. The movies - Structure and Interpretation of Computer Programs
6. Loving Lisp - the Savvy Programmer's Secret Weapon
7. Common Lisp the Language, 2nd Edition
8. On Lisp
9. common lisp: a web application tutorial for beginners
10. JavaScript: The World's Most Misunderstood Programming Language
11. Free JavaScript Learning Center
12. JavaScript for Scared People
13. JavaScript Closures
14. Why's (Poignant) Guide to Ruby
= 9J = -
Many Options . . .The book "Programming in Scheme" by Mark Watson would be a decent modern equivalent -- it doesn't focus on games, but the example programs are not the usual boring stuff: http://www.markwatson.com/books/.
A lot of the adolescent code-diddling scene has moved to php and cgi scripts. -
Re:dynamic languages on the riseI was suprised about the output slowness myself. I didn't really bother to compare with other languages, but one reason why it might be slow in comparison is that *standard-output*, likely being a "gray stream", is not the pure OS stdout stream, but an object with potentially several layers of generic functions and methods between PRINT and your strings eventually showing up on the terminal. You are likely to be able to get direct access to stdout in some implementation-dependent way, if this is really the problem (which should be confirmed by some more profiling), but I don't know GCL enough to say how to do it there.
As for online resources, a good place to start is probably the cliki, a CL-related WikiWeb with emphasis on free software.
There are some free online books, like Successful Lisp, Loving Lisp - the Savy Programmers Secret Weapon, or Paul Grahams On Lisp (which isn't really a beginners book, but very enlightening once you are familiar with the basics). The Common Lisp Cookbook is not as big as it should be, but does contain useful information, and is growing.
An absolutely invaluable reference is the HyperSpec, a heavily hyperlinked online version of the standard. You definitely need that.
You might also want to check out the comp.lang.lisp newsgroup, or the #lisp channel at freenode. Depending on your specific interests, the LispWeb or Clump mailing lists may be interesting, the first deals with web programming using Lisp (surprise!), the second with general application developers issues.
Last but not least, there has been a movement of Lispniks gathering to drink beer and talk about all things Lisp (and everything else) in the last months. Check out this site, maybe there's a user group in your area. The people I've met so far are generally a nice and interesting bunch, and won't bite you even if you don't know the argument lisp of update-instance-for-redefined-class from the top of your head.
Happy hacking!
-
I use a Creative Commons licenseI was contacted about a month ago by Creative Commons.
I started using their license ideas on my web site a few weeks ago.
Pardon a small plug, but you can get my free web books (under a CC license) here.
-Mark
-
Re:Book Suggestions
I found these free (donation suggested) web books to be a good primer on the subject.
-
I did some AI work for games and VRGood topic!
I have been working (mostly) in AI since the 1980s, but by far, the most fun I have had was working on AI at Angel Studios for Nintendo and Disney-Quest.
Not much "AI" though really. I started out with complicated multi-agent stuff - and that did not have a happy ending. For realtime games and VR, simple stuff worked (e.g., in a VR environment, have animals snap their head around and stare briefly at you when you come into their environment).
A few years ago, I wrote up a short paper on games and AI that is avaliable at www.markwatson.com under "Short Papers".
A little off topic: every programmer should work in the game industry, at least for a while
:-)Angel Studio was definitely the most fun job I every had!
-Mark