fuzzy notepad

Tagged: yelling

[blog] A Rebuttal For Python 3

Zed Shaw, of Learn Python the Hard Way fame, has now written The Case Against Python 3.

Iā€™m not involved with core Python development. The only skin I have in this game is that I like Python 3. Itā€™s a good language. And one of the big factors Iā€™ve seen slowing its adoption is that respected people in the Python community keep grouching about it. Iā€™ve had multiple newcomers tell me they have the impression that Python 3 is some kind of unusable disaster, though they donā€™t know exactly why; itā€™s just something they hear from people who sound like they know what theyā€™re talking about. Then they actually use the language, and itā€™s fine.

Iā€™m sad to see the Python community needlessly sabotage itself, but Zedā€™s contribution is beyond the pale. Itā€™s not just making a big deal about changed details that wonā€™t affect most beginners; itā€™s complete and utter nonsense, on a platform aimed at people who canā€™t yet recognize it as nonsense. I am so mad.

[blog] Shut Up, Paul Graham: The Simplified Version

As often happens when you say something controversial, there have been some very adventurous interpretations of the essay I just wrote about economic inequality. I thought it might help clarify matters for the undecided if I tried to write a version so simple that it leaves no room for misinterpretation.

ā€œI wrote a LiveJournal post so preposterous that even Hacker News didnā€™t swallow it. Iā€™m painting this as ā€˜controversialā€™, which only makes sense if you accept that I am roughly as important as the entire rest of the Internet. Rather than step back and wonder if I might be wrong, I wrote this patronizing Playskool edition, to give the unwashed masses a second chance at appreciating my brilliance. Please admire my generosity.ā€

No doubt even this version leaves some room. And in the unlikely event I left no holes, some will say Iā€™m backpedalling or doing ā€œdamage control.ā€ But anyone who wants to can test that claim by comparing this to the original.

ā€œIt is literally unthinkable that my ideas are bad.ā€

[blog] Undertale

Undertale is a very good game.

So you should play it, because I am about to spoil the hell out of it.

No, really. Donā€™t read this if you havenā€™t played the game. It wonā€™t even make sense. Iā€™m reflecting on it, so Iā€™m not gonna bother explaining stuff you would know if youā€™d seen the ending(s).

This is a heavily story-based game. Dissecting the plot without playing it will not entertain you and may ruin your enjoyment of the game later. Iā€™m not kidding.

Okay then.

[blog] XY UI nitpicks

Game Freak, you are kinda bad at interfaces. Donā€™t get me wrong; PokĆ©mon X and Y are absolutely the best in the series and even just showing the party PokĆ©mon from within the bag is nothing short of genius.

But goddamn how does nobody working there notice these other things, some of which have been around since Red and Blue.

(Pretty light spoilers since this is just standard PokĆ©mon gameplay stuff.)

  • When learning a new move and choosing which one to delete (in battle, anyway), there is no way to see the PokĆ©monā€™s stats. So if Iā€™m choosing between a 60 power physical move and a 70 power special move, which is not uncommonā€¦ I canā€™t see if the PokĆ©mon has better Attack or Special Attack. I often end up having to consult veekun to guess at the stats of the PokĆ©mon thatā€™s already out!

  • Getting from a move to its description (and damage class, ahem) in battle is ridiculously tedious. You can, of course, hold L and choose a move to see its properties. But this is never mentioned anywhere in the game, Iā€™ve had this actually use the move once or twice, and anyway it doesnā€™t work if you have L=A turned on (and why wouldnā€™t you? one-handed mode wooo). Meanwhile, the X and Y buttons do absolutely nothing.

  • The bag has five pockets. Four of them are nicely organized.

    • Key items, of which there are probably a few dozen at most.
    • Berries, which canā€™t hold more thanā€¦ 65, I think?
    • TMs, of which there are 108.
    • Medicine, which probably doesnā€™t exceed 50.

    That leaves the ā€œother crapā€ pocket, which gets filled with the following:

    • 20 types of PokĆ©ball
    • 18 Arceus plates
    • 18 type-boosting held items (Charcoal and the like)
    • 18 type-boosting gems
    • A dozen evolution items
    • At least 17 species-specific held items (Stick, etc.)
    • At least two dozen general-purpose held items
    • Some untold number of (ahem) the new item type introduced in XY
    • Fossils, shards, loot, Heart Scales, Honey, mail, and god knows what else.

    Thatā€™s over 200 items in one pocket, twice the size of the next-biggest.

  • The miscellaneous pocket of the bag no longer shows item grouping icons (like a PokĆ©ball), which at least helped separate sections in BW.

  • Neither the bag nor the in-battle item menu show item icons any more. The held item on a party or boxed PokĆ©mon doesnā€™t, either.

  • The ā€œitemā€ submenu on a party PokĆ©mon offers to let me take or swap an item even from a PokĆ©mon that doesnā€™t have one. It also doesnā€™t tell me what the item is before I take it, which is annoying when Iā€™m trying to find where I left something like Amulet Coin or Lucky Egg.

  • ā€œDepositā€ and ā€œwithdrawā€ on the PokĆ©mon box system are useless. Using one or the other is slightly faster than going through ā€œorganizeā€, I guess, but anyone who runs with a full party of 6 (i.e. almost everyone) is going to want to do both together. It wouldnā€™t matter except that this is the one thing stopping me from merely mashing A to get to my boxes.

  • For some reason trading has two ways to show a PokĆ©mon: press A, or tap a weird icon or something at the bottom I forget. The next step from either of these to actually offering a trade is a little different, and I canā€™t figure out why.

  • When viewing a party PokĆ©mon, I canā€™t switch directly to my PokĆ©dex and read a description of it. I have to remember its dex number and look it up manually.

  • There is no list of all moves or abilities Iā€™ve seen. :( Shouldnā€™t the PokĆ©dex track what abilities PokĆ©mon can have?

  • The zoomed-out box grid view on the PC should really color each box icon according to its wallpaper. With 24 boxes this view is not very useful.

  • There are two (and a halfā€¦?) completely separate and distinct interfaces for deleting a move. There are at least two completely separate and distinct interfaces for seeing a PokĆ©monā€™s summary. This is a little silly, but itā€™s been the case for a while.

  • The summary view when perusing boxed PokĆ©mon neither mentions its nature nor indicates which stats are raised/lowered.

  • Learning a new move and forgetting an old one involves some three separate prompts. If you change your mind about learning the new move, the button to abort is helpfully labeled ā€œQUITā€ and just restarts the sequence of prompts overā€”more than once have I just mashed A and accidentally agreed to learn it again. Why not just say ā€œhereā€™s a fifth move, pick which one to loseā€?

    (Thatā€™s an annoyance in a lot of games, particularly RPGs: the button I mash to advance through dialogue is the same button I use to agree to choices offered in dialog. My 3DS has like a thousand buttons Iā€™m pretty sure you can spare a second one.)

  • There are several places in the game where a list of items is intended to be scrolled by sliding on the touch screen, a la most phone interfaces (e.g. the bag, puffs in Amie), but either Iā€™m a clumsy buffoon or something is not calibrated well because I very frequently end up tapping an item instead.

  • I miss the Habitat List. Please stop adding neat UI features in doomed branch games and not bothering to port them to trunk of the next generation. :(

So hey all those people with uncles and cousins that work at Game Freak whoā€™ve come out of the woodwork since XY was announced: if you could pass this along that would be fantastic.

[blog] I bought a new laptop

Wow, where the hell have I been.

That whole ā€œdying catā€ thing ruined most of my April, and I spent most of May dealing with various other life crises, and then June scrambling to catch up. Iā€™ve started and abandoned maybe half a dozen posts in that time that I will totally maybe finish someday. In the meantime, hereā€™s something aimless and specific to me about how I bought a thing. Par for the course, then.

[blog] PHP: a fractal of bad design

(This article has been translated into Spanish (PDF, with some additions) by Jorge Amado Soria Ramirez ā€” thanks!)

Preface

Iā€™m cranky. I complain about a lot of things. Thereā€™s a lot in the world of technology I donā€™t like, and thatā€™s really to be expectedā€”programming is a hilariously young discipline, and none of us have the slightest clue what weā€™re doing. Combine with Sturgeonā€™s Law, and I have a lifetimeā€™s worth of stuff to gripe about.

This is not the same. PHP is not merely awkward to use, or ill-suited for what I want, or suboptimal, or against my religion. I can tell you all manner of good things about languages I avoid, and all manner of bad things about languages I enjoy. Go on, ask! It makes for interesting conversation.

PHP is the lone exception. Virtually every feature in PHP is broken somehow. The language, the framework, the ecosystem, are all just bad. And I canā€™t even point out any single damning thing, because the damage is so systemic. Every time I try to compile a list of PHP gripes, I get stuck in this depth-first search discovering more and more appalling trivia. (Hence, fractal.)

PHP is an embarrassment, a blight upon my craft. Itā€™s so broken, but so lauded by every empowered amateur whoā€™s yet to learn anything else, as to be maddening. It has paltry few redeeming qualities and I would prefer to forget it exists at all.

But Iā€™ve got to get this out of my system. So here goes, one last try.

An analogy

I just blurted this out to Mel to explain my frustration and she insisted that I reproduce it here.

I canā€™t even say whatā€™s wrong with PHP, becauseā€” okay. Imagine you have uh, a toolbox. A set of tools. Looks okay, standard stuff in there.

You pull out a screwdriver, and you see itā€™s one of those weird tri-headed things. Okay, well, thatā€™s not very useful to you, but you guess it comes in handy sometimes.

You pull out the hammer, but to your dismay, it has the claw part on both sides. Still serviceable though, I mean, you can hit nails with the middle of the head holding it sideways.

You pull out the pliers, but they donā€™t have those serrated surfaces; itā€™s flat and smooth. Thatā€™s less useful, but it still turns bolts well enough, so whatever.

And on you go. Everything in the box is kind of weird and quirky, but maybe not enough to make it completely worthless. And thereā€™s no clear problem with the set as a whole; it still has all the tools.

Now imagine you meet millions of carpenters using this toolbox who tell you ā€œwell hey whatā€™s the problem with these tools? Theyā€™re all Iā€™ve ever used and they work fine!ā€ And the carpenters show you the houses theyā€™ve built, where every room is a pentagon and the roof is upside-down. And you knock on the front door and it just collapses inwards and they all yell at you for breaking their door.

Thatā€™s whatā€™s wrong with PHP.

[blog] FUCK PASSWORDS

Iā€™m so tired of passwords. So, so, so tired.

Most people donā€™t understand this. Most people use the same password everywhere. Most people can just mechanically type out password3 in every password box, smirking to themselves at how clever they are, because who would ever guess 3 instead of 1?

I donā€™t do that. Let me tell you what i do.

I generate a different password for every service, based on a convoluted master password and the name of the thing. I do this because itā€™s what youā€™re supposed to do; itā€™s what security nerds (including myself for the purposes of this post) tell everyone else to do. ā€œHo ho!ā€ we all chuckled to ourselves after the Gawker leak, and the subsequent breakins to various other things that used the same passwords. ā€œIf only these chumps had been generating different random passwords for every service!ā€

So my passwords look like 'fC`29ap5w78r3IJ, or Ab3HE4 2Iv5hJk\K, or mw@\_h<~o04neHiJ{. Those are actual examples i just generated. Iā€™m eating my own dogfood, so to speak.

Itā€™s not without its drawbacks.

[blog] GNOME 3 revisited

How did I write this? I donā€™t know what happened. I was just jotting down notes and prose came out.

I wrote a whole thing about Shell and Unity before, but it was kinda knee-jerk ranting. With my newfound blog fame, hereā€™s a lame attempt at a more constructive list of specific criticisms of GNOME 3, now that Iā€™ve actually used it for a while on my laptop.

[blog] How to drive your new project into irrelevance

Hereā€™s a question that should be really easy to answer: what is Diaspora?

Okay, well, I know what Diaspora is. Itā€™s an attempt to make a decentralized social networking service. But my knowledge ends around there. What kinds of things does it share? What useful functionality does it provide for me? How does its concept of identity work? And the million dollar question, how does the decentralized bit actually work? Do I show up as eevee@diaspora.com on other sites, or do I auto-get a local account, or do I manually sign in with OpenID, or is there a central registration server, or do nodes sync their account listsā€¦ or what?