Unbloated coding resources

For discussions about programming, programming questions/advice, and projects that don't really have anything to do with Puppy.
Message
Author
jamesbond
Posts: 3433
Joined: Mon 26 Feb 2007, 05:02
Location: The Blue Marble

#16 Post by jamesbond »

This thread should be pinned, it is very useful.
Also, klone is super cool :)
Fatdog64 forum links: [url=http://murga-linux.com/puppy/viewtopic.php?t=117546]Latest version[/url] | [url=https://cutt.ly/ke8sn5H]Contributed packages[/url] | [url=https://cutt.ly/se8scrb]ISO builder[/url]

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

#17 Post by technosaurus »

I forgot to add ph7 engine for embedded php.
http://ph7.symisc.net/downloads.html
It uses a Berkeleydb/sleepycat style license

And baresip voip library (bsd license)
http://www.creytiv.com/baresip.html
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].

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

#18 Post by Ibidem »

Pnglite http://sourceforge.net/projects/pnglite/
is a very small (<1k lines) read/write png library; it's one header and one C file.

The stb_* stuff is meant for demos only, afaict.

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

#19 Post by technosaurus »

another voip

https://code.google.com/p/umurmur/
since it can use polarssl, it should be able to handle one of the BSD maintained versions of xyssl (bsd licensed project polarssl was forked from)
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].

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

#20 Post by technosaurus »

I need to go through these pages and point out the best ones but till then:

Lots of json, sqlite and other C related stuff:
http://fossil.wanderinghorse.net/repos/
Various C stuff:
http://git.suckless.org/
http://suckless.org/other_projects
http://wiki.musl-libc.org/wiki/Alternative_libraries
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].

stemsee

#21 Post by stemsee »

TinyGL has been developed and runs in MorphOS. Someone should port that version into puppy.

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

#22 Post by Keef »

Got it to compile with a little minor tweaking and the help of a search engine. No idea what to do with it though!!
Attachments
Screenshot(1).jpg
(101.48 KiB) Downloaded 733 times

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

#23 Post by technosaurus »

can you post a link to the MorphOS tinyGL source?
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].

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

#24 Post by Keef »

Look at me, getting the wrong end of the stick and downloading the original tinygl sources from 300 years ago which are apparently nothing like the MorphOS ones.
Still, I've got some crude looking gear wheels to stare at for a few hours...

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

#25 Post by technosaurus »

FWIW I never tracked down the (proprietary?) MorphOS sources either; however, there are a couple of forks with some improvements tinysdgl and picogl IIRC
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].

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

#26 Post by Ibidem »

technosaurus wrote:FWIW I never tracked down the (proprietary?) MorphOS sources either; however, there are a couple of forks with some improvements tinysdgl and picogl IIRC
tinysdgl seems to have lost all non-SDL support, unlike picogl...but I see comments that indicate that picogl is stripped down relative to tinygl, to the point of rarely being usable.
picogl supports X, NanoX, sdl, and VesaFB backends (not sure what the last is).

I ran across a variant of tinygl included in residualvm, but it included a switch to C++ in the "improvements"; it might be possible to cherrypick some of the real improvements...
Does anyone know of sources for a C derivative of tinygl 0.4 that doesn't have the double rendering bug? (Or do we need to make one--perhaps from PicoGl and TinyGL, perhaps residualvm
C++ -> C99?)

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

#27 Post by Keef »


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

#28 Post by technosaurus »

Not to me, they slapped a GPL on it and munged up the code trying to add namespace prefixes or something and "misplaced" the original license.
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].

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

#29 Post by technosaurus »

Bluez alternative for bluetooth:
https://github.com/tiancj/bluedroid.for.linux
or
http://blue-machines.googlecode.com/svn ... rces/soft/
there is fork of this at https://github.com/lwalkera/lwBT but I looked at a couple of commits and some of the changes are non-portable (changing void* to int only works on 32 bit x86 for instance) - so either avoid or revert the non-portable changes

smaller alternative to tinyX
http://galos.no-ip.org/siX

alternative to stb_image:
http://galos.no-ip.org/libimg

alternative to httpd:
http://galos.no-ip.org/evil

another alternative init:
http://galos.no-ip.org/qinit

alternative dhcp:
http://galos.no-ip.org/sdhcp

My current todo is to find/create alternatives to the common daemon processes such as those listed here:
https://wiki.archlinux.org/index.php/Daemons_List
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].

User avatar
vovchik
Posts: 1507
Joined: Tue 24 Oct 2006, 00:02
Location: Ukraine

#30 Post by vovchik »

Dear guys,

I had some success recently getting void* work on 32 and 64-bit machines by changing that void to intptr_t. Anybody want to try that and report the results?

With kind regards,
vovchik

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

#31 Post by technosaurus »

vovchik wrote:Dear guys,

I had some success recently getting void* work on 32 and 64-bit machines by changing that void to intptr_t. Anybody want to try that and report the results?

With kind regards,
vovchik
void * should cast properly to any pointer type (technically function pointers have slightly different rules though), that is why it should not be changed to simply int (instead of int* which is the same as intptr_t) because int is not always the same size as void* ... if you want an integer type that is the same size as void*, use size_t for unsigned and ptrdiff_t for signed... Even if size_t is larger than you need, it will simplify the assembly code because smaller types require a superfluous MOV{*} operation and it will be portable across 32/64 bit systems
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].

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

#32 Post by Ibidem »

technosaurus wrote:
vovchik wrote:Dear guys,

I had some success recently getting void* work on 32 and 64-bit machines by changing that void to intptr_t. Anybody want to try that and report the results?

With kind regards,
vovchik
void * should cast properly to any pointer type (technically function pointers have slightly different rules though), that is why it should not be changed to simply int (instead of int* which is the same as intptr_t) because int is not always the same size as void* ... if you want an integer type that is the same size as void*, use size_t for unsigned and ptrdiff_t for signed... Even if size_t is larger than you need, it will simplify the assembly code because smaller types require a superfluous MOV{*} operation and it will be portable across 32/64 bit systems
If you're using a POSIX-like system, it's certain to follow ILP32/LP64: sizeof(int)==4; sizeof(long)==sizeof(void *);
sizeof(char)==1; sizeof(short)==2; sizeof(long long)==8; are also true on semi-recent POSIX-like systems.

User avatar
vovchik
Posts: 1507
Joined: Tue 24 Oct 2006, 00:02
Location: Ukraine

#33 Post by vovchik »

Dear technosaurus and Ibidem,

Thanks guys...I will experiment, since I have run into little problems with my own code running properly under 64-bit when written originally under 32-bit...and the problems seem to be related to my casting of pointers.

With kind regards,
vovchik

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

#34 Post by Ibidem »

More stuff...
Dropbear is a small ssh package; it can be built with ssh, sshd, scp, and key generator/convertor in one binary.
Uses libtom* for crypto; sqlite and wpa_supplicant can also be configured to use libtom*.

Toybox includes a dhcp client, dhcp server, syslogd/klogd, tftpd, and crond/crontab. Bootchartd, inotifyd, and telnetd might also be interesting. Haven't tested if toybox mount works right with fstab yet.

Lots of neat stuff over at litcave, especially neatroff and fbvnc.
fbvis is a tiny framebuffer image viewer (132 kb linked static against musl); supports JPEG PNG PPM TGA BMP PSD GIF(partial) HDR PIC, using lodepng, stb_image, and a builtin ppm loader.

Keys: vi keys for scrolling (hjkl), J/n for next image, K/p for previous, f for zoom to height, w is zoom to width.
See README for more.

Thinking it would be handy to have a thermald/powerd or such (monitors temperature, load, and battery; controls cpu frequency/governor and fan; can run arbitrary commands).

Is there an update for libc.h, or was 0.1 the last release?

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

#35 Post by technosaurus »

Yeah I like the litcave frame buffer tools as well ... Fbvis can be modified to only use stb_image with only a couple of modifications... Can't believe I didn't already mention dropbear but yeah... I wonder if we could add audio forwarding capability to dropbear? Maybe by capturing/dev/dsp and putting it on a udp or tcp socket
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].

Post Reply