AtomPup is a suite of console applications, targeted at people with limited hardware and console-lovers. It requires extremely minimal system resources (32 MBs of RAM and basically any processor). Atom includes many many fixes that make everything work well, it's more than a pile of compiled applications.

Currently Atom is an addon for Puppy (any Puppy, as long as it works with SFSs). I'm currently working on a barebones Puppy to serve as a base for it, so I can make it a complete puplet.

It includes a variety of useful applications, for all common tasks:
- ELinks - a tabbed web browser with support for bookmarks, cookies, FTP, MIME-types and much more. Support for JavaScript, XBEL bookmarks, encryption, compression and other things are removed.
- CenterIM - a multi-protocol instant messaging client that supports MSN, Yahoo, AIM and ICQ. Support for Live Journal, Gadu-Gadu, Jabber and IRC is removed.
- WeeChat - a lightweight and extensible IRC client, comes with the FIFO plugin to use with the MOC script (read below), all other plugins are excluded.
- Music On Console - a feature-rich music player that supports MP3, OGG and Flac, file browsing and a playlist. Comes with the default theme and a theme that uses Vifm's colors. All other themes and support for additional formats are removed.
- Transmission - a BitTorrent client, the best there is.
- tnftp - a simple FTP client, included by default in major BSD operating systems.
- Calcurse - a personal organizer with a calendar and daily notes.
- Vifm - a tiny 2-panel file manager that integrates with Vim.
- nano - a simple text editor, support for all programming-related stuff and spell-checking is removed to make it smaller, but the vital help page and all functionality are there.
- Vim - the best text editor there is, with support for spell-checking and all advanced functionality needed for editing files, writing programs and scripting. Compiled with additional support for Python, Perl, Ruby and Tcl (it also supports C and many many other scripts and programming languages).
- htop - a process viewer with many features, such as system resources monitoring, process priority managing and process killing.
- Screen - a window manager that allows multiple terminals to run just like tabs in ELinks, for multitasking.
- Vitetris - a Tetris game, with difficulty levels and many options.
- NetHack - a dungeon exploring game. Comes with bug-fix patches, the menu colors patch, the colord HP monitor patch, the assorted YAFMs patch and several modifications to make it work well with Puppy.

All applications are compiled in Puppy standarts (i486) to ensure compatibility with older systems. Some features are removed to make applications depend on less libraries, make them thinner and faster, and lower the RAM usage (as needed libraries are loaded to RAM and kept there).

The RAM usage of Atom is 19 MB with only htop running. After running a frugal Puppy and using WeeChat, CenterIM (with MSN and ICQ), MOC (with 10, 320 Kbps VBR MP3 files), ELinks (with Barry's blog, CNN and the NetHack website open), htop, dhcpcd (a DHCP daemon for my internet connection) and Screen (with UTF-8 support), the RAM usage is 27 MB. The CPU usage doesn't go above 4%. This means that a computer with 32 MB RAM is able to boot Puppy frugally with Atom and run everything efficiently and quickly from RAM.

Another important thing I should not is that all applications are compiled without mouse support, for consistency, since some of them do not support it. Moreover, I believe that console-lovers prefer keyboard combinations.

Extras:
- Bookmarks in ELinks, that lead to application homepages and documentation.
- /usr/bin/mnp, a "now playing" script for MOC and WeeChat.
- /root/Downloads, for Transmission downloads.
- Default settings for Screen: startup message disabled, various tweaks to make it work nicely with all applications, a statusbar with a list of all open windows and a clock (a "taskbar").
- Default settings for ELinks: colors enabled, clock disabled.
- Default settings for Calcurse: the appointment key is set to p instead of ^A, because it conflicts with Screen.
- Default settings for Weechat: the default nickname is "userX" (user1, user2 ... ), automatic connection to the Puppy IRC channel.
- Default settings for NetHack: colors on, autpickup on, values for inventory, number pad on.
- Default settings for Vim: syntax highlightning on.
- /usr/bin/screen, a script that runs Screen with the -U parameter (to force UTF-8 support) and passes all other parameters. Fixes the issues with ELinks, MOC, Vifm and CenterIM. The Screen executable is /usr/bin/startscreen.
- /usr/bin/vimtutor, a script that runs the Vim tutorial, a silly replacement for the original script.
- /usr/bin/mocp, a script that runs MOC with the Kelev theme - the MOC executable is /usr/bin/startmocp.

Notes:
- The command used to run MOC is mocp, NOT moc, because that's something else.
- The "heaviest" (not heavy, just heavier than the others) applications are probably Vim and MOC.
- The reason I included both nano and Vim is that nano is supposed to be a simple editor for text files, and Vim is supposed to be a "word processor", for editing big files and programming, with extensive use of its programming-related and advanced functionality.
- Atom is designed to run in RAM, even on old systems, that's why it's so tiny.
- Vifm, Vim and NetHack share many key combinations. Your best choice is studying the Vim tutorial until you master it, then the other applications I mentioned will be alot easier to use.
- Vifm is also able to open files in Vim.
- Alsamixer is included in all Puppies, you can use it as a mixer. It is wise to set the volume slightly higher than the volume you usually use, so you can lower MOC's volume to 80% and raise it on on more quiet music.

Atom ships in 2 versions:
- A version for kernels 2.6.29 and above (Puppy 4.3 and above) - SFS4.
- A version for older kernels, for older Puppies and Retro versions - SFS3.

If you use a Puppy Retro version and downloaded the SFS4 version by mistake, you can use the SFS converter, through the utilities menu, to convert it to SFS3 and make it usable with your older kernel.

(Maybe) Interesting facts:
- All the Atom applications without Vim are just 4.1 MB. The addition of Vim makes them about 11 MB (Vim is huge, it's 21 MB after cleaning!). It doesn't really matter how big they are, unless you use pfix=copy. For example, if you run MOC from an SFS without Vim, and do this again with Vim in the SFS, the RAM usage will be identical. You only get an extra overhead of 6 MB when using pfix=ram, since Vim is not loaded to RAM when running MOC.
- I first compiled everything for i686 with O3 instead of i486 with O2, as all Puppy's packages. Everything was slightly bigger and felt somewhat slower. i486 feels smoother on my i686 machine ... maybe it's just me. Weird, isn't it?
- Yes, I use Atom. I just pick the latest Puppy, install it, run it once and open some wizard to trigger the saves thingy, make a save, reboot, add Atom to the SFS list, and use the installed Puppy with pfix=nox. When I really need xorg, I detach Screen, run xorg, reattach in rxvt, do whatever I do, detach, close xorg and reattach in the terminal.

Posted: Mon 29 Mar 2010, 04:45 Post_subject:
Re: I'd love to see this as a Puplet

sc0ttman wrote:

I think this is a great idea and would LOVE to see it made into a full blown barebones puplet, with no X..

Visited this long-lost topic ... Yes, I'm currently working on Rabbit Linux, which is exactly this thing, but an entire distro. I already made 115 MB of packages, ranging from GCC and glibc to console games. It's not a puplet, but an indendent distro with its own package manager. It uses CARROT packages

I'm currently working on the Rabbit Linux beta, which will probably come with 2 kernels, 2.6.27.45 and the latest one (currently it's running 2.6.33.1)._________________My homepageMy GitHub profile

It's an independent distro, and I don't think that Rabbit Linux packages will ever work with Puppy. The only chance of getting them to work is probably dpup and all the Ubuntu-based wooflets floating around.

It has the latest versions of everything, while Puppy has the ancient glibc 2.6 and GCC 4.2.2. Things simply won't run.

RabbIT says "RabbIt is the mutating, caching webproxy which is used to speed up surfing over slow links like modems."

Maybe try "Bunny"?

If it can be small and pxe-booted easily but support big applications saved in folders (like Skype and Opera), it will be very useful for schools, as schools do a lot of console programming like C._________________Puppy user since Oct 2004. Want FreeOffice? Get the sfs (English only).

Currently in all test builds it's Rabbit Linux and the user is "bunny". I can replace them. At least for now, it's console only, but it has a browser, IRC client, music player, etc', so it's very usable. I'm going to test Rabbit Linux on my old P3, I want to turn it into a jukebox.

I'm thinking of building "rpup", the problem is things like X that must be taken from somewhere else, at least until I write scripts to build them. I also tried all Rabbit's building scripts under 4.3.x and failed because of the old GCC ... I'll try them again on dpup, they can be useful for building cross-toolchains - you can build a toolchain with GCC 4.2.2, glibc 2.6 and whatever binutils is used by 4.x, to compile 4.x-compatible packages under dpup.

Your AtomPup sfs is not available for download anymore. I wanted to try it with Puppy Onebone. I've got an old Compaq Ipaq 500 Mhz Celeron 128mb and your sfs would seem ideal for it. Any chance of uploading again? Thanks.