Sunday, October 8, 2017

Why everyone needs to care about digital security.

Imagine this, you're out and about, having fun or working (or having fun while working), and you get pick-pocketed, your wallet is safe and your phone is still with you but something is not right. You were not physically stolen from but ALL your data was stolen by someone, could be a government (your own or another), a prankster, a small time crook looking to make a quick buck by selling your banking info, or worse, someone unknown with some motive that requires your private data.This happens to people all the time and most don't know, most that do know don't care and those that do care don't get digitally pick-pocketed.

Back in 7th grade I was talking about digital privacy and security, and to my shock everyone who heard was poking fun about that topic.Having a passcode on a device is just a good idea, and so is disabling any applications that are known to steal one's data. Despite thinking privacy is old and obsolete, everyone who was there got really upset at the prospect of giving their device and passcode to another person in the room. They understood that privacy is needed from each other but didn't seem to care about their data being taken by a company or government (foreign or domestic). Interesting how the conversation changes when the privacy scope switches to the immediate and close rather than the long term and remote.

Odds are if I asked you to unlock your house for me that you'd flat out deny me, same goes if I were to ask for your computer password, phone passcode, or any web login you have. So if you will not immediately and gleefully hand over at least read only access to every file attached to you (this includes that porn stash you'll never admit to) then why would you allow that digital pick-pocketer to gain entry?

Of course I asked that question rhetorically as blogs are not always interactive. My point is clear: "exactly what right does anyone, anyone at all have to gain access to ALL of your data? I think they have the same right as the government: exactly zero right to your data and your life."

I've been told the same things many times by members of the general public and my friends that hear me talk about this. Most people usually say to me that they would be mad if I or another civilian stole their data but wouldn't even lift a finger to stop their government, another government, border agents, or the cops from spying on them. Their reasoning is that they have nothing to hide and therefore nothing to fear, this is wrong on both of the points made.

  1. Everyone hides something, that's why you have a code and don't allow access to strangers. Maybe it's your banking info or that porn stash you never admit to having, maybe a naked selfie you took or an essay you no longer agree with.
  2. You always have something to fear, how do you know what data will come back to bite you later? The answer is that unless you have the omniscience of a god then you never will know what can come back to bite you later.
  3. You don't know that you have nothing to hide because you don't know the thoughts and motives of everyone who is interested in your data.
Privacy cannot happen without strong security which starts with safe usage practices and a strong passcode that you regularly change.

If you have even one password, then you have something you're hiding. I'm not accusing you, we all hide something, you can abide by the law and still have privacy and anyone who tells you different is either delusional, misinformed and deceived, trying to keep you in the dark so you're easy to take advantage of, or connected to a spy agency.

If the government can get in, then a hacker can get in the same way, and when the hacker gets in they'll look like they are with the government and make off with your data unsuspected of any crime. If you still think that it's alright for the government to spy on you and me then that news flash should hopefully awaken you to the real danger of bad security.

To protect yourself. use good passwords, and maybe a password manager such as KeepassX which also helps against keyloggers so they can't steal your code by watching the keyboard, and then educate yourself on your device's vulnerabilities so you can learn to cover them. Educate yourself on your local laws, where I live last time I checked the cops cannot force me to give my codes without a warrant and even then I can remain silent waiting for my lawyer to help though you may be in a different situation. Consider having a fake login that will access a fake folder with random data that is meaningless when used (generic pictures and music, fake names in your contacts. etc...), this will throw off a thief and will allow you to trick a cop or illegal searcher.

A note to parents, teachers, and concerned, caring adults on digital content accessed by young people under their care.

The Internet is a scary thing to many, this technological wonder can carry any digitized data between any computer systems connect to it. This rightly worries many concerned adults as they don't feel they can fully protect their very precious minors, after all it's easier to protect our youth from physical threats than threats they can call up from anywhere in the world at any time.

My age at the time of writing this post my age is about 18 and a half. I recently was a minor under my nation's legal system. And as someone who recently was a "kid", I can better understand the mind of the type of child I was than many others who give you advice, and I also understand security and administrative control concepts since I was already learning about technology and cyber security. Parents, teachers, and other adults who care about children and teenagers under their care are rightly concerned with the content and communications these youngsters receive on their many devices. I am of course referring to the worry of a child or teenager accessing content such as pornography, ultra violent games and movies, bad sex advice, racist ideology, and other content that worries you; I am also referring to worries of communication between vulnerable minors and creepy individuals such as bad influences, those helping them to go to parties you'd never allow, cyber bullies, predators, and other people you fear contacting minors under your care.

There are three main ways to stop these situations from arising, I call them methods 1, 2, and 3 respectively for this article.
  1. Technologically - stop their devices from allowing objectionable content and communications to be processed by means of net nannies, Internet filter's, parental spy-ware, parental controls, and more.
  2. Physically - keeping a close eye on the screen of the device by somehow stopping it from being used where you can't see, like putting it on a password.
  3. Morally and mentally arming the minor - teaching the minor why and how to avoid and deal with the filth I mentioned earlier.
For the sake of this article I'll refer to all caring, care giving adults in charge of minors in any way as parents. I'll refer to all minors that live under a parent's care as minors while ignoring minors living independently as no parent currently cares for them.  I will refer to those in junior high as adolescents and those in high school as nearly adults, while ages 13 to 18 collectively will be referred to as teens or teenagers and primary school age minors will be referred to as children. I do this to refer to each step of a child's life by the responsibilities expected of them.

First I'll explain which methods are not practical and why before I explain one solution that can't be circumvented by crafty thinking, and the information I'm sharing may surprise you.

Using a Internet filter, parental controls, and other technological methods are pointless against a minor with any brains in their head at all, If my parents had tried to use a technological method to restrict my access to the Internet they would've failed miserably because I would've spent less than five minutes and broken through the Internet filter. The worst nightmare to a parent using technological methods to control Internet usage is a minor who has heard of TOR, VPNs, and other forms of encrypted tunneling services which will render your Internet filter and remote network monitoring completely and utterly useless. It used to be complex to use tunneling features but today we have many cheap or even free services that allow their users to turn them on and off as easily as changing the volume on your device.

There are many ways a minor can access the Internet without your knowledge. In my home town we have an amazing library with free and fast Internet and public computers with nearly unlimited time for free, and most if not all of your minor's friends have Internet access. This means that you cannot even hope to physically control your minor's access to technology no matter what you do or what the salesman for the cyber security firm tells you, a minor who's looking for access to technology has many options such as borrowing a friends computerized device, public computers, or they can save and buy their own computer from one of many cheap sources. Though physically controlling your minor's Internet access is better than using a Internet filter because you can watch them as if you were watching them in other activities, an older minor such as a teenager or near adult would spend little effort in circumventing you. The only to fully control their Internet access is to track their location in real time and check on them in person randomly which I could still stop you from doing unless you have one of those GPS enabled anklets for criminals which I'm sure would be slightly illegal to use.

The only way to truly protect your minor is to teach them from childhood the difference between right and wrong to the point you are more than confident they would be safe if you had no access to them as you cannot possibly protect them forever. Teaching a minor between the ages of 13 and 18 right and wrong is not easily done as they start to develop their own individual identity and become less impressionable to their parents while being exposed to new temptations and new peer pressure, and to top it all off their brains develop somewhat oddly as the receptivity to rewards (think dopamine rush) goes way up at the same time the sense of risk goes way down and their high level reasoning (morality, long term planning, etc...) is not as strong or as fast as their emotional response. I recently went through that phase, but my parents drilled a strong sense of morality into me from childhood which I still use every day and it kept me from getting sucked into the wrong crowd. My parents were not perfect, they made many mistakes as any human parent would, but more important than their relatively small mistakes is they were wise and loving enough to raise me to be a good and moral person. To give you an idea of our family handles morality, my family members and I have all left money (in cash, sometimes hundreds of dollars) out in the open and have never once had one of us intensionally steal one cent, we may be able to literally leave money on the kitchen table without it getting stolen but you don't necessarily need to be able to do that to protect your minor. My parents know that I would never cross the proverbial line, and they know that I'd come to them for help if I needed it, they were never worried about me on unrestricted Internet access as they knew I knew how to stay away from danger and that I would come to them right away if I messed up.

Kids need to be taught right from wrong and then allowed some freedom under your watchful eye so you can diagnose any issues before they get to take on a cold and unforgiving world. Once your minor becomes a teen they are no longer under your control, even before they can drive I be be almost certain that they could find a way to get around if they wanted.

Here's a thought experiment for you to think about: if you left your teenager alone for a few days whether it was planned or unplanned what would happen? Once they get access to shady individuals around them you cannot be there to stop them, you must be sure that you can rely on them to protect themselves and tag you in if needed, kids of course are different from teens and it's rare to find one that can adequately take care of themselves for longer than a few hours, but they still need to be trustworthy enough to leave for a few hours as that's basically what happens on the Internet since there is no possible way to be sure you are in control of what they see and hear.

Bottom line: you cannot successfully protect your minors be acting as a helicopter and hovering over them, they or their friends can and will circumvent you, rather you should be there to be tagged in when they are stuck and they should share a mutual trust that they won't seek out bad things and that you will love and care unconditionally enough to help them if they come to you. You cannot stop your minor if they intensionally seek out bad things, you're not fighting them in that case but rather fighting everyone they have met. Basically unless your minor is too lazy to buy or find another device (not likely by the way) and you can out smart every security minded programmer and enthusiast such as myself, then you are trying to stop a train. I don't care what the security company or school cop says, I can bypass any security you can find, I'm a nice guy and would never knowingly use my skills for evil but I cannot stop someone from learning or deceiving me into thinking I'm doing the right thing. I'm also not the only one out there with the capacity to overwhelm your efforts and punch holes in your Internet filter like it was paper, not all of them are so protective of others and some are downright nasty, but even they cannot easily harm you or your minor without your minor's help.

If you want help from a genuine person, my inbox is open. I check it as often as I can, and I will be candid with you. neuronmaker@gmail.com

Friday, September 22, 2017

Numberwiz updated

Minor bug fixed on the trigonometric function feature, and some functionality with decimals in the many functions. more is to come. The new apk file has replaced the old one.

Download link is on the Hash sum page, and here: https://goo.gl/IF9lfF

Friday, September 1, 2017

My take on censorship, Google, and freedom of speech.

The image that finally prompted me to talk about this publicly.
Recently I've seen a buzz around the Internet about censorship and what that means for those who love freedom and those who value someone else's control. I found an image that prompted me to give my take on censorship.


Those on the right and the left battle on and on about many things, and some of these battles are insignificant when one looks at the big picture. Currently Google controls many people's access to the Internet, and this could be both a good thing and a bad thing depending on who is manning the controls. Having a central source for all correct information is incredibly convenient but it means a few things will inevitably happen:
  1. One entity literally controls the basically all of the population's collective thoughts by controlling the information available. USSR, Nazi Germany, and North Korea are famous negative examples of this practice.
  2. Having one location with all needed information encourages people to be intellectually lazy and only rely on a certain party to tell them all of the "truth" they need.
  3. Competing information outlets have a really hard time bringing their ideas to the market place because everyone would rather go to their familiar source.
  4. Diversity of thought will lower as everyone will all think with the same information.
  5. Since no one on Earth is omniscient, therefore no computer system can ever have all the information on Earth.
  6. Since corporations are only as good as the people behind them and the majority of people are mainly motivated by money, there is no way to guarantee that an information monopoly will always see benevolent actions as beneficial to their wallets.
  7. What one sees as benevolent, another may see as censorship. This disagreement can be a problem if only one person or entity controls the access to information.
Google is user friendly and very well integrated with our usage patterns. I personally don't mind if a company knows some demographic data from my usage patterns, but I have a problem when the collected data can identify or help identify an individual, and now Google has data on almost all of us that can be traced to us. In some cases this can be a good thing like when an employer finds your work and profile online and tracks you down to offer a job, but it also means that the same data is available to anyone smart enough to find it. This would be fine if the person who is tracked was in control of what was shown to everyone, but this is not the case. Even this would not be a problem if the data was simply stored by Google and never used to track you but sadly this is also not the case. Google and other companies like them are actively tracking all users and they can identify thing about you that most would find creepy. The only good thing I have to say about google is that they are honest about tracking users while other companies are dishonest and get exposed like Facebook was with the data leaks.

Before someone says something about censoring violent or graphic images and other media from children I will draw a line between censorship of opinions and keeping vulnerable people from seeing extremely graphic media. I don't see blocking a pornographic website on a school network from the students as illegitimate censorship, nor do I see trigger warnings about graphic content such as: coarse language, nudity, violence, cruelty, and drug related content as illegitimate censorship. I support some trigger warnings provided they are given without political bias and are not misleading, I want to be given a warning before watching a television show that may contain objectionable content especially if there is a fair likelihood of having children in the room so I may decide to choose a different show on my own given knowledge of the content. The easiest way to discern proper trigger warnings from censorship is choice, if there is viewer choice then no censorship is taking place but if someone wishes to stop or hinder a viewer than it crosses into censorship. If the warning is legitimate, not related to political opinion, and the viewer has the final say on whether or not the content is served to them then I have support for the warning. I support some censorship in the case of certain illegal activities, I never, ever, under any circumstances, ever (Have I said enough evers?) want anyone to easily find material inciting immediate violence, abuse of any kind towards children or adults, or anything that furthers the cause of terrorists. I would also be against content that could lead to violence but predictive justice is not easily made accurate and I believe in innocence until proven guilty so I cannot with good consciousness stop anyone from material that I think might cause some thoughts I don't want further down the line because that is really hard to prove and I don't want any big actions to happen without hard proof.

Some say keeping bad ideas away from good people will keep more good in the world. In theory this sounds reasonable but in practice this falls apart fast. No human or company is perfect and all knowing, therefore no one has the ability or the right to "play God" and tinker with free will, not even my most valued heroes or myself should have that power, no one. Imagine one day you were arrested and sentenced to prison because in 35 days from now you would commit a felony, you haven't even thought of the crime you are accused of being destined to commit yet and there is no data on your future motive or weather you were forced in some way to commit the crime for someone else. This is a little like what is happening with censorship on politics, someone has decided that an idea is so false or is destined to end badly that it should be banished into the abyss. Does this sound fair? Only when it is you doing the censoring does it sound fair, as soon as the tables turn the former censors now start whining about how unfair it is that they are silenced.

"What should I do to stop X from being spread then since I can't silence it?" This is the beauty of free speech. Let's say a person is spreading a false idea which I shall call "X", I can do more to stop the spread of this X if I prove it wrong and speak with my own ability to speak freely then if I had shouted the spreader of X down. By silencing X I say to people that my idea is so bad that I need to shut down X to make you believe it, like a champion that cheated to win it shows that I cannot survive in a fair environment. By proving X wrong I convey the message that X was in fact a bad idea and my idea was able to stop it on a level playing field without help from state wide censorship. If you think something is wrong then it's your responsibility to question it. Question every idea, even if you think it's true. We may still think the Earth is flat and the center of the universe if people had not questioned and tested the accepted belief.


"To what extent should we censor the biggest information outlet since the printing press?" Is the question we should all ask every time someone wants to shut someone down. I don't want to give a platform to those inciting immediate violence (subtle inciting of later violence is a tad harder to detect reliably), but I also don't think anyone should be censored - even if I disagree with them - as that leaves them with violence as their only option left to be heard, a situation I hope everyone wishes to avoid.

I forget where I heard this, so someone inform me if you know: "Those who make peaceful discourse impossible make violent revolution inevitable."

This thought rings true lots, once you take someones voice you don't shut them down so much as you anger and fuel their disagreement until it turns into something actually dangerous. Often times bad ideas are only possible when good ones are censored, and with enough debate and though most if not all bad ideas will cease to be sensible. If your idea can't be challenged then maybe it's not the most true.I believe in this so much that I actively seek out non Christians to debate and discuss religion with, if my idea - in this case my faith - can't stand up to scrutiny then it's probably not true. The most dangerous thing to a lie is the piercing light of truth, and the most dangerous thing to a bad idea is a good idea and a level playing field to challenge both ideas.

Censorship will backfire, potentially making violent enemies out of those silenced even if they are naturally peaceful otherwise. I stand for freedom of speech, especially if you and I disagree. If you disagree with something, question it, don't shut it down. This is why I believe small government is a good thing as it allows people to think and act on their own, but now the world is changing and government is no longer the biggest force, companies like Google are now large enough to become functioning governments on their own. Corporatism and authoritarianism are very much related, and it's important we avoid both so we can still think of Google as our friend. When someone wants to censor someone, ask them what they would feel and do if that person censored them, morality and logic should go both ways. If it's wrong for someone to steal my wallet then it's no less wrong for to steal theirs, and if it's wrong for someone to shut me down for a thought I have or say then it's equally wrong to censor them.

Let's grow up as a species, out of this childish phase. Let's grow to the point we can truly call ourselves free, independent thinking, and civilized, wild animals silence the subordinates and fight off threats to their dominance but we have the power to choose a better life where no one needs to be kept subordinate and everyone is valued higher than priceless gems. Let's build a world where we don't have to worry about dangerous ideas like Nazi propaganda because it will never survive the truth and scrutiny of the others in our society, a world where we are not valued by the money in our pockets, the color of our skin, our gender/sex, or the opinions we generate but by our willingness to better ourselves given the change and our willingness to help others better themselves. A world where there is enough to go around not because the rich are taxed heavily but because we create enough wealth to keep every willing worker above poverty, a world where after work a billionaire and a young adult with little earning power can both sit at the same bar, joking, playing some games, and other recreational activities as if their wage gap was never an issue.

Imagine a world where wage gaps are the result of only a few things: willingness to work, skill, and usefulness to one's fellow citizen. A world where the poor are not seen as victims and the rich are not seen as oppressors and thieves not due to ignorance but because the everyone is free to pursue their own goals in life even if they fail or are not profitable. I don't want to ever be seen as a victim because I'm poor and have X opinion and Y physical traits, or seen as an oppressor because I am rich and have X opinion and Y physical traits. I want a world where the poor are seen by society and themselves as temporarily embarrassed rich folk, a world where class is not an issue and nationalism is used as to keep us focused on creating a world that everyone who wants to better themselves can be a part of.

With our modern conveniences and technology there is no reason why this world I imagine cannot exist. We have cured diseases, made food cheaper to produce, but yet we still think no better than a wild animal, just stepping on anyone who would threaten our power. We fight a pointless class war over money that was for most in the higher middle class hard earned while the alpha with enough money to prop up and the drop an entire nation into poverty at will.

Many have said throughout history that a house divided against itself cannot stand, we are deeply divided in the West and we could be headed for a world where our experiment in free-ish markets and democracy will be destroyed and lost forever to be replaced by theocracy and totalitarianism. The conservatives are not your enemy, the republicans are not your enemy, we right now are the biggest threat to our freedom by allowing bullies to dictate what we can and cannot think and do for their own profit and nothing else. Don't be a fool divided against yourself or your allies. Instead be the person you want everyone else to become, always look at how to better yourself, stand for truth, and protect the freedom soldiers went to war for in WWII, grant the same freedom you value to others and the rest of society will change as their minds to. If you want to change the world, start with some backyard changes, change yourself so you can lead by example.

Friday, August 4, 2017

Moving and expanding.

I've already begun the process of releasing my Android applications to the Play store. I haven't decided yet if I'll maintain my own downloadable copies of my apps on my blog, and this will greatly depend on how I monetize my apps. one solution I have is to include a donation box in the app which would allow me to avoid adding ads or charging for my apps.

I will work with my community to find a mutually beneficial solution. Once I start making money on my talents, I will be able to spend more time building, teaching, and expanding my work.

Lets talk: neuronamker@gmail.com

Wednesday, July 26, 2017

Crypto Helper: New version released.

I released a new version of Crypto Helper, I have not yet implemented AES256 but it has the hashing upgrade I mentioned earlier, it melds the hash with the original key to squash the chance of a collision.

Upgrades include:
  1. Fixed glitches (likely from the upgrades, not critical to security though).
  2. "Secure Key" feature upgraded, 512 bit hash melds with key and is transformed to cover more possible characters and increase key complexity.
  3. New "Key Generator" added. makes an easy way to make single line keys of any length using random characters, and they're not easy for attackers to predict. 
Download here: https://goo.gl/0L10ob
Upgrades on the way:
  1. Toggle buttons for tabs.
  2. AES256 layer.
  3. RSA or other public key encryption algorithm.
  4. Split screen support
  5. File and folder encryption
  6. Email tunneling
  7. NFC, Bluetooth, WIFI, or USB key sharing.
  8. Optional key file (encrypted by master key).
  9. Post quantum cryptographic algorithm support
  10. File integrity checking
  11. Sound encryption (real time, like on the phone)
  12. Text and file compression
Same view, with new tab

Key generator after switching tabs

1024 byte random key seeded with UNIX timestamp

Random 20 byte key, based on seed

Monday, July 24, 2017

More security for Crypto Helper

New option visible.
I have begun work on a new upgrade for my encryption application for Android which I call Crypto Helper. This upgrade will give an optional AES256 layer on top of the my version of a one time pad cypher for added security and some extra forgiveness if a key is used more than once. One time pad is unbreakable if random keys are used and they are destroyed after use, and keys must be as long as the message being encrypted. AES256 will cover those tiny issues in one time pad. I have also upgraded the secure key feature so old cyphers made with the old secure key generator will not work, however the new secure key system is way more robust for proper usage of one time pad and makes intrusion into your personal data much harder. Cyphertext generated without the secure key feature will be unaffected by this upgrade.

I can't easily show the differences in the key security algorithm, all you'd see is different text. But the new check box for AES256 is visible.

The update should be out by the end of the week if nothing goes wrong, though programmers must always expect failure because programs tend to misbehave when one needs them to function.

Sunday, June 18, 2017

Where Crypto Helper's security comes from.

As some readers may know, I have pre-released an application for Android called Crypto Helper that is able to secure text in a manner that is extremely hard to break. It's security comes from a few design elements that coincidently allow me to keep the app's source code simple.

Secure Interface:

My app uses a simple interface which doesn't handle sending or receiving any external data, instead my app uses existing features in android known as the clipboard and intent. This design allows the app to automatically paste data into the input, copy output to the system clipboard, or directly export output to external apps like your email client or "secure" text messenger. This simple design also doesn't save your encryption keys, if the keys were saved then the system could be attacked by stealing them from the key stores even if they were made secure through encryption. Since the app saves nothing, once you shut the app down, all sensitive data is never moved from RAM to storage and is therefore lost and impossible for invasive investigations to recover. This means that the security of the app itself is completely dependent on the user and the device, there are no known weaknesses in my app therefore it can only be attacked by attacking the host device or user habits (two factors that are out of the hands of even the best app developers).

Algorithm Design:

Behind the scenes, my app uses simple but powerful algorithms to scramble text and make it unreadable without the correct key. The idea behind encryption is to make sensitive data impractical to derive from the encrypted data, and there are other uses of cryptography like verifying the identity of a sender. My app uses an algorithm that can be layered upon other algorithms like AES256 to make it even more secure, however it is already hard to break on its own. My app not only makes decryption without the key many times harder than encryption or decryption with the key (the mechanism behind encryption), but it also uses a phenomenon known as collisions to mask your data by making several potential solutions with no way for an intruder to tell which one is correct. One time pad is the name of the algorithm I based mine off of, it's unbreakable if a secure key is used once and never found by an intruder, it's lightweight to compute by only adding and subtracting rather than multiplying and dividing.

Features To Foil Crooks And Save You Time:

CryptoHelper gains a new level of security with a simple function I added that adds a massive amount of complexity to cryptanalysis attempts. My app has a feature where it generates random noise and injects it into the cipher-text which changes its length and makes it impossible to tell if all the text is necessary for decryption. With intruders unable to easily separate signal from noise, the text gains a new layer of protection. Crypto Helper also has a hexadecimal encoder for compatibility, if the app creates cipher-text in which has exotic characters, it makes the user's life harder if they need to type in the text so I made a feature where it outputs the hexadecimal notation for the characters to save users from a headache before one is ever found. Keys are hashed by default to save users who choose weak keys and increase difficulty of brute force attacks, users using older keys or custom keys longer than the 512 bit hash will benefit by turning off the "Secure key" feature which will use the key in verbatim. These are some features I have not found in any other application, and I am still adding more if anyone has any ideas.


Monday, June 12, 2017

Stop ads where adblock can't be installed, and save time typing IP addresses.

I'll give some background and show the steps at the end. If you want to just follow some steps or you already know what I'm about to say, then scroll to the end. I won't complain.

What you'll need: The computer you wish to apply this to, a text editor (common ones include: Gedit, Notepad, or TextEdit for Linux, Windows, and Mac respectively), and a list of the hosts you want to route. I'll show you how to get the lists.

I was browsing Google Play for Android apps that compete with my projects, I kept getting pummeled by full screen, deceptive, and flashy banner advertisements when I was looking at what features I need to compete with. I realized that I'm not alone, many of you use programs like Adblock, and I can assume most of you have noticed that ad blocking programs only work within your browser and won't stop ads within other apps. Ad blocking programs also hog your computer's resources which is especially pesky on mobile devices where they drain your battery almost as much as the ads you're blocking anyway. My solution to this will save you CPU and memory, My solution also has the advantage of working on every program running on your system and can be used to create shortcuts when working with IP addresses. This method uses some basic networking principals that everyone uses, they usually work so well that you don't notice the magic happening in cyberspace.

This tutorial harnesses something known in "nerd space" as Domain Name Service or DNS for short, it sounds intimidating but it's really simple for our purposes. Servers need to be found by clients, this is the basis of most of our Internet. Servers are the computers that host the files that make up a service like a website, clients are any machine which is used to access these computers which include laptop and desktop computers, cellular phones, tablets, and some IoT (Internet of things) devices like a smart TV. In order to use a web service, your data packets must know which numerical address points to the same computer systems as the domain you choose, this is done by DNS servers which use a massive database of domains and their numerical addresses to match your queries. Our local tiny database is not that complex because it's too small for the overhead difference to matter. Our clients have a smaller version of what a DNS server does, clients check a file called "hosts" to route known hosts to their addresses. This is useful for keeping local traffic from ever leaving your machine, programs emailing themselves internally shouldn't have to send out potentially private data over the network when the destination is within your client.

Q: Why should I do this?
A: Everyone is different but the most common reasons are to: block content such as ads or NSFW (Not Safe For Work) material, have your computer memorize addresses for you, and/or fix a network mistake made by IT personnel on your machine.

Q: Is it dangerous?
A: I have not heard of any permanent damage caused but since you are telling your machine to force a domain to be a custom address, it is possible to incorrectly route a site. This issue can be fixed by removing or modifying the line in question.

Q: Windows?
A: Yes one can do this on a windows machine. Read on for more.

Q: Will work on iOS?
A: Technically, yes. Apple has many barriers to modifying their system, I can't see anyone able to do this unless one has a jailbreak installed and has tools to modify system files.

Q: Will Mac OS X work with this?
A: Likely, and it will likely be similar to GNU/Linux, just using a different set of programs (TextEdit vs Gedit).

Q: Will my Android device last longer on a charge after this?
A: Possibly, it depends on how many ads you usually see and how much CPU each ad burns on average. Mostly you'll see less time on battery wasted watching ads you can't skip, therefore more productivity per charge even if the time on battery is unaffected.

Q: How much cellular data does this take?
A: None, it may slightly reduce the usage because ads can't load while your device is running.

Q: How does this work with a VPN?
A: I've yet to use this with enough VPN setups to say for sure but as a VPN is basically a virtual tunnel I don't think they will interfere with each other.

Q: Is this illegal?
A: Absolutely not. Where I live at the time this is written, modifying one's own system is perfectly fine so long as you are only modifying your system and not interfering with other peoples property. If you are unsure of the law around anything in cyberspace, do some research for the laws in your area, just because something is legal here doesn't mean it's legal somewhere else. 

 
Q: Seriously, why are you using the terminal in your tutorials? Is there a way to do this from my machines default graphical interface?
A: I like the terminal, I find it's easier than describing where to click if I simply write a script and send it to you, less chance of screw ups too. You can indeed do this graphically but I don't wish to do this because I can get the whole thing done with one command faster for simple things like this than I can with the GUI (Graphical User Interface). Then I get to the issue of cross platform compatibility and every little tweak each user may have performed previous to to reading this, one command is simple and then I don't need to buy three different computers to do this.

This simple little trick is done in a few steps.

  1. Obtain a list of the domains you wish to reroute. This can be done by looking in your notes on which addresses you must know go to which server. You can have a network monitor running and find which domains have traffic spikes when an ad is served. The easiest way to find ad domains to block is to go online and download a few lists which might also have the addresses routed to 0.0.0.0 for you (I'll explain, I promise). If you only wish to block ads then download a current list like this, and this zip file containing an example hosts file. These lists are simply text files and can be copied into yours. there will be some overlap but I will come out with a utility to solve this and it won't cause too much trouble for you. My hosts file is here, named "hosts.txt".
  2. Locate your hosts file, it's a regular text file and it's in a system folder. Under Android this requires you to have a rooted device (modifying any system file needs admin privileges on any system), and you must pull the original file to your computer using ADB (Android Debug Bridge), modify it on your computer and then push the new file to your Android device. On GNU/Linux based operating systems the file will be located in the folder /etc and called "hosts", Linux users will be editing "/etc/hosts". Windows has the file located at "C:\windows\system32\drivers\etc\hosts" and Windows users will use this file path where I use "/etc/hosts". Mac users will need to use "/private/etc/hosts" where I type "/etc/hosts".
  3. Gain administrator privileges, if you own you system then you likely already have these, this is really only an issue where you have someone else managing your computer for you (like in a school). On Linux, make sure your account is of the "admin" type which will make you part of the "sudo" group which allows you to make system modifications like installing applications. Windows is similar, but most Windows machines will not have the same group architecture set up as Linux systems due to different underlying designs. Linux was and still is based on UNIX, UNIX is an old, tried and true design that simplified the lives of computer scientists when it came out and is still useful today (Mac is running on top of Darwin UNIX).
  4. Make a backup copy of the file somewhere in case of trouble you can't predict. the file is small so save as many copies as you want to different locations.
  5. Open the hosts file in a simple text editor, I use Gedit because I find it works well for this but a terminal based one like nano or vi will work for advanced or remote users. On Linux or Mac open a terminal, on Linux press Control and Alt and T usually skips all menus and pulls up a terminal window. Type "sudo gedit /etc/hosts" into the terminal, replace "gedit" with the command name of your favorite text editor (nano will work in a pinch), replace the "/etc/hosts" with your hosts file path if you are not on a Linux based machine. After you press Enter your computer will attempt open the file in the program you specified, it will succeed if you have the program installed. You may see something like what I have, you may be asked for your password so your computer can be sure it's really you typing and not a misbehaving program or a prankster.
    My hosts file open with the terminal next to it.
  6. Copy in the lists you have downloaded. Anything appearing after "#" on a line will be ignored by the system and you can type comments for human readability here without affecting the file's function. Every functional line starts with the address numbers followed by a space followed by the domain you want to target. As an example to block an ad servers, put "0.0.0.0 googleads4.g.doubleclick.net" on a line of its own. The 0.0.0.0 is an address that doesn't exist, the domain "googleads4.g.doubleclick.net" is told to point to the 0.0.0.0 which makes the ad never load from that domain.
  7. Don't remove anything you did not put in, I recommend putting your routing commands under the default ones.
  8. Once you are satisfied with the file, save it. You must now get your system to reload services using this file, one foolproof way to apply the changes system wide is to reboot your computer. Linux users can reload services manually and have the same result without needing to reboot.
  9. Give it a try. Try to load a site you blocked and find it unable to load, find ad boxes empty, find banners blank if not gone depending on how they are coded, and find your shortcuts working on all programs on your system. Success!

Saturday, April 8, 2017

New Android Application: Numberwiz

I created an app for android a while ago, only a select few people had a copy and only because they were helping me find and squash bugs in the code. I have called the app Numberwiz although the name is a work in progress. Numberwiz takes a number as input and then outputs information about the number based on what a user selects. Currently it converts the number into octal, binary, and hexadecimal forms then it lists every factor of the number before finally prime factorizing the number, and I recently added a function that lists roots of the number from 2 through 10.

I want your input on anything you think could make this app better, send in a request by either commenting on this post or by sending me an email to either of the addresses I use to edit this blog: asificam1@gmail.com, or neuronmaker@gmail.com with the subject line "Numberwiz: suggestion".

Download the app here.
Or copy and paste this URL into your browser's address bar: https://goo.gl/IF9lfF

If you download this app, you have access to it before anyone on the play store does, think of it like being in an exclusive club of readers of my blog.

Latest Post

Steam on Linux Mint Cinnamon

Most viewed