Puppy In-House Development

Under development: PCMCIA, wireless, etc.
Post Reply
Message
Author
PANZERKOPF
Posts: 282
Joined: Wed 16 Dec 2009, 21:38
Location: Earth

#106 Post by PANZERKOPF »

greengeek wrote:Maybe a basic audio recording program? (Is there a GTK1 version of something like mhwaveedit??). And a basic audio player.
There is Gnoise:
http://distro.ibiblio.org/amigolinux/do ... se-0.1.15/
Also, making some Xdialog or gtkdialog frontend for aplay/arecord shouldn't be difficult.
Another useful GTK1 app is Endeavour Mark II file manager. It contains filemanager,
archiver, finder, launcher, disk mounter and image browser in one binary.
http://freecode.com/projects/endeavour2
SUUM CUIQUE.

User avatar
technosaurus
Posts: 4853
Joined: Mon 19 May 2008, 01:24
Location: Blue Springs, MO
Contact:

Re: Just a thought

#107 Post by technosaurus »

I wrote an alternative implementation of cddetect ... notice my trick for avoiding an unnecessary switch by using the value that would normally be switch as the index of a char**:

Code: Select all

#include "libc.h" //using my own libc, you'll need to modify this

int main(int argc, char *const *argv){
	int fd = open((argv[1])?argv[1]:"/dev/sr0", 04000);
	if (fd < 0) return(-1);
	char *out[]={	"Error\n",
					"no disc\n",
					"tray open\n",
					"drive not ready\n",
					"disc inserted\n",
					0};
	int status=ioctl(fd, 0x5326, 2147483647 );
	if (status<1 || status >4) status=0;
	write(1,out[status],strlen(out[status]));
	close(fd);
	return 0;
}
mistfire wrote:We must standardize the puppy linux development. we must select one programming languages and toolkit as default development tool for puppy to make it developer friendly.
Not all programming languages are created equally.. Awk is great at processing formatted text (such as flat file databases). Shell is good for connecting together other programs that operate on pipes and some data manipulation but lacks the ability to interact directly with libraries (gtk-server can help with this). C is good for low level hardware and creating "shivs" for the missing pieces of other programming languages. Javascript is the only standardized option for in-browser programming. Lua and tcl fall in between C and shell and are small enough to embed with the ability to add bindings for other libraries.

Now, I have come up with a solution that combines the best aspects of each. Here's the basic idea:
create a single gtk app that:
monitors a directory for glade/gtkbuilder files
monitors another directory for gtk modules to load (for C apps)
monitors another directory for shell functions
etc...
This works similar to how Android's zygote works, but instead of spawning a whole new process for each app (reducing memory usage via Linux's builtin copy-on-write mechanisms), a single running process loads all UI files and their associated modules on the fly. Modules contain callbacks for the UIs prefixed with a namespace for its app (this allows for all apps to run in a single thread) ... for common callbacks, these can be added to the main app (and its global namespace) as they become necessary/convenient/useful.

I could probably get a working prototype together pretty quickly, but I've been holding off on that particular method due to issues with gtk (license, bloat, stability, etc...). My alternative plan has been to use a tiny webserver and cgi scripts so that it could work in any web browser. I already have an application menu and drag-n-drop "desktop" icons as working prototypes. Desktop widgets and tray apps can be implemented in javascript via setInterval() or iframes with autorefresh (for browsers without javascript) ...however if someone is interested in maintaining a gtk2/3 implementation, I can write up the initial implementation.
Check out my [url=https://github.com/technosaurus]github repositories[/url]. I may eventually get around to updating my [url=http://bashismal.blogspot.com]blogspot[/url].

linuxcbon
Posts: 1312
Joined: Thu 09 Aug 2007, 22:54

#108 Post by linuxcbon »

@technosaurus why do you need to reinvent the wheel, programs are there, tools are there, we just need to use them right and fit them together.
I find your zygote solution very bad, because with only one process, if it crashes, all the work is gone.
What are the problems with gtk ? license, bloat, stability ?
Web browser, desktop widgets, javascript ? Holy cr.. No way. All browsers are bloated and security not guaranted, what about local work, etc..

User avatar
greengeek
Posts: 5789
Joined: Tue 20 Jul 2010, 09:34
Location: Republic of Novo Zelande

#109 Post by greengeek »

linuxcbon wrote:why do you need to reinvent the wheel, .
Wheels don't just come in one size, colour or with the same tread. There's always room for one more wheel....
:)

User avatar
technosaurus
Posts: 4853
Joined: Mon 19 May 2008, 01:24
Location: Blue Springs, MO
Contact:

#110 Post by technosaurus »

linuxcbon wrote:@technosaurus why do you need to reinvent the wheel
Because there is currently no resilient wheel with built-in mechanical regenerative shock absorption that uses efficient, space-saving, user-changeable-with-common-hand-tools spare non-pneumatic tires... but feel free to keep driving your flintstone mobiles, they'll still work on the same roads.
Check out my [url=https://github.com/technosaurus]github repositories[/url]. I may eventually get around to updating my [url=http://bashismal.blogspot.com]blogspot[/url].

gcmartin

#111 Post by gcmartin »

Not to be taken the wrong way, but, @Technosaurus is trying to share how the world is coming around to addressing processing needs. He is showing thoughts he has about the past, present, and where the industry is heading.

Let's not get turned off by his product selections he's mentioned, rather, try to look at how that will address current and the future as we ARE seeing rather dramatic hardware changes, today.

His suggestions appear to be trying to help us arrive at a future-proof position moving from our past.

And, yes, javascript is just a small, yet important developer's piece of that positioning. In fact, we are years past the point where JAVA should be common in PUPs...particularly as we march into the future.

I think, as I read what he shares, that this is what he trying to show us.

amigo
Posts: 2629
Joined: Mon 02 Apr 2007, 06:52

#112 Post by amigo »

javascript != JAVA -the two are completely unrelated. And one could hardly relegate JAVA to the past -apps for android are written in JAVA. Not that I'm touting JAVA, as it is huge and slow.

Two programming languages are essential to any linux setup -shell script and 'C'. The complete kernel and modules are written in C and all commonly-expected utilities are also written in C. shell is the language of the shell and gets used everywhere.

The third language that comes in as an option is C++, since most high-performance or large *applications* are written in C++ as well as most of the libraries they use.

On debian systems, many 'proprietary' system utilities are written in perl -where on other systems, similar utilities might be implemented in shell.

python and ruby are the next two largest and versatile scripting languages. tcl and lua are less popular, but also versatile scripting languages.

As for developing for web-based stuff, there is mainly php, ajax, JAVA and javascript. Both javascript and php can be used to implement command-line tools, but this is hardly seen.

Of course, there are more obscure languages for both sources and as scripts, but their 'market share' is really low.

User avatar
Iguleder
Posts: 2026
Joined: Tue 11 Aug 2009, 09:36
Location: Israel, somewhere in the beautiful desert
Contact:

#113 Post by Iguleder »

I think it's time for integration work - I'll try to create a fake Slackware repository from these packages and let Woof download them.

It should be fairly easy to build a hybrid Puppy with a 64 bit kernel and static, 32 bit user mode that can be shared with a 32 bit "retro" kernel (2.6.32).
[url=http://dimakrasner.com/]My homepage[/url]
[url=https://github.com/dimkr]My GitHub profile[/url]

Ibidem
Posts: 549
Joined: Wed 26 May 2010, 03:31
Location: State of Jefferson

#114 Post by Ibidem »

Iguleder wrote:I think it's time for integration work - I'll try to create a fake Slackware repository from these packages and let Woof download them.

It should be fairly easy to build a hybrid Puppy with a 64 bit kernel and static, 32 bit user mode that can be shared with a 32 bit "retro" kernel (2.6.32).
Remember, if you're going to use anything under ~3.8 you need to handle firmware loading.

User avatar
darkcity
Posts: 2534
Joined: Sun 23 May 2010, 19:16
Location: near here
Contact:

#115 Post by darkcity »

other improvements for gtk1 suggested on the /r/linuxactionshow
Improvments: Small things - like file-browsing dialog usability, too-much grey by default, weird looking button elements, etc. Little tweaks here and there is all it needs - I just wonder if it is effort worth putting elsewhere - like say in optimising the "re-thought-out" newer software-designs of the newer releases.

Ibidem
Posts: 549
Joined: Wed 26 May 2010, 03:31
Location: State of Jefferson

#116 Post by Ibidem »

darkcity wrote:other improvements for gtk1 suggested on the /r/linuxactionshow
Improvments: Small things - like file-browsing dialog usability, too-much grey by default, weird looking button elements, etc. Little tweaks here and there is all it needs - I just wonder if it is effort worth putting elsewhere - like say in optimising the "re-thought-out" newer software-designs of the newer releases.
Most of those are "grab another theme".
The file browser is a (somewhat lamer, due to lack of the "filter" feature) copy of the Motif file browser. And I like it, because directories are separate from files.

Some themes:
http://thinice.sourceforge.net/
http://lighthouseblue.sourceforge.net/gtk/index.html -> LighthouseBlue GTK1 theme
My PPA that has a few...
https://launchpad.net/~ibid-ag/+archive ... /+packages
Another theme I used a bit (available at my PPA) was Mist.
These days I use the Notif theme, which I need to dig up...
It's more of a CDE-like look.

amigo
Posts: 2629
Joined: Mon 02 Apr 2007, 06:52

#117 Post by amigo »

Any link for the 'linuxactionshow' you mentioned?

Thanks for the link to your ppa -trying to figure out if you have anything there that I'm missing here:
http://distro.ibiblio.org/amigolinux/download/

User avatar
Keef
Posts: 987
Joined: Thu 20 Dec 2007, 22:12
Location: Staffordshire

#118 Post by Keef »

That be a reddit link methinks:
http://www.reddit.com/r/linuxactionshow

Ibidem
Posts: 549
Joined: Wed 26 May 2010, 03:31
Location: State of Jefferson

#119 Post by Ibidem »

amigo wrote:Any link for the 'linuxactionshow' you mentioned?

Thanks for the link to your ppa -trying to figure out if you have anything there that I'm missing here:
http://distro.ibiblio.org/amigolinux/download/
You have Thinice, Eazel, and Xenophilia, but not (afaict) lighthouseblue, industrial, or mist (not sure about gtk-smooth-engine, either).

Of the image viewers I have, you're missing paul.
You have gpppwrap, I have gpppon.

You're missing about 90% of the XMMS plugins I have, though ;).
(For a couple months after announcing the PPA on the Ubuntu Forums, I was packaging plugins on request.)
Some that I consider interesting enough to mention are:
adplug-xmms,
xmms-ladspa (use LADSPA plugins like rosegarden and mhwaveedit can use as effect plugins),
sox-input (use sox for reading files),
smpeg-xmms,
xmms-sndfile (use libsndfile for input--a lot of uncompressed formats),
monkeys-audio,
xmms-openspc (SPEC player),
xmms-musepack,
xmms-sid.

FYI, "nebula" is a very lightweight IRC client, though it's Motif-based rather than GTK1. It supposedly runs acceptably on an SGI Personal Iris (which is a 12 MHz MIPS32 system).


PS: Did your GTK1 cheatah/xsword ever get split out of the sword archive?
Curious because I'd like to try getting it to work with libsword 1.6.x.
EDIT: WIP: https://github.com/idunham/gtksword
(needs 4 lines changed to compile; comment them out and you get raw output).

User avatar
Iguleder
Posts: 2026
Joined: Tue 11 Aug 2009, 09:36
Location: Israel, somewhere in the beautiful desert
Contact:

#120 Post by Iguleder »

Yay, my laptop is back and it works!

I'm setting up the build environment - the next step is a clean 64 bit build of everything and some woof-CE fun :wink:
[url=http://dimakrasner.com/]My homepage[/url]
[url=https://github.com/dimkr]My GitHub profile[/url]

amigo
Posts: 2629
Joined: Mon 02 Apr 2007, 06:52

#121 Post by amigo »

@Ibidem, "cheatah/xsword" What I have there is cheetah, not cheatah. IIRC, cheetah is a crude GTK1 browser with its' own html engine. Glad you mentioned it though as it made me grab a couple of versions I was missing. It was a brave attempt, alas...

"gpppwrap, I have gpppon" If I remember, those two look really similar -as if one was a hack of the other, or such. I used the one that would compile for me but still have the other sources around... somewhere here...

User avatar
Iguleder
Posts: 2026
Joined: Tue 11 Aug 2009, 09:36
Location: Israel, somewhere in the beautiful desert
Contact:

#122 Post by Iguleder »

Ouch! For some reason, Ratpoison fails to load fonts when I build everything using my new laptop, with Debian 7 x86_64.

I'm investigating what went wrong - so far, the ISO is 20 MB, with ncurses and all kernel modules.
[url=http://dimakrasner.com/]My homepage[/url]
[url=https://github.com/dimkr]My GitHub profile[/url]

slenkar
Posts: 228
Joined: Sat 11 Jul 2009, 01:26

#123 Post by slenkar »

Iguleder wrote:Ouch! For some reason, Ratpoison fails to load fonts when I build everything using my new laptop, with Debian 7 x86_64.

I'm investigating what went wrong - so far, the ISO is 20 MB, with ncurses and all kernel modules.
This pup sounds interesting any chance for a 32bit version?

User avatar
Iguleder
Posts: 2026
Joined: Tue 11 Aug 2009, 09:36
Location: Israel, somewhere in the beautiful desert
Contact:

#124 Post by Iguleder »

I said this many times before - the process of building it from source is fully automated, so it's possible to build a 32 bit version as well.

For the curious - here's the problem I'm facing:
Could not init font path element /usr/share/fonts/truetype/, removing from list!
ratpoison:main.c:602: error: X doesn't seem to support your locale.
ratpoison:main.c:540: error: ratpoison: Cannot load font *-terminus-medium-*-14-*.
ratpoison:main.c:544: error: ratpoison: Cannot load backup font * . You lose.

waiting for X server to shut down
[url=http://dimakrasner.com/]My homepage[/url]
[url=https://github.com/dimkr]My GitHub profile[/url]

Ibidem
Posts: 549
Joined: Wed 26 May 2010, 03:31
Location: State of Jefferson

#125 Post by Ibidem »

amigo wrote:@Ibidem, "cheatah/xsword" What I have there is cheetah, not cheatah. IIRC, cheetah is a crude GTK1 browser with its' own html engine. Glad you mentioned it though as it made me grab a couple of versions I was missing. It was a brave attempt, alas...

"gpppwrap, I have gpppon" If I remember, those two look really similar -as if one was a hack of the other, or such. I used the one that would compile for me but still have the other sources around... somewhere here...
I'm referring to the subject of this thread; specifically, the GTK1 version you mentioned, which I've partly gotten building.

Post Reply