Giter VIP home page Giter VIP logo

survivalmanual's Introduction

Android app on Google Play Android app on FDroid Android app at Amazon

About

This is a survival manual/guide based on the public domain US Army Survival Field Manual FM 3-05.70 (FM 21-76). It is fully functional offline, which is important in the case of a catastrophe.

The content list is curated in this wiki.

Contributing

This app is libre (open) software, so pull requests are welcome. If you want to help translate, the app strings are on Transifex.

Happy survival!

License

THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

survivalmanual's People

Contributors

arkar1an avatar dennisguse avatar dependabot-preview[bot] avatar dependabot[bot] avatar johnjohndoe avatar ligi avatar tacothedank avatar theck13 avatar williecubed avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

survivalmanual's Issues

Search between pages

after #23 we have basic search - but only works on a single page currently - should be able to search in all other pages also

Incorrectly nested parentheses in regexp

java.util.regex.PatternSyntaxException: Incorrectly nested parentheses in regexp pattern near index 8:
(?i)rai)
        ^
	at java.util.regex.Pattern.compileImpl(Native Method)
	at java.util.regex.Pattern.compile(Pattern.java:411)
	at java.util.regex.Pattern.<init>(Pattern.java:394)
	at java.util.regex.Pattern.compile(Pattern.java:381)
	at kotlin.text.Regex.<init>(Regex.kt:100)
	at org.ligi.survivalmanual.ui.MainActivity.getPositionForWord(MainActivity.kt:175)
	at org.ligi.survivalmanual.ui.MainActivity.processURL(MainActivity.kt:266)
	at org.ligi.survivalmanual.ui.MainActivity.access$processURL(MainActivity.kt:47)
	at org.ligi.survivalmanual.ui.MainActivity$onCreate$2.run(MainActivity.kt:108)
	at android.os.Handler.handleCallback(Handler.java:739)
	at android.os.Handler.dispatchMessage(Handler.java:95)
	at android.os.Looper.loop(Looper.java:148)
	at android.app.ActivityThread.main(ActivityThread.java:7325)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1230)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1120)

Justify text

A very good hint in one comment - unfortunately textview does not support justification - might use a library for this but will have to check which one.

extract text from illustrations

There are a lot of illustrations with added text - this should be extracted to be translateable ( #4 ) and look better. Wil do this in the process of converting the html to markdown

Make content translatable

Thanks for this application that provides a lot of valuable information that should be available to everyone!
Since I guess there is no official translation for this content, what about adding multiple languages, and some way to create community driven translations?

Bring back the old icon

Use the icon depicting crossed adhesive bandages instead of the warning sign as introduced in v2.8.

Create a new Kits section

removed the old one via #32 - this was only military kit-specifications - no real use for civilians. I envision to create a section with kits you can create yourself for certain situations.

  • Sleeping ( tent, sleeping-bag, airbed, .. )
  • Repair ( duct tape, oil, rope, quick tie, .. )
  • Cooking ( gas-burner, pot&pan, .. )
  • Health ( pain-killers, coal-tablets, .. )
  • Food ( emergency food kit: salt, milk-powder, .. )
  • Power ( hand-crank, solar, .. )
  • Misc ( Multi-tool, flash-light, .. )

input welcome

New chapters contrast with the rest of the book

Hi,

Being fan of the book, I don't like the "day to day discussion" approach of new chapters.
The books was about how to survive, and it becomes "what you should or could have done to prepare".

Before it was : here is how to actually make soap, step by step.
Now it is : you just have to make some electronics to have your wind turbine working.
See the difference ? It's not the same empowering book, it's "you should have chose better studies".

Still, I completed the MultiTool chapter to present a viable alternative to Leatherman (having enough practice with Victorinox' SwissTool Spirit). Here also, the book becomes an inventory of things to buy before. And I strongly disagree with adding YouTube links in the book (in addition to the "I tell my life" tone…).

Sorry I'm harsh, but I'm still shocked in fact :-p

Still, I hope it won't disqualify me from the coming proof readers list !

(I'm going to suggest content in Apps part (at least Wikipedia Offline apps), and Power (maybe lemon, copper and zinc approach…)).

stop identifying deadly plants as edible

The images for deadly and edible plants are currently the same. For example, the image for "canna lilly" is actually the image for poison hemlock, and describes it as having an edible root. Poison hemlock's roots look like wild carrot (Q.A.L.), and a single bite is enough to kill just about anyone.

While I'll leave the title as referring to just this particular problem, a fuckup this big makes me think you aren't qualified to create this app, and I would rather you take it down entirely. I seriously doubt this is the only problem, as I'm not exactly an expert in this field, yet spotted the issue within seconds of installing. As of right now, a person is more likely to die if they used this app than if they didn't have it.

Add languages

This is now possible after migrating to markdown and having it backed by a wiki. But before adding languages the base language english should sit a bit more and gain cleanup / de-militarisation ( #2 ) and other improvements

Fig 9-7 not formatted

I just went to check the wiki but found no explanation why the list of fig 9-7 is badly displayed in version 2.6.

Some possible enhancements

    I think very successful to have an application like this, but - given that I know the publication in PDF format distributed by the DoD, I have doubts if it is or not advisable as it is ( Personally, I think that an interactive ePub would be most appropriate for the case ).

Anyway, here are my suggestions:

1. I have  '**Survival Manual 1.7**’ in a 10.1 tablet, and even so the text font is extremely small. I can read it, but there will be users who cannot do it. If so, why not include tools for text zoom?

2 ‘**Survival Manual**’ is displayed by default to the width of my tablet, and is rather boring to have to go its menu to use the screen rotation button. Would be possible to include it in the bar of SM?

3. I am not a specialist in Botany, but  Asparagus (_Asparagus officinalis_),  Bamboo (_Bambusa_),  Cashew nut (_Anacardium occidentale_), Banana and Plantain (Musa species), and Amaranth (_Amaranthus_ species) that I know does not correspond or poorly correspond with the images included in **Edible / Medicine Plants** of  **SM**. It is obvious that it is not your fault but the Army Editors who worked in the Official Guide that you used for the application. Is there any way that you can consult with a specialist?

I also think that SM, to be based on a public domain source, could be changed and include images and graphics more up-to-date and appropriate from Creative Commons and Wikimedia Commons.

  1. I think successful having accepted the request for the ‘Share’ button on the toolbar of SM, and it seems to me that it would be much better if the user could copy text and images of the contents. Would it be possible to include this tool, also?

It's all for now.

Greetings and thank you very much for your kind attention.

PS / To the people that are complaining about of the militarized content of SM: The author of this application is honourable to the manifest what is source of information of him: There are that accept this made such as it is. If you want something less militarized, best thing is to go to the EPA site. This federal bureau offers in its repository a wide range of information and digitized guides aimed at citizens and communities in general, so that they face and learn to solve the impact of state of emergency and natural disasters that may occur at any time.

Crash when following a link; unable to restart till app data cleared

Steps to repeat:

  1. Visit "Fish and Mollusks" in the Appendix.
  2. At the bottom of the page, under the "Fish with Toxic Flesh" heading, follow the link to Figure 8-2.
  3. For me, the app dies with the "Unfortunately, Survival Manual has stopped" pop up.
  4. The app won't open again until its data is cleared via Android settings.

I'm using Survival Manual V2.6 on Android 6.0.1

I love the app - thanks for your work :)

v3.2 missing in F-Droid Store

When I take a look in the playstore I notice, that "SurvivalManual" current version is v3.2. In the F-Droid store the current version is v2.8 .

What's the reason for the different versions? Is this Github-project still alive?

Kind Regards,

Krawei

Add Print feature

One cannot rely on electricity supply in case of large scale disaster, so our Android devices will become inoperative after a few days of use. It may be great to add an option to print the whole manual so people can leave with a paper version.

Check&Fix links

Unfortunately I broke some links when renaming the sites - so:

a) I have to fix them
b) Write a test that checks all links

Print problem on S5

Problem with galaxy S5: pdf print doesn't work. Error is: "fail to change settings".

cannot yet reproduce

WebView -> TextView

is useful for #1 - and also better for UI-testing ( having trouble with espresso-web currently ..)

improve on-boarding

There should be an initial page that describes the app. It could also link you to #17 as this is a common question.

Default to metric system

Currently imperial and metric system are mixed. I want to change it so the markdown and default is metric and then there is an option to also view it in imperial units ( then parses the text and replaces stuff). Not yet sure if the text should have markup for the places where it needs to replace or if just parsing the plain text.

java.lang.IndexOutOfBoundsException: setSpan (-1 ... -1) starts before 0

java.lang.IndexOutOfBoundsException: setSpan (-1 ... -1) starts before 0
	at android.text.SpannableStringInternal.checkRange(SpannableStringInternal.java:355)
	at android.text.SpannableStringInternal.setSpan(SpannableStringInternal.java:77)
	at android.text.SpannableString.setSpan(SpannableString.java:46)
	at android.text.Selection.setSelection(Selection.java:116)
	at android.widget.Editor$SelectionEndHandleView.updateSelection(Editor.java:5234)
	at android.widget.Editor$HandleView.positionAtCursorOffset(Editor.java:4612)
	at android.widget.Editor$SelectionEndHandleView.positionAtCursorOffset(Editor.java:5270)
	at android.widget.Editor$SelectionEndHandleView.updatePosition(Editor.java:5255)
	at android.widget.Editor$HandleView.onTouchEvent(Editor.java:4775)
	at android.view.View.dispatchTouchEvent(View.java:8169)
	at android.view.View.dispatchPointerEvent(View.java:8364)
	at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:4720)
	at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:4581)
	at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4139)
	at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4193)
	at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4162)
	at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:4273)
	at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4170)
	at android.view.ViewRootImpl$AsyncInputStage.apply(ViewRootImpl.java:4330)
	at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4139)
	at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:4193)
	at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:4162)
	at android.view.ViewRootImpl$InputStage.apply(ViewRootImpl.java:4170)
	at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:4139)
	at android.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:6477)
	at android.view.ViewRootImpl.doProcessInputEvents(ViewRootImpl.java:6390)
	at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:6361)
	at android.view.ViewRootImpl.enqueueInputEvent(ViewRootImpl.java:6326)
	at android.view.ViewRootImpl$WindowInputEventReceiver.onInputEvent(ViewRootImpl.java:6557)
	at android.view.InputEventReceiver.dispatchInputEvent(InputEventReceiver.java:185)
	at android.view.InputEventReceiver.nativeConsumeBatchedInputEvents(Native Method)
	at android.view.InputEventReceiver.consumeBatchedInputEvents(InputEventReceiver.java:176)
	at android.view.ViewRootImpl.doConsumeBatchedInput(ViewRootImpl.java:6530)
	at android.view.ViewRootImpl$ConsumeBatchedInputRunnable.run(ViewRootImpl.java:6576)
	at android.view.Choreographer$CallbackRecord.run(Choreographer.java:813)
	at android.view.Choreographer.doCallbacks(Choreographer.java:613)
	at android.view.Choreographer.doFrame(Choreographer.java:581)
	at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:799)
	at android.os.Handler.handleCallback(Handler.java:733)
	at android.os.Handler.dispatchMessage(Handler.java:95)
	at android.os.Looper.loop(Looper.java:146)
	at android.app.ActivityThread.main(ActivityThread.java:5635)
	at java.lang.reflect.Method.invokeNative(Native Method)
	at java.lang.reflect.Method.invoke(Method.java:515)
	at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1291)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1107)
	at dalvik.system.NativeStart.main(Native Method)

https://code.google.com/p/android/issues/detail?id=191430

http://stackoverflow.com/questions/22810147/error-when-selecting-text-from-textview-java-lang-indexoutofboundsexception-se

De-Militarize

I already removed some military specific stuff - but there could be more removed

Improve back behavior

Not yet sure how to do it best but currently the ux is bad when you press back after a link inside the wiki - you get out of the app but kinda expect the previous site.
But we also cannot use every page view as otherwise the backstack might get too big

Proof read augmented Power chapter

I did add a lemon electric pile part, and ciphers about solar panels, and a MultiTool link, some car considerations and power-bank batteries maintenance advices. Also smartphone powersaving tricks.
(edit: 260 additions and 48 deletions)

Add section with apps that work offline and can help survive

  • maps app with downloaded local ( and other maybe important ) map data
  • fdroid ( google play might not work - in fdroid you can point to alternative repositories )
  • Light app
  • Compass App
  • Game app to fight boredom and keep the mind stimulated - e.g. gobandroid to play the ancient game of go which has simple rules but is still immensely deep
  • Pass app - e.g. PassAndroid - just imagine how sad it would be if you get the ticket to the rescue ship in esPass format and have no way to display ..-)
  • Material Tea timer ( tea will be a thing in these situations )
  • Music app ( downloaded / offline - no streaming solution ) and some uplifting music ( I suggest DUB or reggae - but pack whatever works best for you )
  • A cryptocurrency wallet - fiat money/banks might not work anymore - have a crypto wallet ( like the Bitcoin-Wallet from Andreas Schildbach ) and transfer a little bit of value on it
  • PDF reader ( and perhaps some books )

[Power] add aluminum / activated charcoal cells example

Aluminum / copper with salt water and bleach cells are producing 1v and 10mA.

But here are sources about aluminum / activated charcoal cells, performing 1V 100mA. So 100x more current than the classical Copper/Zinc:

The cells have shorter life, because of aluminum oxidation, reportedly tens of minutes.

25 of those cells would produce the same amount of energy than what a USB 1.0 port delivers (5V, 500mA). If it runs for half an hour it would represent a 12% refill of Lithium-ion 3,7v / 2400mAh (~10Wh). Its not the panacea yet.

Still, in a plane crash scenario, you better keep some soda cans ! (even their acidic content can be used to make electricty…)

Crafting and Maintaining tools

A main topic with a series of sub topics ranging from

  • Handling and caring for a knife
  • identifying, cleaning, maintaining and general safety with a firearm
  • How to operate a bow and arrow as well as an introduction into fletching
  • Improvised weapons in an urban and wilderness type situation such as spears, blunt objects, etc.
  • making a rope
  • bike maintaining

Proof read augmented Apps chapter

I spent a couple of hours to transcript in the Apps chapter my experience and center of interest in this area (I'm not stumble uppon SurvivalManual by mistake ^_^).

213 additions did at least double the size of the document. Mainly with links to example of mention apps, and new parts (Radio, Morse signal, offline encyclopedia…).

It may still require a proof reading.

Else, I suggest we remove the Cryptocurrency part, as being less pertinent than the rest from my point of view and would drive a skeptical reader away from this nonetheless interesting book. The point about cryptocurrency is to prepare for a somewhat post-apocaliptical world, and not a plane-crash survival scenario. Post-apocaliptical or post-petroleum transition is a matter which deserves it own book I think.

To finish, I added mention of the author of Tea Time and Pass apps, which are not exactly as pertinent as the rest, but add some humour to the content (which is the think I'm missing reading this book; under 20% of humour, it's proven that a message is less understood by its human receiver).

Scrolling up is buggy

When scrolling up when you're at the top, the app tries to hide the navbar, but immediately makes it jump back down in. This happens when scrolling up anywhere, but it's just most obvious at the top.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.