Contents

Editorial



September 2017

Lately I have been playing with Kodi and glade-3. You can read more about Kodi here. Glade has been around for quite some time. Glade is an IDE for creating Graphical User Interfaces. It's a drag and drop builder which is reasonably easy to use. I must admit the first of my ten or twenty attempts ended in failure. I find it one of those applications that keeps pulling me back. It looks easy to use therefore it must be. It's like many things, once you get your head around the terminology half the battle is over. For the first time, the other day, I think the penny has finally dropped. I still have a long way to go but I am now enjoying the journey. If anyone is interested I am happy to write about my findings. I would also welcome anyone who has knowledge of glade to help me along the way.

I thought this month was going to be a bit light on content, apparently not.

This month I've included a short article about the Wayback Machine. This is an amazing resource. Just this morning I was reading about some lost information about Puppy's Goals, maybe not.

A bit more on last months mystery bio and a comprehensive compiling recipe for Seamonkey-2.48 by Barry Kauler.

Cheers

smokey01

Distro's

The Puppy Linux Discussion Forum is the main source for a lot of the information repeated here. Where appropriate, links will be provided so you can read first hand about the distribution development. This section will likely just provide highlights as a starting point.

Stretch

Developer fredx181

There are some interesting things happening over at http://www.murga-linux.com/puppy/viewtopic.php?t=111199. It's called Create Debian 9 (Stretch) minimal ISO similar to DebianDog.

From what I understand, with just a quick look, it's a quick way to build a pup similar to DebianDog. There has been quite a bit of activity as the forum thread only started on the 01 August and 11 days later the thread had grown to 13 pages. Looks quite interesting. Well done to fredx181 and his supporters.

Slacko-5.7

Developer 8Geee

This one snuck in under my radar. I thought it was an old version of slacko and ignored it, sorry 8Geee.

Slacko5.7 mini-eee annd EONS is based on an older slacko but is aimed at the eeePC.

Slacko 5.7 was and still is a great distro. If you have an eeePC then this is worth a look.

Too often many people want to fix something that's not broken. Many want to upgrade just so they have the latest and maybe the greatest. In my opinion, upgrade when you need to. One reason for upgrading your software is when you upgrade your hardware. Some of the later hardware is not recognised by older software. In these situations it is sometimes easier to upgrade your distro rather than compile new drivers.

Software

A few CLI Commands

Kodi - Multimedia system.

CLI commands

Written by smokey01

CLI commands are entered in a terminal. I've mentioned this in the past but if you're not sure what a terminal is double click here.

A few really nice tricks to use in the terminal are: "the cursor up arrow key", "The cursor down key" and "Ctrl+r keys".

Every command you type in a terminal is saved to a file called .history. Notice the preceding dot. That means the file is hidden. To see the file click on the eye on the tool bar in Rox. To read these commands back into the terminal just press the up or down cursor keys. The up key looks at the most recent commands displaying latest to oldest while the down key displays in the opposite direction.
This is pretty handy but what if you are looking for a command you typed a few days ago. Lets use an example.

Last month I know I typed a yad command to display a yad dialog but now I can't remember the syntax. It's reasonable to assume the command was something like "yad --" as this is they way they all start. Open the terminal and press Ctrl+r, now type "yad --" you should see a yad command but it may not be the one you want so keep pressing Ctrl+r until it appears. Once it appears, press enter to run the command.

Kodi

Written by smokey01

Kodi is an amazing multimedia application. It started life a XBMC (Xbox Media Centre).

Kodi is quite overwhelming which it makes it quite difficult where to start talking about it. Let me start by showing you what it can look like. I say can look like because it is very configurable and you can make it look any way you like. There are literally hundreds and thousands of people who have their own setups in Kodi which are known as Kodi Builds.

Below is an image of Wookie-Ezzerman. I think it's very well done. Moving the mouse around the screen does some amazing things.



Builds come with many plug-ins already installed which saves you a lot of work. Just pick one that suits you.

There have been a few people providing Pets and SFS on the forum so you don't have to build the Kodi package yourself.

Kodi-16.1 for tahrpup64

Kodi-17.3 for various distros xenial64, xenial32, tahpup64 & 32

Kodi-17.3 for Fatdog64-710

A really good resource for Kodi is: http://bestforkodi.com/?

CatDude, with a little help from yours truly, has developed a launcher application so it's possible to run multiple Kodi builds, not at the same time but you can switch between them. It provides functionality to create new ones on the fly, delete them and kill those stubborn buggers that won't die.

Here's a sneak preview of the KBS (Kodi Build Switcher).



Tutorials

An alternative setup by Terry Schuster.

The Wayback Machine by smokey01.

Alternative Setup

Written by Terry Schuster

Alternate Setup: Puppy OS on USB with Large Personal Storage

I have been introduced to Puppy OS (and Linux) just this year and have taken some months to determine how best to use the Puppy system in my situation, where I needed a platform for recording and editing audio; booting from a USB. Yes, it would have been better to dual boot puppy on a HDD but there are other restrictions on my system.

Because quite large sound files are generated, I needed as much storage space as possible. As I also downloaded and managed the odd Linux ISO on the same system, I needed a decent amount of storage to download and unpack these large files too.

Formatting the USB drive to FAT32 gave me only 4Gb of personal storage space; the file size limit in the drive. I tried formatting the drive in ext2 or ext4 but found the Puppy Installer did not successfully install/run Puppy on the USB under any of the options.

However, there are effective ways to format the USB drive and then load the Puppy ISO so as to maximise personal storage space, but none are all that straightforward. One approach was detailed in the August article by bigpup. I thought an alternate approach might be useful, and might encourage beginners such as myself to have a go at booting puppy from a USB. It is well worth the effort.

The steps are as follows:

1. Download the required Puppy ISO. This can be done in Windows or in Linux.

2. Access a Linux based operating system.
This can be a LIVE CD of Ubuntu or even Puppy Linux.

3. Download UNETBOOTIN. This can be downloaded in most linux systems by using sudo apt-get install unetbootin in the terminal, or by using a package manager. (the Windows version of UNETBOOTIN is unsuitable for this purpose)

4. Download GPARTED. This can be downloaded in most linux systems by using sudo apt-get install gparted in the terminal, or by using a package manager.

5. Use Gparted to unmount the current FAT32 or existing partition on the USB
Use Gparted to delete the existing partition on the USB.

6. Use Gparted to format the target USB in one single ext2 partition.
Use Gparted to set the partition flag to boot.

I actually leave about 500Mb unallocated at the end of the USB to allow for potential cloning of the USB using CLONEZILLA, as I have found not all USBs are the same size in practice.

7. Use NETBOOTIN running under Linux to load the puppy ISO to the USB. The program will ask for a choice of installer parameters, which is a bit of a trial and error process. However, it should generate a puppy OS which can use the full size of the USB for personal storage.

8. Booting the USB involves accessing the boot menu on startup, usually by pressing the F9 or ESC key. The action varies according to the computer, but in my experience, the USB must be selected under the HDD options, where its USB name (eg Sandisk Cruzer 16Gb) will then appear.

In my case, I installed TahrPup 6.0.5 on to a 16Gb Sandisk Cruzer USB, giving me at least 12Gb personal storage space; effectively all of the free space on the USB drive.

Wayback Machine

Written by smokey01

Do you find it frustrating when looking for a file or a website only to discover it no longer exists. Unfortunately websites disappear for many reasons. But wait, not all is lost, there's the Wayback Machine. As it says on the main page "Explore more than 302 billion web pages saved over time". The really nice thing about this is files are often saved as well. This is what my web site looks like now but what did it look like a few years back?




In the Wayback Machine search box type smokey01.com.


You should be presented with results as above. It's easy to see when my site was first indexed. Below you will see a calendar that shows on what days the indexing took place. Try clicking (Ctrl+Click to open in a new tab) on 2010 then 20 Oct. Back then it was a blog. Now lets move forward to 18 Dec 2014 and you will see some differences.

Remember russoodles site http://meownplanet.net/. The old site no longer exists but you can still see it in the Wayback Machine. Go ahead try it.

I just tried looking at the 05 May 2014. I then looked at 10wt3ch files and attempted to download transmission-2.42.pet. It worked.
The full link the the file: https://web.archive.org/web/20140425161530/http://puppylinuxstuff.meownplanet.net/10wt3ch/transmission-2.42.pet

I wouldn't expect to find large files like ISO to be available, but you never never know if you don't give it a go.

Many people likely know about the Wayback Machine but I'm sure there will be many that don't.

Enjoy the history.

Biography

Last month I didn't disclose the name of the mystery BIO. For those of you who thought it was prehistoric, you were correct. A very interesting person with an amazing history and raft of knowledge. Thank you prehistoric for allowing me to include a piece of your life.

ally

Written by smokey01

This month I wanted to recognise all of the good work that has been done by Puppy Linux Discussion Forum member ally. Ally joined the forum in May 2012. Although this was not that long ago, he has been very busy. Ally has done some wonderful work by creating a repository full of Puppy Linux distributions and software. Ally's site has become the one stop shop for many things Puppy. If you can't find the distro you're looking for on his site, it may not exist.

The search facilities are very good. As an example type puppy-431 into the search field and press enter. You can view the results as icons or lists. If you prefer you can search by the developer name: EG: ttuuxxx.

Excellent work ally, may your work last for ever.

------------------------------------------

Written by ally

I am a single parent closer to 50 than 40. I live near Lincoln in the UK and due to poor health I'm no longer active in the work force.

I was introduced to puppy when my brother sent me a disc of Puppy 4.12, I used it many times to fix windows installations until the penny dropped and I went puppy full time only needing a windows laptop for my commercial hearing audiologist software

I had a socket 945 tower and thinkpad t61 at the time and favoured slacko 5.3.3 and used to carry a USB to recover files from friends PC’s when windows went tits up. I continue to keep thinkpads and am now using an x230 with xenialpup64 and a t500 with tahrpup, a minor annoyance is the lack of screen control which appears to be broken in later kernels

I also have my daughter's university t21 that comes out now and then and running puppy (slacko 5.3.3) is still surprisingly capable.

I purchased an eeepc 701 and after some hunting discovered jemimah’s stunning puppeee.

Trouble was her website had expired and a lot of files were lost, I discovered that pages were mirrored on the fantastic archive.org Wayback machine and managed to recover all but 2 files (I think), this is what started my obsession with collecting puppies, it was such a shame that all that hard work was wasted.

I am now on my third hard drive for ISOs having recently purchased a 3TB, I have given up trying to store everything, being on a disability pension restricts my spending power.

I used to catalogue the ISOs on a spreadsheet and gave up doing that around the 3000 mark, I am over 4000 now.

I contacted a few universities in the hope of being able to host files, without success, and found that I could upload to archive.org to share. The last request I made for stats showed approaching 2Tb of files and I mirror all puppy files I can find. If you have a repository that I haven’t covered please get in touch.

Thankfully I have discovered the wonderful wget command and back in the day I would sit there pressing button after button to do the downloading, it was mind numbing boring and used to take me hours, I still spend around 15-20 hours a week mirroring and have a 150Mb connection to facilitate it costing around £600 a year. I have seen my pension allowance fall steeply recently so I may not be able to cover this for much longer.

My health problems cause me to struggle to commit to memory stuff I learn and wish I had greater abilities to contribute to puppy and its wonderful community but I’m grateful to do what I can with the mirror.

cheers

ally :)

prehistoric

Written by prehistoric, last months mystery bio

Aye, me mateys, you're too clever for poor prehistoric's simple disguise!

I must warn people that I am more interesting at a distance than in person. These days I spend most of my time lying down, and wondering where I put things. The decrease in my working memory is embarrassing, and I wonder that medical doctors don't pay attention to similar problems until people become unable to care for themselves. This is one cause of long-term disability it would make great sense to prevent.

At one time I quite literally demonstrated a "digit span" of 36 digits, heard once. A psychologist was sure I was cheating, though he had no idea how. When this decreased dramatically I couldn't find a medical doctor who seemed concerned.

I've nearly reached the biblical "threescore and ten" of a "righteous man", (though I'm hoping to slip in a few extra years since I haven't been entirely righteous.) I've already outlived most of my relatives. Since the 1970s I've had the feeling of living on borrowed time. My Army experience had a little to do with this.

BTW: I also have experience with a certain DMZ which happens to be in current news. The true situation is at least as bizarre as it sounds, but you don't have to worry about going to war. Technically we have been at war since 1950, though it was called "a police action". A cease fire is not peace, and even that has been broken from time to time. I got hostile-fire pay there in 1972.

This military experience also gave me the habit of asking embarrassing questions. Many people have complained that I am unreasonable or negative, and not at all simpatico. Myself, I still think I tend to avoid personal conflict in cases where it might make sense to others. Not a natural rebel, it was only survival pressure that forced me to change. I will present some examples to show how such extremely narrow experience can be generalized.

Anyone who has dealt much with artillery should know that it is a very blunt instrument, even assuming you know what you are doing with it. That assumption cannot be taken as given. As an example of how this can fail, I present an exercise in aerial observation for which I was computing fire direction at the artillery school when the pilot/instructor got the radio/intercom switch mixed up, so that we heard what he said to the student in the back seat. We had fired three volleys at places that didn't make much sense to me, when everyone on the range heard him ask the student "now have you identified the target?"

The generalized rule from this example: are you sure you know what you are trying to do? If not, you are very unlikely to achieve it, and much more likely to cause "collateral damage".

Still more embarrassing is an example of a "can't happen" situation in real life, (or as real as military life ever is.) One safety officer on a training shoot was determined to use a set of numbers handed to him "by the Major", (reasoning from authority.) These numbers applied to firing point 11, but this worthy was standing on firing point 12, hundreds of meters away. (No, there was nothing simple like a neat sign.) Firing point 11 had been slightly underwater, and no one had told him about the diversion. It didn't matter much if this individual was lost, but it did matter where the battery of six cannons he had with him were located. (Most of the time artillery operates in "indirect fire" mode without gunners actually seeing a target. Correct numbers really matter then.)

Generalized rule from this example: do you know where you are starting from? If not you are going to have a much harder time planning your route to any destination. This is the kind of question too many people fail to ask.

Corollary: reasoning from authority depends on the context in which even a good authority operates. Untrustworthy authorities also exist.

(Untrustworthy authorities can be personally useful, as in the case of some hold baggage orders stamped VOCG.)

Reference directions are another thing to check. It is always handy to be able to tell if you are ass-backwards. (Yes, I've seen this in artillery. It is called a 3200 mil error for NATO guns, a 3000 mil error for Soviet designs. It is not limited to guns, I know of a missile which landed in the wrong country, but that is another story.) Naturally, asking such questions is likely to anger people who are not making this particular mistake -- at the moment.

Enough of this ancient stuff! Very few of the things you program are likely to explode or fall from the sky. What does this have to do with software development? Well, for one thing that involves people, and people tend to make unpredictable mistakes in highly predictable ways.

Aside: every program should have lines that print "can't happen". You will need to number them to tell which impossibility has occurred.

Confession: for many years I felt embarrassed by my inability to assign a hard real-time bound to things that happened in interrupt systems. (I was working on "hard real-time" systems where worst-case analysis was critical.) My early experience on that 1401, which did not do interrupts at all, may have been responsible for me treating interrupts as new and untrusted.

I could say I was writing operating systems, but this would give the wrong impression. I was writing very special-purpose control programs. They would definitely not serve to execute arbitrary user programs. After years of this, I confessed to a man who had written some real operating systems that I couldn't avoid having a case where the program couldn't figure out any reason for an interrupt, and pretended it had not occurred. He told me that was true of all of his OSes.

How can anyone build a logically consistent system on such a base?

Well, I couldn't, and didn't try in critical situations. In a number of systems, I disabled the interrupts during initialization, and left them off. I felt guilty about not being bright enough to figure all these fancy things out. Then, I got a chance to read code produced by the Danish real-time expert Per Brinch Hansen.

Naturally, I looked for the magic method he had for dealing with modern interrupt systems. He had turned them off.

There are problems with having a wide range of operations handled by interrupt hardware before you even reach any programmable code. An example surfaced long before I was associated with the Space Shuttle, even in my lowly capacity. During the first drop test of Enterprise there was a broken sensor which flooded the control system with spurious data. Since it is impossible to fly a Shuttle without computers, they were lucky that a critical part of the code operated by polling. The public didn't find out how close they came to losing it until later.

This is not the most spectacular example I've seen. A missile with a broken rate gyro would claim that distinction. Few people had any idea of what a maximum-rate turn looked like before the test. Afterwards, it was much easier to get people to remain in bunkers during a test launch.

An example of a timing disaster which did not happen, but tried to, took place during the Apollo 11 lunar landing. They kept having to ignore program alarms 1201 and 1202. You might also check the computing power available to run that code.

Aside: How can you have real-time systems without interrupts? Check out the design of the CDC 6600, in which all transfers of control were programmed. The sneaky thing here is that they were not necessarily programmed on the processor where they took place. This was quite popular for scientific timesharing at one time. The real-time primitive operations were simple and reliable enough that critical parts of the OS were written in raw octal before programming tools were available. This is in stark contrast to OS/360 which arrived a year after the hardware, even after a massive programming effort. (Check out Fred Brooks' The Mythical Man Month. The principle at work is called "nine women, one month".) Even then it did not really do spooling, as marketing had promised. Another substantial effort produced the Houston Automatic Spooling Program (HASP) to remedy that omission for NASA.

Many years later a friend of mine worked at a company using IBM 370s with special data channels to deal with large numbers of telephone data lines. He worked in a large bullpen with quite a number of full-time programmers, he also had to wear a pager constantly to deal with system failures. Personally, I don't feel that this system was ever debugged.

American Airlines implemented its original SABRE on-line reservation system using the IBM 7094. It wasn't perfect, but it could be understood. This worked well enough, and the prospect of rewriting software for more modern machines was so daunting, that they began buying 7094s other companies were retiring. University timesharing systems like TENEX were regularly implemented on the DEC PDP-10 without a struggle. The GE 645 on which MULTICS was implemented was another complicated system, and UNIX was created as a reaction to the ordeal required to make MULTICS work. MULTICS was also far behind delivery schedule, and ultimately wrecked GE timesharing business. There were real innovations, but the complexity got out of hand.

Generalized rule: complexity is a killer, and every individual and organization has a limit, just as every mechanical beam has a breaking load.

Questions about the effect of increased computing power keep arising in my experience, and I wonder about all the cases I have seen in which people debugging systems merely made bugs less likely and harder to find by using faster processors. When possible, I have actually lowered clock rates to make real-time program bugs easier to find.

By some measures we should be living in a world where real-time bugs are nonexistent, considering how much more capable modern devices are than the ones I started with. Your mouse and keyboard, or Bluetooth earpiece, likely contain processors more powerful than some I've programmed, and that without the complication introduced by program memory on a drum or fixed-head disk.

(The original X-15 flight computer had drum memory, with a clever means of recovering from power failures by constantly writing contents of working registers to special recovery tracks. I didn't work with that, but I did work with the M18 FADAC, which had the same design philosophy using a fixed-head disk. There must have been some ancestral design for both of these I don't know about. BTW: I was just reminded FADAC, used to calculate trajectories, did not have floating point arithmetic.)

(In my experience you had a 50/50 chance FADAC would pick up a computation after a power failure. Power was something of a problem since it required 3-phase 200 volt AC at 400 Hz -- for a transistorized machine. (?) This might be easy to find in some aircraft, but on the ground required a special generator which weighed more than the computer. This generator also made it easy to find which bunker to blow up to stop artillery operations. We preferred using slide rules, which were faster anyway. FADAC, like ENIAC, computed trajectories in 2/3 the actual time of flight.)

Early on at later job we faced a problem with the cost of "debounce" circuits for pushbuttons in a simulator which had many. By reducing the human interface activity to a polling loop run every 8 milliseconds we eliminated contact bounce and the need for special circuitry, and got reliable real-time responses from human inputs. If it didn't catch a change in this cycle, it would catch it next time around, after the bounce had stopped. By experiment, I determined that people could not even tell if a light in a pushbutton was delayed until the delay reached around 30 ms. Other human interface interactions seemed natural with delays of 100 ms. and some even stretched out past 300 ms. So why were we worrying about microseconds or nanoseconds?

This continues to bother me today when I have a tablet with 4 cores, (each more powerful than that entire ancient real-time system,) which locks up on user input about once a day of constant operation. You could dedicate part of the processing on one such core to polling things that humans can change every few milliseconds, and never have input lockup.

Given the opportunity and resources, people will often seek to bury problems instead of eliminating them. More computing power simply makes it possible to increase complexity to the point that no human can tell what is going on, which means the people responsible probably cannot be personally blamed. This is only an advantage when the organization is large enough to diffuse responsibility.

All this fits in with more of my lessons learned from narrow experience with artillery, which prompts me to slip in a few more examples of "can't happen" from artillery.

When guns are trailed behind trucks on the road the barrel is closed with a muzzle plug or cover to keep stuff out. Failing to remove this before firing is a well-known error. It still happens. Modern muzzle plugs are therefore made of soft rubber. They are consumed at predictable rates.

Fuses are screwed in just before artillery shells are fired. Without a fuse it is hard to make a projectile explode. (I've seen them fly many kilometers, and bounce off solid granite.) You do not want to leave the fuse loose in the threads, because it will screw in suddenly and slam down when the rifling rotates it. In the worst case the tube will get peeled like a banana. Seen that.

Aphorism: Hindsight is not a good long-term survival strategy.

Muzzle velocity is an important variable that depends on powder temperature. One clue that savvy old artillerymen notice is a gun crew which keeps reporting the same temperature as the day warms up. You can safely bet they have just fired a powder thermometer. I've seen a correction due to temperature of 300 meters range. Errors of kilometers are possible. This is not "close enough for government work".

Again, there is also a common general belief that everyone near a target is some kind of enemy. You might consider that your own forward observer calling in fire has to be within sight in order to adjust fire. As someone who also qualified as an observer, I had a low opinion of that common general belief based on my purely selfish preference for survival. I was also leery of adjusting fire when I was on the gun-target line, though sometimes this is necessary. These were not purely hypothetical concerns.

(Besides being surprised to reach old age, I experience fresh surprise each time I lie in a bathtub and see that I have all my fingers and toes.)

At one point in Catch-22 Yosarian exclaims "Those people are trying to kill me!" when he sees hostile antiaircraft fire. He must have been a trusting sort who didn't worry about people on his own side. ("Tell that pilot to break off his weapons run, he's lined up on the wrong mountain!". Thank goodness for sharp Forward Air Controllers.)

Generalization from such narrow concerns to more familiar situations may seem difficult. If defects in human information processing create such situations when life itself is at stake, including the life of the person making the mistake, you can be certain all kinds of defective thinking will turn up in less crucial contexts where nobody checks.

My aphorism for this is borrowed from Robert A. Heinlein: "Humans are not rational animals, they are rationalizing animals." Ecce Homo.

All the above deals with humans who are trying to at least pretend to rational behavior. I have a whole new class of anecdotes for situations well beyond the edge, like chasing a drunk driving a fully-loaded ammunition truck.

Aphorism: Crazy is often closer than anyone suspects.

Crazy is not always easy to identify, like the colonel's driver who came to the Army after he "tuned in, turned on and dropped out" in Haight-Ashbury. He was very easy to get along with, but did experience flashbacks. He had the wondering expression of a child for whom everything is new. The Colonel interpreted this as a positive attitude.

Finally, there are cases that don't fit comfortably in any classification, like one my father told me after he retired. As a young engineer he had been sent to check out a man who claimed to have a working antigravity machine. When he plugged it in, it vibrated and moved across a table, even though there were no external wheels or feet, and no magnets underneath. You could feel it pushing against your hand.

The inventor wouldn't let him see inside it, but would allow him to attach motion sensors. When my father took the strip charts back to the office, and used a planimeter to integrate them, they revealed that everything cancelled out over a cycle. Why this seemed to work is an interesting question. It was only when dad described this in detail that I realized he was talking about the Deane drive.

Still think you can tell truth from fiction? After enjoying the book The Starship and the Canoe I lent my copy to a friend. He thought that parts were good, but was annoyed with "all the crap about propelling spaceships with atomic bombs". I had to tell him that [url=https://en.wikipedia.org/wiki/Project_Orion_(nuclear_propulsion)]Project Orion[/url] was indisputably real, but was stopped because of nuclear test bans.

Reality, what a concept!

Compiling

This is a good section to discuss how to compile software. Compiling is not everyone's cup of tea but the more people that can manage it, the longer life Puppy will have.

The hardest part of compiling is the build recipe as there are so many options. Let's include some proven recipes here.

Seamonkey 2.48 provided by Barry Kauler

Seamonkey 2.48

Written by Barry Kauler - Copied from Barry's Blog

How to compile SeaMonkey 2.48

I have received a request, how to compile SeaMonkey 2.48.

This is a useful read:
http://www.linuxfromscratch.org/blfs/view/cvs/xsoft/seamonkey.html

Get the 'hotfix.patch' from here:
http://svn.exactcode.de/t2/trunk/package/www/seamonkey/hotfix.patch

This is what I did:

# patch -p1 < ../hotfix.patch

# CFLAGS_HOLD=$CFLAGS

# CXXFLAGS_HOLD=$CXXFLAGS

# EXTRA_FLAGS=" -fno-delete-null-pointer-checks -fno-lifetime-dse -fno-schedule-insns2"

# export CFLAGS+=$EXTRA_FLAGS

# export CXXFLAGS+=$EXTRA_FLAGS

# unset EXTRA_FLAGS


This is my mozconfig file. Note that I used system pixman, however pixman spits out error messages, non-fatal, but you might want to consider using SM's internal pixman library: "--disable-system-pixman"

I did not use system nspr and nss, as in Quirky 8.3 (based on Ububtu 16.04.2 DEBs) they are too old.

Here is 'mozconfig':

mk_add_options MOZ_MAKE_FLAGS='-j1'
mk_add_options MOZ_CO_PROJECT=suite
ac_add_options --enable-application=suite
ac_add_options --enable-system-hunspell
ac_add_options --prefix=/usr
ac_add_options --host=x86_64-pc-linux-gnu
ac_add_options --disable-dbus
ac_add_options --disable-accessibility
ac_add_options --with-system-bz2
ac_add_options --disable-updater
ac_add_options --disable-parental-controls
ac_add_options --disable-system-sqlite
ac_add_options --disable-system-cairo
ac_add_options --enable-strip
ac_add_options --without-system-jpeg
ac_add_options --with-system-zlib
ac_add_options --disable-tests
ac_add_options --with-default-mozilla-five-home=/usr/lib/seamonkey
ac_add_options --enable-default-toolkit=cairo-gtk2
ac_add_options --disable-crashreporter
ac_add_options --with-system-libvpx
ac_add_options --enable-gio
ac_add_options --disable-necko-wifi
ac_add_options --disable-gconf
#ac_add_options --with-system-nspr
#ac_add_options --with-system-nss
ac_add_options --enable-ldap
ac_add_options --with-system-icu
ac_add_options --disable-pulseaudio
ac_add_options --enable-alsa
ac_add_options --enable-system-ffi
ac_add_options --disable-gnomeui
ac_add_options --with-pthreads
ac_add_options --enable-system-pixman
ac_add_options --disable-debug
ac_add_options --with-system-libevent
#ac_add_options --disable-libjpeg-turbo

Just put 'mozconfig' into top-level of source code, then off you go:

# make -f client.mk

Before installing, if you already have /usr/lib/seamonkey-2.48 and seamonkey-devel-2.48, /usr/share/idl/seamonkey-2.48, and /usr/include/seamonkey-2.48, rename them to something else. then:

# make -f client.mk install

Make sure that /usr/lib/seamonkey is a symlink to seamonkey-2.48, and check that /usr/bin/seamonkey is a symlink to /usr/lib/seamonkey/seamonkey or /usr/lib/seamonkey-2.48/seamonkey

Then run "seamonkey".

Or, if you want to make a pet, use 'cp -a' to copy out all of those target directories, before running seamonkey (when seamonkey runs, it actually writes into /usr/lib/seamonkey-2.48, or at least it used to, so grab the pristine files before first run of seamonkey).

Tidy up: if creating a PET, good to use an existing PET, such as mine, as a template. Note, delete the dictionary files, as all pups have hunspell, and delete the 'modern' theme -- again, look in my PETs.

Get my PET from here:
http://distro.ibiblio.org/quirky/quirky6/amd64/packages/pet_packages-xerus/seamonkey-2.48-xerus64.pet

If you have Quirky and maybe a very recent pup, it will have 'pet2dir' utility, so just do this to expand the PET to a folder:

# pet2dir seamonkey-2.48-xerus64.pet

If your pup does not have this utility, then do it this way, which will give an error message, but works:

# tar -xf seamonkey-2.48-xerus64.pet
Posted on 5 Aug 2017, 9:17 - Categories: Linux


Comments:
SM needs autoconf 2.13 Posted on 5 Aug 2017, 9:31 by admin
Forgot, SM also needs 'autoconf2.13' to compile. I forgot, because already have it in Quirky 8.3. It is available from the Ubunu and Debian repos, for example:
https://packages.debian.org/stretch/autoconf2.13

In any Ubuntu or Debian -based pup, just use the PPM to install it.

You can also follow these instructions at LFS:
http://www.linuxfromscratch.org/blfs/view/cvs/general/autoconf213.html

Scripts & Code

This month I've included a few different dialogs available in Puppy.

Dialogs

Written by smokey01

There are times when you may need to make a small dialog. What is a dialog? A dialog is a movable window that is displayed on screen in response to the user selecting a menu option. It provides the current status and available options for a particular feature in the program.

Many applications in Puppy Linux are made with one dialog or another. Probably the most common is gtkdialog however, there are others like Xdialog, dialog, yad and zenity. It's a personal preference on which one you use. For quick pop-up messages I like to use Xdialog or xmessage. For the more complicated GUI I like to use gtkdialog. They all have their strengths and weaknesses.

To give you a bit of an idea I have provided a few examples. The first one is Xdialog.

Xdialog --msgbox "This is an Xdialog example" 0 0

If you type Xdialog without any parameters you will get some help.

Let's have a look at xmessage. It's not as pretty but it does serve a purpose. Typing xmessage without any parameters displays some help.

Although zenity is still available it has almost been completely replaced by YAD (Yet Another Dialog). Yad has more options but the syntax is very similar.

The next example is yad and it won't run unless yad is included in your version of Puppy. If it's not, it will likely be in the Puppy Package Manager. Failing that, look at the January 2017 Newsletter under compiling where it will explain how to compile your own.

yad --text="This is a yad dialog" Type yad --help in a terminal for help. Yad has a lot of predefined function for example lets have a look at the calendar function. yad --calendar



A good place to learn about yad is on the Puppy Linux Forum: YAD tips.

The last dialog I will mention is gtkdialog. This really is a powerful tool. You can get a bit of an idea how widely it is used here: http://www.murga-linux.com/puppy/viewtopic.php?t=69282

Below is a simple example that displays similar output to those previously mentioned.

#!/bin/sh

[ -z $GTKDIALOG ] && GTKDIALOG=gtkdialog

MAIN_DIALOG='
<window>
<vbox>
<vbox border-width="30">
<text>
<label>This is a gtkdialog example</label>
</text>
</vbox>
<hseparator></hseparator>
<hbox homogeneous="true">
<button ok></button>
</hbox>
</vbox>
</window>
'
export MAIN_DIALOG

case $1 in
-d | --dump) echo "$MAIN_DIALOG" ;;
*) $GTKDIALOG --program=MAIN_DIALOG ;;
esac


To make this run you have to paste the text into geany and save it. Then make it executable, right click on the file you saved, select Permissions then click on the Yes button. You should have noticed the filename change from black to green. If you click on the file, a dialog should pop up that looks like this:



There is a very good thread on gtkdialog here: http://murga-linux.com/puppy/viewtopic.php?t=38608

Tips & Tricks

Tips & Tricks are simple little actions you can take to make your life easier when using Puppy. You will probably know most of the tips but there are always new users that don't.

Bigpup submitted an article on Grub4dos last month but somehow I missed it, sorry bigpup.
It's included in this edition.

Rox filer

Written by smokey01

Rox is a single pane file manager which does not suit everyone's requirements. If you want two or more panes simply open more instances of Rox and drag and drop files between them. Again this can be a little restrictive so here is a solution.

The image below displays my Newsletter working directories.



If I click on any directory, Rox enters that directory. To copy a file from the 08-Aug2017 directory into to the 09-Sep2017 doesn't have to be difficult. Click on the directories with the middle mouse button or scroll wheel. This will open a new Rox window in that directory. In other words you will now have two Rox windows open so you can drag and drop files between them.

Bookmarks

Another handy tool in Rox is bookmarks. If you have various locations that you visit regularly then it's probably worth book marking them. I'm a shocker, I always seem to be digging my way through the file system looking for something.

Note the red square on the Rox toolbar image below.



just click it and Add New Bookmark and they will all be there when you need them.

Viewing Notecase

Written by Minnesota

Display the newsletter on the screen, Ctrl-A (copies everything to the clipboard), Ctrl-C (paste it all) to a document. Sometimes reformatting a bit is required to line up page breaks.

Works great.

Once formatted it could then be printed to paper or a PDF.

Notecase

Written by smokey01

Node Properties provides a few more bells and whistles for Notecase. Two ways to access Node Properties are:
Right click on a node or select Tree on the menu bar and choose Node Properties.



A few interesting things can be done here. Let's look at each feature separately.

Title: This displays the current node title or name. It can be renamed here if you wish.

Created: This can't be modified but it does display created and modified dates of the node.

Icon: This allows you to display an icon left of the node. Default is none, Selecting the Internal radio button
provides a combobox list of internal icons EG: blank, folder, help, lock, new_dir and recycle.
Notice the icon on this months Newsletter Information. You can also add a custom icon but if you are
going to share your notecase file ,the icon link may break. In this version of notecase the icon is
not embedded like images.

Tags: You can add some tags to the node for searching purposes. When you press Ctrl+F to search, the
following dialog appears:



By default it searches Node title and contents. Clicking on the combobox gives you an option
to search the Node Tags.

Mark Node as Completed: This puts a strikeout through the node name. If you are reading the newsletter
and strike each node as you read it, you will know where you left off reading if you are interrupted.

Source Language: This is pretty cool. The combobox provides a huge list of programming languages.
This will provide syntax highlighting to your code. For example: below is a bit of code written in C.

#include <stdio.h>

main ()
{
int answer;

answer = "365*24*60*60";

printf("Answer is: %d seconds in a year. \n", answer);

return(0);
}

Notice how it is displayed in one colour, black. If you create a node with C code then you can add syntax highlighting like this. I'm not too excited about the colours either but it helps when writing code. Next month I will show you how to change the colours.

Code

#include <stdio.h>

main ()
{
int answer;

answer = "365*24*60*60";

printf("Answer is: %d seconds in a year. \n", answer);

return(0);
}

Grub4dos

Bigpup submitted this article last month but somehow I missed it, sorry bigpup.

Written by bigpup

Change Grub4dos bootloader default auto boot

Grub4dos bootloader will auto boot a selected entry in the menu.lst.
By default it is setup to auto boot the first entry.
This can be easily changed by editing the menu.lst file.

In Rox file manager.
Locate the menu.lst file. (usually located on the first partition of the storage device)
Open the menu.lst in a text editor.
At the top is an entry:

timeout 10
default 0

The default is what menu entry to auto boot.
The first entry is 0, 2nd is 1, 3rd is 2, etc.....

Example:
To auto boot the 3rd entry.
Change default to 2.

The timeout controls how long to delay before auto booting.
This is a time in seconds.
The default is 10.
Change it to whatever you want.
Suggest keep it set to 5 or higher.

If too fast, you will have no time to select other menu items.

The Forum

When I say the Forum I mean the Puppy Linux Forum.

Recently MochiMoppel posted about a better way to view pages in the forum. Read about it here: http://www.murga-linux.com/puppy/viewtopic.php?t=111347.

All you have to remember is: &ppage=n where n is the number of topics or threads.

This is very useful, thanks MochoMoppel.

Entertainment

The September crossword by greengeek.

A little humour to tickle your funny bone.

Student: I don’t understand why my grade was so low. How did 
I do on my research paper?

Teacher: Actually, you didn’t turn in a research paper. You turned in a random assemblage of sentences. In fact, the sentences you apparently kidnapped in the dead of night and forced into this violent and arbitrary plan of yours clearly seemed to be placed on the pages against their will. Reading your paper was like watching unfamiliar, uncomfortable people interacting at a cocktail party that no one wanted to attend in the first place. You didn’t submit a research paper. You submitted a hostage situation.

I’m at the library, and for some reason, when I plug my flash drive into the computer, it doesn’t show up. I keep trying, but nothing happens. As an IT major, I know I can figure this out. So I spend 15 minutes changing settings and inserting and removing the flash drive. Then a girl sitting next to me taps my shoulder and says, “You’re plugging into my computer, not yours.”

A few funny computer tech support stories.

Crossword

Puppy Crossword
(Formatted by greengeek using the "Puzzlefast" website)

What's my baby called?

This month the crossword is aimed at the younger members - can you name the young of the following animals?
Clue: a baby dog is called a puppy. (that's the answer to clue 22 down !)
Can you work out the names of the babies of other animals?

(See clues below image)








Scroll further down for answers:








Letter to the Editor

Puppy Passion part 2 by Mike Walsh.

Puppy Passion

A consuming passion with Puppy written by Mike Walsh

A Puppy 'nut's' confession

I never thought I would ever reach the point, with any operating system, where I couldn't imagine life without it.....and look forward to using it each and every day. But, doggone it, that's exactly what's happening with Pup..!!

Sounds a wee bit obsessive, doesn't it? :o

Puppy gets under your skin. Don't ask me how, but it just does. The silly thing is, it's got to the stage where I enjoy installing, and setting-up a new Pup, almost more than I do using it... How sad is that?

It all started (for me) with Tahr 6.0, back in November 2014. I'd been looking for a Linux distro that was small & light, suitable for use with an elderly P4-equipped laptop from 2002.....which also happened to be saddled with what had to be the world's most awkward graphics adaptor, the 'Brookedale'-cored, 82845-based, Intel 'Extreme' graphics chip. Talk about a PITA..! The daft thing is, that even though it needs a lot of messing around to make it work, when you do get there, the 15-yr old chip still gives a wonderfully clear, crisp display.

Everything I'd tried up to that point refused to do more than show a display squashed into a corner of the screen. I know now that it's all to do with xvesa, vga, and xorg (in no particular order), as well as how to fix it.....but 3 years ago, it was like so much 'black magic'!

With the very first boot of Tahrpup from a USB, I knew I'd found what I'd been looking for. There, staring back at me, was a clear, sharp, full-screen display.....for the first time in months. I felt like dancing round the room. Okay, Linux is free to d/l, install and use.....but you do have to put more effort in, to compensate for that.

------------------------------------------------------------------------

After that, well........everything else seemed a bit of an anti-climax. Just using Tahr on a day-to-day basis didn't seem like much of a challenge; give me a decent browser, a handful of graphics apps, a decent music player (thanks to somebody on the Forum quite recently, I'm now running a 16-yr old version of Winamp under WINE.....and it works a treat), and a good text editor, and I'm a happy bunny. But, me being me, I started getting bored. Oh, Puppy was screamingly fast, after years of stodgy old XP.....but I kept reading about 'dual-boots', and thought, well.....why not boot two Puppies on the same machine?

And so I did. And, on the 'big' Compaq.....two became three. Followed by four, then five. Before I knew it, I was, at one point, running fourteen Pups! (I've since trimmed that back to a more manageable 10, and don't intend to make too many more changes, now.)

Even the Dell, after a fair bit of head scratching, and lots of re-partitioning & re-organising, now triple-boots.

1) Micko's 'classic' Slacko 570. Rock-solid. 'Nuff said.
2) rg66's X-Slacko 232. Based on 570, but with XFCE (my all-time favourite 'proper' DE).



3) And the current Xenialpup 7.0.8.1. Which is unbelievably fast on a P4..... (It'll even run a 7-series Google Earth; slowly, yes.....but it does run. Amazing.)

---------------------------------------------------------------------

Of course, after all the help I've had on the Forums, from so many individuals (including Grant himself), it's only been natural to want to return the favour. I've developed my software packaging skills over a period of time. Many of you know I produce a series of 64-bit Chromium-based browser packages. I've also packaged quite a number of other odds'n'ends; mainly, for myself.....initially. But if things go according to plan, I'm always more than happy to share.

Yes life is good.....thanks to Puppy, and our entire community. I thank each and every one of you for his or her contribution, however large (or small) that contribution might be.

Cheers, all.

The labbe5 report

Forum Links provided by labbe5

I find a lot of posts by labbe5 quite interesting. I'm not sure if anyone else does, so rather than me including just the ones I like, the link below will let you choose any of his posts, or not.

http://www.murga-linux.com/puppy/search.php?search_author=labbe5


Useful Links

Puppy Linux Forums USA

Ibiblio repository USA

nluug repository Netherlands

Internode repository Australia

University of Crete repository Greece

aarnet repository Australia

Internet archive repository USA

Puppy Linux Tips by smokey01

Puppy Linux wikka Puppy sites

Bookmarkos provided by kerl

Search the Puppy Linux Forums

Barry Kauler's News Blog



Contributors this month

Not all of the people below have physically given me the information to publish. If I find information I will give the credit where it is due. So if you see your name on the list below please don't be alarmed or upset. You are not losing your mind.

smokey01
Barry Kauler
Mike Walsh
Terry Schuster
greengeek
fredx181
8Geee
ally
prehistoric
labbe5
MochiMoppel

Proof reading - russoodle +1

Newsletter Information

Display tip:
To improve the Notecase display format please press F7 then:
- Tick the "Restore last position/size" checkbox.
- Select the "Display" tab and tick "Wrap text".

Newsletter index written by 6502coder can be found here:
http://murga-linux.com/puppy/viewtopic.php?p=950064#950064

Contributions

If you have information you would like to see in the newsletter please email it to smokey01 at smokey01@internode.on.net. It must be created in notecase otherwise it makes my job far too difficult. I don't intend doing any significant editing but I will attempt to read all of the articles and ask a couple of others to do some proof reading. If you would like to assist in proof reading please let me know on the email address above.

Notecase is very easy to learn and use. Try and keep your articles to less than 1000 words. Photos and images should be no bigger than 1024 x 768. I can always make them smaller.

The deadline for articles is the 20th of each month. Let's not worry about time zones. I know it may be the 20th in Australia and only the 19th in the USA but I can live with this. If it's more than 24 hours late with respect to Australian CST then your article may be pushed right, into the next edition. I expect proof reading to take less than a week which will provide about four days to publish at the beginning of each month.

I will upload the Newsletter to my site at http://smokey01.com/newsletters. There will be two versions. One will be an xz compressed notecase file and the other will be a html file so it can be read in a browser.

I have changed the original naming convention to 0001-PuppyLinuxNewsletter-Jan2017.ncd.xz and 0001-PuppyLinuxNewsletter-Jan2017.html respectively. The formatting of the html is not brilliant but readable. The newsletter is intended to be downloaded and read in Notecase.

Disclaimer

The editor has the right to veto any articles that he/she considers inappropriate. A reasonable effort will be made to avoid spelling and grammatical errors however, I'm sure some may slip through. This newsletter is published by volunteers, and is free, so please be kind. Constructive criticism and positive suggestions are welcomed.

smokey01