Ulefone Armor 3 impressions

I bought a new phone last month, for the first time in about 4 years. After doing some research, I found the Ulefone Armor 3 had the closest to the features I wanted: ruggedness and a big battery.

I ordered mine from Deal Extreme on March 14, but it wasn’t delivered until April 16. I understand shipping from Asia can take time, but the product page said “7-10 days”. I wrote to the seller after 12 days, and they didn’t respond until I had sent several emails, finally explaining in broken English that they were waiting on restock. When I ordered their inventory said close to 40,000 units, which clearly wasn’t the case. It wasn’t until after the first week of April that I finally received notification that my order shipped.

Fortunately, it arrived undamaged. If you’re in a hurry and don’t mind paying a lot more, you can get them from Amazon sellers for $400 in less than a week, but I paid just $272 for mine, which is a great value for the price. The Armor 3 can be had for as little as $230, but I opted for 3T,which has a push-to-talk walkie talkie feature that the Armor 3 lacks.

Ulefone is not well known in the United States. From what I have read, they are a Chinese maker. The Armor series are rugged designs rated for IP67, IP68, and can withstand drops, water immersion, and don’t need a protective case to achieve it. Ulefone also has a line called Power, which has bigger batteries than most phones. The Armor 3 has both ruggedness and a big battery, which is what I was looking for.

I’ve had mine just 3 days, and I like it overall, but there are a few shortcomings. The biggest problem is that the screen is not very bright, and in direct sunlight is impossible to read.

No pedometer. Most phones these days have them, but not this model. Which, is a shame considering the “rugged outdoors” theme of this model.
No qi charging. USB charging only. Wireless charging would be a nice feature, as it would reduce wear and tear to the USB C port.
Access to SD/SIM slots requires a tool, which they provide, but carrying a tiny screwdriver around just in case isn’t the most convenient, and the tiny screws are tiny.
This thing has the loudest external speakers of any phone I’ve ever used, and speakers isn’t a mistake. It has stereo. But on speaker phone, the minimum volume is still too loud for quiet indoor use. But should be fine on an oil derrick or construction site.

The good outweighs the bad. The phone runs Android 8.1 out of the box, and it has an 8 core CPU backed by 4GB RAM and 64GB internal storage, plus the optional SD card, which should be plenty of space. The performance specs are mid-tier, but I find them to be more than adequate. Battery life is excellent, and what you would expect from a 10300 mah battery. On low power mode, it is especially good, and I don’t notice any performance reasons to recommend not using low power mode.

I haven’t had too many calls with it yet, but call quality might be an issue. Whether this is a carrier/network problem or a VOWIFI problem, I’m not sure yet. But in the two calls I’ve had, there were stutters and drops, as well as some squawks and beeps. I haven’t yet found the setting to disable VOWIFI, but I suspect this could help.

I did do my research and confirmed that the global version of the phone supported the bands that T-mobile use in the USA. Most of the handsets that Ulefone offers sadly do not.

I was worried that the phone would be too big for easy one hand use, and too big to pocket. It is pretty close to the limit for what I can handle one-handed, and my hands are fairly large. But it fits my pocket ok, though it is a bit long. Over all, I can live with it.

Hopefully Ulefone will be able to establish itself in the North American market. It’s models are very attractive, and offer something different from most other makers. These big battery phones are great, and just what I want in a phone, and there’s not much out there currently that can match it.

GameMaker 2.2 will bring new language features to GML

YoYoGames announced today that the next update release for GameMaker Studio, 2.2, will include a number of long-awaited improvements to the GML programming language.

This is good news for users who have been frustrated by the lack of these features over the years.

Full details are available on the YoYoGames blog.

I am most excited about lightweight objects and chained accessors, which will make it much easier to work with nested data structures.

Lightweight Objects

Lightweight objects are more like what developers who are used to other languages think of as “objects”. In GameMaker, an “Object” had a number of built-in properties and behaviors, which enabled GameMaker Objects to be used in an intuitive way by users working with GameMaker’s engine. A “Lightweight object” is simply a named instance that can hold data, as defined by the user, without the overhead of GameMaker’s built-in properties and Event handlers. Before Lightweight Objects, developers had little choice but to create a traditional GameMaker Object, and make it invisible and use it to store whatever instance variables the game needed to store “somewhere”. This was suboptimal for performance, as these objects didn’t need to have x, y position, or a sprite, or collision mask, or most of the other features that are built-in by default for a traditional GameMaker object. With a lot of data-holder objects in the game, they could impose a enough unnecessary overhead that it could be detrimental to runtime performance.

Chained Accessors

If you’ve worked with GML’s data structures, and ever wanted to be able to store a List inside of a Map, well now you can a lot more easily, thanks to chained accessors. This enhancement to GML’s syntax makes it easier to reference a structure stored inside another structure. Previously, it was a pain to manage nested data structures, requiring convoluted syntax and multiple lines of code.

Other new features

GML will also receive Garbage Collection and an Exception handling system. I don’t know that I’ve ever actually needed either of these. I certainly haven’t missed them in my own GameMaker projects. But they are features of most object-oriented languages, and programmers who are used to having these features will appreciate being able to use them in GML now.

Overall, it’s very good to see the GML language adding these language features.

Analogue Mega Sg arrives a week early

Analogue was announcing that their new Mega Sg, a FPGA-based Sega Genesis clone, would be shipping in April. But I was pleasantly surprised to receive mine, preordered a few months ago when they were announced, early last week, only a day or two after early bird reviews started hitting my favorite YouTube channels.

It’s pointless for me to do a review after GameSack and My Life In Gaming so thoroughly covered every conceivable aspect of the system, but I’m pleased and impressed that Analogue delivered this not just on-time, but a week early. And really, when they told me April, I was expecting it would be more like mid or late April, which makes this about a month early. In an age of crowdfunded preorder projects that are always later than projected, this impresses me. Kudos to Analogue.

Atari VCS hardware refresh announcement… lol

So, Atari… remember them?

Yeah, they’re still at it. After about a year of relative silence from the VCS project, the other day they made a Big Announcement, which is that they are delaying the project to late 2019.

Surprise! No, not really. Everyone pretty much called this before they finished their initial round of crowdfunding.

But, so as to be able to spin this delay as a positive thing, they are changing the hardware specs to a more powerful system. Still not world beating hardware by any means, not that it ever needed to be. And more is always better, I guess. But I don’t think the actual hardware is all that relevant to this product. Really, it’s just taking a commodity small form factor AMD64 architecture system, and putting it in a nice looking case that evokes the classic, original Atari VCS. Basically, Atari can place an order with AMD to produce the boards and chips, and install them in custom designed cases that they can pay an injection mold company to manufacture, and pay someone else to assemble them.

Atari’s real job is to focus on the software, the operating system, user environment, and the games. Especially the games. And their announcement was, again, suspiciously silent on these topics.

We know the OS will be a linux distribution, with some kind of customized desktop environment designed to provide a good user experience as a game console.

We know that they will include some emulator(s) to enable playing of classic Atari-era games. We know that there are already dozens of platforms that already do this, so while it’s nice, and to be expected, it doesn’t seem to me that this is a compelling reason for anyone to buy an Atari VCS. Atari Classics have been repackaged and resold on every platform for decades, since the NES and Game Boy. While keeping these games around and still available is great, if you already have them on an older system, Atari have to do something extra-special to make them compelling to consumers to make them want to buy them again, like online leaderboards, social media integration, video streaming integration, something. And we’ve heard nothing about it for about two years since they made their crowdfunding goal.

We know that Atari wants to provide modern reinterpretations of classic Atari games. Apart from Tempest 4K, we haven’t heard anything. And Tempest 4K is already out, and has been for about a year now, on the PlayStation 4 and other platforms. Non-exclusive updated classics will not move units. Why would anyone spend $300 on yet another console when they can just buy the game for a console they already own?

We also know they’re supposed to be shipping modern reinterpretations of the classic Atari CX40 joystick, a modern-looking gamepad with Atari aesthetics, and (one would hope, but I have yet to see anything about this) some kind of paddle controller, but there’s been no mention of these either.

So, another year has gone by, and Atari just announces that they’re revising the hardware specs, before they even got the original hardware specs out the door. And we still have no idea what’s going to run on this system, beyond vague “It will run Linux” and barely anything, really next to nothing, about the actual games. Which is the whole reason anyone buys a game console, to play the games.

This is sad, and exactly what I expected from the beginning.

I would have really enjoyed a resurgent Atari with new games based on classic IPs, too.

Google Stadia: impressions

Google recently announced a new game platform, called Stadia, at the 2019 Game Developers Conference in San Francisco, CA.

It can run though any device that is capable of running Chrome, which means that they already have a huge install base ready to consume. This should make the service very lucrative, potentially, as there’s almost barrier to trying the service out. It streams over high speed internet, meaning that there’s no need for any hardware beyond what is necessary to run a web browser, nothing new to buy, well, except for the gamepad. Which, see below.

Streaming

I’m immediately disinterested in any game platform that I can’t own in the traditional, tangible sense of own. Streaming games do not appeal to me. I like physical media, I like the ability to go back and play old games that I own, whenever I wish. Streamed content is always in the control of the vendor, and is subject to updating, being discontinued, and so on. There’s no guarantee that streaming resources will continue to stream forever, and it’s virtually certain that at some point the stream will either “run dry” or stream something different than original.

The downside (I guess) of traditional owned-media is that over time you accumulate a vast library which becomes difficult to store and manage, and may deteriorate over time. If you don’t like it, you can always sell it, trade it in, give it away, or throw it in the trash, so I don’t really see why that would be a downside, but if you’re a collector like I am, you like the fact that you can keep old tech and go back and use it 10, 20, 30, even 40 or more years after it’s no longer being supported, as long as the devices that drive it continue to function or be repairable.

But that’s just me. There seems to be a lot of evidence to suggest that a convenient, well-managed service would be popular and profitable with consumers who don’t all care about history and preservation as much as I do. Look at Netflix. They are doing very well, and while people are occasionally bummed out when Netflix drops a movie from its offerings, that doesn’t seem to stop them from having a profitable business selling subscriptions to a service. If Google nails the execution, there’s no reason to believe they won’t likewise be as successful, if not more.

The controller

A very standard, generic looking dual analog stick gamepad. Initial impressions are that it doesn’t look especially comfortable in the hand compared to the competition. Google didn’t need to innovate here, gamepad design is pretty mature today, even if companies like Nintendo continue to dare to try new ideas (Switch, Wii U, Wii). Still, I’m not sure why Google would emphasize their controller given that it is so very unremarkable in its design. Given that the controller appears to offer nothing new, one wonders why Stadia wouldn’t simply leverage any/all existing “standard” dual-stick gamepads.

To answer that question, there are two additional buttons: a youtube integration button, and a help button. The help button enables gamers to request help with overcoming some part of the game, somehow, without having to leave the game. Which, I guess is appealing, but man, I’m gonna miss the brutal, unforgiving difficulty, and the completely arcane hidden secrets that you can only figure out if someone tells you what to do, so you had to go buy a book or magazine that made you want to kill yourself from the NES and Atari era. I guess the help button takes the place of the magazine, but it’s just not going to be the same. The youtube button makes it so easy to set up a gamer streaming channel that everyone in the world can do it, which means billions of youtube channels that no one will be able to wade through to find the good ones. Probably. This will likely also kill the professional youtuber/patreon beggar gig that so many of the popular streamers have been doing for the past few years. I guess that’s maybe a bit harsh, naive, and premature, but the bottom line it will become very competitive and difficult to differentiate yourself from other random streamers, so the ones that will stand out will have to be unbelievably good and work very hard to attract and keep an audience.

Do we need another gaming platform?

I’m intrigued by anything Google does, and they have the resources and innovative thinking to do things that few other companies can. That said, I’m not really seeing a need for yet another new game platform. Whether Google can differentiate itself from Microsoft, Sony, Nintendo, Steam, etc. remains to be seen. While it’s hard to bet against a company with the resources that Google has, they’ve had notable failed ventures in the past: Wave, Plus, etc. and have been known to discontinue even popular projects (Reader) leaving fans with little recourse. Will it work? Probably. Even if it doesn’t, it’ll probably be a few years before Google pulls the plug on it or pivots to something else. But it seems like they’re serious about competing in this already-crowded sphere.

It will be interesting to watch.

The Writing on the Wall

What really strikes me about this is, if Google can stream applications as powerful and resource hungry and demanding as videogames, instantly, anywhere, they can do that for any software. What does this say about IT departments in every other company on the planet? We’re pretty much obsolete at that point, aren’t we? It might be a good time to think about early retirement, and finding a second career. Maybe a livestreaming channel.

Game review: Tetris 99

I bought a Nintendo Switch about a month ago.

Since buying it, I’ve only played one game, so far: Tetris 99.

I’m a long-time fan of Tetris. I played it on my NES ever since 1989. I’m decent, but not great at it. My skill tops out around level 13 or so in the NES original. I can cruise comfortably up to about level 9 or so. My best efforts these days are about 1/4 what it would take to qualify for the Tetris World Championships, as I found out when I was at Portland Retro Gaming Expo last October.

Chances are excellent that you need no introduction to Tetris. It’s only the most famous and successful videogame ever. Blocks fall, you rotate and drop them to complete lines and clear them from the well. Everyone is born knowing this now.

Tetris 99 takes the classic mechanics and puts you up against 99 other players in a battle royale. It’s amazing how quickly a new tournament can get ready. It seems that at any given time, there is always at least 100 Tetris 99 players ready to go within a minute’s notice.

That’s incredible. I don’t know how it’s possible, but you never seem to have to wait more than a minute or two for the next game to start. Nintendo has sold 8.7 million Switch consoles since launch. The subset of Switch owners who are playing Tetris 99 at any given moment must be considerable. If we assume every Switch owner is playing Tetris 99 24/7, that works out to 6250 tetris players per minute of the day. Obviously, Switch owners are playing lots of different games, and not playing 24/7, but even so, the fraction who are playing Tetris 99 might well be around 1/62 of the total install base. So, just maybe, it really is plausible that in the real world that you can get 99 players for a pickup game at a minute’s notice. But I’m still amazed that it’s consistently the case every time I want to play another round. Perhaps they’re filling slots with bots? I wonder.

The tetris gameplay is fine. I wouldn’t say there’s any major problems with it. If I want to nitpick, though, I could think of a few things:

First, it’s a bit too easy at times to accidentally hit Up on the control cross, and instantly hard drop your block right where you didn’t want to. Maybe I’m just clumsy, maybe my hands are too big to work with the joycon. But I’ve also played a lot with the Pro Wireless controller, and I still have issues. And from what I’ve read, it’s not uncommon.

Second there’s no tutorial or guide built into the game, and this seems like a real oversight. In the NES era, Nintendo’s first-party games always had outstanding manuals, with higher page count than any other publisher, and high quality content inside. While Tetris may need no introduction or explanation, the competitive aspects that they’ve introduced could use some explanation. Sadly, this is lacking.

Fortunately, you can still get a good experience from Tetris 99 by just playing Tetris, overlook the new features and still have a fun time. That said, it’d be good to appreciate the new features and understand them!

So, to fix the missing manual, here’s what I understand:

  • On either side of the Tetris playfield, you see mini thumbnails of the 99 competitors.
  • You can (in theory, less in practice) tell how well you’re doing relative to the competition by seeing the stack size, see who’s in trouble, and see their Badges. Typically, I’m too busy worrying about the next falling block to look around and check on 98 other opponents.
  • When you complete lines, it sends garbage rows to whomever you’re targeting: 0 if for a 1-line completion, 1 for a 2-line completion, 2 for a 3-line completion, and 4 for a 4-line completion.
    • The garbage rows don’t pop up under your opponent’s stack immediately — rather there’s a timer that counts down, to give a player fair warning.
    • If you have incoming garbage, and you manage to complete rows while the timer is counting down, it will deduct the incoming garbage so you don’t have to deal with it, rather than sending garbage to your targets.
  • Targeting isn’t explained in the non-existent manual, and this is the thing that players should really understand in order to fare well in the battle. Using the right analog stick, you can select between:
    • Random (the default option), randomly attacking one of the 99 opponents out of whoever’s still left,
    • Attackers, counter-attacking those players who are targeting you,
    • Badges, targeting players who have a lot of badges, or
    • Killshots, targeting players who are close to elimination.
  • Eliminating a player awards you with Badges, and the more badges you acquire, the more “damage” you deal out when you complete lines.
  • If you eliminate a player who has badges, you claim their badges and add them to your own. So it’s smart to target players who are close to eliminated, and players who have a lot of badges, to maximize your badges. It can also be effective to counter-attack your attackers, and perhaps dissuade them from targeting you, or if not hopefully eliminate them before they eliminate you.
  • You can also target an individual game using the left analog stick. Who you’re targeting is denoted by the lines connecting the bottom of your playfield to one of the opponents’ playfields in the background. Or maybe that’s who’s targeting you, I’m not quite sure. Sometimes I see multiple lines targeting me, and it’s unclear what’s going on.
  • Hard Drop: This feature isn’t in OG Tetris, but if you’ve played a modern implementation, you’re probably already used to it. Press up to instantly drop the piece in play to the botton and lock it into position. This enables much faster play, which is essential to competitive battle. It can take some time to get used to it, if you’ve never used it before. But if you’ve played a modern Tetris in the last, I don’t know, 15 or so years, maybe, chances are you know about this already. There’s also a convenient “ghost” block that shows where the piece will lock into position if you hard drop it. This is really helpful and will enable you to be more precise and cut down on mistakes.
  • Hold block: Another handy feature that wasn’t there in OG Tetris. This is a holding cell that can be filled with a piece, taking it out of play until you need it. Press the left shoulder button to add the current active piece to the Hold. Press again to swap the held piece for the current piece. Grab those I-blocks when you can, and hold them for when you’re ready to deal out the damage with a 4-line Tetris move. Or put a piece that’s currently a problem on hold, and play it later when you’ve got a clean landing spot for it.

One thing about the Targeting feature, I find that after a certain point I’m pretty much only able to focus on positioning my next block, and can’t devote any mental capacity or time to retargeting. It’d be neat if targeting were also possible through Controller 2, so that a second player could assist me by targeting opponents intelligently while I focus on falling blocks. Wouldn’t that be a cool 2p-coop mode?

My only other nitpick with Tetris 99 is that there’s only one background music for the game. Technically there’s one track for when you’re in game, and one track for between games. But I would have really liked to have seen a variety of tracks, remixing and revamping the old classic Tetris BGM, and giving me some variety. Having the same song for every game gets repetitive and feels skimpy.

I’ve managed to place as high as 4th in round, but more typically I tend to finish in the top 50-20 range. It just depends on how good of a game I’m having, and how many players are targeting me.

After taking this picture with my smartphone, I discovered that the Switch has a built-in screen capture button with social media integration. Slick!

I doubt I’ll ever be able to win a round, though, as the game becomes impossibly fast for me when the second speedup happens, with 10 players remaining. When this happens, I’m hopeless and bound to make mistakes quickly, busting out in short order. Still, it could happen if I get into the Top 10 with an extremely clean stack and my opponents are all close to KO.

While I wouldn’t say that Tetris 99 is worth the cost of the entire console, I will say that it’s definitely worth the price of the subscription to Nintendo’s Switch Online services. Considering that Tetris 99 is a free game, but cannot be played without the subscription, it’s just what Nintendo needed to get people to sign up. At $20/year, it’s not expensive, and well worth it for Tetris 99 alone.

Nancy Pelosi is dead wrong about impeachment

It is necessary. It is Congress’s duty.

Donald J. Trump, the falsely elected President of the United States, is obviously guilty of high crimes and misdemeanors.

This is not a controversial or debatable fact.

Trump was a criminal and a con man all his life, during the campaign, and after being sworn into office after an election that he stole through collusion with foreign agents.

As President, Trump fired FBI Director James Comey, and then went on national TV and admitted that the reason for the firing was to obstruct justice, because he wanted the investigation into Michael Flynn’s lies about illegal connections to Russia. Michael Flynn was a Russian agent, Trump knew, and he ordered Comey to drop the investigation, and when he didn’t, he fired him.

Trump fired Comey, because he himself is linked to Russia, and worked with them in order to benefit from a psy-ops campaign directed against American voters in order to sway the election to him. In return Trump has given aid and comfort to the enemies of the United States, namely Russia and North Korea, by coddling them and by poisoning our relationships with our long-standing allies. This amounts to Treason.

That right there should have been the end of Trump’s presidency. The only reason it wasn’t is that Trump is backed by the Republican Party, and they held power in Congress at the time, and because of their association, Republicans in Congress failed to do their duty to act as a check on the Executive branch, and failed in their duty to enforce the Constitution, and failed in their duty to impeach and remove a criminal President.

There’s a litany of other abuses of power and illegal acts that Trump has undertaken, both as President and as a private citizen and while seeking public office. It’s more than enough.

Democrat Nancy Pelosi, now Speaker of the House, doesn’t agree. Pelosi feels that there should be a high bar to impeachment, and that the process should be slow and careful. And there should be a high bar to impeachment. And yet, it appears no bar is high enough for our Speaker.

It’s difficult to imagine what crime would be high enough to warrant impeachment, in Pelosi’s mind, if obstruction of justice and outright treason fail to reach that level.

The authors of the Constitution did not intend for impeachment to be a slow, deliberative process. We elect officials to brief terms in office so that they may be removed by the public if it deems the official to be doing a poor job. For the president, they get a performance review every four years, and if they don’t measure up, the public will remove them. Four years is relatively brief amount of time, when compared to monarchs who rule for life, but it is still a long time. Impeachment is a remedy that is meant to be undertaken in the time between elections, to immediately rectify a situation where the President has committed crimes egregious enough that the situation cannot wait for the next election. Not to take the bulk of the term of office to move slowly toward maybe enforcing the law if it is determined to be politically popular and expedient. We are supposed to be a nation of laws.

With Trump, this started well before Day One in office.

Impeachment articles can be drafted in days or weeks, and a senate trial can be held in days or weeks, or perhaps months at the most. It is not meant for impeachment to happen only at the end of an investigation that takes up half or more of the presidential term in office. It’s ridiculous to suggest that. Robert Mueller’s investigation needs to be thorough, but we do not need to completely track down every last allegation about the crimes of Trump, his Administration, and his private business to know that impeachment is warranted, as soon as humanly possible.

President Obama was already aware of Russian meddling in the 2016 election, and had the FBI working on the case before the election.

Obama had enough reason to believe that the election was compromised that he wanted to make a statement to the public about this, but declined to do so when Senate Majority Leader Mitch McConnell, a rank hypocrite who has never willingly cooperated with anything that President Obama has ever wanted to do, and who has consistently opposed Obama at every opportunity, even when it means contradicting his own previous statements on the record, refused to cooperate with making a joint announcement to ensure the nation’s unity.

Regardless of McConnell’s unwillingness to work with the President on a matter of vital necessity to the security of the nation and its government, this should have been enough to delay certifying the election results, pending the full outcome of the investigation. But, for reasons I cannot fathom, President Obama chose instead to put his faith in the system to do its work to check the power of the President, even after the transition of power to a man who, if guilty of the things it appeared at the time he may have been guilty of, would have had every reason to obstruct that work, and have very little to hold him back from doing so.

Nancy Pelosi has stated that impeachment should not be a political move –that in order to be successful, it must have bipartisan support. This shows a terrible misunderstanding on her part of what impeachment is.

When we talk about partisan or bipartisan support for a measure that Congress is undertaking, normally we are talking about legislative acts — passing bills into law. Impeachment is a different matter, one of investigation into criminal acts by the President.

Laws are laws. Whether an accused individual has broken the law is a matter of facts, not political philosophy. When the Senate votes on impeachment, they are voting yes or no based on the facts presented in support of the charges. A no vote to impeachment is to say one of the following: that the evidence and arguments presented in the trial failed to prove the case, or that the charges are not sufficient to warrant removal.

Again, the charges in the case of President Trump are obviously more than sufficient, if proven, to warrant his impeachment and removal from office. The only question then, is whether the facts can be presented. But Trump has time and again, blatantly and in public obstructed justice, and admitted to obstructing justice. Through his tweets, and through statements given in interviews. Firing Comey over the “Russia Thing” alone was sufficient. And then Trump confessed, quite matter of factly that the reason he did it was because Comey declined to drop the investigation. Game over, case closed. Open and shut. Slam dunk.

Trump should be in prison right now, and by now should be close to a year into a life sentence for conspiring and colluding with this nation’s enemies to defraud the public and steal an election in a bid to further the interests of a foreign government. If Congress were not derelict in its duty.

None of this has anything to do with the fact that Trump ran as a Republican, and that his political positions are abhorrent, or that he’s completely unqualified and incompetent to be in office. None of it. This is about the crimes committed by the President, or by his people, in his name and with his knowledge.

Impeaching Trump is not a political act. It is not a partisan act. It is a matter of law.

Congress’s role as a check to the Executive Branch demands that it act in this matter, in this way. Rather, not impeaching Trump is the political, partisan act. To ignore his crimes, to ignore evidence, to claim that the crimes aren’t crimes, or that his crimes don’t matter, or aren’t important enough, or that laws can’t be enforced against a sitting President because he is the top and somehow the law doesn’t also apply to him, is the political, partisan act. When articles of impeachment are brought to the Senate for a vote, the vote isn’t “I’m a Republican” or “I’m a Democrat”. It’s “Guilty” or “Not Guilty.” A Republican who can’t find a way to vote “Guilty” on this case when the facts show that the President is guilty of committing the crimes he is accused of, is voting “I’m a Republican.” And that is the true political act.

Democratic leadership seems to be against impeachment not because it’s not the right thing to do, but because they can’t successfully do it. But yet, right now the Senate is expected to pass a resolution drafted by the House to check the President on his emergency declaration on the fake border emergency. This, despite that it’s certain that the President will veto and the Senate will likely not have a veto-proof supermajority. Why is it fine to carry forward one measure but not the other?

Finally, impeachment will not divide the nation. The President has an approval rating around 40%. In the last election, his party was overwhelmingly defeated by a public that rebuked him, even with voter suppression and gerrymandering tipping the scales. The nation is united against Trump.

Even among the 40% of his supporters, many of them acknowledge that Trump may have committed crimes, but they support his party and its policies, and that is why they continue to support him. But it’s a political act to impeach him, not to defend him? Hogwash. Removing a criminal from office is not discretionary. It is a matter of duty, required by the rule of law.

Trump himself said that he could shoot someone on Fifth Avenue and not lose support. It might be the one true thing that he’s ever said.

It’s quite apparent by now that nothing Trump does will damage the support he enjoys from his die hard base. Ergo, no matter what, the nation is divided. We cannot wait for Republicans who are comfortable aligning themselves to a criminal president in order to “own the lips” to come on board. We must move forward. “Only” 60% of the citizens support will have to do.

As Speaker of the House, Nancy Pelosi has the power to bring articles of impeachment to the Senate and put the President to trial. The situation requires this of her as a matter of duty. Whether the Senate is comprised of people who are willing to vote to remove or not is immaterial. The facts should be presented, and the public should judge the actions of the Senators who vote on the articles. Present the strongest possible case and if any senator can still vote no to impeachment, let him or her be voted out of office.

Right now, as it stands, Congress is aiding and abetting a criminal President. Sadly, this might have be expected of his own party, although it shouldn’t be. But for the Speaker of the House and member of the opposition party to say that it’s pointless to even try to impeach without bipartisan support, guarantees that the opposition party will never provide that support. News flash, Nancy: You will never get bipartisan support without trying to get it. All they have to do is help their President obstruct, and the crimes will stand. By bringing a case and backing it with proof, either the Senate will do the right thing and remove a criminal President, or it will join the President in his crimes by abetting and covering up.

By failing to bring articles of impeachment in a timely manner, Congress already is abetting and covering up those crimes.

Why is prosecuting treason a political act, but defending treason isn’t? Where are the bipartisan democrats defending the high crimes and misdemeanors of Trump?

Oh, that’s right… sitting in the seat of the Speaker of the House. God damn it.

This cannot be allowed. We do not have a nation of laws if this is allowed to stand. We do not have a constitutional republic. What we have is a kleptocracy of privileged elites who have so much power and influence that they can get away with whatever crime.

If you think you’re against this President, and you’re not impeaching him for his litany of obvious crimes, let’s be clear: you’re not against him.

Nancy, to be clear: If you’re not against the President, you’re with him.

Why creative types shouldn’t settle for anything less than ownership

Last week, I read an article by a professional game developer entitled “Making games for a living means being in constant fear of losing your job.”

The author’s solution idea is for game developers to unionize, in much the way the movie industry has unionized. I think unionization would be a great thing for the industry, but I’m not sure it goes far enough.

The videogame industry started about 40-50 years ago. The people who founded the industry worked very hard, started from nothing, and worked insane hours, pouring their life into creating the new industry. The ones who were successful ended up making a fortune.

That fortune was only made possible through ownership. It wasn’t making games that made the founders wealthy — it was making companies. In a lot of cases, the company came later. Nolan Bushnell and Ted Dabny started Atari in 1972 with $500 (about $3000 today). A kid like Richard Garriott or Jordan Mechner programmed a game in his bedroom on his home computer, sold it through mail order using a classified ad in the back of a computer magazine, and made a million dollars, and decided they should turn it into a company, using that money to hire more people to make more and bigger games.

Somehow, the expectation for the new employees was to work just as hard, just as many hours, and crank out more games that would make millions of dollars. Only, they were doing this work as a “work for hire”, and wouldn’t own their work — their employer would own it.

This means all the same hard work that the employee did that went into creating that game for his employer enriches the employer, when it could have gone to the employee’s own company that they owned and profited from. Employees enrich someone else’s empire. That’s the way capitalism works.

Because the industry now exists, it’s easier to work for pre-existing companies them than it is to start up a new company. Not only does a new company have all the struggles of just starting up, they also have to compete with already-functioning companies. But the owners who worked hundred hour weeks to found their business often expect no less of their employees.

Yet, the vast majority of employees don’t get compensated with an ownership interest the company for their hundred hour work weeks. They just get burned out and dumped when their project ships. For working for someone else, you got only a salary, not a company.

Ownership comes with things like a share of the profits. There’s also a lot of risk, but it’s balanced by the compensation package that comes with owning a company, whereas work-for-hire employees don’t get this level of compensation, yet have just as much if not more risk associated with their employment in the form of layoffs. Employees creating works-for-hire don’t even get royalties, and job security is non-existent. Once the product shipped, they were no longer needed and if there wasn’t another new project waiting for them that could exploit their talents, they were expendable.

That’s a raw deal.

Game developers who want to make money and have job security should own their work, and that means owning a piece of the company they work for.

It sounds like I’m suggesting that every game developer should be an indie game developer. I’m not. Clearly, being an indie is not easy either. In fact, it’s brutal. There’s a lot of competition. An indie has to do everything well in order to be successful, and almost no one is that talented at everything needed to be a success. Game development requires a lot of diverse skills, and a good team can cover those bases a lot better than a sole proprietor.

But what is good about being an indie developer is that you get to own your creative work. You get to create new IP, rather than toil on the sequels to someone else’s successful IP franchise. But even for workers making the next iteration of a successful known entity (let’s say Mario, for sake of example), being employed means that they should take on a share of the ownership stake in the Mario franchise, or in the company that owns Mario. That means royalties on sales, in perpetuity, of the product they worked on, and it means the right to produce new works in the Mario milieu.

This would go a long way toward padding the job insecurity that is endemic to the game development industry. Making money through royalties on existing works, and owning stocks that would pay dividends, would be a critical income stream to supplement an (ir-)regular salary.

Game developers will never get this, unless they strike out on their own and create their own companies from scratch, or if they strike together, unionize, and demand it from the companies that currently exploit them.

If an employer wants to commission creative work on a “for hire” basis, then the working conditions should be reflective of the compensation being offered: 40 hour work weeks, additional compensation for overtime, 1099 employment status rather than W-2, and salary at a higher rate to reflect the short-term nature of the work arrangement, to allow skilled professionals to earn enough to cover lean times between contracts (generally more than twice what a full-time employee would expect to be paid).

Cell phone shopping in 2019

My current phone is a Samsung Galaxy S5, purchased in 2015. I have gotten a lot of value out of the phone. Four years is a lot of time, but I think this year will be its last, for a number of reasons:

  • Screen life. For about the last year, when the screen goes to dim, it flickers. This makes the screen difficult to use with auto-brightness turned on. Also, I don’t think the max brightness is as high as it once was.
  • RAM and Storage.
    • The phone has 2GB of RAM. I find that the phone becomes very sluggish when RAM utilization exceeds 80%. I’ve taken to running a memory optimization app as needed, which when I’m actively using the phone can be as frequently as every few minutes. This has gotten to become a pain.
    • I have 16GB of internal memory, and a 32GB SD card. Android prefers to install apps and write files to the internal memory, ignoring the nice big empty space on the SD card. But when the internal memory is filled, performance is terrible. Not only can I not install updates, but the internal storage seems to be used for cache files and so on, and when there’s not enough space for the system and apps to cache data, performance becomes terrible.
  • Android updates. My carrier stopped releasing updates about 2 years ago, and I’m still on Android 6.0, which is 3 major releases behind current.

If it wasn’t for the performance issues related to RAM and cache inadequacy, this would still be a very capable phone, and I could maybe live with the screen until it finally died.

The absolute best thing about the Galaxy S5 has been the fact that it has a removable battery, and the aftermarket released some very good extended batteries. Powered by an Anker 7500mah battery, I’ve never had to worry about running out of juice, even when I’ve spent the whole day on the go, without access to a charging break. More than twice the capacity of the stock battery, it made the phone about 3/4″ of an inch thick and weigh almost a pound, but it was without question worth the added bulk.

So what do I want in a new smartphone? It doesn’t seem that the US market understands me. Here’s what’s important to me:

Pocketable

If I can’t fit it in a pants pocket — without it looking like I’m happy to see you — I don’t want it. But phones are still growing bigger and bigger. Now 6 inch screens seem to be the norm. It’s hard to use the phone with one hand when it’s so big. The Galaxy S5 is close to the maximum size that I would want to consider, and nearly everything in the 2019 market is larger.

Direct OS updates from Google

Carriers do not prioritize software updates, and tend to roll them out lagging their actual release by many months, sometimes as much as a year, and that’s if they bother to release the update at all. This is terrible.

Running out of date versions of Android can leave you vulnerable through security holes that have been patched in newer versions, and leave you out unable to install and run apps that require a higher version than is available on your handset.

Google has made a few Android handsets over the years — the Nexus line, the Pixel series, that they release updates for directly. Why can’t the rest of the world get behind that? Well, if they supported the product, then you’d be able to continue using it, and you wouldn’t have to buy the new product every 1-2 years.

Bare Android OS; No bundled apps

Carriers like to customize their phone as a way to differentiate themselves from the competition, and one of the ways they do so is by bundling apps. Unfortunately, much like with Windows 95 computers sold by OEMs, I have no interest in using many of these apps. It’s stupid to waste space on the internal memory by including these apps that I have no use for, and because they are baked into the system, they can’t be removed to free up the space.

Just provide the core operating system and the bare minimum apps needed to function as a phone: a phone app, a SMS app, a Contacts app, and the Play Store app. Let me decide what else I need to install.

If you really must bundle, then maybe offer a “Carrier Bundle” app manifest that you can use to bulk-install all the recommended default apps from the Play Store. Allow users to customize the bundle, giving us a line-item veto to opt out of installing whatever parts of the bundle we don’t want.

Big, big removable battery

My first Samsung Galaxy, the S2, was an OK phone until the battery wore out and wouldn’t hold a charge anymore. I spent a year with battery anxiety. Off charger, the battery charge dropped about 1%/minute, and so I basically spent a year walking from power outlet to power outlet, umbilical to the wall and unable to go out for more than 2-3 hours without freaking out over my dying battery. I didn’t realize at the time that the battery was bad and needed to be replaced, I just thought that the phone had some app that was power hungry and that no matter what I tried to do I couldn’t figure out how to make the phone sleep and save battery.

This taught me just how important battery life is, and when I bought the S5, I immediately went out and found the biggest battery I could for it.

But most phones these days have non-removable batteries in them, meaning that when they wear out, you either have to take the phone somewhere to be repaired with a replacement battery, or you have to buy a whole new phone.

A Li-ion battery will probably be good for 2, maybe 3 years of daily charge cycling, and if the handset is built as ruggedly as I’d like, it should be able to last longer than that. A removable battery makes this simple as buying a new battery and replacing it.

Durable

I want a phone that I can drop onto concrete and immerse in water without fear of damaging it. Usually this is solved by buying a ruggedized case for it, and this is fine, but it does add to the bulk of the phone. So why have two cases — a slim case that the phone is built inside of, and a rugged outer case? Why not just have one rugged case? The space saved by not having an inner casing could be given over to more battery, or cut down on the overall size of the device.

There are a lot of models on the market these days that are water resistant and durable enough not to take damage when dropped, especially when you factor in the afermarket armor. I don’t have a problem finding phones that meet my needs in this area, but this is probably the only area where I don’t see a lot of room for improvment needed.

Performance

I need to explain myself. I do not need blazing fast, cutting edge processor. My Galaxy S5 is a 4 year old design and when it’s not hampered by cache and memory limits, it’s absolutely fine. But the amount of system maintenance that I need to do on a daily basis anymore has gotten ridiculous. Freshly wiped, this is still a fast phone, and that’s enough for me. So Android should build into itself features that keep a healthy amount of free memory and cache storage at all times. I don’t know why this is such a problem, or why it’s gotten worse as time has gone by. During the first year or so that I had the phone, I never had such problems. About every year since then, I’ve eventually had to wipe it and start over, and am shocked at how fast the phone really is. After my last wipe, though, I didn’t want to spend an evening doing this every time the phone started feeling slow, and it felt slow within a week of my last wipe. So I started looking into performance optimization apps, and have been limping along with the help of those. But Android really needs to get its act together and handle its own maintenance and performance optimization, better than it does. Like, at all.

“Features”

Every other neat thing a smartphone does, is, I guess, nice, but I don’t care that much about it for it to sell me on a must-have device. I guess I’m in the minority here. I don’t need to be impressed by magic. I mostly am impressed by stuff that works well, and simply.

A decent camera is of course very handy, but it doesn’t have to be groundbreaking. A GPS radio that works well and doesn’t lose signal when I actually need it would be great.

I dunno, what else is there? Stuff like fingerprint readers, heartrate monitors, and so on, I don’t really use, or care about.

New “Link’s Awakening” triggers debate on remakes

It seems a lot of forum activity has been generated by yesterday’s announcement by Nintendo about the remake of Link’s Awakening on the Nintendo Switch.

In short, it seems that a significant number of fans are not in favor of the remake for one reason or another. Mostly this can be summed up as: “It’s not the exact same game as the original.”

Which, is true. The remake completely changes the graphics style, from the old 2-D look of the Game Boy original to something almost claymation-like, using a fixed 3/4 perspective, but with 3D models done in a cartoonish style. It remains to be seen what other changes are in store, and whether they are good or bad. It’s rather likely that the game will play differently in some respects, whether due to differences in the game engine, or changes in the design of the game.

I happen to love the way the new graphics look, so this doesn’t bother me. I liked the original graphics, too. And if I want to play the original game, I still can, and so can anyone with a the original hardware or a decent emulator.
But it seems that, among Zelda fans, there’s a certain segment who prefer the graphics to look “serious” — like Ocarina of Time, Skyward Sword, Breath of the Wild, etc., and not “cartoony” like Wind Waker or Four Swords Adventures. Somehow, original LoZ pleases both camps, and Link’s Awakening is in the vein of LoZ and Zelda 3: A Link to the Past. And I guess the new look for Link’s Awakening is too cartoony for them. This does not bother me. I like good art direction, and that can be “serious” or “cartoony” or something else.

It’s certainly true that many attempts at re-making some original classic game fail to capture what was special about the original game. It’s tempting to try to re-imagine something that was very, very good, thinking that adding something more will make it even better. Often that’s not the case.

Certainly, there’s a built-in expectation that a remake has to live up to, which a fresh new game doesn’t, and this can offset whatever advantage the remake had in being based off of a familiar, known, successful game. It can be very easy to mess up by deviating from the original in the wrong way. For example, updating the graphics in a style that fans don’t like, or likewise with the music. But worse would be a major change in the story, something that violates canon or continuity, or is just a change that upsets fans by breaking an unwritten contract to keep the game authentic to the characters and world that Fandom has already accepted. And perhaps the gravest mistake would be failing to ensure that the controls feel tight and responsive and give the game a good feel, ideally something virtually identical to the original. There’s nothing like tasting someone else’s attempt at your favorite recipe that your mom made when you were a kid, and no matter what they do it’s always just slightly off in a way that, even if it’s not bad, it prevents you from accepting it. I think that’s ultimately what makes fans of the original all but impossible to please when it comes to embracing a remake.

But that’s not to say that remaking a game is always a bad thing. I don’t view a remake as an attempt to replace or supplant the original. Rather, I look at it like in the way I look at theater: A playwright can write a play, and it can be performed by an original troupe of actors. And other theater companies can put on productions of the same play. Some may try to do it exactly the way the original was done, following a tradition, while others may stray and experiment. Some will be good, some will not. But it’s not like people shouldn’t continue to put on performances of Shakespeare just because purists who were fans of the original will find something not to like about it. And of course people should continue to write new, original scripts. The entertainment industry is large enough, and the audience is large enough, to sustain both.

Ultimately, it will come down to how the game plays. It’s only fair to judge the remake based on what it is, and not what it’s not. And to be clear, it will not be:

  • The same as the original.
  • A brand new, original game.
  • Different from the original in exactly the way everyone would like it to be.

Will it be worthy? That remains to be seen, and will be a matter of opinion and consensus. But I’m excited about it.