Sunday, May 22, 2016

Holy crap, why was this so difficult

So, all I wanted was the dimensions of the default wallpapers in Android 5, so I could prepare images from my computer to be wallpapers on my shiny new android smartphone.

All it had to do was cough up the numbers.  I already forced it to cough up the single-screen wallpaper dimensions by way of taking a screenshot, which is also similarly hidden (on my phone, press and hold both Power and Volume Down).

For the wallpaper that pans, though, I had a hunch which ended up being close to correct, but it was a lot harder to get it to cough up the numbers.  Just eyeballing it based the scaled-down version of a 1000x1000 image, looking at how it wanted to crop it to make a panning wallpaper, I estimated 120px extra on each side for the panning, it ended up being 240px extra on each side.  This is the portrait-mode screen width multiplied by two, which in retrospect I should have expected.

For starters, you can't just find a folder on your phone's internal storage with the default wallpapers.  They can't possibly be bothered to make it that simple.  No, instead you have to set an image as your wallpaper that requires cropping, so the Gallery application will do the cropping before it gets set as your wallpaper, and then use a third-party application to dump it via Bluetooth to your computer, where you can then just look at the damn dimensions.

So, for future reference, on my LG L33G/LG L33L/LG Sunset LTE, the single-screen wallpaper is 480x854, and the panning one is 960x854.

Also, in case you're reading this and are having similar troubles with a different phone that possibly uses a different resolution, the application I used to dump my current wallpaper via Bluetooth is Wallpaper Saver on the Google Play store.  It has a lot of other options, and Gallery is irritatingly not in the list, but thankfully Bluetooth is.  Don't use the other application with this title, that one has in-application purchases and requires superfluous permissions.  The one I linked to only requires storage access so it can get at the wallpaper, which is really all it should need.

On second glance, it seems to dump the wallpaper to the Gallery in the process of sending it elsewhere, even if the send fails.  So, if you don't want to post it on the internet, you can probably finagle one of the options into running just long enough for it to dump the wallpaper to the Gallery and then fail the transfer.

Anyway, now that I have that crucial bit of info (as well as the aspect ratio, which is arguably more important), I have some image editing to do.

In other news, it looks like my only root option might be KingRoot, and then going through some steps to swap it out for SuperSU.

Tuesday, May 17, 2016

I also have a Wii U now

So a while back I was tweeting about it, and I finally ordered from Amazon.  It seems to be impossible to find just the base Wii U console these days, but I did find a bundle that included Mario Kart 8 with a code for its two paid DLC packs.  While I do intend to play that, and get Super Mario Maker as well, the primary purpose I purchased it for was Wii Fit U.

I basically haven't been physically fit for a long time now, and it's time I did something about that.  I figure combining my love of video games with my desire to lose weight can only be a good thing, so we'll see how it goes.  I'm still a bit leery of a video game controller that I stand on that isn't a soft plastic DDR mat, but hey, it says it can support up to 330 pounds.  I just have to hope I'm not that much of a fatass.  I haven't weighed myself in at least a decade, so who really knows how much I weigh?

Looking at some of the pictures of people using the balance board, it doesn't seem like they're putting their full weight on it very much anyway.  So perhaps I don't really need to worry too much.  (post-playing-Wii Fit U-update: I no longer worry.  It's quite hefty and well constructed.)

I know, I know, exercise is only one part of physical fitness, the other part being diet.  However, I'm a programmer.  My brain is wired with an engineering mindset.  I'm built to troubleshoot, and the only way to see what's going to work in any situation is to change one thing at a time.  Otherwise, you won't know what worked.  I'm taking that very same iterative approach here.  My goal is to hopefully get fit while sacrificing relatively little in terms of what I enjoy eating, but that's the American dream (lol "muricans r fatasses" stereotype) and it isn't always feasible.  All I can say is, we'll see.

Other than the aforementioned copy of Super Mario Maker, and maybe Smash Bros., I don't really have any idea what I'm going to get for it.  There's the inevitable eShop purchases, what with the Virtual Console being a thing and all.  Smileboom has a version of SmileBASIC planned for the Wii U, so I'll probably grab that.  If WayForward ever releases Shantae: Half-Genie Hero, I'll probably get that.  There's also the Wii eShop and Chrono Trigger on Virtual Console.

One issue that's going to be annoying for a little while is how the console has an AV Multi Out port on the back, but only comes with an HDMI cable.  While I do have access to an HDMI-equipped setup to plug it into, I'd be able to use the console a lot more freely if I had a regular old RCA audio/video cable.  Then again, one of the Wii U's selling points is that you can play games purely from the tablet controller while the TV is used for other things entirely, so we'll see how much mileage I can get out of that.

Overall, happy with my purchase and so forth.

I have a smartphone now

Since TracFone uses the major networks instead of having its own, this means it has less control over certain things.  The major networks are phasing out 2G, which my LG 420G phone used.  Good riddance, I say, since 2G was pretty unreliable at best.  Anyway, it also meant that I needed to switch phones.  Being somewhat of a decent company, TracFone has a replacement program.  Enter some details about your phone and you get your options: a free replacement, or $20 off of select smartphones.

Well, if you read the title of this post, you know which one I opted for.  The "free replacement" just seemed so shady to me.  There was no indication of what the free replacement was actually going to be.  Clicking it just took me to a page where I could enter my shipping information.  Looking at the "$20 off a smartphone" option, I noticed that they were already inexpensive, and were 4G LTE phones.

I bit on that discount, which didn't include shipping or tax, so it ended up being about a $12 discount instead.  But still, an Android smartphone that's mine to own with a much better camera and other amenities by virtue of being a smartphone, for $53?  I'll take it, good sir.  Three days later I had my LG L33L. (also referred to as an LG Sunset LTE, and TracFone calls it the LG L33G.  Why all the different names?)

Getting used to Android has been interesting.  I have issues with finding certain settings on occasion, and some interface things aren't terribly intuitive.  For instance, when you swipe down from the top of the screen to bring up notifications and whatnot, there's all these quick toggles and whatnot.  Well, the quick toggles can scroll left and right, and there's more of them than the phone can display on the screen at once.  However, just by looking at it, you wouldn't even think it could scroll.  Once I figured this out, I found that you could edit the buttons that appeared and the order in which they appeared, which was actually what I was trying to do when I stumbled upon the fact that it could scroll.  Also, it's tough as shit to adjust a slider to a precise percentage value using only your finger.  I tried using a 3DS stylus for a more precise touchscreen experience, but it doesn't work.

One thing I enabled immediately was the Android developer mode.  It's simple enough, though depending on certain things the place you need to go might be slightly different.  You have to find the Android build number.  For me it was under Settings -> About Phone -> Software info.  Anyway, once you've located the build number, start tapping it.  After a couple of taps, a notice will come on screen which basically suggests that you keep tapping to "become a developer".  Keep tapping and you get the developer options enabled in Settings.  It's a lot of stuff that's mostly of use to, well, developers; but I did enable one thing: showing the location of my touches.  Given that I'm quite regularly not touching the thing I think I'm touching, I find it super handy to know how the phone is interpreting my actions.

Sadly, like most carrier-branded phones, it comes with bloatware.  Some memo application, an office application, and McAfee.  Of course, they don't let you uninstall that shit.  You have to root your phone to do that.  Which I plan on doing, after I do my research and figure out which rooting method is the most trustworthy (so basically, not the Chinese KingRoot, which has already been found to steal phone IMEIs, and aggressively prevents you from uninstalling it and moving to other privilege escalation tools).

Also sadly, I don't think Cyanogenmod is compatible with it.  Then again, I can't find the LG L33L (or LG Sunset LTE (or LG L33G)) on any compatibility list for anything.  It's like I have a phone that nobody knows about.  I know LG does a lot of versions of their phones for prepaid carriers, is there a "parent phone" that this one is based on or something?

Anyway, I've had a go at exploring the options, configuring everything, installing applications, and setting up my home screen.  It's all gone fairly smoothly so far.  My only complaint is about applications on the Google Play store requiring 5 million permissions in addition to the one or two they actually need to perform their stated task.  QR code/barcode readers are among the worst offenders.  All it should need is the camera, but no, you find them wanting location, identity, network access, and so much more.  In fact, why isn't the ability to read QR codes built into the stock Android camera application?

Moving onto the internet, I noticed right away that the LG keyboard kinda sucks.  I always get the wrong letter with it, and the layout for symbols is strange, which makes typing my passwords annoying since I have to search through pages of symbols and whatnot to find what I need.  I ended up installing Google keyboard, which actually makes the symbol situation worse, but offers me the ability to type by dragging my finger around the keyboard and just pausing on the letter I want.  Certain punctuation like apostrophes it does automatically, which is nice.

I also explored options for and installed a web browser with built-in ad blocking.  It's already kind of confusing, there's the stock Android browser and Chrome installed by default.  The one I installed is basically functionally similar to the stock Android browser, but with Adblock Plus integrated.

One really neat feature that I'm actually making use of as I type this: if you plug headphones into the headphone jack, it can use them as an antenna and let you listen to FM radio.  I plugged in my computer speakers that got obsoleted by my headset.  You get the option to route the sound either out the headphone jack or the phone's internal speaker, which is neat.  I'm routing it out the speakers so I get both stereo channels, because mono sound is so 1970s.

At some point I realized "hey, how do I view my remaining TracFone minutes, text messages, and data?"  After all, TracFone is still prepaid, even with a smartphone.  Well, they have an application for that.  It kinda sucks, you have to manually tap a button to make it update, but hey, it works.  I haven't really ever used any data since I haven't gone much of anywhere since getting it, so Wi-Fi has sufficed for me so far.  Even when I went out to Cook-Out last night, there happened to be an xfinitywifi close by that had enough signal that I was able to watch a YouTube video and actually download the Google keyboard from the Play store.

Being that I'm a gamer, naturally you might wonder if I installed any games.  Well, most mobile games are total shit and only exist to suck the money out of your wallet, but I did download 2048, which was free and doesn't have any ads.  I'll have to inspect my options for other games, but generally I don't see myself using it for much gaming-wise.  After all, I've got a computer, five home consoles, and a variety of portables to play games on.  I tend to value something being purpose-built, and the primary purpose of a phone, smart or dumb, is not gaming.  It's to be a damn phone.  Not that I don't care about amenities, but they're just that: amenities.  If the device doesn't perform its primary function well, any ancillary function it might have doesn't matter.

Speaking of phones, I had a bunch of contacts to transfer, and fortunately for me it was way easier than when I went from the Motorola w260g to the LG 420G.  This time, both phones have bluetooth, so I was able to just send all the contacts from the 420G to the L33L.  One at a time, annoyingly, but still, far easier than manually entering everything all over again.  Heck, I even sent over my notification noises and whatnot, so I still hear the item fanfare from Chrono Trigger whenever I get a tweet.  I still need to sort out the wallpaper situation, so we'll see how that goes.  I also need to go buy a microSD card to put in it, so perhaps I'll take care of the wallpaper after doing that.

I'm still not fully done setting things up, but I feel like I've at least partially adjusted to it.  Still got a way to go, I think, but it's a start.

Tuesday, May 3, 2016

Trying out Maxthon

In my seemingly fruitless search for a web browser that doesn't suck, I tried Maxthon.  Here I am with my impressions after tinkering around with it, and in some cases hacking away at it, to attempt to get it set up for daily use.

The issues popped up immediately after installing.  As per my usual, I deselected the options for creating a desktop icon and a taskbar icon, but left the Start Menu icon enabled, and told it not to set itself as my default browser.  It created both icons that I told it not to create, and set itself as my default browser.

Also, immediately after the install finished, an error dialog popped up saying it couldn't find some function in a DLL, which was somehow related to its auto-update thing, and because of that it couldn't install its auto-update thing.  Being that I hate auto-update, not a single tear was shed that day, and I moved right along.

I immediately inspected the options, and upon finding that mouse gestures are enabled by default, I quickly disabled them.  They also provide a lot of default URL aliases that I also removed.  Options save as soon as you change them, which is nice.  I'm not going to bother making an exhaustive list of the options I enabled or disabled, because nobody really cares.

For whatever reason, it's set to use Internet Explorer's proxy options by default, so I disabled that nuisance.  Fortunately, it gives me the option to disable proxy, use IE's proxy, or use its own proxy, so it doesn't really matter.

Maxthon comes with Adblock Plus installed and enabled by default, which is really cool.  You still have to go into the options and tell it that no ad is ever acceptable, but... whatever.  Except that, initially at least, I couldn't figure out how to get into Adblock Plus' options, at all.  Despite the menu item sitting right there.  It was disabled, and the indicator said it was off.  The Maxthon extension site had an annoying ad, front and center.  After much annoyance I ended up elsewhere on the internet, on a page with ads, and finally I could get into Adblock Plus' options.

As it turns out, they added exception filters for all of their sites and advertisers by default.  If an exception filter is hit, apparently you can't get into the Adblock Plus settings with that tab focused.  So don't forget to remove all that shit.

Next, I messed around with the search settings.  I use keyword searches, where I can just type the keyword, a space, and then what I want to search for, and the search engine I gave that keyword to pops up with my results.  Well, I set that up no problem.  Even did the standard neutering of the regular "let's turn anything we don't recognize on the location bar into a search, including when the user is trying to load a server on their LAN by its hostname" functionality.  That was all well and good.  Except that there were search suggestions coming in from somewhere, and there's zero option to disable them.  What this means is, all my keystrokes were being sent to a server somewhere so these suggestions could be generated, meaning they can easily track everything I ever type in the location bar.  I wanted that gone ASAP, and judging from my Google searches on the matter, a lot of other people feel the same way.

The method of disabling it isn't pretty.  There's actually three things you can do, but it didn't work for me until I did the very last one, and I haven't tested removing either of the other two to see what's truly necessary.  Paths may vary on your system, depending on 32/64 bit stuff that you should probably be used to by now.  Do all this with the browser closed, for best results.
  1. Set the read-only flag on C:\Program Files\Maxthon\Modules\MxSmartUrl\update.db, creating it if necessary.  To make it, just right click, make a new text file, and if you've got the "hide extensions for known file types" option turned off like a good computer user, then you can simply replace the default name with update.db and it'll Just Work™.
  2. Add the line 127.0.0.1 api.bing.com to your C:\windows\system32\drivers\etc\hosts file.  Despite not having an extension, this is just a regular text file that you can open in Notepad.  It needs to not have an extension in order to function as intended, so don't add one.
  3. Rename C:\Program Files\Maxthon\Modules\MxSmartUrl\MxSmartUrl.dll to something else.  I chose MxSmartUrl.dll.die.
As I said, it didn't work until I did the last one.  Also, somewhat related, you can safely uninstall the installed-by-default Search extension, it's unnecessary.

During my configuration, I removed the multitude of search engines they provide by default.  At some point, they reappeared in the list, but that hasn't happened again.  Also, this includes their default Google search, for which you can't edit the URL to remove the "hey this is the client that's making the search" information.  I also removed Maxthon Multi Search.

The New Tab page does what it does in most other browsers: you can set pages to appear there for easy access to frequently used sites.  There's even a search box there.  You know, to be redundant with the enabled-by-default-with-no-option-to-disable address box search and the location bar search box sitting right next to it.  Except with this one, you can't edit the list of search engines or change the URLs they use.  The space it takes up also prevents an entire row of bookmarks from showing up.  Thankfully, you can get rid of it.  Just make a new page of bookmarks on the New Tab page, then delete the very first one.

Once it's brought within reason, the New Tab page is actually pretty nice.  You can even configure a background image for it, though Maxthon doesn't do any scaling on that image, it just takes a curiously-positioned chunk out of the image that changes if you resize the window.  It's biased towards the left side of the image, and the vertical center.  If you don't have an image you want to use, they have a few defaults.

Switching the browser's theme is also pretty simple.  In the condensed menu, there's a "Skins" option at the bottom.  Clicking it brings up a window that shows a few preset skins, as well as letting you set your own image and/or color scheme.  I like how simple and straightforward the process is.

My attention turned to that cluttered location bar with its ton of icons.  I like mine to be mostly the address field, so I set out to rectify this.  Unfortunately, you can't just right click and select Customize to change the toolbar icons around like in other browsers, but you can remove most of them from the View menu, just by unchecking them.  You can even remove the search box in this manner.  The icons to the right of everything, just before the condensed menu thing, can all be hidden as well and are still accessible by clicking an acceptably small dropdown indicator.  Also, the Status bar, straight out of the '90s, can also be hidden.  The sidebar, which is enabled by default, can also be hidden, even directly from the sidebar itself.

Having gotten it configured for screen space, I looked through the options once more, and noted that its cookie options are sorely lacking.  It has zero cookie management, and you can't disable just third-party cookies.  They're an all-or-nothing deal.  A definite hit on the usability of the browser as a whole.

Also annoying, and a common problem with all Chromium-based browsers, is that when the window is maximized, it covers and prevents access to my taskbar, which is set to auto-hide like any sane person would do.

Another interesting feature is the ability to switch the rendering engine between Webkit and Trident.  Not sure why you'd ever want to use Trident, but hey, the option's there.  You can even enable a toolbar icon to switch it on the fly.  I honestly can't picture the use case for this, though.  What site that exists today that you'd ever find yourself on doesn't render nearly identically in all rendering engines?  With Microsoft having been bitchslapped into being more standards-compliant than they once were, even Trident renders pages reasonably consistently with the other rendering engines out there.  I honestly don't see the need for switching the rendering engine, at all.

I didn't notice that it had set itself as my default browser until the next time I restarted Firefox, which I have set to prompt me if it isn't the default.  I quickly reverted back to Firefox as default, to find that Maxthon now goes "...hey..." with a red dot on the condensed menu icon, and another one next to the "set as default browser" option.  How about no?

After all that, I decided to try out YouTube and see whether it used HTML5 or Flash.  It defaults to HTML5, with the same jittery sound as any other Chromium-based browser on my computer.  Forcing it to switch to Flash was a matter of installing the YouTube Center extension and selecting "Aggressive Flash" in its options.  Even with the Flash player, it's an unacceptable experience.  Video decoding lags and is full of artifacts.

I have yet to actually log in to any website I normally use, because quite frankly, Maxthon is a browser from China and I just don't trust it.  Not even over HTTPS, because it still has the ability to read every single thing I type.

It's an interesting browser, but full of unexpected critical fails, and my lack of trust towards it in general is going to lead me to not recommend using it.