Domain: scriptics.com
Stories and comments across the archive that link to scriptics.com.
Comments · 40
-
Java:JVM != .NET:C#
-
My List for Everyday Use
These are some of the free (speech or beer) software I'd install on a family, non-gaming machine:
- Web Browser: Mozilla or Mozilla Firebird
- E-mail: Mozilla (cross-platform), Mozilla Thunderbird (cross-platform), Evolution (Gnome), or KMail (KDE)
- Office Suite: OpenOffice.org
- Media Player: QuickTime (Windows), Zinf (cross-platform), RealPlayer (cross-platform), WinAmp (Windows), MPlayer (Windows), XMMS (Linux)
- Image Viewer: IrfanView (Windows)
- Instant Messaging: Gaim (cross-platform)
- Personal Information Management: Palm Desktop Software (great PIM suite even if you don't own a Palm)
- Other: Acrobat Reader (although I'm weary of their DRM), Java 2 Runtime Environment, Macromedia Flash and Shockwave players, Ad-Aware (spyware remover for Windows), ZoneAlarm, Sygate Personal Firewall (firewall, alternative to ZoneAlarm), Grisoft AVG Anti-Virus, FileZilla, WinRAR (not free, shareware with nag window), Ofoto desktop software (basic photo album and touch-ups, even if you don't use Ofoto's online services)
Some other software I'd install on my own desktop (dev), in decreasing order of importance:
- Cygwin, bascially all packages
- UltraEdit32 (45-day trial shareware)
- TightVNC
- Ghostscript and GSView
- Java 2 SDK
- Eclipse
- Borland JBuilder Personal
- ActiveState Perl, Python, Tcl/Tk (yes, even though they are in Cygwin), Jython
- GIMP
- POV-Ray
- At least one of Apache, Tomcat, or Plone (Zope)
- HTTrack (a website copier)
-
This was my final year project thesis
This was my final year project thesis. Just remember the golden rule unstructured 2 structured == convert 2 XML I wrote a [very bad] program in C++/Perl/tcsh IPC=pipes to add XML tags to English, and then index them into a search engine which would use the lingual data stored in the XML tags to help the search.
NIST does a MASSIVE competition on this annually. I don't want to be an XML-buzzword whore <Arnold Schwarzenegger accent> (XML commando eats Green berets, C++, Java, Perl, COBOL for breakfast)</Arnold Schwarzenegger accent> but you can't beat XML for easily converting anything that you can make sense out of into computer readable format. Real h3cKoRs use SGML, but us underlings have to stick with things we can understand like XML. As for expandability, if we want to encode something else into the document, then just tag-it-and-go
It took me 200 hours to fish out all these links (before the Google days), I don't want anyone to have to waste as much time as I did feeding the search engines exotic foods. It's a year old so pardon me for the odd broken link, armed with these you could probably turn jello into XML ;-)
My favourite bookmarx
PROJect[21 links]
Beginners' Guide[13 links]
Berkeley Linguistics Dept. Course Summaries, general stuffzzzzzzzzzzzzzzCryptic IR Vocabulary defined
Explanations of weird words like hypernym zzzzzzzzzzzzzzHow do we produce and understand speech
How Inverted Files are Created - Univeristy of Berkeley zzzzzzzzzzzzzzNLP Univ. of Indiana, very good basics e.g. word sense d
Simple langauge - useful.... zzzzzzzzzzzzzzWhat is Natural Language Processing, links
What is POS tagging........ zzzzzzzzzzzzzzWord Sense Disambiguation defined
Word Sense Disambiguation in detail, scroll down far zzzzzzzzzzzzzzWord Sense Disambiguator - LOLITA (tested at MUC-7 and SENSEVAL competition as best)
XML for the absolute beginner
HTML, XML stuff + parsers[19 links]
Apache plug-in that uhhh does stuff with XML zzzzzzzzzzzzzzConvert COM to XML
convert XML, HTML to Unix pipeable formats zzzzzzzzzzzzzzconverters to and from HTML
expat XML parser zzzzzzzzzzzzzzHTML Tidy - converts HTML 2 XML + source code!!
Parse DB (RDBMS, whatever) to XML zzzzzzzzzzzzzzPerl-XML Module List
PHP Manual XML parser functions - what the hell are they talking about, PHP Virtual M... zzzzzzzzzzzzzzPublic SGML-XML Software
Pyxie - XML Processor for Python, Perl, etc. zzzzzzzzzzzzzzSGML+XML tools.org
The XML Resource Centre - massive number of links zzzzzzzzzzzzzzW4F wrapper - wrapper converts XML to HTML
XFlat - convert flat file into XML zzzzzzzzzzzzzzXML Parsers and other XML stuff
XML.com - Parsers, etc. zzzzzzzzzzzzzzXML-Data Catalog System - uhhhh looks close
XTAL's general converter - convert anything 2 XML
other Background[8 links]
Is Linux ready for the Enterprise, scalable... zzzzzzzzzzzzzzLinux reliability
Linux Versus Windows NT, Mark(sysinternals bloke) zzzzzzzzzzzzzzPC reliability (pcworld)
SPEC - Standard Performance Evaluation Corp. zzzzzzzzzzzzzzSystems benchmarks
TPC - Transaction Processing Performance Council zzzzzzzzzzzzzzUnix Beats Back NT In EDA Workstation Arena
Proper TREC(-8) QA systems[2 links]
pg. 387 LIMSI-CNRS pretty deep parsing[2 links]
More links....
NLP, IR links - lots to corpii, etc.
pg. 575 U. of Ottawa and NRL (shit system, got 0%)[1 links]
LAKE Lab
pg. 607! University of Sheffield (crap system, but OPEN SOURCE!)[2 links]
GATE - FREE IE app w`source code
LaSIE - ER, coreference, template (cv)
pg. 617 Univ of Surrey (inconclusive matches)[2 links]
System Quirk - Or is this their search system..... Hmmmmmm
Univ of Surrey - pointers (hopefully this is their WILDER search system...)
SMU - Pg. 65[1 links]
Natural Language Processing Laboratory at SMU
Textract[2 links]
Cymfony - Technology
Textract - State of the Art Information Extraction
Xerox uhhhhh maybe[1 links]
Xerox Palo Alto Research Center
(OVERVIEW) 1999 TREC-8 Q&A Track Home Page
NLP bloke, Univ Sussex
Tcl-Tk[4 links] Tcl tutorial
Tcl-Tk Contributed Programs Index
Tcl-Tk Resources, sources
TclXML - manipulating XML using Tcl-Tk
Artificial Natural Language - Is this what I'm trying to parse into...
Comparison of Indexers - Prise vs. Inquery vs. MG, etc.
Eagles - Language Engineering Standards
Language Technology Group - lots of modules!
LDC - Linguistic Data Consortium, lots of corpora
Lexical Resources
Links 2 resources, indexers.....
Lots of IR stuff, University of uhhh
Managing Gigabytes Indexer
Managing Gigabytes Manuals and stuff
Htdig search system
NLP & IR (NLPIR, NIST) Group
OVERVIEW OF MUC-7-MET-2
Perl XML Indexing - XML search engine type thing
Phrasys Language Processing Software Components (money)
QA HCI bullshit
SIGIR - TREC-type thing, resources
SMART indexer system documentation
Text REtrieval Conference (TREC) Home Page
The Natural Language Software Registry
Thunderstone IE and IR products
WordNet - FREE DOWNLOADABLE lexical English database
Page created with URL+, nice utility for working with internet shortcuts -
Re:Need to Get Priorities Straight
There is a principle, buried deep at the core of the Internet standards process, that reads:
"Be liberal in what you accept, and conservative in what you send"
This, too, is one of the basic qualities of free software. By following this simple principle, robustness and interopability are maximized. This is one of the things that make free software so wonderful. It tends to be made modular, and people just add plugins for whatever new functionality they need.
Java? sure.
Tcl? sure.
Shockwave? sure.
Flash? sure.
ActiveX? sure.
Any other language? write a simple little plugin yourself
:-PGNU/Linux can be both an alternative, as well as a superior implementation.
-- Agthorr
-
Re:Shouldn't have GPLed itEh?
Let me quote from the Tcl license, as taken from here.
Modifications to this software may be copyrighted by their authors and need not follow the licensing terms described here, provided that the new terms are clearly indicated on the first page of each file where they apply.
That sounds like the GPL to you? Maybe you need some new reading glasses.
-
Re:Sun and GNOMEYes, replying to myself....
Here is a page which docuements TCL moving into, and out of, Sun's sphere.
-
Re:�QT != QuickTime
>>Back on topic: will qt free edition (or xfree86)
>>ever be ported to windows 9x?
>Probably not in this lifetime.YM "not by Trolltech." Qt Free is GPL and can be ported. XFree has already been ported to NT, and there's a good shareware X server from Microimages called MI/X. I don't think it would be that hard to get Qt Free running under Win32, or does Qt have some technical issues I'm not aware of that one of its biggest competitors that has been ported to Win32 doesn't?
"write one, run anywhere" widget set
Java Swing, Tcl/Tk, GTK+, Allegro... The field is already crowded.
All your hallucinogen are belong to us. -
Tcl given serious short shrift
This article has some glaring errors with respect to Tcl. Tcl has offered binary file I/O since release 8.0 (released in March '99; current release is 8.3). It also offers Unicode support, something not widely offered elsewhere, and a syntax that does not look like line noise.
Finally, Tcl is one of the few languages (on any platform) with a completely open source IDE, including a debugger: TclPro! See SourceForge or Scriptics.
-
Why this reflects good news
Speech recognition isn't perfect. It's not technology you can use casually, but it is usable with practice and training (for the software and the user). John Ousterhout, the creator of Tcl/Tk, has been using it for years after he developed problems with his wrist.
Until a year ago, there were four leading speech recognition firms out there: Lernout & Hauspie, Dragon Systems, IBM, and Philips (barely). Dragon was near bankrupcy, and L&H bought them last year. Now L&H is being rocked by financial scandals (see this list of articles on them in CNET), and may go under as well.
IBM, on the other hand, has supported their ViaVoice SDK for Linux for a long time. They also sell their ViaVoice dication software for Linux.
Without IBM, speech recognition might die. I'm glad to see they're pushing it futher, especially on Linux.
P.S.: "Voice recogintion" identifies people; "speech recognition" turns what they say into text.
P.P.S. It's possible to bind sneezes, sniffles, coughs, etc., into "null text." -
Why this reflects good news
Speech recognition isn't perfect. It's not technology you can use casually, but it is usable with practice and training (for the software and the user). John Ousterhout, the creator of Tcl/Tk, has been using it for years after he developed problems with his wrist.
Until a year ago, there were four leading speech recognition firms out there: Lernout & Hauspie, Dragon Systems, IBM, and Philips (barely). Dragon was near bankrupcy, and L&H bought them last year. Now L&H is being rocked by financial scandals (see this list of articles on them in CNET), and may go under as well.
IBM, on the other hand, has supported their ViaVoice SDK for Linux for a long time. They also sell their ViaVoice dication software for Linux.
Without IBM, speech recognition might die. I'm glad to see they're pushing it futher, especially on Linux.
P.S.: "Voice recogintion" identifies people; "speech recognition" turns what they say into text.
P.P.S. It's possible to bind sneezes, sniffles, coughs, etc., into "null text." -
Re:Don?t be a blinded visionary
So I guess you don't work at NationsBank.
-
Tcl/TkThe Tcl/Tk code is a great example of code that's designed to be looked at, since extensibility is a basic design goal of the project. The latest code snapshot is currently here
There's also a very well-written style guide that explains the logic behind the style.
-
Tcl/TkThe Tcl/Tk code is a great example of code that's designed to be looked at, since extensibility is a basic design goal of the project. The latest code snapshot is currently here
There's also a very well-written style guide that explains the logic behind the style.
-
TCL or AOLServerA couple of peices of code that I find pretty are TCL and AOLServer. I know there probably aren't many fans of these 2 products on slashdot of all places, but there both open source and beautiful to my eyes. Some of the highlights are
- Both follow meticulous published engineering standards documents found Here and Here.
- Both create an easy to use API for extending themselves in C.
- Both are great examples of how to keep your code flexable, many portions of this code would be useable in other projects.
- Navigation proves easy for both of them. it never takes me more than a few seconds to find the file and function I want to look at.
- Everything is well documented.
That being said, I'd also like to point out theres more to an open source project than just the code. A beautiful project includes docs (not just inline with the code), communications channels (mailing lists, newsgroups, etc.), useful examples, FAQs, etc. It takes alot of work to get these things to a useable state by the community. -
What chance has this got - remember Tclets?I don't want to sound cynical, but anybody remember Tclets? If you don't, head over to the Tcl Plugin at the now defunct scriptics. For all practical purposes this is a Java wannabe on the browser.
What many folks may not realise is that Inferno was in fact written in answer to Java. Development started more than 6 years back when the first Netscape browsers were released with Java support. Java uses a stack based VM, Inferno used a register based VM.
I remember me and my friends being pretty excited about Inferno (we were doing our post graduation). We thought Java really sucked. At that time everything was touted up as a Java alternative, including Perl (someone wrote a sandbox for Perl and was quite vociferous about it).
Now six years later, I use the web with Java completely disabled and I really don't want a client side execution environment on my browser. Maybe javascript has it's uses (which was originally Livescript and Netscape changed it's name to hook on to the Java hype), but all these "execution environments" are simply browser bloat that I can live without.
That is not to say Inferno is useless. I still think it's great stuff, just that I see no point in having it as a browser plugin.
-
why!Maybe they are just up to their old trick of trying to do everything their own way - we do C++ better than C++...
In the case of
.NET, what MS is really saying is "we do the Java VM better than the Java VM." The core of .NET is a virtual machine which is supposed to provide all the benefits of the JVM with less focus on a single language - and therefore not subject to that one language's limitations.If you consider the fact that the JVM has been used as a target for an enormous number of other languages, the
.NET approach actually makes a lot of technical sense. Interoperability between languages - for example, between a server-side web scripting language and a more heavy-duty back end language - becomes trivial when both languages execute in the same virtual machine. People are already doing this sort of thing to some extent, using things like Rhino (Javascript on the JVM) or Jacl (Tcl in Java) as a scripting environment to invoke heavier-duty Java objects.This approach isn't completely mainstream at the moment, but it has a lot of benefits. Microsoft has paid attention to these possibilities and is betting their development strategy on it, in the same way as they bet on COM/ActiveX previously.
I suspect this will be very successful amongst loyal MS developers. True, you'd have to be drinking serious amounts of Kool-Aid to be willing to devote development resources to developing in a brand-new language like C#, which because of its origins has little likelihood of gaining the kind of multi-independent-vendor popularity that Java has. But if you already use one of the other languages that support
.NET, there's little risk in taking advantage of it if you develop only for MS platforms.I look forward to seeing open source projects compete in this arena. The JVM opened the door to this, but Sun's proprietary attitude to Java has caused many problems. Either the JVM must be freed from its proprietary roots, or an open source alternative must arise. Either way, open source just makes an incredible amount of sense for such a strategic base platform - as with Linux, it becomes much easier for vendors of any stripe to commit to it.
-
Re:Develop programs for Windows> what is preventing people from developing a free GUI toolkit for the Windows?
Nothing is. You might try GTK+ for Windows, available from the Win32 GIMP site. Or if you prefer scripting languages, try Tcl/Tk on Windows.
-
So, noone thought of TCL?
It's not just for GUI, you know
:)For a web-server you can have either:
- mod_dtcl in your Apache
- install NeoWebScript, which is an Apache with TCL and tons of TCL extensions
- use AOLServer -- don't let the name scare you, it is a highly-optimized multi-threaded web server. Its main features include database connection-pooling and a powerful Tcl API for application development
- install tclhttpd -- a web-server written entirely in TCL (with SSL support available), which works quite well for me
Your database may be MySQL or PostgreSQL (my preference).
PostgreSQL can be built with TCL support (a client library loadable into a TCL interpreter) and a server-side extension allowing you to write server-side procedures in TCL (not anemic at all, IMHO). Postgres can be built to support SSL connections and comes with pgaccess -- a fairly powerfull database browsing and management GUI-tool (written in TCL/TK).
For MySQL there are also at least two TCL-extensions that provide for TCL access to its client API:
For distributed objects, etc. you could use TCL-DP. Don't let the word beta scare you -- it does wonders. The remote ends can even talk over e-mail!
And there is nothing to beat TCL/TK for a cross-platform front-end application! That's a given...
-mi
P.S. It sucks that paragraph-tags can not have attributes in
/. comments. IMHO <p align="justify"> is perfectly valid and quite desirable for a paragraph with over 120 characters... -
What are your priorities?
I was asked that question in a Senior-level CS class a few years ago, regarding the best language to teach in introductory programming classes.I've concluded that you first must decide what skills you want them to develop. Based on that, then, here are my recommendations:
- General programming skills, esp. for OO programming: Java (and Just Say No to C++!)
- Performance-oriented skills and awareness of memory management issues: C (start with a modern language and they'll dump core the first time they see a malloc())
- General programming skills with a gentle learning curve: Tcl/Tk (the entire grammar can be parsed with about a page of code - trivial GUI app is 3 lines of code - learn the syntax in about 20 minutes - just as portable as Java)
-
Re:Client-side Perl?What, isn't Safe Perl done yet? There was a lot of (obviously pretty localized) noise about how much better Perl would be than Java or even (or especially?) JavaScript as the extension language for web clients. Ah, it doesn't look like Safe Perl got past the proposal stage back in 1995. Then again, "man Safe" gets me documentation for it. Time for a visit to CPAN!
Safe TCL was actually discussed as a possible extension language for e-mail, with prototypes done in Metamail.
A lot of people have talked about Java's "sandbox" security as being pretty feeble. A language designed from the start to be "Safe" may be able to provide more powerful constructs with fewer vulnerabilities.
-
is 'use utf8' global?
-
cross platform toolkitsI looked into this recently, and here are a bunch of suggestions/evaluations:
- Java 1.2. Technically, I think this is by far the best choice: easy to program, robust, extensive built-in APIs, etc. But you need to somehow get a Java 1.2 runtime onto your clients machines, and it still isn't efficient enough for number crunching (if that's part of your application).
- FLTK Small, cross-platform (Linux, Windows,
...), straightforward C++ GUI toolkit. You can link your applications statically and they are still small enough to distribute. It includes a GUI builder. Good OpenGL support. Has its on look-and-feel. Versions 1.x still lack drag-and-drop and dynamic widget layout support. - wxWindows Very complete C++ GUI toolkit, cross platform between Linux, Windows, MacOS. Lots of widgets. Drag-and-drop support and dynamic layout. Uses platform look-and-feel. Very MFC-like, including the use of event tables for event routing. Steeper learning curve. GUI builder doesn't seem to be quite ready yet.
- Qt Commercial toolkit. Pretty good quality. But you need an expensive, per-developer license unless you do open source. I don't think it's worth the money or hassle compared to wxWindows.
- Willows Supoprts genuine Windows programming on Linux, in an open source environment. (I haven't looked much into how complete it is because I don't actually like genuine Windows programming
:-) - GTK There is a Windows port as well as C++ bindings. I don't think the Windows port is far enough along yet for deployment, though.
- Tcl/Tk The Tk toolkit comes with a scripting language you may not want, and, out of the box, it has a fairly limited widget set by modern standards. No drag-and-drop support. Multiple GUI builders. Great canvas class. Exceptionally easy to get started with, great for prototyping.
- Fox Toolkit In may ways like FLTK. Has drag-and-drop support, but cross platform is still a promise.
Altogether, if you can deploy Java 1.2 and it's efficient enough for your needs (for most applications, it is), I'd go with that. If you need something in C++, I'd stick with wxWindows, FLTK, or Tcl/Tk, depending on your specific needs and preferences. I think you may also want to reconsider whether you really want an IDE and GUI builder; I find writing GUIs by hand in toolkits that are set up for it is ultimately faster and easier.
-
Re: AOLserver, TCL & Oracle sites (non-ACS)Here's two more:
dev.scriptics.com, a portal for Tcl developers at Scriptics, the Tcl company--uses the Ars Digita toolkit.
http://www.college411.com a commercial portal for college students. They are not an Ars Digita client but they are using the toolkit.
__
DC -
Re:photo.net & ArsDigitaThe real deal with Ars Digita and the ACS toolkit:
Re: few outsiders working with ACS While there aren't as many people as I would like using it on the outside just yet, there are people who are not working for Ars Digita who are working on the system. You can find these people pretty easily, as they show up at http://www.photo.net/bboard/q- and-a.tcl?topic=web/db, where people discuss using ACS, AOLServer, etc. I think that one of the primary reasons that the system has not been embraced by the open source community is simply that Oracle, while free for development use, is very expensive once you want to go live. However, because of this, a bunch of people decided to port it over to Postgresql--there is now a beta of this effort, available here: http://acspg.benadida.com This means that it is now possible to do development of ACS using 100% free, open-source components (AOLServer 3+ is open-source too, thanks to Philip and Hal Abelson at MIT).
Re: AOLServer not being popular and/or proven Hello? The reason it is called AOLServer is because AOL uses it they bought NaviSoft, makers of NaviServer, which they renamed to AOLServer). That by itself makes it popular and proven--AOL handles 28,000 hits a second using it. Of course there are other people using it too, and not just Ars Digita clients. There are even a few hosting services that'll host AOLServer, like these guys: http://www.am.net
So, what's so great about AOLServer? The nice thing about AOLServer is that out of the box it is ready to handle connections to relational databases. No need to make ODBC calls, etc. AOLServer sets up connections when it starts up and your web pages can get handles from a pool of these connections, use them, then recycle those handles. Again: no overhead for database access. Each AOLServer can handle 8 simultaneous database accesses per second, that is, it can serve up 8 database-backed pages a second. And that's on top of serving up *static* pages, which are an entirely different matter. AOLServer is nice also in that certain high level features are built right in--you can send an email with a one-line command for example or grab a web page from someplace else with a one line command (helpful for doing things like Philip's Bill Gates Wealth Clock, for example) and there's a one line command for scheduling stuff to run (like cron)from the web server. And the Tcl interpreter is built in, too, so no CGI overhead. If you want to read more about AOLServer and how it stacks up to Apache, check this out for a few quick paragraphs from Philip's book about AOLServer or for more information, go to http://www.photo.net/wtr/aol server/introduction-1.html and
http://www.photo.net/wtr/aol server/introduction-2.htmlRe: ACS no longer being the greatest thing since sliced bread Well, it does quite a lot out of the box and it is being used to create real, serious, heavy-duty websites. Given that at the moment they are busy expanding like crazy and doing work for clients, it isn't so hard to understand why they may not be driving the toolkit as hard as they could, there's lots in there already, including monitoring services in addition to just a site-building toolkit. And new modules do show up in the toolkit even so and there's a list of possible future improvements on the arsdigita site somewhere with more stuff. And Philip is thinking about this stuff, don't doubt it. In any case, if you want to see for yourself what the toolkit has, check out this page and see if it meets your needs: http://www.arsdigita.com/pages/ toolkit/modules.html
Re: Philip's book Definitely worth reading. Funny, smart, sharp. Definitely look at the technical stuff, though, even if you aren't using ACS, since at the very least the stuff on relational databases is important.
Re: Using Tcl Tcl sucks? Well, you get used to it--now that Tcl 8 has the complete Perl regular expression package, it sucks less. But, an important point is this: when you use AOLServer, you will be using a bunch of AOLServer commands in your Tcl code to get stuff done. So you won't be programming in straight Tcl. There are utility procedures that are part of the ACS toolkit that help too. And over time there will probably be some tools to do some of the grunt work (they already have one out called The Prototyper). But in any event, once you get over a few quirks, it's like programming in any other scripting language. One nice thing is that the language is pretty small, so you can learn it very quickly and get going.
By the way, at Scriptics, the company founded by Tcl's inventor John Ousterhout to support Tcl, Brent Welch, author of one of the better Tcl books and a well known "name" in the Tcl community, has built the Tcl developer's site, dev.scriptics.com, using the Ars Digita toolkit.
And, if you want to learn how to use ACS, Ars Digita offers free 3 week bootcamps in Cambridge, MA and in several other places--look on their site for a "bootcamp" link. Or you can get the problem sets used at bootcamp off their site and learn the stuff at home (if you install everything on your own machine and do the 3 problem sets (note: PS 3 has been replaced with PS 5), you get a $10,000 sign on bonus if you decide to work for Ars Digita--and speaking of working for Ars Digita--check out their salary structure (http://www.arsdigita.com/pages/j obs/tech-jobs.html). Might make you want to start learning Tcl after all
:-)___
DCP.S. If you decide to work for them, please mention me so I can get a shot at the Ferrari (actually, I'd just as soon take it in cash)
:-)P.P.S. More seriously, if you want to do the problem sets or a bootcamp, here are a few pages I put together for people like you:
Problem Set Zero This is meant to help people bone up on what they'll need to do the problem sets/bootcamp. Meta Cheat Sheet lists a bunch of useful cheat sheets that I and other bootcampers put together and some other stuff.
-
Scripting
What do you think about John Ousterhout's ideas presented in this article?_ Do you feel his critique of the OO pradigm is correct? Don't you feel object-oriented programs are extremely difficult to reuse parts of? (for example, it is a most unpleasant task to deal simultaneously with two libraries assuming different type hierarchies).
-
Re:JPython?The guy wrote wrote TCL tried once in a paper to define what is a scripting language, but it's still rather fuzzy.
I beg to differ. The article you mention is here and is the inpiration for some of my recent work... It is pretty obvious (as I work on EJB) that scripting is the way to go (as opposed to Compilers like AspectJ from Xerox PARC, or even the pure graph of XML information as in the case of EJB).
-
"Why threads Are A Bad Idea (for most purposes)"-- A 1996 UNENIX presentation by John Ousterhout.
The key thing to remember out of the IBM article:
Threads are an essential part of programming in the Java language. Java threads are useful for many purposes, but because the Java language lacks an interface for non-blocking I/O (see the Resources section later in this article), threads are especially necessary in constructing communications intensive applications in Java. Typically one or more Java threads are constructed for each communications stream created by the Java program.
So what Java requires people to do in thousands of threads, I can do in one thread per processor with event driven non-blocking I/O. Hmmm... Sounds like Java is broken to me.
davez
-
"Why threads Are A Bad Idea (for most purposes)"-- A 1996 UNENIX presentation by John Ousterhout.
The key thing to remember out of the IBM article:
Threads are an essential part of programming in the Java language. Java threads are useful for many purposes, but because the Java language lacks an interface for non-blocking I/O (see the Resources section later in this article), threads are especially necessary in constructing communications intensive applications in Java. Typically one or more Java threads are constructed for each communications stream created by the Java program.
So what Java requires people to do in thousands of threads, I can do in one thread per processor with event driven non-blocking I/O. Hmmm... Sounds like Java is broken to me.
davez
-
Jacl
According to my bookmarks, Jacl is at www.scriptics.com/products/java/, for anyone who is concerned about it that is.
-
Re:Relevance of the GPL
Even if Red Hat goes bankrupt tomorrow, all their code will be around for anyone to use. And just as importantly, their code will not be used in a way that is harmful to the Open Source communitiy, such as in a closed source distro by Microsoft or another giant corporation. Why? Because of the GPL.
Your point has genuine merit. Let's look at real-world cases that might apply.The commercial BSD vendor, Berkeley Software Design, Inc., and Eric Allman's companym, Sendmail, Inc., share several characterics. (Note: I may be wrong about some of the following. Corrections welcome) They both started with free software. They both added proprietary enhancements. The both sell their value-added product as a revenue source. Both give you source code to the product you bought. And both forbid you from redistributing that source or changes to it to those who don't hold a licence.
Two critical questions are:
- What's the current technology transfer? To what extend do corporate BSDI enhancements return to the free BSD distributions?
- If these companies go down, what happens to their code? Licence holders still have the source, but so what? Is it dead?
To add one more pair of companies to the stack, consider John Ousterhout's TCL-based Scriptics company, or the Canadian Perl-related firm, ActiveState. My understanding is that there's more technology transfer between these two companies and their core free software roots than might be immediately obvious with the previous pair. I cannot really speak of the TCL world, but in the case of the Perl one, that firm funds not only the salary of the Perl release manager, they also fund development for porting to non-free systems. For example, they've made Perl's fork() call work "right" on Microsoft systems (actually, Microsoft paid for that work!) and have immediately returned those corporately funded enhancements back to the world of free software.
Yes, that means that the current developer release of Perl, version 5.005_63, supports fork(2) with Unix semantics even on Microsoft. Hurray!
If you want other mixed-mode business models, think about Alladin Ghostscript. The interesting issue of licensing is covered in the FAQ. There's also Sleepycat Software, whose database product, Berkeley DB, was used in Netscape with neither credit nor compensation, thus triggering a good bit of bad blood on the authors' parts because of lack of public recognition and appreciate for their work. The resulting `poison pill' licence seeks to avoid a repeat of this unpleasantry.
Now, we have in contrast to those situations, look at companies that are making a business, or trying to make a business, out of GPL'd software. The two most obvious examples, RHAT and LNUX, are hardly typical cases due to their current market valuations, which are obviously astronomically overvalued. But even in their cases, you'll find things that aren't what you would call "free software". In fact, they aren't even open source; look at the way Redhat ships "demo versions" of things without source. Now, I would be willing to argue that this is in fact a good thing because it shows people that Redhat's operating system is a viable platform for traditional licensed software. Others, however, dispute this, pointing out that that software would be orphaned if the company who produces it were to die.
My point is that I believe we now have a sufficiently long list of corporate endeavours which are based, at least with respect to some definitions of the term, free software. That means we have actual cases to look at, not hypothetical cases. I'm sure I've only named a couple of them here. What about other companies? I'm not talking about simple packagers and distributors. I mean firms that do serious development work based on free software. (I would mention Cygnus, but they've recently become an acquisition by Redhat.)
Do we have examples of companies that have died or otherwise abandoned their work in these areas? The university Ingress experience and Britten-Lee? Can we come up with other examples to look at? What has happened to the product of their work? Has it truly gone the way of all things, or did humanity derive some benefit from it?
-
I just want -one- that works!
The survey is missing my choice - a browser that works, don't much care whose.
Over the few years on NetBSD, I've tried Chimera (surprisingly good), Arena (you call that a GUI?), Lynx, Netscape (remotely), possibly Amaya, Plume, w3/xemacs, probably others I don't remember... oh, yeah, kfm of course (It was wonderful until it quit showing GIFs and PNGs for a reason I've never figured out). I've been on pins and needles for Opera to come out; it came to be the only reason to use Winduhs and if it ultimately is only for Linux I may switch from NetBSD.
I finally got so desperate for a browser that I implemented one in TCL around TkHTML. I don't need Java or plugins or cookies or frames or all that junk - even CSS can go, I just need HTML/3.2, GIF (if permitted), PNG, JFIF, and a few standard protocols!! It's a pretty pass when what I can cobble together in a week is better for me than the other stuff... (PS: Hmmp. My forms usually work, but
/. won't take 'em... I'll have to use Lynx.)Why don't I work on Mozilla or kfm or Konqueror? I don't much feel like playing with DLing ±30 MB (you're lucky to have 28800 kb/s here) of C++ (I could never grok C++) and then try to fight to have my changes taken back.)
-
John Ousterhout's solution
http://www.scriptics.com
/people/john.ousterhout/wrist.htmlWhat John Ousterhout (creator of Tcl/Tk) does about his RSI. Summary: Windows PC running Dragon Systems NaturallySpeaking, plus a2x to make the Windows PC act as a keyboard for a Unix box running X.
Here is an article from Byte reviewing good mikes with NaturallySpeaking. (Formatting's terrible, but at least it's all on one Web page.)
Accuracy is reported to be 99%+.
-
Yet more links
-
Scriptics != Tcl
He talks about programming in Perl, Scriptics and Python. However, Scriptics, of course, is the company set up by John Ousterhout to try and make some money out of his Tcl scripting language. Pretty much throughout the article, the word "Scriptics" should be replaced with "Tcl".
-
Why threads?
multi threading though? Why?
Mostly because due to the horrible botch that Microsoft has made of processes, without threading, the Prisoners of Bill have no possibility of anything resembling real multitasking.Certainly there exists a class of problems that lends itself to more than one PC (program counter; it means program counter damn it) executing simultaneously in the same text and data. Personally, I prefer everything unshared unless I say otherwise, not the other way around.
But it's pretty scary stuff for all but the most rigorous of seasoned programmers. To my mind, handing a script kiddie multithreading is like handing a six year old a loaded Uzi. That's not to say that in the hands of a trained professional, these aren't useful. But in the wrong hands, they're more like a sneaky murder-suicide device.
It's getting a bit dated, and certainly carries its own agenda, but several years ago, John Ousterhout gave a talk on Why Threads Are A Bad Idea (for most purposes) that you might like to check out.
If you're curious about threading in Perl, the best place to start is probably the perlthrtut manpage. Some low-level documentation is also available.
I'll be giving a half-day talk on multitasking (both forking processes and spawning threads) in August at the Perl Conference in Monterey. I've got about 100 slides for 3 hours of talk, which should be, um, brisk.
:-)"In short, just as the Multics mentality of careful access controls shows up throughout Unix, the cretinous CP/M mentality of uncontrolled havoc shows up in DOS and all its mutant children." --tchrist
-
Re:COBOL of the 90'sThe trend is toward greater diversity in languages, not less -- and I don't mean languages designed for academic purposes, but languages that are actually being used. Look at the last few years: Python, Perl, and Tcl all have growing communities; Java, of course, is still to be reckoned with; in the Web-specific space we have PHP, Frontier, the various Apache modules for different languages, and there are dark horses like Guile, Dylan, or REBOL that may or may not become important. I can't think of a language that I would consider to be "dying" ("holding steady" is a different question). I know people who are turning away Python-related consulting jobs because they already have more than enough work.
When Java was first introduced, there was much excited chatter about it killing off other languages; I think Sun is still half-heartedly arguing that. Yet interpreted languages have adapted to Java quite nicely, thank you -- consider Jacl and, of course, JPython. So get used to the diversity -- it doesn't look like it'll be going away, particularly since component architectures like COM and CORBA grant a lot more flexibility in choosing a language.
-
Re:Tcl Saves!
yeah i cant understand why 'tcl/tk' combo, isn't used more (ah mention the name 'sun' anyone?). If anyones interested, go to the scriptics.com site and take a gander.
m$windows has always lacked a standard scripting language, unless you count vbscript, vba and visual basic. dont fancy learning 'm$-perl' though. -
TCl and Debugging
There are at least two debuggers for Tcl. One is from Don Libes, and comes as part of his Expect extension (although usable separately). See the Expect home page for more info.
The other is the commercial offering from Scriptics, John Ousterhout's company.
I'm sure if you check the Tcl FAQ you can find more. Check comp.lang.tcl.announce for the weekly summary postings, it will contain a link to the FAQ.
-
Beware of Tcl!First, it sounds like you were still using Tcl 7, not Tcl 8 (which no longer thinks the whole world is a string).
Second, there seems to be a great deal of evidence that Tcl/Tk can handle its own in the real world. Scriptics ( www.scriptics.com) maintains a collection of success stories.
Tcl's main advantage is the ability to prototype extremely quickly. It was originally designed as a "glue" language, but has been far more useful than just that. If you find some aspect that is too slow, you can recode that module into C or C++ (or even java for cross-platform purposes) and link it in.
Tcl is also widely used in QA test automation. Many web sites use it as a back end. NBC presented a paper at the Tcl/Tk conference detailing how they use Tcl/Tk to deliver satellite feeds to affiliates (they originally planned to just do the prototype in Tcl and recode later, but found that they only had to replace a small number of modules).
-
TCl and Debugging
I believe Scriptics is coming out with a Debugger.. The alpha version is even out for free trial (last I checked). Check out Scriptics. (btw - Scriptics is the company Ousterhout founded to further his Tcl work.