Starkit, Tcl's answer for application delivery and update

Stuff that has yet to be sorted into a category.
Post Reply
Message
Author
User avatar
mdd
Posts: 29
Joined: Fri 03 Jun 2005, 00:16

Starkit, Tcl's answer for application delivery and update

#1 Post by mdd »

I've been a very active member of the Tcl community for more than 10 years now. It's beginning to become very clear to me that the Puppy community and the Tcl community would both have a lot to be gained from a strengthening of ties between the two groups.

Tcl has been a major component of Puppy since its birth, as far as I can tell. In fact, I first heard about Puppy when someone posted a page about it on the Tclers' Wiki http://wiki.tcl.tk/11951. For the last several years, the hottest area of development in the Tcl Community has been an application development, packaging, and deployment system called Starkit. http://www.equi4.com/starkit.html, created by Tcl luminary Jean Claude Wippler. An excellent paper about the technology, though a bit out of date by now, was presented at the 2002 Tcl Conference, by Steve Landers (of Perth, Australia). http://www.equi4.com/papers/skpaper1.html

Since this forum topic relates to Pups and stuff, I'd like to focus here on Tcl's answer for automated application delivery and update. One of the coolest features of the Starkit system is StarSync, which a Starkit user can use to automatically update the content of a Starkit-based application. http://www.equi4.com/264 Starkits and Starsync greatly simplify the deployment, installation, and updating of Tcl-based applications. The efficiencies of this system, would go a long way towards making Puppy even sleeker and faster than it is now, and keeping it that way.

I'd like to propose that Puppy move to this system for all Tcl-based applications. To do so would be so incredibly simple, that it's almost silly. First of all, the existing Tcl 8.4.9 subsystem of Puppy would be removed, then the single-file Tclkit 8.4.9 runtime would be put into /usr/bin, as well as a Starkit file containing the various Tcl extension libraries, such as Img, Snack, etc., needed to support the existing Tcl apps in Puppy. Then, file extension associations would need to be created for the .tcl and .kit extensions, so that files with those extensions would run on Tclkit. That's it! You're done. With such a change, Puppy will have saved a lot of space, and dramatically improved its capabilities in one fell swoop.

You can download the current single-file-binary release of Tclkit for Linux here http://www.equi4.com/pub/tk/8.4.9/tclki ... 86.upx.bin. If you'd like to give it a whirl, just copy it to any directory on your system, rename it to something like "tclkit," make it executable, and download any of the cross-platform Starkits from the Starkit Distribution Archive, lovingly maintained by Steve Landers http://mini.net/sdarchive/. Then all you have to do is set the Rox run action for the .kit file to run with Tclkit, and you're off and running. Now any .kit files you download will 'just work' whenever you click on them. It's so easy. :-)

With a coordinated effort between the Tcl folks and the Puppy mavens, Puppy could become a showcase for the power of the Tcl platform, putting the other bloated Linux distributions out there to shame in the process.

--MDD

User avatar
Lobster
Official Crustacean
Posts: 15522
Joined: Wed 04 May 2005, 06:06
Location: Paradox Realm
Contact:

Tool Command Language

#2 Post by Lobster »

Excellent post and suggestions.

:)

We have these pages developing in Tcl - showing how to get started in this useful language:

Internal Tcl Tutorial
http://www.goosee.com/puppy/wikka/TclTk

External tutor link
http://www.goosee.com/puppy/wikka/TclTutor

One way to show, develop and strengthen this relationship is in developing a tcl project for Puppy

The one that comes to mind is a configuration / control panel in Tcl. I have been attempting this with Ash and widgets but it is clear that a complete language would be more sensible (recently lost my work through not backing up . . . )

For long term flexibility and different presentation methods I feel the data is best stored in XML format

Is this the sort of thing that would showcase Tcl?
Puppy Raspup 8.2Final 8)
Puppy Links Page http://www.smokey01.com/bruceb/puppy.html :D

User avatar
mdd
Posts: 29
Joined: Fri 03 Jun 2005, 00:16

Tcl tutorials

#3 Post by mdd »

Clif's TclTutor application is pretty good (I know him quite well), but it's pretty out-of-date, and doesn't cover Tk, as far as I know. There's quite an extensive and up-to-date tutorial available at http://www.tcl.tk/man/tcl8.5/tutorial/tcltutorial.html, on the other hand, but it doesn't cover Tk either.

The Tclers' Wiki has a page devoted to online tutorials at: http://wiki.tcl.tk/1304. It has an extensive list of links to various tutorial information.

David Welten is working on another tutorial that sounds promising: http://groups-beta.google.com/group/com ... d3e4d1b81/.

On the subject of a Tcl-centric Puppy project, I'm floating the idea with a few other Tclers. I think that I'll have something promising to post about this within the next week or two.

--MDD

User avatar
BarryK
Puppy Master
Posts: 9392
Joined: Mon 09 May 2005, 09:23
Location: Perth, Western Australia
Contact:

#4 Post by BarryK »

And of course with Unleashed you can build your own custom Puppy very easily ...so can create a "tickle Puppy" to demonstrate the ideas.

The bottom line is the size of the ISO file. If you come up with a new concept for Puppy and have it ready to go in a 60 - 61M ISO live-CD, then we are "cookin with gas"... :D

I don't know if this is an overstatement or not, but Puppy is looking like he could be the saviour of tcl/tk, or at least a factor in a resurgence of interest.

P.S.
You may have noticed Pup 1.0.3 has ical, yet another tcl/tk app!

P.P.S.
I'm personally not all that keen on antialiased fonts, but that's what the majority expect, especially coming from XP. So, the antialised font feature of tcl/tk 8.5 is probably something we should aim for as soon as it looks stable and can run all the apps in Puppy.

User avatar
Lobster
Official Crustacean
Posts: 15522
Joined: Wed 04 May 2005, 06:06
Location: Paradox Realm
Contact:

Re: Tool Command Language

#5 Post by Lobster »

Some great links - with some Puppy growth potential built in
http://wiki.tcl.tk/9058

Looking forward to what you have in mind. Puppy is beginning to look like an ideal platform for programmers, from beginners to high level Tcl'ers
  • C (including the idiosyncratic interpreted or compiled tinycc) whole GCC environment in preparation
    The Linux batch language (using the standard Bash from version 1.0.3)
    Perl for CGI programming (PerlPuplet and Pupget)
    Tcl a powerful and simple interpreted language
    (try visual tcl - just download, unzip and run http://vtcl.sourceforge.net/)
    Lua - anyone exploring this?
    Gambas (compiled Basic available as a PupGet)
Was John or someone else working on a small Python possibility for Puppy?
http://peace.wikicities.com/wiki/Python

The guiding philosophy for Puppy is "small and simple". The criteria for applications are:

1. They must be written in Tcl/Tk, C or C++.
2. GUI apps must use Xaw/Athena (Puppy actually uses Xaw95), Tk/Bwidget, GTK+ v1.2, GTK+ v2.2, or Qt v3.3.4 widget libraries.
3. They must be open source.
Puppy Raspup 8.2Final 8)
Puppy Links Page http://www.smokey01.com/bruceb/puppy.html :D

User avatar
Lobster
Official Crustacean
Posts: 15522
Joined: Wed 04 May 2005, 06:06
Location: Paradox Realm
Contact:

#6 Post by Lobster »

8)

I am like a Puppy chasing his own tail (well it's a hobby)
Nearly had a look at X11 Basic which someone might like to compile - it is quite small and seems the semi-official BASIC for Puppy . . .

Meanwhile tcl . . .

Barry was kind enough to send me my one and only tcl program (created in visual tcl) which I have added to welcome.pup
in the user contributed dotpups at the wiki

This was from our previous simple forum which contains loads more info
http://www.goosee.com/puppy/sforum/simpleforum_pro.cgi

ahem . . . back to tcl . . .

I am trying need more and better tutorial - the one designed for kids should suit me . . .

So eh - what happening in the tickling world? :?
Puppy Raspup 8.2Final 8)
Puppy Links Page http://www.smokey01.com/bruceb/puppy.html :D

menno

X11

#7 Post by menno »

Lobster , try this ftp://jbn:jbnnoord@129.125.22.13/pupgcc/X11.tar.gz .
This is the bineary including examples and manual .
I use it as Qbasic . It has absolute dir path to /root/my-applications/.... .
This would be writeble for anyone . Greating Menno .

User avatar
Lobster
Official Crustacean
Posts: 15522
Joined: Wed 04 May 2005, 06:06
Location: Paradox Realm
Contact:

#8 Post by Lobster »

Thanks menno :)

I am a tkzipping here
and there . . . and a trying

No luck anyone get X11 BASIC working OK?
Puppy Raspup 8.2Final 8)
Puppy Links Page http://www.smokey01.com/bruceb/puppy.html :D

menno

x11

#9 Post by menno »

You should open a rxvt console and type xbasic . You must see a xbasic in /root/my-applications/bin . I tryed it on a other machine and it seems to work . You cann't click on it . Greatings Menno

User avatar
Lobster
Official Crustacean
Posts: 15522
Joined: Wed 04 May 2005, 06:06
Location: Paradox Realm
Contact:

#10 Post by Lobster »

Got it working Menno - many thanks :)
Will now try writing something . . . (very simple)
Got confused (mind you I get confused by a shoal of fish)

I moved x-11 into my-applications
and xbasic and xbc into the my-applications bin

Should be dotpupped by anyone so inclined

8)
Puppy Raspup 8.2Final 8)
Puppy Links Page http://www.smokey01.com/bruceb/puppy.html :D

Post Reply