Posted by: reformedmusings | December 24, 2015

2nd Amendment Civil Rights under fire again

So, two Islamic terrorists walk into a party, kill 14 and wound 21, a small number compared to their other plans.  They had legally purchase the pistols and illegally acquired two rifles purchased by another legally. The do all this in the gun control capital of the United States, California, which is rated #1 by gun control groups and has implemented every proposal put forward by gun controllers over the years. Who gets the blame from the royal emperor Obama? Why, law-abiding firearms owners of course. Obama wants our guns.

dont-judge-all-by-one

Of course, Obama’s post-killing speech was full of lies. Worse shootings happen in many other countries. America doesn’t even rate in the top 10 for violent crime in the industrialized world. John Lott has a number of great articles on this topic. Lott has a very nice statistical study and discussion that clearly puts the lie to Obama’s mantra. Very strict gun control didn’t save the French. But that doesn’t stop the parade of lies.

Law-abiding firearm owners in the U.S. currently own around 300 million firearms. The New York Times called for gun confiscation in a rare display of liberal honesty, but that would require changing the Constitution and confiscating said 300 million firearms. How do you think that would go? Don’t forget what sparked the hot part of the American revolution – the Brits were marching to confiscate colonist’s guns. That’s why we have a 2nd Amendment, not to shoot deer.

Clinton managed to pass the failed “assault weapons” ban, but it had no affect on crime whatsoever. Rather than address Islamic terrorism or serious mental health issues, it’s much easier for liberals to target and demonize law-abiding citizens. Hey, it worked for Stalin and Hitler. I’ve written on this many times before.

GunControlHitler

But, what was Clinton’s real goal? Dave Hardy researched the Clinton library materials for gun control stuff. He found that Clinton had a master plan to have the government gain control of firearm manufacturers and Federal Firearm Licensed dealers – the back door to eliminating the 2nd Amendment. I admit that even I was shocked to read of the scope of the scheme. Indeed, tyranny stands but a generation away, or less.

One of the enduring lies of the freedom haters is that armed citizens can’t stop mass killings. That’s a lie. Here’s yet another compilation with links of examples. There are many others that are difficult to find because disaster was prevented, hence the incidents don’t show up in statistics or news stories. The truth is, good guys and gals with guns prevent violent crimes every day. Every day. That’s why Detroit’s police chief encourages his citizens to arm up.

If America wants to survive the coming Islamic terror wave, it needs to become more like Israel and less like France.

To close on a lighter note, here’s the creative and true Gun Control Song.

Legally arm up and stay safe!

 

Posted by: reformedmusings | December 12, 2015

Upgrading a rooted Moto X Pure 2015 to Android 6.0 Marshmallow on Linux

I love my Moto X Pure 2015 in daily use. It’s seriously one of the best phones I’ve ever owned. I wrote previously how I unlocked the bootloader, installed TWRP recovery on it and rooted it. The Pure has been a joy to use, and rock-solid stable.

One of the reasons for going with Motorola in this round was their use of almost pure Android and their excellent reputation for keeping phones updated with the latest Android version. Sure enough, last week I had a new icon in my status bar which told me that an over-the-air (OTA) update to Android 6.0 Marshmallow was available. I followed the link to the changes, which proved very informative.

So, I successfully downloaded the OTA update, then smartly copied it from /data/data/com.motorola.ccc.ota on the phone to my 128GB external card for preservation. That was a smart move, as the update failed to install on a rooted phone with a different recovery installed. Time for Plan B, thanks to the good folks at xda-developers.com.

Important safety tip: I spent several days researching the best way to update my rooted Pure from Android 5.1.1 to 6.0, plowing through hundreds of related posts on xda-developers.com. It would be fool-hearty to attempt this task without researching the wisdom of the community and tapping into their vast knowledge. Words to the wise before jumping in with both feet.

I needed a few files to make the OTA update work from a non-rooted Pure 2015, which it requires. Providentially, Shaun5162 provided a set of files to return the Pure to stock. Rooting requires the newer version 2.8.7.1 of TWRP as well as version 2.52 of SuperSU. Lastly, you’ll need a modified boot image provided by DaMadOne that will allow root by bypassing some of the changes in the Android 6.0 kernel.

Once you have all the tools assembled, copy the OTA update file from your external MicroSD card to the root of your internal SD card. You’ll also need fastboot for Linux installed on your PC.

First, extract the files listed in the commands below from the return-to-stock archive, CLARK_RETUS_5.1.1_LPH23.116-18_cid9_subsidy-DEFAULT_CFC.xml_SHAWN5162.zip. Don’t flash the entire return-to-stock archive as that will wipe your device. Since the Moto update file only checks the system partition, and requires a stock recovery partition to run, they are the only areas that need to be brought to stock.

Done correctly, all your apps, data and settings will be preserved, but backup everything with a nandroid backup just in case things to south.

The files that you need from CLARK_RETUS_5.1.1_LPH23.116-18_cid9_subsidy-DEFAULT_CFC.xml_SHAWN5162.zip are:

recovery.img
system.img_sparsechunk.0
system.img_sparsechunk.1
system.img_sparsechunk.2
system.img_sparsechunk.3
system.img_sparsechunk.4
system.img_sparsechunk.5
system.img_sparsechunk.6
system.img_sparsechunk.7
system.img_sparsechunk.8
system.img_sparsechunk.9

You could create a bash file to flash these in batch, but it’s quicker to type them into the terminal because only the last character of 10 of the files is all that changes from line to line.

Ensure that these files and the TWRP image file are ready on your PC, and that the Motorola OTA update file, the modified boot image, and SuperSU 2.52 are all on your internal MicroSD card. If so, you are ready to begin.

My directions assume that you have an unlocked bootloader, TWRP installed, phone rooted, and that your phone is above 80% charged. 100% is always best.

  1. Ensure that the checkboxes next to OEM unlocking and USB debugging are checked in Settings -> Developer options
  2. Hold down the power and down volume buttons together to reboot to the bootloader. Hold the buttons down until the Android character appears on the screen.
  3. On this screen, use the volume buttons to change the selected function on the right side of the screen until Recovery appears next to the power button, then hit the power button. Your phone will reboot into recovery mode (TWRP).
  4. Use TWRP to make a nandroid backup of your phone in its current state. If something goes south, you can restore the nandroid and start over.
  5. Reboot back to the bootloader from TWRP or re-execute step 2 above.
  6. Your phone is now in fastboot mode. Open a terminal on your PC and navigate to where your above file collection resides.
  7. Connect your phone with a data USB cable to your PC. The charging USB cable that came with the Pure will work fine, but not all 3rd party charging cables will work. Your phone should indicate that it is connected at the bottom of the text screen.
  8. Type “sudo fastfoot devices” without the quotes in your terminal. It should return with your device name. That means that you’re good to go.
  9. Type the following commands into the terminal in order. You don’t have to type the last 10 in every time. After typing the second command, arrow up at the terminal prompt to display the last command and change the last character to the match the next file in the list:
    sudo fastboot flash recovery recovery.img
    sudo fastboot flash system system.img_sparsechunk.0
    sudo fastboot flash system system.img_sparsechunk.1
    sudo fastboot flash system system.img_sparsechunk.2
    sudo fastboot flash system system.img_sparsechunk.3
    sudo fastboot flash system system.img_sparsechunk.4
    sudo fastboot flash system system.img_sparsechunk.5
    sudo fastboot flash system system.img_sparsechunk.6
    sudo fastboot flash system system.img_sparsechunk.7
    sudo fastboot flash system system.img_sparsechunk.8
    sudo fastboot flash system system.img_sparsechunk.9
    sudo fastboot reboot
    The phone will respond after each command with the time each flash took and after the last command will reboot to the normal system, but you will no longer be rooted and TWRP will be gone. That’s OK, it is exactly what we want.
  10. Hold down the power and volume down buttons together again until the Android character appears.
  11. Just as in Step 2 above, use the volume buttons to select Recovery and press power to launch recovery
  12. Now press and hold the power, then press the volume up button for a second or so and release both. This will put you into a text screen with a scrollable highlight section at the top. Use the volume buttons to scroll the highlight to Install from SD card and press the power button.
  13. Navigate to the Blur_Version.23.21.18.clark_retus.retus.en.US.zip file and select it with the power button. The OTA update will now check your system and then install. This takes a while, so be patient. When the installation is complete, use the volume keys to navigate to “reboot system now” and press the power button. Marshmallow should appear in its full glory after it installs all the apps. If you don’t want to install TWRP or reroot, then you are done. Note that you will have lost your custom boot image to the nasty unlocked bootloader warning. We’ll deal with that in another post.
  14. To install TWRP, press and hold the volume down keys together until the Android character appears. If your USB cable isn’t plugged in, plug it in now. The bottom row of text on the phone should then indicate that you are connected.
  15. In your terminal on the PC, type:
    fastboot flash recovery twrp.img
    When that completes, use the volume keys to navigate to Recovery on the right side and hit the power key.
  16. The Pure will reboot into TWRP. Make an immediate backup of the current Marshmallow system. In case anything goes wrong after this, you will have a good Marshmallow image to restore.
  17. After backing up in TWRP, navigate back to Install, then select boot_root_mm_clark_retus.zip and flash it, then navigate back to Install, select BETA-SuperSU-v2.52.zip and flash it.
  18. Reboot to the system. If everything worked, and it should have, you now have fully rooted Android 6.0 on your Moto X Pure 2015. Enjoy!

This entire sequence was knit together from a number of posts on xda-developers.com, then additional details added as I thought necessary. This is the exact sequence that I used to obtain a rooted Marshmallow setup on my Pure, and all my apps, data, and settings were perfectly preserved. While it looks like a lot of steps, the process is actually quite straight-forward.

Kudos to Motorola for the Android 6.0 update, and many thanks to the xda-developers community for their collective wisdom, expertise, and experimentation.

Posted by: reformedmusings | November 26, 2015

Proclamation of Thankgsgiving

By THE PRESIDENT

OF THE UNITED STATES OF AMERICA

 

A   P R O C L A M A T I O N.
hereas it is the duty of all nations to acknowledge the providence of Almighty God, to obey His will, to be grateful for His benefits, and humbly to implore His protection and favor; and-Whereas both Houses of Congress have, by their joint committee, requested me “to recommend to the people of the United States a day of public thanksgiving and prayer, to be observed by acknowledging with grateful hearts the many and signal favors of Almighty God, especially by affording them an opportunity peaceably to establish a form of government for their safety and happiness:”  Now, therefore, I do recommend and assign Thursday, the 26th day of November next, to be devoted by the people of these States to the service of that great and glorious Being who is the beneficent author of all the good that was, that is, or that will be; that we may then all unite in rendering unto Him our sincere and humble thanks for His kind care and protection of the people of this country previous to their becoming a nation; for the signal and manifold mercies and the favor, able interpositions of His providence in the course and conclusion of the late war; for the great degree of tranquillity, union, and plenty which we have since enjoyed; for the peaceable and rational manner in which we have been enabled to establish constitutions of government for our safety and happiness, and particularly the national one now lately instituted; for the civil and religious liberty with which we are blessed, and the means we have of acquiring and diffusing useful knowledge; and, in general, for all the great and various favors which He has been pleased to confer upon us. And also that we may then unite in most humbly offering our prayers and supplications to the great Lord and Ruler of Nations, and beseech Him to pardon our national and other transgressions; to enable us all, whether in public or private stations, to perform our several and relative duties properly and punctually; to render our National Government a blessing to all the people by constantly being a Government of wise, just, and constitutional laws, discreetly and faithfully executed and obeyed; to protect and guide all sovereigns and nations (especially such as have shown kindness to us), and to bless them with good governments, peace, and concord; to promote the knowledge and practice of true religion and virtue, and the increase of science among them and us; and, generally, to grant unto all mankind such a degree of temporal prosperity as He alone knows to be best.

Given under my hand at the City of New York the third day of October in the year of our Lord 1789.

G. Washington

Posted by: reformedmusings | November 15, 2015

Narcissism taken to new heights in Mizzou

I wrote here of the blatant stupidity of the narcissists in Mizzou, wanting everyone else to pay for and take responsibility for them, but have total freedom in the process. Well, after the horrendous mass murder by Islamic barbarians in Paris, the spoiled, narcissist children of Mizzou doubled down, equating the mass murder in Paris with the failure of the world to fall down and concede their childish demands and keep all eyes on their childish displays. These children are wasting our air and shaming their families. I can not find the words to describe the depths of my disgust.

Posted by: reformedmusings | November 13, 2015

The voice of stupidity

Stupid is not a word that I use lightly, but I just watched stupid in action. Typical progressive mantra with nothing behind it – no thought, no reasoning, no planning, just empty words. Neil Cavuto, one of the nicest people you’ll ever meet, tries to gently explain economic reality to this young lady, but she doesn’t get it even after multiple examples and presentation of hard data. My head hurt just watching this youngster:

This just goes to show that one can buy a useless degree, but you can’t buy intelligence or wisdom.

According to her, her parents scraped and sacrificed to send her to college. I regret to inform them that they wasted their money. Their hard-earned money would have been more wisely and productively invested in an 84-inch HDTV and an appropriate NFL Game Day and Red Zone sports packages. At least that would not embarrass their family in front of the world on national television.

I praise the Lord that I know people her age who can think logically and actually leverage their college degrees into productive jobs that materially contribute to society. Keely Mullen is obviously not one of them.

Posted by: reformedmusings | November 7, 2015

Fixing VMWare Workstation 12 on an Ubuntu 15.10 host

When I upgraded to Ubuntu 15.10, my VMWare Workstation 12.0 installation stopped working. After a quick search, I found the answer. According to this thread on VMWare’s forum, the answer involves telling Workstation where to find a particular file.

Open up a terminal, then copy and paste the following line:

echo /usr/lib/vmware/lib/libglibmm-2.4.so.1 | sudo tee -a /etc/ld.so.conf.d/LD_LIBRARY_PATH.conf

Then copy and paste this:

sudo ldconfig

After this, the Workstation GUI will start normally. Simple and quick solution!

Posted by: reformedmusings | October 25, 2015

Obamerica getting what they asked for

Here’s an interesting article that illustrates the old Twilight Zone motif: “Be careful what you ask for, you just might get it.” Obama, Holder, Sharpton, and the whole crop of race-baiters blame the police for everything that goes wrong with their failed social policies.

In Ferguson, a 300 lb thug strong-arm robbed a merchant, then tries to kill a police officer who kills the thug in self-defense. But according to the race baiters, it’s the officer’s fault for doing his job and surviving.

In Florida, a thug wannabe violently assaulted an individual with life-threatening viciousness. The attackee defended himself, shooting and killing his violent attacker. Then the baiters conducted a smear campaign of lies and an ambitious state attorney tried a case with no basis in fact – all perpetrating a huge injustice. The attackee was exhonerated in court, and though found not guilty, he was left deep in debt and his life is left in shambles. The thug wannabe attacker continues to be treated as a hero victim by the baiters.

In fact, analysis has been done that shows the police kill more whites than blacks, but of course the latter draw all the outrage. In fact, Peter Moskos’ research shows that, adjusted for all pertinent considerations, whites are killed by police 1.3 times more than blacks. You won’t see that in a White House press release. Police and Christians are the two primary targets of the left, so inconvenient truths are ignored.

So, what would you do if you were a police officer in Obamerica, constantly second-guessed and persecuted and family threatened even if you do the right thing? The answer in practice is becoming known as de-policing. Coli Flaherty provides specific examples of the phenomenon. The trend is nation-wide in Obamerica. We’re seeing coincident increased murder rates in Obamerica. The violent predators don’t fear the police acting against them. Imagine that.

Note that these murder increases are happening only in Democrat-controlled, gun-controlled Obamerica, not the rest of the country. Draw your own conclusions about the results of decades of Democrat-ruled failed social programs. They just don’t get it.

Like I said, be careful what you ask for, you just might get it.

Posted by: reformedmusings | October 25, 2015

Upgrading to Windows 10 in a VMWare Workstation 12 virtual machine

I ran Windows 8.1 in a VMWare Workstation under Ubuntu Linux 15.04. I tried updating from Windows 8.1 to 10 some time back, but eventually the Windows notification tool told me that I had an “Unsupported SVGA driver” and could not update. That was under Workstation 11. So, I bit the bullet and updated to Workstation 12.0 Pro, which went smoothly, but I still received the same error. Ugh.

After searching the VMWare Workstation knowledge base, I found this entry that explained the issue. Good old Microsoft. It turns out that Windows isn’t smart enough to detect the video capabilities of a virtual machine. According to VMWare, this is true for all virtual machines. Great job by Microsoft, NOT.

This can be overcome, but it involves some unusual actions – like dumbing down the virtual machine (VM) and lying to the updater. As always, start with a backing up the virtual machine.

According to VMWare, you start by uninstalling VMWare Tools from the virtual machine. I did that with the Windows Control Panel -> Programs and Features -> Uninstall Programs inside the VM. Then, shut down the guest VM Windows.

After that, follow the steps in the knowledge base article, which leverages the Microsoft Media Creation Tool. This worked perfectly for me. As usual, Windows takes quite a while to upgrade. But no worries, just let the VM run and continue to work as usual on the host machine. After the upgrade is complete, install VMWare Tools for the new installation and you’re off and running.

A few thoughts on Windows 10. The interface is better than Win 8.1, but that’s not saying much. I only run three programs in the VM – Logos Bible Software, OliveTree Bible Study, and TurboTax – and they all work fine in Win10. So, I don’t really use Windows as a system, only as a vehicle to run those three programs. I haven’t looked at the OS past that goal, other than privacy settings. My advice – turn off all sharing with Microsoft except letting apps control the radios. I don’t trust Microsoft with my shoe size much less anything else.

Posted by: reformedmusings | October 24, 2015

Obamerica, Gun-free kill zones, and Gun violence

Once again, an evil predator has killed innocents, this time on a university in Oregon that prohibited guns on campus. Such events are impossible, aren’t they? I mean, no guns allowed, so no such murders are possible, right? Or rather, as usual, gun-free zones provide opposition-free ranges for evil, predatory cowards to kill without having to worry about anyone shooting back.

As usual, Obama had to politicize this terrible tragedy, calling out Australia as a great example of how the government saved its subjects from gun violence. Really? First, Gun Owners of America provided an excellent rebuttal to Obama’s political nonsense. A must read for anyone interested in the truth. Bottom line is that Obama’s speech was full of oft-repeated lies and errors.

Second, places like Australia and England who have passed draconian gun control share two characteristics: 1) no constitutional right for its subjects to bear arms without infringement; and 2) they have experienced dramatic rises in violent crime. From the Free Republic’s excellent piece on Australia’s crime situation:

Moreover, Australia and America both experienced similar decreases in murder rates: Between 1995 and 2007, Australia saw a 31.9% decrease; without a gun ban, America’s rate dropped 31.7%.

Now for the rest of the story

During the same time period, all other violent crime indices increased in Australia: assault rose 49.2% and robbery 6.2%. Sexual assault–Australia’s equivalent term for rape–increased 29.9%. Overall, Australia’s violent crime rate rose 42.2%. At the same time, U.S. violent crime decreased 31.8%: rape dropped 19.2%; robbery decreased 33.2%; aggravated assault dropped 32.2%. Australian women are now raped over three times as often as American women…

I might also note that during the period in question, American gun ownership rose dramatically. Obama is either ignorant or intentionally lying, but he has no problem displaying his ignorance and lies for the world to see on TV.

What about England? I’ve written before how they are now in the most violent country in the Europe, much worse than the U.S. Worse even than South Africa. Interestingly, Canada has twice the violent crime rate at the U.S., despite their universal gun registration scheme. Where guns are withheld from the population, the strong run over the weak and vulnerable with impunity. Gangs freely victimize individuals and couples. Is that the model Obama and Hillary Clinton wants to emulate? The answer according to them is a resounding “yes.” Obama and Clinton have lots of company in Hollywood as well. Apparently the left has no regard for the Constitution and civil rights except when it suits them personally. They forget the words of one of their past icons, John F. Kennedy:

The rights of man come not from the generosity of the state but from the hand of God.

Kinda sounds like our Declaration of Independence.

America’s violence problem isn’t guns, it’s the violent, predatory animals created by failed leftist social policies that have devastated families and communities. Those are the sections of the country we call Obamerica. While crime has dropped steadily in the overall country since the 1970’s with the rise in gun ownership, violent crime continues to thrive in Obamerica.

Alan Korwin wrote an excellent piece back around 2008 on this issue. The statistics are beyond compelling. As Korwin points out:

The real blame is hidden, because the truth is so painful.
Crime is not spread across the streets of America.
Crime, and crime using guns, happens in isolated areas
for well known reasons the media and politicians hide from you.

Later in the piece, Korwin names a predominant culprit:

Many of these aren’t “gun deaths” at all, they are “war deaths.”
It’s the endless fruitless government-run War On Some Drugs.
It’s a declared war. Combatants in the war are killing each other.

I’ve written about Dr. Andrew Papachristos work in applying network analysis to shootings in Chicago and Boston. He found that the victims were predictable – tragic but not random. Korwin looked at the data from Baltimore and Chicago, not for individuals but rather neighborhoods. But the two works agree because individuals tend to hang out in particular neighborhoods. I went to the Baltimore Sun’s interactive website and updated the analysis to 2015. There was no change from Korwin’s look at 2007’s data. You can play with the data yourself. Shootings by violent predators outside of Obamerica remain rare, while they remain all too common in Obamerica.

In light of these giant fails, only a complete fool thinks that removing any kind of firearm from law-abiding citizens will have any suppressing effect at all on violent crime. That’s like solving drunk driving by taking cars away from everyone, even those who never drive drunk. Further, the use of modern sporting rifles in violent crime is incredibly rare. I’ve shown before that you are more likely to be killed with blunt objects or fists/feet than by a rifle of any kind. Yet, the lies about and bans of modern sporting rifles continue to be spread. It’s crazy, or dishonest – take your pick.

So, the staff at AllOutdoor.com encourages a follow-up strategy for when the rare tragedy strikes and the left starts tossing out their lies like pixie dust. They encourage gun owners to stand up and fight back with the truth. They cite a number of underlying issues that rarely come to the fore, including the ill-conceived war on drugs, the resultant militarization of the police, gun-free zones, and the media making the psychopaths famous by plastering their names, pictures, and sick manifestos all over front pages, Internet sites, and the TV. We need to fight back, otherwise the lies will prevail. That’s the nature of human beings – we fall for the loudest and most repeated lies.

As I’ve said before, if Obama and Clinton want a world without firearms, we already know what that looks like. We should prefer the 2nd Amendment approach:

A firearm is the great equalizer

A firearm is the great equalizer

Write blog posts, talk with your friends, write letters to the editor and to your senators and representatives in D.C., your state and local legislatures, governors, etc. Don’t let the liar hijack the narrative. Only a good guy/gal with a gun can stop a bad guy with a gun.

While you are at it, vote to kick out the bums who created the welfare society of Obamerica that destroys families and values drug dealing over hard, honest work. More on that in future posts.

Now, get busy writing.

Posted by: reformedmusings | September 27, 2015

Recreating my custom boot flash for Moto X Pure 2015 Edition

As I posted earlier, I lost my custom boot flash screen when I unlocked the Moto X Pure’s (MXPE) bootloader. Motorola substituted an obnoxious warning screen instead:

moto_bootloader_unlock_warning

I posted here how to lose the warning screen, but that still didn’t get me back to my custom message on the boot flash screen. But I finally figured out to get my custom message back.

First, I used makers_mark’s very nice and simple Windows-based tool in my Windows 8.1 virtual machine to disassemble the MXPE’s logo.bin file and extract the included image files. I then used Linux’ GIMP editor to modify the logo_boot.png file by adding my text layer to it, merging the text layer into the image, and saving it as a new logo_boot.png. That turned out to be easier than I thought. I used the Ubuntu font, size 160 px, because it is rounded and I happen to like it.

Once I had the new logo_boot.png image, I copied it over the old version in the \Modified\Images directory under the makers_mark’s tool’s project directory structure. After that, I used the “Make MotoLogo Bin From Images Folder.bat” batch file to create a new build.bin file, which is really the logo.bin file.

But flashing that file (see here for how) to my phone merely brought back the dreaded bootloader unlocked warning screen. Ugh. Replacing the logo_unlocked.png file didn’t work because it’s a different resolution.

That took me back to Hashbang173’s post on getting rid of the Moto warning screen. I followed his link to Alberto97’s post on the concept behind redirecting the bootloader to the desired image. Long story short, Alberto97 merely used a hex editor to copy the hex address of the logo_boot.png image over the logo_unlocked.png address, so that all calls to the logo_unlocked.png image are redirected to the logo_boot.png image. Very clever.

So, I used ghex, a Linux hex editor for Gnome, to do the same to my file. Here’s the original logo.bin file with my custom boot splash image:

hex-orig-logo-file

Here’s my “corrected” version where I copied the first 12 bytes at offset 0020 over to the first 12 bytes of offset 0060 (highlighted):

hex-redirected-logo-file

Compare the bytes at offset 0020 with offset 0060 in both images above and you’ll see what I did. I simply followed Alberto97’s approach exactly. Your actual byte values will likely vary with the size of the individual images. My custom image (159.0K) was a bit larger than the original Moto logo image (127.4K). That didn’t seem to matter to the overall process, but I’m sure there’s a limit to the image size. The overall logo.bin file cannot exceed 2MB.

After modifying the logo.bin file, I flashed it to my MXPE and rebooted (see here for how). Up popped my custom boot splash image! Yea!!!

So, I went from the obnoxious warning screen at the top of this post to the standard Moto logo screen with Hashbang173’s file initially. Later, I used makers_mark’s tool in my Windows virtual machine and GIMP in Linux to create a custom boot splash and then incorporate it into a new logo.bin. After that, I applied Alberto97’s approach to redirect the bootloader to my custom boot splash image rather than the obnoxious bootloader unlocked warning screen, then flashed the result to my MXPE. Now at boot I see my custom boot splash:

custom_logo_boot

Sweet!

All this sounds complicated, but is actually very straightforward to do step-by-step. The hardest part for me was creating the custom image because I don’t do much graphics work. GIMP’s online help, especially on using text boxes, helped a lot. I am now a very happy camper with a fully unlocked and rooted MXPE with which I’m very pleased, although now I’m way behind on all the stuff I should have been doing instead of playing with my new phone.

There you have it. I hope that this helps others recreate their custom boot flash screens after unlocking their MXPE’s bootloaders. Many thanks to those who made this possible – Hashbang173, makers_mark, and Alberto97 over at xda-developers.

After unlocking your bootloader, explained here, Motorola replaces your nice custom greeting with an obnoxious boot splash warning screen.

moto_bootloader_unlock_warning

Very annoying and obviously written by lawyers. I’m surprised that they didn’t mention ebola. I lost my custom greeting, probably forever, which I did not expect.

On the good side, Hashbang173 provides an easy solution. You can read his post for the details, but the bottom line is to simply download the fixed logo.bin file from Hashbang173’s post and flash it to your phone. To flash the file, open a terminal under Linux or a command prompt under windows. Then:

  1. Ensure that your phone has USB debugging enabled in Developer options (see here)
  2. Turn off your phone
  3. Enter fastboot mode by holding down the power and volume down buttons simultaneously.
  4. Connect the phone to your PC with a USB data cable
  5. Make sure that you have a connection by typing “sudo fastboot devices” on your PC and look for a response like this:
    • $ sudo fastboot devices
      $ [sudo] password for bob:
      $ 1234567890    fastboot
  6. Change to the directory into which you downloaded logo.bin
  7. Flash the logo.bin file by typing “sudo flash logo logo.bin”
  8. You should get a fastboot response indicating the flash was successful (sorry, didn’t save that output)
  9. Use the volume buttons to scroll to Start and press the power button to reboot the phone
  10. Enjoy seeing the standard Moto boot flash, sans obnoxious warning screen

moto_bootloader_splash

Many thanks to Hashbang173 at xda-developers for his work.

For the braver souls, makers_mark wrote a Windows program to modify logo.bin with custom boot splash images. I may try it eventually, but I’m not that good with graphics.

Posted by: reformedmusings | September 26, 2015

Installing TWRP and rooting the Moto X Pure 2015 in Linux

Before starting with this effort, one must first unlock the Moto X Pure 2015 Editions (MXPE) locked bootloader. If you haven’t already, do that now at your own risk. The instructions below assume that you’ve followed the linked process.

Now that your bootloader is unlocked, you can install the excellent alternate recovery TWRP and then root your phone.

NOTE BENE: Like unlocking your bootloader, changing your recovery and rooting poses some risk. So, if you follow these instructions and somehow brick your phone, your dog gets warts, your frog starts eating your steaks, or your car runs off with your pet python, you are on your own. I take no responsibility for what you do or the outcome. You have been warned.

Installing TWRP

  1. Download TWRP 2.8.7.0  for the Pure X from here.
  2. In anticipation of the next task, download SuperSU 2.46 from here.
  3. Open a terminal and navigate to the directory to which you downloaded the TWRP file.
  4. Ensure that your phone is charged to over 50%, then turn your phone off.
  5. Put your phone in fastboot mode by hold down the power and volume down buttons together until the fastboot screen comes up. It features an Android on its back with an access door open on its belly.
  6. Attach your phone to the PC with a USB data cable. Note that some charging cables don’t do data, so if you don’t get a connection try another cable.
  7. In the terminal on your PC, type “sudo fastboot devices”:
    • $ sudo fastboot devices
      $ [sudo] password for bob:
      $ 1234567890    fastboot
  8. Type the command “sudo fastboot flash recovery twrp-2.8.7.0-clark.img”:
    • $ sudo fastboot flash recovery twrp-2.8.7.0-clark.img
      target reported max download size of 536870912 bytes
      sending ‘recovery’ (34102 KB)…
      OKAY [  1.078s]
      writing ‘recovery’…
      OKAY [  0.662s]
      finished. total time: 1.740s
  9. This is critical: On your phone, use the volume buttons to navigate to the “Recovery mode” and tap the power button to boot into the recovery.
  10. Upon initial boot into TWRP, you will receive a dialog about making the system writeable. I don’t recall the exact message, but the upshot is to allow TWRP to write to system. Check the box that says don’t ask this again. These two actions make TWRP changes “permanent” and prevent the bootloader from overwriting TWRP recovery with the factory recovery.
  11. Congratulations, now you are in TWRP recovery.

You can get into TWRP a number of ways from a running phone. One can get into the bootloader by turning the phone off, then holding down the power and volume down buttons together. After you are in fastboot, use the volume buttons to navigate to “Recovery mode” and press the power button. That will boot you to TWRP.

A quicker way is to install Quick Boot from the Google Play store. One of the options in Quick Boot is to restart into recovery.

Rooting

Hopefully you are still in TWRP. If not, go there. Once in TWRP:

  1. Tap on Install
  2. Navigate to where you downloaded SuperSU
  3. Select the SuperSU zip file
  4. Swipe to flash the file
  5. Reboot when the installation is complete

That’s it. Congratulations, you are now rooted and have full control over your phone. Use your power wisely!

Posted by: reformedmusings | September 26, 2015

Unlocking the Moto X Pure 2015 bootloader on Linux

I talked about my selection and purchase of the Motorola Moto X Pure 2015 Edition (MXPE) in this post. One of the major selling points for me was the unlockable bootloader. Most phones can be rooted, but they mostly require backdoor approaches. Not the Moto X Pure. Motorola publishes the instructions to unlock the bootloader and provides the code to do so. That’s worth rewarding.

Let me make a distinction for the non-technical types. The MXPE comes unlocked in the sense that it isn’t tied to a particular carrier like AT&T or Verizon. It includes radios for all the U.S. carriers. Simply plug in your SIM and you are good to go. That’s the carrier unlock and is built into this phone, and it’s awesome.

The bootloader is what starts the phone. A locked bootloader doesn’t allow the user to take full control of the phone to root it, install an alternate recovery program, block ads, monitor detailed battery usage, make full application backups and nandroid images of the system, etc. That’s the unlocking that provides the subject of this post.

These instructions are for Linux, though the fastboot commands are the same for Windows. For a full step-by-step Windows tutorial, see heisenberg’s post. Note also that some of the instructions on the Motorola website are also for Windows and Mac. Actually, the process is simpler on Ubuntu Linux. I’m using Ubuntu 15.04 for this process.

NOTE BENE: Unlocking your bootloader will wipe your phone completely, including your internal SD memory. If there’s anything on your new phone that you want to keep, back it up to somewhere else. Unlocking will also void your warranty. In the words of one very nice Moto representative: “After you unlock the bootloader, you are on your own.” So, if you follow these instructions and somehow brick your phone, your dog gets gout, your canary starts singing bass, or your car develops herpes, you are on your own. I take no responsibility for what you do or the outcome. You have been warned.

Instructions

Before starting, ensure that your Pure is charged to greater than 70%. Full never hurts. Since the procedure will completely wipe your phone, it is best to unlock before installing all your stuff. Also, read through this entire process to ensure that you understand everything before starting anything. Some of the instructions parallel the Motorola pages for continuity.

  1. Go to Motorola’s bootloader unlocking site. Read through the general process and all the warnings. You WILL wipe your phone in the process. Work through the next pages, including registration with a valid email (they will use it later in the process), until you get to the page where you insert your phone’s internal code. You don’t need to do any of the Windows stuff. FWIW, I tried to unlock in a Win 8.1 virtual machine under Ubuntu, but it did not work.
  2. Install fastboot and adb from your Linux distribution’s repository. I normally do this from the terminal, which you will need in a minute anyway. In Ubuntu:
    • sudo apt-get install fastboot adb
  3. On your phone, enable “Developer options” by going to Settings -> About phone, scroll to the Build number and tap that block 7 times.
  4. Go into Developer options and enable “OEM unlocking” and “USB debugging”, assenting to their respective warnings
  5. Turn your phone off.
  6. Put your phone in fastboot mode by hold down the power and volume down buttons together until the fastboot screen comes up. It features an Android on its back with an access door open on its belly.
  7. Attach your phone to the PC with a USB data cable. Note that some charging cables don’t do data, so if you don’t get a connection try another cable.
  8. In the terminal on your PC, type “sudo fastboot devices”:
    • $ sudo fastboot devices
      $ [sudo] password for bob:
      $ 1234567890    fastboot
  9. Once your get that favorable response, type “sudo fastboot oem get_unlock_data”. The response will be a series of lines of characters:
    • $ sudo fastboot oem get_unlock_data

      (bootloader) xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
      (bootloader) XXXXXXXXXXXXXXXXXXXXXXXXXXX
      (bootloader) xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
      (bootloader) XXXXXXXXXXXXXXXXXXXXXXXXXXX
      (bootloader) xxxxxxx
      OKAY [  0.241s]
      finished. total time: 0.241s
  10. Open a text editor, then copy and paste the character strings from the terminal together in the text editor. Do not include the “(bootloader) ” parts and there should be no spaces or anything between the strings of characters – just one continuous string.
  11. Highlight the string that you just created in the text editor and copy it.
  12. Paste the string into the proper box on Motorola’s website to check if you device can be unlocked.
  13. Once your code is pasted, accept the terms and click the blue button to request your unlock code. Your warranty is now void.
  14. Wait for the email from Motorola with your unlock code. It only takes a few minutes.
  15. Copy the unlock string into your terminal to create the command: “sudo fastboot oem unlock NNNNNNNNNNNNNNNNNNN”:
    • sudo fastboot oem unlock NNNNNNNNNNNNNNNNNNN

      (bootloader) Unlock code = NNNNNNNNNNNNNNNNNNN(bootloader) Phone is unlocked successfully!
      OKAY [  2.614s]
      finished. total time: 2.614s
  16. Type the following into your terminal: “sudo fastboot reboot”. This will reboot your phone. You can disconnect the USB for now.
  17. Upon reboot, you will notice that the boot splashscreen is now an obnoxious warning page. Don’t worry, we’ll get rid of it later.

Congratulations! Your bootloader is now unlocked. You can now set it up for your use with apps, etc. Enjoy!

The next post will discuss installing TWRP and rooting.

 

Posted by: reformedmusings | September 26, 2015

New Motorola Moto X Pure 2015 Edition

After many happy years with my Samsung Galaxy S3, I decided that it was time to update to a faster, larger smartphone. The GS3 is still humming along on the excellent Liquid Smooth 4.1 ROM (Android 5.1.1), and I will hand it down to my family. I am really going to miss the LS 4.1 ROM and its many customizations and power user features.

I considered the new Samsung 6, 6 Edge, and Note 5, but none had removable batteries or provisions for external storage. The latter is a deal breaker for me. I looked at the LG G4 as well, but a friend highly recommended the Moto X series. The new Pure (known as the Style outside the U.S.) indeed had everything that I wanted except a removable battery, which is going the way of the Dodo on high-end phones.

The Moto X Pure 2015 Edition (MXPE from here on) is also a carrier unlocked phone. U.S. carriers are moving away from the subsidised phone approach of the past. AT&T has their AT&T Next program if you don’t mind paying several hundred dollars over the retail cost, but spread out over several years. With the MXPE, you can plug in any nano SIM and the phone will connect to that network. No contracts, no bloated time payments, no hassles. Sweet. It also has an unlockable bootloader – another key consideration.

I won’t hit all the MXPE’s specs. You can read those on the Motorola website.

So, following my friend’s recommendation, I went to Motorola’s “Build Yours” page to customize my phone. I made mine 32 GB with a black & dark gray frame & front, metallic dark gray accents, and a black leather back. It looks great! I also added engraving and a custom boot greeting.

The timeline went by quickly. I ordered the phone on a Thursday night, Motorola shipped it from China on Monday and I had it on Tuesday. Now, that’s a small world!

Please excuse the crummy pictures. It’s raining outside for the next few days, so I had to do these indoors with my GS3’s camera. The phone looks MUCH better than the pictures. The screen protector is already on the phone in the pictures.

Moto_X_Pure_frontMoto_X_Pure_back

Migrating

I’d be remiss if I didn’t mention that the Moto X comes with a migration tool. It works through NFC and WiFi to transfer SOME data from your old phone to your new one. After installing Migration on the GS3, I let it run overnight. It transferred all media and documents, but…

The catch came in that I hadn’t put the 128GB microSDXC into the MXPE yet. So, it copied all the targeted files from the GS3’s internal and external SD to the MXPE internal SD. It took me a while to sort that out. In the end, although Migrate is a nice tool that works OK, I would have been better off copying the GS3’s contents to my Ubuntu PC via WiFi, then copying them to the MXPE via WiFi. I actually did that the second time around – more on that in the next post.

Well, OK, here’s a preview. Unlocking the bootloader wipes the device back to factory – all the way back, including wiping the internal SD. After that surprise, transferring all the files via the PC and WiFi took a fraction of the time that Migrate took, and they ended up exactly how I wanted them. Although, the second time I only transferred a few app settings, deciding to really start fresh.

Accessories

Even before I ordered the phone, I prepared the field. I picked up a Fosmon Touch tempered glass screen protector, a 128GB Sandisk Ultra microSDXC UHS-I card, and an Aerb 4FF Nano SIM Cutter.

The Fosmon Touch is incredibly clear and works great. It came with everything needed to install w/o getting dust under it, and stickies to get any stray dust out. The glass is so much better than the plastic protectors that I’ve used over the years. You literally cannot tell it’s there.

The 128GB Sandisk is incredibly fast, and will hold tons and tons of stuff, including all my nandroid backups (more on this in the next post). I got it during an Amazon 1-day sale for 1/3 of MSRP. Stole it, really.

I needed the Aerb cutter because the Samsung GS3 uses a micro SIM and the MXPE uses a smaller nano SIM card. The cutter works because the internals of all the three size SIMs are the same size, and are located over the contacts. I simply put the micro SIM in the metal adapter, slid it all the way into the cutter, made sure three or four times that I had everything lined up right, held my breath, then pushed the handle down on a flat, hard surface.

It turned out perfectly. I didn’t even have to use the included sandpaper to smooth the edges. If I later need to put the SIM back in the GS3 or another phone, the Aerb comes with all the necessary adapters. This product is well designed and comes with excellent word and pictorial instructions on the outside of the box. Many kudos to Aerb.

The MXPE comes with a clear plastic bumper in the box, which I installed for now. I don’t want to cover the leather back with a case, so I am in the market for a softer black bumper. Not much out there yet for the new phone. EDIT: I found a nice bumper here and will wait until they are available.

Thoughts

I really like the Moto X Pure. The large 5.7″ screen enables me to work better with documents, spreadsheets, and presentations. The larger size still fits nicely in my medium hands. Motorola has done a nice job of integrating all the elements, and provided a virtually clean Android experience. The few Motorola additions are well thought-out and executed. I’m a very happy camper at this point.

But, I wanted a rooted phone, so on to unlocking the bootloader in the next post.

Posted by: reformedmusings | September 19, 2015

Violent crime on the rise in Obamerica – Anybody surprised?

Obamerica is where socialist democrats have been ruling for decades, where government handouts are the dominant “income” source, and where gun controllers rule virtually unimpeded. Obamerica almost entirely consists of large cities, but some states make the grade. These all should theoretically be socialist utopias of peace and love according to the doctrines of the political left. The reality is dramatically different, which should be no surprise to people who can think.

In the current environment where Black Lies Matter and Obama defends individual thugs but ignores the growing death rates of blacks at the hands of violent black thugs, truth and facts seem irrelevant. The problem is that facts are stubborn things the eventually come back with a vengeance.

As violent crime continues to drop generally across the country as gun ownership and concealed carry continue to increase, homicides in Obamerica are skyrocketing. Even in relatively gun-friendly states, the big cities of Obamerica find ways to discourage and restrict 2nd Amendment civil rights. The results speak for themselves.

Now, gun control isn’t the only reason for the homicide rates in Obamerica, not even the dominant one. We have the liberal/progressive family-destructive policies and the administration’s disrespect for the law to thank for that. But as Detroit found out, empowering self-defense helps decrease violent crime. Criminals may be evil, but most aren’t terminally stupid – they don’t want to get shot. While they reign free from consequences in gun-control havens like Baltimore, DC, and Chicago, not so in freedom-protecting places.

Further, a recent study revealed that as firearm ownership increased, firearm-related accidents decreased. That debunks yet another gun control lie.

Speaking of gun control lies, background checks did nothing to prevent the latest multiple killings. Evil people still pass background checks if they have no felony records, and no check is fool-proof under any circumstances. Universal background checks wouldn’t affect the violent crime rate, since criminals don’t buy their guns from stores, gun shows, or anywhere else. Criminals get guns from personal connections or they steal them. Duh, they’re criminals. They break laws by definition. Laws are irrelevant to criminals, and only hamper the law-abiding. As Thomas Jefferson once said:

Laws that forbid the carrying of arms . . . disarm only those who are neither inclined nor determined to commit crimes . . . Such laws make things worse for the assaulted and better for the assailants; they serve rather to encourage than to prevent homicides, for an unarmed man may be attacked with greater confidence than an armed man.”
–Thomas Jefferson, quoting Cesare Beccaria in On Crimes and Punishment (1764).

Our Founding Fathers got it. Socialists like Obama remain clueless.

But we can take this a step further. Violent predation isn’t related to the tool, but rather to the wielder of that tool. That seems obvious to anyone with half a brain, but the left apparently can’t muster even that.

Dr. Andrew Papachristos studied shootings in Chicago and Boston using social network analysis. His presentation to the Illinois Academy of Criminology lays out the basics of his important work. This 32-minute presentation is a must-see for anyone interested in avoiding being shot:

Here are some bottom line statistics from the presentation: In Boston, 85% of those who were shot were in a network of just 6% of the population. In Chicago, 41% of homicides happened in a network of just 4% of the population. Overall,  Papachristos’ point is that we can reasonably predict, using social network analysis, who is at the highest risk of being shot or shooting someone.

In 2nd Amendment circles, we’ve known this forever and enshrined it in the wisdom, “Do stupid stuff with stupid people and you win stupid prizes.” That’s essentially what Papachristos found. The overwhelming number of those shot were associated within a few levels of folks they had been arrested with or their friends/associates had been arrested with. As Papachristos titled his paper, the violence is “Tragic but not Random.”

Put another way, criminal shootings follow a blood-borne pathogen model. Like these pathogens, violence spreads through personal contact between fellow perps. Neighborhoods aren’t inherently dangerous due to some general social issue, but rather because violent predators either inhabit or frequent those locations. Take out the violent predators, peace ensues. If they didn’t have guns, the predators would use whatever was available, including hammers, clubs, bricks, etc.

This used to be the philosophy behind prisons and the death penalty – removing violent predators from the streets. Liberal have changed that philosophy to our collective detriment.

Going back to basics, then, the only way to stop a violent predator with a gun is with a good guy with a gun. In many cases, the only way to stop a large, strong, violent, “unarmed” predator is with a good guy with a gun. That continues to work well outside of Obamerica. Inside, well, they voted for him and the liberal/progressive crooks that have run their cities/states for decades. How’s that workin’ out for ya?

Posted by: reformedmusings | August 8, 2015

Reaping what is sown in Obamerica

Gun-hating liberals have ruled Baltimore since 1967, so there’s no excuse in Obamerica. They’ve had their way unabated, and what is the result? Baltimore, one of the gun control poster children cities, is on track to set a new record for homicides. They may even take the murder crown from Chicago, where liberals have ruled since 1931, and Washington D.C. ruled by liberals since 1961, etc. See a trend in Obamerica? More gun control produces more violent crime, including homicides because it only disarms law-abiding citizens, not violent criminal predators, leaving the innocent helpless.

Still, gun controllers don’t get it because they don’t want to get it. In fact, the most violent radical gun haters are encouraging the SWATting legal open and concealed carriers using 911. That’s not the first time. We’ve seen this locally with a known gun control advocate SWATting an open carrier by lying about the carrier robbing a store. It happens around the country with innocent people killed by trigger-happy cops who “want to go home at the end of the day.”

Gun controllers try to portray legal gun owners as violent and unstable, but in fact it’s the gun controllers who openly advocate life-threatening violence against legal gun owners. Seems to me that the rabid liberty haters are projecting.

So, if you live in Obamerica, move to a free state or city where your constitutional rights are respected. Vote with your feet and tax money. Stay safe and remember, concealed is concealed.

Posted by: reformedmusings | August 2, 2015

How are those gun-free zones working out for ya?

Sean Davis makes some great points about gun-free zones over at the Federalist. Sean includes the violent and demented typical of radical anti-liberty types. Miguel follows those demented violent minds over at his blog GunFreeZone.

If supposed gun-free movie theaters and military sites don’t stop violent psychopaths, then how about cities? Ask Baltimore. They are well on the say to a homicide record. Maryland has one of the strictest gun control schemes in the nation. Welcome to Obamerica. How’s all that gun control working out for them?

Of course, across a narrow river with lots of bridges here in the free Commonwealth of Virginia, our crime rate continues to drop as the number of concealed carry permits and privately-owned firearms increases. Imagine that. More guns, less crime.

The problem is what’s in men’s evil hearts, not what’s in their hands.

sl-jackson-on-guns

Posted by: reformedmusings | July 25, 2015

Lafayette: Yet another attack in a gun-free zone

The tragic attack by a homicidal maniac in a movie theater in Lafayette, LA, targeted a gun-free zone. Here’s The Grand Theater’s rules:

The-GrandHT: GunFreeZone

When seconds counted, the police were literally only a few minutes away. That was too late. Nothing against the police – they cannot be standing next to us 24/7. We must take responsibility for our own and our families’ safety.

So how do concealed carriers play in this in gun-friendly zones? Not everyone is armed. Miguel over at GunFreeZone posted an excellent analogy. Don’t miss it. If you were a homicidal maniac, which bowl would you choose? History shows that only one mass killing in the U.S. occurred in a gun-friendly zone in recent history.

So, by all means carry legally, whatever that entails where you live and travel. And in doing so, follow Mas Ayoob’s 10 commandments for concealed carriers – wisdom distilled from both a law enforcement and civilian carry perspective.

Keep-calm-and-carry

Posted by: reformedmusings | July 19, 2015

Political Correctness: Liberals can’t handle the truth

I’ve seen no better explanation of the deception of political correctness than David L. Goetsch provides here. God provided us the only revealed truth in His Word. History amply demonstrates that we defy Him at our eternal and temporal peril.

Posted by: reformedmusings | July 19, 2015

How stupid is gun control?

This says it all, from Emily Miller’s Twitter feed:

bravo-gun-free-zone

For those unfamiliar, Force Protection Condition Bravo is a slightly elevated state of preparedness for an attack. So, in order to be prepared, you cannot have any firearms or weapons on the property. That’s telling the enemy that you know they are coming, but we won’t resist.

On the good side, one Virginian made a statement by standing guard over several military recruiting centers in Virginia. So, a civilian can guard a military station with his personal firearm, but the military members inside cannot defend themselves with firearms. That’s a gross insult to our military.

So, would gun controllers stop with firearms? Don’t bet on it. Violent crime surged in the UK after they passed their gun bans. The strong prey on the weak at will. Knives have become the weapon of choice for predators who aren’t big enough to strong-arm their victims. Now, liberals and cops want the subjects to turn in their knives! I’ve written about this before. I couldn’t make this stuff up.

Liberals just don’t get that evil exists, and that violent predators are evil. Violent predators don’t obey any laws, much less gun control laws. If murder and assault don’t phase them, why would silly gun laws stop them? The only thing that stops violent predators is a good guy with a gun.

As for more gun control fails, ask the gun control capitals of Baltimore and DC how it’s working out for them, just for starters.

Older Posts »

Categories

Follow

Get every new post delivered to your Inbox.

Join 188 other followers