|RISC OS Asm and BASIC Fun : BLOG|
This is my blog, just a place for me to go on about whatever I feel like, usually related to RISC OS and programming, sometimes other CS related stuff, and sometimes just a bit of a rant.
This blog is done in hand edited HTML using !Zap on RISC OS. There is no fancy blog engine being used. In other words this blog is done the correct way :) .
|November 27th 2016 @ 9:30am Thoughts on Bugout Survival.|
Up until very recently I had thought of survival and SHTF as something that can be needed in a natural desaster, or man made desaster. In the last few days my view has changed radicaly, now I am looking at Bugout Survival as a very real possibility for my near term future for reasons I never thought about.
I just found out that my already minimal income may disapear. That would mean that I can not pay taxes, bills, or anything else, and I would lose my house, car, and anything I can not carry, or have stored at no cost.
This has lead me to looking at the resources I have put together for a desaster type emergency, and rethinking things in a way that works for a desaster, or the kind of SHTF situation that I may soon face.
Though before we get into that, a little story from my youth:
I was a spoiled child, had prety much whatever I wanted, except for the freadom to live without the extras. Part of the training provided at the private school that I attended was basic emergency survival, this became important for reasons that the course planners likely never expected.
So when I was 11 years old I decided to run away from home. I put together what I knew I would need thanks to the provided training (which included some short term in field application), and ran away into the woods near where we lived. For about 6 months I lived off of a few safe plants, a lot of grubs and insects, and an ocasional squirl or rabbit (or dove). I did quite well, though ended up missing my friends, so returned home after only about 6 months.
This experience of my past has been heavy on my mind now, and I have been looking at the journal I kept for that time for reference. Yes the journal is the words of a child with strange ideas, though it is of a child that was me, and a child that did survive quite well for 6 months in the wild without any human contact.
How I now look at survival:
Looking at what I had done as a child I am now realising that all my grand plans to be able to make it through about any desaster are almost obsurd. There are some needed tools, knowledge and practice, though not as much as I have sitting in the quick grab and rush out corner.
The first thing is that in anyform of desaster that effects all around you, you are going to have about 15 minutes to get out safely, or you will have to wait it out in place (not always possible). If you have a planed bug out destination you may never be able to reach it depending on exactly what the desaster is. My situation is not the same as everyone elses, as I live in an area that is already almost in the middle of nowhere, and I have a different skill set to others.
Now I feel that I should look at my bug out supplies from the perspective of how useful are they going to be real world, and what is better supplied by nature than carrying.
As a kid when I ran away I took an Air Rifle and pellets, a knife, a crude water purifyer that I had for camping, two complete sets of clothing with an extra 4 pairs of socks, one pair of sandales, one pair of tennis shoes, one coat, one fire steal and flint, one camp cook set, my pocket knife, and a lot of twine. There were things I wish I had and did not, though I wrote about these in my journal way back then, so I know now and can do better do to what I have learned in the years since.
As such I have taken the time to figure out a good list of supplies that should be in the long term bug out bag, and it is a lot shorter than what I currently have in my bug out Supplies. This list is one perspective, climate, terrain, and where you live relitive to others will all determine what you need.
Remember always that the total of what you carry should not weigh more than you are comfortable carying, so carry your gear on long hikes to see how comfortable it is, and if you need to cut down the weight.
In the Bug Out Bag:
In The Day Bag:
In The Mess Bag:
Cary out of bags:
As you can see this is more of a Camping gear list than a end of the world gear list. Though if you get seperated from your group and need to survive for an extended time what will you realy need?
Skills, and Training:
More important than any amount of supplies would be having the needed skills, training and practice. Myself I have always been aware that anything can happen at anytime, so it is second nature to practice the needed skills every single day without fail, though you can not practice what you do not know.
The skills that you should have include basic bushcraft, firestarting, hunting, identifying edible plants, identifying and using medicanal plants, first aid, CPR, swiming, keeping a journal, self defence, and moral. I am going to consider the reasoning for each of these skills in the folowing sections.
This is actualy a multi skill that covers much of what follows, though also includes sheltering for bad weather, hiding from people that are attempting to cause you harm, and a few other small things. I think the reasoning is self apparent.
Fire Starting is a skill that can not be overstated. Not only should you be able to use the firestarting equipment that you have in your pack, though you should also be able to start a fire using only what nature provides. In some cases this does mean rubbing two sticks together.
Identifying Edible Plants:
You will need to have a rounded diet, and should not touch the food in your mess bag unless there is absolutely no other option.
Eating plants is as important as meet.
Your most reliable source of protien is hunting small animals as needed, and as you are able to do so. Small animals provide enough meet for one person, and you do not have to worry oubout left overs. Also sticking to small animals makes it so you are likely to find prey more often, and keep your self well fed.
You will also have to know how to clean your prey, and make sure it is safe to eat.
Even a small cut could be the end of your life if not treated in a situation away from the availability of medical care. So learn how to treat common injuries and illnesses in the field. CPR is for if someone else needs it to save there life.
This is a skill set that you realy hope you never need, though you better have just in case. In bad situations people often do things they would not in good times, sometimes very violent things to others, unfortunately. If everyone were prepaired for bad times this would not be such an issue.
You will need some form of long range projectile weapon and training on correctly using it, in case some one is shooting at you from a distance, for this a firearm is usualy a good choice. In areas where you can not have a firearm, use whatever seems the most reasonable to you.
For close up self defence, this comes down to training. Though remember if you are within 15 feet of someone never use a firearm as you are asking them to take it from you before you can use it. Knife skills can be useful, as can more traditional hand to hand skills.
This is one of the most important skill sets of them all, without it death is likely. It is simply keeping you and your group entertained. If it be singing, telling stories around the fire, playing cards or other games, whatever you need to have fun to keep the mind sharp, maintain positive relations, and keep health good.
Keeping a Journal:
This is more important than most realise. When in a survival situation everyone should keep a journal, and in a group have a seperate comunity journal. This gives you reference of what worked, what plant life is where, what is fun, where and how you find water, etc, etc.
|November 16th 2016 @ 8:30pm Compatible Programming|
In any assembly language programs I write I am going to attempt to make sure that they will run on every RISC OS system from RISC OS 3.1 on an ARMv2 on up to the newest RISC OS 5.xx on the latest ARM CPU (Currently RISC OS 5.23 on the ARMv8). With the exception of when explicitly taking advantage of the features of newer CPU's, which is not often.
I will also be writing even more of my software in BBC BASIC V as this helps to assure continued compatibility of the software.
I decided to do this because one of the great things about RISC OS is the compatibility that is possible. While there are issues with running older software on newer versions of RISC OS, the OS is not the cause of these issues. And writing compatible software ensures that even those still using older versions of the OS will be able to take advantage of newer software.
There are very few things that have been added that are important. Even those things that have been added can be used with the older OS versions with the aid of a module.
|November 16th 2016 @ 8:00pm Going Pure|
I have been using !Zap as my text editor for a long time now. !Zap is showing its age and lack of maintainence now, and if I recommend !Zap I can not know which of the many variants a person is going to get, even if I were to offer a download of the one I use.
This got me thinking about the way I used to do things. I used to be a purist when it comes to RISC OS and programming. That is I would use !Edit as my editor, as it is in the ROM (since RISC OS 3.1), BASIC as my assembler, and any compiler would be written in BASIC for its bootstrap, then redo the compiler as self hosting.
Now this is a good way to go again. Using only the ROM tools as my base means I do not need to worry about if a particular tool needs to be updated for a new CPU, or change in the OS. Also the best kept up to date Assembler tends to be the one that is part of BBC BASIC V (the BASIC interpreter that is part of RISC OS).
This will also help to illistrate that every RISC OS machine has everything you need to write whatever software you wish to. You only need what is in the ROM already, this includes debugging tools.
I have already began doing this. This post is written using !Edit. My current work in progress program is being written using !Edit, and assembled with the BBC BASIC V assembler.
|November 15th 2016 @ 5:30pm Why RISC OS?|
There seems to always be the question: Why RISC OS?
Of those that do not use RISC OS some see it as some relic, others see that it does not have brand name software that they are accustomed to, or it does not have feature Y.
What they are not seeing is that it is as complete as any other modern Operating System, and the software is not the OS, if there is something that you want that is not yet available for the OS you use then you either port it or write an equilivent.
Remember we are Personal Computer users. That means that we chose to take the power away from the computer gods, and big companies, and use computers for ourselves. As such it is our joy to create the software we want, that is why we have the Personal Computer.
THOUGH WHY RISC OS?
Well when writing software for RISC OS you have the needed tools builtin, and it is easier to write for RISC OS than for most other modern systems.
As an example I have included a zipped program for RISC OS attached, it is written in BASIC and is just a quick example, a "Hello WIMP" program. That is it is a minimal implementation of a program that uses Windows Icons Menus and the Pointer (mouse). It does not use any special libs of any kind, and it is done in less than 80 lines of code, directly calling the OS for all input and output. The example would still be under 80 lines of code if translated to C without any helpful gui libs, or just about any other programming language. In assembly language it is only 150 lines of code, now that should say something.
In other Operating Systems you see equilevent examples that use direct calling of the system and "Only Take 300 lines of code". Even when using GUI toolkits on other systems it is common for an equilevent example to be near 200 lines of code, and that is in something like C, C++, C#, or Object Pascal.
Download the mentioned example:
Also to the point. As it is for the purpose of this post and question, I wrote this example completely from scratch starting about half an hour ago, taking less than 15 minutes to complete.
AND IF YOU ARE NOT A PROGRAMMER?
RISC OS is very fast and responsive, tending to get faster with time, unlike most others. And it does not need faster HW to see how it is improving in speed.
Also the way that everything in RISC OS is done by Drag And Drop, in such a way that actualy makes it easier to get things done (unlike most modern systems), makes it a great OS.
Further if you like tweaking the apearence of the OS, it is easy to edit the sprite files used for the verious widgets in RISC OS. And just about everything can be modified.
There is a lot of modern software available for RISC OS, with more coming every week. Because RISC OS has been around for a long time, there are people that know the OS well and are porting and creating software for RISC OS.
|November 14th 2016 @ 9:30am The Unseen.|
On various forums people have made statements about what I do not do. They are not here to see, and I must laugh at these comments, for the timing of when I check the forums.
For a good while I have made the habit of only checking the forums when I complete the current programming task, what ever that may be at the time. While most of my stuff is small tools, and utilities that are of use only for me, and some is only for a client, this does not make it any less existent. Some of the programming tasks are part of a bigger project, as the larger projects must be divided into sections for the work load.
It is obvious that I will not talk about many of the projects that are in progress. And I am just to the point of beginning to release programs again, after having been bitten.
I have been debating releasing some of my tools/utilities that help me with programming, as there is the possibility that they may find equal use by others.
|November 13th 2016 @ 6:00am Time Management.|
I have a realisation while sleeping that I do not need to draw up a super detailed circuit of my power control setup (see last nights post), I can just draw up a simplified circuit that will get the needed information across. This will save me a lot of time over finishing what I began yesterday, so this is what I will do.
Unfortunately I wasted a lot of time yesterday do to trying to draw it out completely.
|November 12th 2016 @ 6:30pm That beyond Reason.|
I am working on redrawing a circuit that I use to provide 5V from a "12volt" solar system, the same circuit also provides true 12V for devices that use it. I am drawing this resistor divider circuit because I was asked to.
Now the request to draw this is not a big thing in and of its self. The thing that makes no sense to me is that those that asked for this want me to do so in a short period of time. I am not terrible at drawing on a computer and am attempting to draw a circuit that contains hundreds of components. This seems unreasonable to me.
Maybe those that spend all day drawing things with the aid of a computer can draw something as complex on a computer in a short time, though that is not me.
I do not understand why people think that a large circuit that was originally drawn on 25 sheets of graph paper and containing a large number of components with even more connections, can be thrown on to a drawing program in a few minutes. THIS IS UNREALISTIC.
Let us be real, we are talking about a circuit that contains a bunch of resistors, a few capacitors, about 15 things being powered by its output P8X32A's with Delta Sigma ADC's to switch out the set of resistors being used based on the voltage level before the stabilization caps, and a bunch of little stuff that is actually important.
Addendum @ 7:10PM:
I have used the free time I am supposed to be using to get some things done to add to my web site today in order to attempt to get this circuit drawn, so I am very sorry to any that may be waiting on me to add to this site.
|November 12th 2016 @ 10:30am: Adding 3D-Printing|
I am going to also include information on 3D printing on this site, as it is another large interest of mine. I have a Prusa i3 3D Printer and am working on printing my second 3D printer as time allows between other prints.
I use 3D Printers because I can not afford not to. My income is low enough that I would not be able to afford most things that I can print. I have already saved more than $1000USD which is more than 4 months effective income. That is total saved is around $1500USD though the printer and filament has cost total just under $500USD (two months effective income). So yes owning a 3D printer is a life saver and money saver.
I had no previous experience in 3D printing or CAD/CAM before I began studying and designing my 3D printer, I ended up getting a pre-made Prusa i3 as a stepping stone to allow me to begin saving money, and have the time to flesh out the design of my own printer. I was able to save a little money as I already had the Stepper motors, and a RPi with the needed control and driver IC's on a board attached to the GPIO, so I only had to write a very simple GCODE interpreter and GPIO bitbanging program in BBC BASIC V, and have a controller that runs RISC OS.
I have also a filament extruder that takes plastic pellets and produces a constant 1.75mm filament that I use in my 3D Printer. I use 100% pure PLA, with no pigment (I do not need colour) for 99% of my prints. I do have some ABS for the occasional item that needs ABS, though most things do better in PLA, and it saves on the load on the Solar as I do not need to use the hotbed to print in PLA.
|November 12th 2016 @ 8:00am: Site Figured|
You may have noticed that the site layout and colours have been changing a bit over the last couple months. Well I have finally figured out a layout that works well, and I like, and it is what is now here.
I will eventually be adding some graphics, though the basic layout and colour scheme is final, and should not change for a long long time.
I wanted something neutral, simple, easy to read, and with clear separation of sections. Thus I finally settled on this two grey's on black background, with spacing between sections.
I also wanted something very simple to update, as it is hand written, and this provides that as well.
NOTE: I did choose to use a fixed width table, so that I can provide a reasonable consistent appearance to all readers, even when I add pictures.
|November 11th 2016 @ 9:30am: Moving Forward:|
I have been over worried about everything being perfect for to long now. I am now working on the text to go with the first few tutorials in programming on RISC OS. Now I am attempting in earnest to add tutorials to this site.
After a supreme rejection last time I shared a good amount of my source with a company I had been a bit apprehensive, no need for this, others should be able to benefit from what little I have to offer.
|November 10th 2016 @ 11:00pm: First Entry:|
I had never really been into blogging before, so this is new to me. I realized that I need a good public outlet for my thoughts, that does not intrude on anyone else's forum or other media, so I am now doing this blog.
I am going to be putting up to 16 entries per page, and having old entries linked from the end of each new page. I hope that someone finds my very strange thought process of value.
As my interests are RISC OS and programming in BBC BASIC V and ARM Assembly language, these will be the primary focus of this blog.
I will NOT ever talk about my political views, or observations of the state of the nation/world on this blog. These topics have NO place in such a public view.
This page maintained on RISC OS using !Edit (originaly written using !Zap).
Copyright 2016 David Cagle (AKA DavidS).
PAGE LAST MODIFIED ON NOVEMBER 16TH OF 2016