I use Squeak Smalltalk - I dispute the claim that Squeak compiled code is slow.
I did have one problem with an inefficiency with Squeak dictionary (i.e., hash table) objects, but that is independent of the compiler. (VisualWorks Smalltalk, BTW, does not have this problem with dictionaries.) Anyway, since the source code to all of Squeak is available inside the Squeak programming environment, individual problems can be fixed.
Squeak is a great open source platform, with a license that lets you use it for just about any purpose. Check out www.squeak.org.
I thought that one of his best comments was how many individuals ranting about politics on the internet could be a bad thing:
He said that institutions like the government, corporations, etc. only tend to react to other institutions - I think that I agree with that.
As a new years resolution, I started doing my political rants on my blog, and I am cooling it a bit with my family and friends. I find that just expressing my discomfort with things like the oil war, etc. has a mellowing effect on me - but, as JPB implied, does it do any good?
I know that the best thing that can be done is to support organizations like EFF, etc. that can get the attention (hopefully!) of congress.
I used to drive myself nuts dual-booting a PC between Linux and Windows 2000, depending on what I was working on.
I have never been happier with my home office setup: an iBook on my desk (with the improved Mac X server:-) networked to a dual-processor Linux box in a closet (so I don't hear it).
I do a lot of AI work, and having the Linux box for long machine learning runs, etc. and for hosting experimental sematic web stuff is great - that leaves my iBook for most coding, running design tools, Microsoft Office, etc.
Apple's recent release of a customized X server really helps a lot (still some work needs to be done on it though). Linux KDE applications look great (fonts!) using the iBook display.
Anyway, I feel like I get both the fun and productivity of Linux with the great experience of OS X. Perfect!
I also just read through the RELAX NG tutorial and I am now looking at Bali (for generating Java RELAX NG validators).
Good stuff! I agree with the other poster that W3C should punt on XML Schemas.
That said, I think that for the forseeable future, that simply using DTDs works well because all the hooks are already in place for the popular XML parsers.
I suppose the next step would be to get Xerces and other XML parsers to natively support RELAX NG (I have to look to see if Clark has such a parser already:-)
- Mark Watson - Free web books: www.markwatson.com
James Davidson's and Lord Rees-Mogg book (published in 1997) made the point strongly that Western Welfare Democracies (e.g., U.S., U.K.) are indeed similar to the Roman empire during its long slow fall.
They talk about just how bad the Roman tax collectors are and suggest that people leave large welfare democracies, emigrating to small stable democracies that do not support welfare states.
It is free for non-commercial use. I signed up as a VAR with Cincom a few months ago, and I have been very impressed with VisualWorks.
On this topic: it is easy to build native-looking applications for Windows, Linux, Mac OS X, etc.
-Mark
The book was good: an original idea
on
Kiln People
·
· Score: 1
If you enjoyed Earth, you will probably also enjoy Kiln People as I did. It's a fair story wrapping interesting ideas in a realistic but fantastic setting. However, it can be a bit long and obtuse.
I really enjoyed the Kiln People, mainly because the plot was very original (as far as I know:-) -the whole ditto idea was very cool.
That said, I read Kiln People after reading Earth (David Brin was kind enough to give me an autographed copy when I visited his house), and reading Earth was an even better experience. I would recommend most of Brin's books (although I never finished either the book of movie of the Postman).
As much as I am able, I try to limit my use of scripting languages to just Python and PHP.
The reason is simple: I need to use several non-scripting languages (Java, Smalltalk, etc.) and remembering the language syntax and class libraries for more than 4 or 5 programming languages is a hassle.
BTW, scripting languages are not necessarily horribly inefficient anymore.
A little off topic, but I compared the resources used for a small web app on the following platforms:
Java servlets/JSPs - minimum memory footprint is about 75 megabytes
Smalltalk servlets - mimimum memory footprint is about 20 megabytes
Python Zope - minimum memory foortprint is about 11 megabytes
In all three cases, the server processes use negligible CPU time after startup (mostly waiting with select).
Anyway, for lots of applications, Python is fast enough - no need for high performance compilers like Common Lisp, C++, Smalltalk, etc.
This is an awful thought: The Time Warner stockholders might want to get some of their money back and sell the 30 million AOL subscribers to MSN.
I hope it does not happen! (I am thinking of Lessig's book Future of Ideas an I am hoping that the Internet stays a standards based open space (or commons) for innovation.)
An analogy: if I lease a car for 3 years (off course I would not be that stupid:-) and it is stolen, I would call the police and complain that my car was stolen. I paid for the exclusive rights to use the car and someone stole/took away those rights.
1. stop posting as an AC - it is better to know who one is speaking with!
2. I get very positive feedback from my free web books - try a google newsgroup search for comments on my web books. Better yet, try reading one.
Apache is given away for free; is it crap? I have my own motivations for spending about 10 hours per week working on my free web books - and most of that motivation is unselfish:-)
You make a lot of good points. We do live in a free market economy, and IT workers (like me - I am a consultant) do need to think about value given to customers, especially compared with off shore workers.
For a while after the dot com bust, I was not particularly happy to not have enough work to do.
I decided to bail on some ego stuff, and reduce my consulting rate to $20/hour. I could do this because my wife and I have no debt, the kids are grown, etc. Now, I am busy, not making as much money, but quite happy!
One thing that you and I disagree with: I think that many IT people in India are really hurting right now. I am sometimes hired to work with developers in India, Russia, Brazil, etc. I have heard, in a round-about way, that things are tough in India.
-Mark
Warning: I am blogging now: http://radio.weblogs.com/0115954/
Cool! PostgreSQL always runs on my iBook
on
PostgreSQL 7.3 Released
·
· Score: 2, Interesting
PostgreSQL is a great database. I always run it as a daemon on my iBook since the Smallttalk development environment that I run needs a relational database for source code control. -Mark
For most modern languages, you spend a week learning how to use a langauge and then (potentially) months learning the (class) libraries.
I just started using Smalltalk again for commercial product development - it is amazing how little new code one needs when reusing already debugged and efficient libraries.
-Mark
Warning: I am blogging now: http://radio.weblogs.com/0115954/
I think that the quality of software development tools has increased, although I still miss the Xerox hardware Lisp Machine that I used in the early and mid 1980s.
Here is my take on the best environments available today (in order of best first) - I only include stuff that I use:
Cincom VisualWorks Smalltalk - a really fast coding environment with support for SOAP/WSDL/UDDI/all possible database connectivity, built in web development tools, huge class library so often new applications are very little new code
Microsoft VisualStudio.Net - I almost hate to include this one, but I am trying to be honest here:-). Last year when I was writing a J2EE (Java Enterprise) book, I took a good look at the competition and liked C# and.Net.
Java with light weight web services - I am a HUGE fan of Java on the server side, done light. By light I mean that I like to just use servlets and JSPs, etc. and only use heavy weight J2EE stuff when I really need transaction support, etc. that EJBs provide
Common Lisp - lots of great commercial tools from Xanalys and Franz, and lots of great free tools like CLisp, CMULisp, OpenMCL, etc.
Python - Love it for small projects, munging text, etc.
C++ - only use it when I must - great runtime perfromance, but a pain to code in
It seems like so much work today requires deploying web services so I appreciate tools that make it easy to develop basic application logic separately from any user interface, get it working, then write web and/or standalone GUI interfaces.
-Mark
Warnng: I am blogging now: http://radio.weblogs.com/0115954/
But, it was just an Intersil Intercept Jr. single
board version of a PDP - same instruction set though.
It was fairly easy to program for - I wrote a simple cross-assembler on a Dec-10 that would print out my assembler source with machine code (in octal). For short programs, it was fairly quick to enter the programs in octal. Since the Intercept Jr. was all CMOS, the programs would stay in memory as long as I wanted without runnng down the batteries.
Several years ago, David Gelernter's colleague Eric Freeman (and a lawyer for his company) gave me permission to write a simple version of Lifestreams for a book example (the ill-fated Java Programming for Windows that was just being published when Microsoft went soft on Java).
I never did write that example, but I looked into Lifestreams enough to think that it is a very valid metaphor for accessing information.
Lifestreams orders information by date - imagine that you remember writing a memo just before Easter vacation this year. Then, you would scan documents created around that time period, and hopefully find it in a few seconds.
Obviously, in this example, you could just sort old email, word processing documents, etc. by date using Konquerer, Mac Finder, Windows Explorer, whatever, but Lifestreams understands many file formats and unifies this entire process.
This seems a little obvious, but I might as well say it: The Internet is all about relativley small
groups of people getting together who share common interests. I think that self publishing on the web, like maintaining personal web sites, is an obvious way to share information and make contacts with
people with similar interests.
People always seem to be at their best when in small groups. The internet has the positive affect of cutting out the middleman and in some cases, perhaps slows down globalization (sometimes a good thing, but usually not - globalization tends to hurt people in developing countries
who have the least).
It is a great feeling to publish a real physical book, but I have found that I have had to make at least two compromises with the traditional publishing process, mainly:
constrained to write about popular subjects
books that get out of date technologically are still sold (for many of my published books, I really liked them when they were fresh, but 4 or 5 years later, they seemed really dated, but were still being sold)
Anyway, when writing free web books, an author (like me!) can choose topics that are interesting but niche. I beg for small donations for my free web books, and I am pleasantly surprised at the amount of donations that I receive (currently, I get 3 or 4 cents per download, on
the average, in donations).
I am working on a third free web book (The Software Design Book), so I do believe in this process.
Sorry if this is a little off topic, but I have written two fairly widely used Go and Chess programs (the free chess program that Apple distributed on their demo cassette tape the first year or so they sold the Apple II, and my ancient commercial Go program Honnibo Warrior).
Anyway, the other posts concerning the search branching factor difference in the two games are right on.
Typically, there are a few hundred possible legal moves in any Go position. It is simple to write an alpha-beta search that does well in chess because of the relatively small branching factor (the free Java AI web book on my site has an example).
Really, Go is an ideal testbed for AI, but currently the best Go programs are good engineering projects, but not really good AI projects. I would consider a great Go project to include these features:
Have a library of all available historical games (lots! I have a book of ancient famous Go games - very cool!!!) and the ability to search for opening patterns, etc. - the ability for both self analysis and the analysis of other games)
ability to play off-line training games against all available Go programs
use genetic programming to evolve new operators for statically ranking moves based on pattern matching
tutoring mode where a human player could criticize the program's moves - these criticisms would become a permanent part of the data maintained by the program and be used for off line machine learning
I know that some people have reasonable complaints against PayPal, but for me, their service rocks.
It took only a few minutes to sign up and add their
canned HTML forms to my web site.
I write free
web books, and I use PayPal to accept donations and
it is also useful for accepting payment for consulting services and the few commercial products
that I sell.
I did a fair amount of research re: getting a merchant account, etc., but I think that PayPal works out a little cheaper for me; it is also zero hassle.
One possible thing to worry about: they do have the right to freeze your bank account if a customer ever wants a refund and you don't have funds to cover the refund in your PayPal account.
I have never been asked for a refund (after many, many transactions) but for safety I always just leave some money in my PayPal account - the interest that I loose in a year doing this is
negligible compared to the costs of a merchant account, etc.
I already posted, so I can not mod the parent post up myself.
Thanks,
Mark
I did have one problem with an inefficiency with Squeak dictionary (i.e., hash table) objects, but that is independent of the compiler. (VisualWorks Smalltalk, BTW, does not have this problem with dictionaries.) Anyway, since the source code to all of Squeak is available inside the Squeak programming environment, individual problems can be fixed.
Squeak is a great open source platform, with a license that lets you use it for just about any purpose. Check out www.squeak.org.
-Mark
Now that we have that out of the way: Java ME/MIDP is very cool because it makes it so very easy to write code for portable devices.
A month ago, I did a little work for a company using MIDP (and my last J2EE book had a MIDP example) - so I am biased.
I think that the point is that MIDP opens up the verticle market for custom applications with MIDP devices talking to web services.
Last month, I used XML over HTTP and Apache Jakarta Tomcat on the server side - really a great combination.
-Mark
He said that institutions like the government, corporations, etc. only tend to react to other institutions - I think that I agree with that.
As a new years resolution, I started doing my political rants on my blog, and I am cooling it a bit with my family and friends. I find that just expressing my discomfort with things like the oil war, etc. has a mellowing effect on me - but, as JPB implied, does it do any good?
I know that the best thing that can be done is to support organizations like EFF, etc. that can get the attention (hopefully!) of congress.
-Mark
I have never been happier with my home office setup: an iBook on my desk (with the improved Mac X server :-) networked to a dual-processor Linux box in a closet (so I don't hear it).
I do a lot of AI work, and having the Linux box for long machine learning runs, etc. and for hosting experimental sematic web stuff is great - that leaves my iBook for most coding, running design tools, Microsoft Office, etc.
Apple's recent release of a customized X server really helps a lot (still some work needs to be done on it though). Linux KDE applications look great (fonts!) using the iBook display.
Anyway, I feel like I get both the fun and productivity of Linux with the great experience of OS X. Perfect!
-Mark
But! A few weeks ago I wrote a simple (and very polite!) spider to look for RDF markup on web sites.
After letting it rip for a few hours, the only web site that it found with RDF markup was my site.
Very depressing!
Really, adding RDF is fairly simple, but people do not bother.
-Mark
Hello David,
:-)
I also just read through the RELAX NG tutorial and I am now looking at Bali (for generating Java RELAX NG validators).
Good stuff! I agree with the other poster that W3C should punt on XML Schemas.
That said, I think that for the forseeable future, that simply
using DTDs works well because all the hooks are already
in place for the popular XML parsers.
I suppose the next step would be to get Xerces and other
XML parsers to natively support RELAX NG (I have to look
to see if Clark has such a parser already
- Mark Watson
- Free web books: www.markwatson.com
They talk about just how bad the Roman tax collectors are and suggest that people leave large welfare democracies, emigrating to small stable democracies that do not support welfare states.
- Mark Watson
- Free Web Books at www.markwatson.com
I would check out VisualWorks from www.cincom.com
It is free for non-commercial use. I signed up as a VAR with Cincom a few months ago, and I have been very impressed with VisualWorks.
On this topic: it is easy to build native-looking applications
for Windows, Linux, Mac OS X, etc.
-Mark
- If you enjoyed Earth, you will probably also enjoy Kiln People as I did. It's a fair story wrapping interesting ideas in a realistic but fantastic setting. However, it can be a bit long and obtuse.
I really enjoyed the Kiln People, mainly because the plot was very original (as far as I knowThat said, I read Kiln People after reading Earth (David Brin was kind enough to give me an autographed copy when I visited his house), and reading Earth was an even better experience. I would recommend most of Brin's books (although I never finished either the book of movie of the Postman).
-Mark
The reason is simple: I need to use several non-scripting languages (Java, Smalltalk, etc.) and remembering the language syntax and class libraries for more than 4 or 5 programming languages is a hassle.
BTW, scripting languages are not necessarily horribly inefficient anymore.
A little off topic, but I compared the resources used for a small web app on the following platforms:
- Java servlets/JSPs - minimum memory footprint is about 75 megabytes
- Smalltalk servlets - mimimum memory footprint is about 20 megabytes
- Python Zope - minimum memory foortprint is about 11 megabytes
In all three cases, the server processes use negligible CPU time after startup (mostly waiting with select).Anyway, for lots of applications, Python is fast enough - no need for high performance compilers like Common Lisp, C++, Smalltalk, etc.
-Mark
I hope it does not happen! (I am thinking of Lessig's book Future of Ideas an I am hoping that the Internet stays a standards based open space (or commons) for innovation.)
-Mark Watson
An analogy: if I lease a car for 3 years (off course I would not be that stupid :-) and it is stolen, I would call the police and complain that my car was stolen. I paid for the exclusive rights to use the car and someone stole/took away those rights.
-Mark
.. after reading this extremely funny article.
Good job Katharine Mieszkowski and Farhad Manjoo!
-Mark
I suggest that you do two things:
:-)
1. stop posting as an AC - it is better to know who one is speaking with!
2. I get very positive feedback from my free web books - try a google newsgroup search for comments on my web books. Better yet, try reading one.
Apache is given away for free; is it crap? I have my own motivations for spending about 10 hours per week working on my free web books - and most of that motivation is unselfish
-Mark
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
Hello AC,
You make a lot of good points. We do live in a free market economy, and IT workers (like me - I am a consultant) do need to think about value given to customers, especially compared with off shore workers.
For a while after the dot com bust, I was not particularly happy to not have enough work to do.
I decided to bail on some ego stuff, and reduce my consulting rate to $20/hour. I could do this because my wife and I have no debt, the kids are grown, etc. Now, I am busy, not making as much money, but quite happy!
One thing that you and I disagree with: I think that many IT people in India are really hurting right now. I am sometimes hired to work with developers in India, Russia, Brazil, etc. I have heard, in a round-about way, that things are tough in India.
-Mark
Warning: I am blogging now: http://radio.weblogs.com/0115954/
PostgreSQL is a great database. I always run it as a daemon on my iBook since the Smallttalk development environment that I run needs a relational database for source code control.
-Mark
For most modern languages, you spend a week learning how to use a langauge and then (potentially) months learning the (class) libraries.
I just started using Smalltalk again for commercial product development - it is amazing how little new code one needs when reusing already debugged and efficient libraries.
-Mark
Warning: I am blogging now: http://radio.weblogs.com/0115954/
Here is my take on the best environments available today (in order of best first) - I only include stuff that I use:
- Cincom VisualWorks Smalltalk - a really fast coding environment with support for SOAP/WSDL/UDDI/all possible database connectivity, built in web development tools, huge class library so often new applications are very little new code
- Microsoft VisualStudio.Net - I almost hate to include this one, but I am trying to be honest here
:-). Last year when I was writing a J2EE (Java Enterprise) book, I took a good look at the competition and liked C# and .Net.
- Java with light weight web services - I am a HUGE fan of Java on the server side, done light. By light I mean that I like to just use servlets and JSPs, etc. and only use heavy weight J2EE stuff when I really need transaction support, etc. that EJBs provide
- Common Lisp - lots of great commercial tools from Xanalys and Franz, and lots of great free tools like CLisp, CMULisp, OpenMCL, etc.
- Python - Love it for small projects, munging text, etc.
- C++ - only use it when I must - great runtime perfromance, but a pain to code in
It seems like so much work today requires deploying web services so I appreciate tools that make it easy to develop basic application logic separately from any user interface, get it working, then write web and/or standalone GUI interfaces.-Mark
Warnng: I am blogging now: http://radio.weblogs.com/0115954/
It was fairly easy to program for - I wrote a simple cross-assembler on a Dec-10 that would print out my assembler source with machine code (in octal). For short programs, it was fairly quick to enter the programs in octal. Since the Intercept Jr. was all CMOS, the programs would stay in memory as long as I wanted without runnng down the batteries.
Really, it was very cool, and fun.
-Mark
I never did write that example, but I looked into Lifestreams enough to think that it is a very valid metaphor for accessing information.
Lifestreams orders information by date - imagine that you remember writing a memo just before Easter vacation this year. Then, you would scan documents created around that time period, and hopefully find it in a few seconds.
Obviously, in this example, you could just sort old email, word processing documents, etc. by date using Konquerer, Mac Finder, Windows Explorer, whatever, but Lifestreams understands many file formats and unifies this entire process.
-Mark
People always seem to be at their best when in small groups. The internet has the positive affect of cutting out the middleman and in some cases, perhaps slows down globalization (sometimes a good thing, but usually not - globalization tends to hurt people in developing countries who have the least).
It is a great feeling to publish a real physical book, but I have found that I have had to make at least two compromises with the traditional publishing process, mainly:
- constrained to write about popular subjects
- books that get out of date technologically are still sold (for many of my published books, I really liked them when they were fresh, but 4 or 5 years later, they seemed really dated, but were still being sold)
Anyway, when writing free web books, an author (like me!) can choose topics that are interesting but niche. I beg for small donations for my free web books, and I am pleasantly surprised at the amount of donations that I receive (currently, I get 3 or 4 cents per download, on the average, in donations).I am working on a third free web book (The Software Design Book), so I do believe in this process.
-Mark
Anyway, the other posts concerning the search branching factor difference in the two games are right on.
Typically, there are a few hundred possible legal moves in any Go position. It is simple to write an alpha-beta search that does well in chess because of the relatively small branching factor (the free Java AI web book on my site has an example).
Really, Go is an ideal testbed for AI, but currently the best Go programs are good engineering projects, but not really good AI projects. I would consider a great Go project to include these features:
-Mark
It took only a few minutes to sign up and add their canned HTML forms to my web site.
I write free web books, and I use PayPal to accept donations and it is also useful for accepting payment for consulting services and the few commercial products that I sell.
I did a fair amount of research re: getting a merchant account, etc., but I think that PayPal works out a little cheaper for me; it is also zero hassle.
One possible thing to worry about: they do have the right to freeze your bank account if a customer ever wants a refund and you don't have funds to cover the refund in your PayPal account. I have never been asked for a refund (after many, many transactions) but for safety I always just leave some money in my PayPal account - the interest that I loose in a year doing this is negligible compared to the costs of a merchant account, etc.
-Mark