April 2017

910111213 1415
16171819 2021 22

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
marcmagus: (regexp)
Friday, October 22nd, 2010 11:27 am

For some reason I can't remember at all, shortly after I crawled into bed last night [livejournal.com profile] shield_toad111 started singing "76 trombones". It must have made sense at the time, because I said something to the effect of "I was thinking that too!" But then I said those fateful words, "Why 76?"

There followed a few minutes of speculation (76 is a strange number. It probably wasn't a 4x19 rectangular arrangement. Maybe it was 4x20 or 8x10 with flag-bearers or something at the corners.) before she sensibly went back to sleep, but I couldn't get to sleep for thinking about it.

It's not a triangular number.

Maybe it makes a pixel circle? No, they all have odd area from the center pixel.

Wait, what if there isn't a center pixel?

Many games played on a grid (like roguelikes) use "Euclidean distance" to measure distances between the grid squares for things like spell ranges and areas of effect. This gives you relatively nice circles (even nicer if you have square tiles, unlike most fonts). The "Euclidean distance" between to squares is, of course, sqrt(x^2+y^2), although it's usually easier to stick with integer math and square the ranges/areas of effect.

For example, the 5 circle (radius 5 if you're working in integers, or sqrt(5) if you're not) would be a 5x5 square with the corners cut off to make an approximate circle. (To get into the corners of the square you need radius 8; radius 9 pushes you out one more square along the axes.)

As I said, though, these all have an odd area because you count the target square.

But of course pixel art doesn't have to have a square where the player/target is. If you look at circles centered on the grid lines rather than the square, you can describe circles the same way, as all the cells fully contained within the arc of the circle. A circle with radius sqrt(29) contains 76 cells.

Thus, I propose that the 76 trombones marched in a circle, like so:


Do you have a theory? Or an actual knowledgeable explanation?

marcmagus: Ten the hard way (ten the hard way)
Friday, October 22nd, 2010 12:46 am

[livejournal.com profile] tirerim intelligently, if frustratingly, pointed out that it would be a good idea to take another set of photos after my hair had had some time to be lived in dry. This is it.

Photos... )
marcmagus: Ten the hard way (ten the hard way)
Thursday, October 21st, 2010 07:19 pm

Well, that was fun.

At a bit under 7 hours, I'm close enough to completely dry to call it done. If I really feel for it, I can still find some dampness.

Photos... )
marcmagus: Ten the hard way (ten the hard way)
Thursday, October 21st, 2010 04:37 pm

Ok, so at the four hour mark most of my hair is dry, except the segment in the center underneath where it's still pretty damp to the touch. No surprises there, except that it might be drier than expected.

I've always had this thing about people seeing me with my hair down/being photographed with my hair down. I don't know if this means that thing is gone, or what. Hopefully I won't get a massive panic attack about it or anything in a couple of hours.

Photos... )
marcmagus: Ten the hard way (ten the hard way)
Thursday, October 21st, 2010 02:44 pm

I think I'm ready for part two. These photos are taken an hour and a half later (about two hours drying time).

The outer layer of my hair is dry or slightly damp to the touch. Underneath it's still quite damp, but should no longer be dripping, so I can probably go put on real clothes now.

Again, much curlier than I think it is down at the bottom. The frizzing of the top layer is starting as well.

Photos behind the cut... )
marcmagus: Ten the hard way (ten the hard way)
Thursday, October 21st, 2010 12:48 pm

Thank you all for your supportive and helpful comments yesterday.

While doing some web research on hair care this morning, I realized something frustrating but true: I don't know as much about what kind of hair I have as I think I do.

Babbling, photos )

The thing I notice right away is that even when wet/damp, my hair is much curlier than I think it is. Much curlier. I think that's because I'm rarely looking at the ends, or the back, or indeed most of my hair at all. That alone means doing this was a good idea. We'll see more when it's dry (however long that takes), especially if I get to learn anything more about the different layers that seem to exist.

In the meantime, I get to sit around and overheat, but at least I don't have water dripping down my back.

marcmagus: Me playing cribbage in regency attire (Default)
Thursday, October 21st, 2010 11:16 am

Two friends of mine from completely different parts of my life who met through absolutely no action of my own (I find this really cool somehow), [livejournal.com profile] mithrigil and [livejournal.com profile] rm have just founded a production company to do musical theater in New York. They've named the company Treble Entendre, which I think is just perfect.

They're looking for help raising funds to get this thing off the ground through their kickstarter page. If you're so inclined, it would be great if you'd go help out my cool friends with their cool project, and you can get some cool rewards.

marcmagus: Me playing cribbage in regency attire (Default)
Wednesday, October 20th, 2010 03:12 pm

I appear to actually be serious about this at the moment, although I don't know if it's going to last. But the medical purposes argument is working in my head right now (I won't hurt myself in hair care, so I might feel and heal better; hair will also be less of an impediment to exercise such as going for a swim, so ditto, etc.) The reminder that it's not a permanent change, would be back to "long" within a few months and back to normal in a year or two helps.

So, soliciting opinions time. If I decide to cut my hair "short", what style should I go for. What reflects my personality as you know me? What do you think I'd enjoy and have fun with and would be a source of happiness?

Considerations: Part of the goal is to take a load off my arms. Required care probably shouldn't be too much more than washing in the morning and brief maintenance in front of the mirror afterward. My hair is very prone to what's commonly referred to as "Jew-Fro" in an unpleasant way; this should be accounted for.

Also, should I employ use of dye to render my hair a color human genetics never intended? If so, what color?

Links to photos of suggested cuts totally welcome.

(Note: because of the poofiness, shoulder length with option to gather worked quite poorly for me in 1997. I believe the defining quote was "It looks like a squirrel climbing up your back." I'll entertain ideas for long but not so long, but they'd need to account for this, offer significant improvement over the current state of affairs, and not result in my commonly having hair on my face. Hair, even/especially a single hair, touching my face is a thing—it freaks me out at a visceral level and I can't concentrate on anything else until it goes away. Kind of like feeling something with lots of legs crawling around on your back.)

Have fun!

marcmagus: Me playing cribbage in regency attire (Default)
Wednesday, October 20th, 2010 02:43 pm

[I think this is about to become a series. Yay?]

I was thinking about this a bit more while I showered and washed my hair and shaved [I feel much better emotionally as a result, but my arm is hurting a lot more and it may be the only physical push I can accomplish today], and I realized that my hair is a political statement and action, and it's one that I'm not particularly excited to give up.

The cultural narrative that there's something wrong with long hair on men, and the new one emerging as demonstrated by my mother (see this comment) that shoulder-length hair is now manly, but longer hair is unacceptable because it's too girly is homophobia, is transphobia, and is mysogyny. Unapologetically wearing my hair "like a girl" (because apparently that's what most people think) and living my life is something I can do to combat problematic cultural narratives, and that is not something I want to give up.

marcmagus: Ten the hard way (ten the hard way)
Wednesday, October 20th, 2010 12:46 pm

[Edit: I was wrong; I have curly hair, not wavy hair.]

I think I am very seriously considering cutting my hair. Not a bit shorter like last time but a lot of it, so it's short, in the hope that it might be more manageable. Which it won't, because the reason I grew it out in the first place was in the hope that gravity would help me tame it since no combination of frequent cutting and application of significant amounts of assorted chemicals seemed to do so.

It turns out that gravity, at least combined with tension through binding, does the trick. However, it only does the trick when my hair is relatively slack and heavy, a state it's in when it's wet, but not when it dries. Which is only achieved when, well, my hair is wet and heavy. Which is itself uncomfortable, as it gets my back wet.

Also, caring for my hair requires frequent brushing and rebraiding, which causes me observable physical pain in my arms every time I do it. Which, unsurprisingly, leads to my procrastinating doing so, which leads to it being in worse shape, which results in my feeling unfit for human company.

So I'm contemplating chopping it off for real, back to a point that doesn't require painful care. Except when I remember my childhood, I realize that's probably not a realistic goal, and would probably require getting it cut every 2-3 weeks to have any hope of achieving any sort of desirable effect, which I flat out can't afford.

Plus, at this point I have a significant amount of identity in being the guy with the long braid. I'm not sure if I could cope psychologically with a change that big. It would seriously affect how I thought of myself, and probably not in a good way. I'd be tempted to dye it or something, because I'm having trouble with the idea of having "normal" hair, but of course there are social and theoretical economic pressures against doing so.

I think the big deal is the social pressure from the people who are close to me, though. After something like 15 years my mother has finally largely stopped commenting on my choice of hairstyle (although every now and then she'll still remind me of how it would open doors to jobs if I'd switch to something more normal). I'm not such a fully grown independent man that the idea of a conversation where she congratulates me for finally coming to my senses about it is very palatable. Nor is the idea of the conversation where she chastises me from changing from one unpalatable to potential employers style to another.

Finally, at various times over the past couple of years, I've mentioned considering cutting my hair to my girlfriends. Their reactions have been negative in ways which have made me really uncomfortable (e.g. joking pouting/"noooooo"), and suggested clearly that my making this sort of radical change to my hairstyle would reduce their happiness. Not that I wouldn't do it anyway if that were the only thing on the con side, but it certainly makes it harder with uncertainty.

These last two combined make it a lot harder to talk about, because it kind of seems like thinking aloud about the issue to someone whose opinion I trust has a tendency to result in someone saying something which makes me regret mentioning it. If you can't guess, I'm feeling a ton of anxiety about posting this, in anticipation of getting responses which are upsetting, of hurting people I love just by what I've said, of people potentially saying hurtful things about people I love, of of an incredibly uncomfortable silence because everybody's afraid of hurting someone.

OTOH, I keep saying to myself I want to write here more, and a lot of what's keeping me from doing so is this sort of fear, so I guess I'm just going to post it.

BTW, hair care tips targetted to the sort of hair I have [thick and wavy curly, prone to absorbing a lot of water and trapping it for a long time, but with an outer layer that gets dry and kinks up rapidly, generally surprisingly resistant to split ends] would be quite welcome.

[Comment Policy: This post talks about real people who may be reading it in a potentially unflattering light. Please keep their feelings in mind if you choose to comment on that aspect of what I've written.]

marcmagus: Me playing cribbage in regency attire (Default)
Wednesday, September 1st, 2010 11:43 am

It seems many people haven't really thought through the implications of this new feature, and some people might not be aware of it. So.

LJ has introduced a feature where, if you link your LJ account to your Twitter or Facebook account, you can publish all your entries and/or comments to that remote site. It will include the title, the first bunch of words, and a link to the entry or comment.

The settings don't completely suck; even if you turn on crossposting by default, it will be turned off by default for comments to locked entries. But it's not hard to turn on (just a checkbox), even by accident (a checkbox interjected in the tab order that's muscle memory for some people). I think the greater risk here is going to be people who don't have crossposting comments on by default, but do choose to crosspost comments semi-frequently; for them, crossposting their comment to a locked entry won't feel any different than crossposting to an open entry. As much as I hate them, an "are you sure" popup might have been appropriate here, just for locked posts.

So, here's the thing. If you quote when you comment, and you crosspost, then you're crossposting whatever you quoted. Even if you don't, your comment is likely to be indicative of what was being discussed and possibly some of the content, and it will include a link which indicates the presence of a locked entry on that topic.

No real privacy on the Internet, information wants to be free, blah, blah, blah. I know none of you wants to be the jerk who reveals something someone preferred to keep to a select group [locked post] to a broader audience, so tread very carefully with this new feature. If you even turn it on.

marcmagus: Me playing cribbage in regency attire (Default)
Thursday, August 19th, 2010 03:19 pm

For anybody who missed this well-hidden new feature, you can turn on links from Dreamwidth to the crossposts. To do so you'll need to go to the "Other Sites" tab of your Settings, click on "Change" on the site you want linked to, and turn on the checkbox for "Display cross post links".

I don't know why it's buried so deep, but there you go.

Looks like it only affects posts made after changing the setting. I'm not sure if there's a way to go back and retroactively add it to everything else.

marcmagus: Ten the hard way (ten the hard way)
Thursday, August 19th, 2010 02:41 pm

Language choice kind of matters not at all to most projects, so the question in my last post is really about what's worth learning to broaden my horizons. It's also a question that's limited to a pretty strict subset of my followers. Here's one explicitly for the bikeshed crowd.

My goal with manakin is to have a totally awesome UI. So, an open poll to help me brainstorm for what I want it to do and get me excited about it:

What features would make for an awesome UI in your opinion? What features have you seen in an existing client and loved. What misfeatures have you hated? What do you really wish your client could do but you've never seen?

Features which don't apply to the terminal still welcome. If you're aware of limitations on scope of a feature (e.g. only makes sense on a SmartPhone), that doesn't make them uninteresting, but mentioning that would be great.

marcmagus: (regexp)
Thursday, August 19th, 2010 02:30 pm

I'm contemplating resuming work on manakin, and I accept that at this point it's so stale that it's succumbed to sufficient bitrot that I might as well start from scratch, using what I had as a model. What I have was in large part intended to be a quick prototype anyway.

This project has two purposes. One is to build a working Twitter client that I can live in and with, with a UI that doesn't make me want to scream, and with whatever functionality seems relevant to me. I think I'll stick to keeping it in the terminal so I can access it remotely using screen, although I'm finding myself increasingly more frustrated with the terminal's limitations than enthusiastic about its advantages.

The other purpose was to get more experience in a language I didn't have much experience in. Last time around I picked Python, because I've heard so many positive things and it seemed like a good job skill to pick up. I feel like I only scratched the surface of Python, so I could certainly stick with that when I go back again, but I'm also open to alternatives.

What language, that isn't Perl and isn't Java, do you think I should use making a terminal-based, UI-design focused Twitter app as an excuse to improve my skills in. Why that language? Are there any particular libraries I should/shouldn't use when doing so?

marcmagus: Me playing cribbage in regency attire (Default)
Tuesday, August 10th, 2010 03:20 pm

So after my recent experiences with system-wide resource exhaustion thanks to Chromium, I've started paying a bit more attention. This thing gobbles up available system memory like there's no tomorrow. Ok, sure, no point it sitting around idle. Only it's not sitting around idle, because my OS dynamically uses available memory for cache.

Ok, sure, I've actually been somewhat sold on "1. Don't Optimize. 2. Optimize Later.", but seriously, what the hell is this thing doing with all this memory? Yes, the sandboxed multi-threaded model does mean a higher memory footprint, and I really appreciate that I can kill the thread for libflashplayer without bringing the whole browser down, considering that libflashplayer is a piece of junk that crashes on average twice a day (more if I'm actually spending any amount of time using Flash). But still:

  • Each extension gets its own thread. Cool. Why the hell is the minimum private memory footprint for an extension (Eye Dropper) over 7 MB? What the hell does it need 7MB for? (Note: actually using it makes it jump over 16MB, then fall down to 15MB.) For a color picker + eyedropper! Yes, yes, process overhead. 7+MB of process overhead?! And Chrome is supposed to work on phones?

  • The memory footprint for active tabs is comparably appalling. A process containing only the "new tab" page needs 10 MB. In fact, a process containing only a tab on a 73B file containing minimal HTML for a blank page with the title "Nothing" requires 14 MB! (6 MB for JavaScript?!)

    • A page which adds a link to that page is also 14 MB, but then having both pages open in the same process is almost 18 MB, so not only does each browser process have about 10 MB of overhead, but it takes about 4 MB just to have a blank page open, Changing the window size (and killing the thread and starting a new one) doesn't seem to change this significantly, so it doesn't even seem to be that it's allocating a bunch of memory for the display, unless it's doing so for some arbitrary viewport that's not the actual window size. (Actually, I haven't done the math closely enough, I guess it could be allocating exactly the size of my entire display here so I can resize/maximize quickly.

I guess that's probably what's going on. In order to give a snappier response, it's renders every page and keeps it in memory as a bitmap, but also does so as though it were fullscreened in case you change the window size? Which doesn't explain that extension overhead or what it's doing to keep the processor so busy even when I'm not doing much of anything.

I might even appreciate all that, if it worked to give me a responsive system. Except once I've been using it for a bit I'm not actually sure it does. And as mentioned previously, browsing Amazon gets pretty catastrophic. It should in theory be, say, swapping out memory for pages I haven't viewed recently, except it doesn't really seem to do that (until swap spontaneously decided to go from empty to full).

Not sure this is working...stay tuned...

marcmagus: Ten the hard way (ten the hard way)
Tuesday, August 10th, 2010 01:22 am

Everybody, please learn from my mistake. Do not, under any circumstances, attempt to taste the roux you've been working on. Especially if you think you may have ruined it by burning it. No good will come of it.

I mean that rather literally, actually. You won't be able to taste if it's ruined. You won't be able to taste much of anything, because you'll scald the fuck out of your tongue, because that shit is hot.

And if you try to taste it off the whisk, you might sear a really impressive pair of white lines across your lip. I'd offer a photo for posterity, but I don't have a camera that's not way too much of a pain to use.

Also, if you think you might have ruined your roux, say by leaving it on the heat unattended at a critical moment because some sausages caught fire in your oven and you were distracted by dealing with that and trying not to kill the bird with the resultant smoke, you probably have. Just toss it and start over, and definitely don't bother trying to taste test it.

In other news, there's a cat on my desk nosing at my hand while I type, so I think I'm done here.

marcmagus: Me playing cribbage in regency attire (Default)
Saturday, August 7th, 2010 01:05 pm
  • The annoying problem with Flash where after the browser has been open for a while sometimes it will get messed up such that audio is corrupted and video is slow and choppy happens in Chromium as well, unfortunately.

  • Chromium's threaded model is awesome, in that when this inevitably happens I can kill the thread devoted to Flash and go about my business. Reloading a page that needs Flash (such as the one where I had the problem) will bring it back up and it will work correctly. Any other tabs which were using Flash will show a cute dead plugin image wherever there was supposed to be a Flash object until I reload them to fix it. This is a huge advantage over having to restart Firefox a couple times a day.

  • Attempting to shop on Amazon is painful to the point of impossibility, at least if you shop the way I do (opening a new tab for each item I want to look at so I can keep track of everything). Once I have about 5 Amazon tabs open the entire computer (not just Chromium) slows to a crawl for a while, although it seems to balance out after a couple minutes so I can browse those tabs and do other things as long as I don't, say, try to open another new tab.

  • Correcting the previous, apparently I managed to exhaust both memory and swap on the system, resulting in a giant mess. Unrelatedly, system didn't come up from a reboot due to an upgrade error, so I just lost a few hours to burning a rescue disk and performing a kernel upgrade. (The wasted time was in figuring out the problem and in not being able to multitask during the upgrade.)

  • I miss access to the LJ New Comments Greasemonkey script. However, in writing this, I went and poked around and found Tampermonkey, which provides GreaseMonkey support for everything possible, and which seems to support it, so I think I'm good to go there. Yay.

I'm still not sure if this represents an improvement or a [what's the antonym for improvement?] to Firefox...

marcmagus: Me playing cribbage in regency attire (Default)
Thursday, August 5th, 2010 11:02 pm
  • Once it's up and running, Chromium seems able to handle my c. 50 simultaneous tabs comparably to Firefox in terms of overall system performance, or at least not noticeably worse.

  • Restarting with that many tabs is also comparable. I was hoping for an improvement.

  • Actual browsing of the sort of thing I generally browse (which is mostly a lot of text with images) feels noticeably slicker. In particular, in Firefox I get a very noticeable delay when I change tabs or especially windows. In Chromium I can jump around between windows with a delay that is within reason (comparable to typing speed).

  • Yesterday in Firefox I found the scribd webapp for the Prop 8 Ruling unusably slow. Here in Chromium today it's a bit pokey, but quite usable. I sincerely doubt it's a difference between yesterday and today.

  • In-browser video seems to be inconsistent, perhaps depending on the underlying technology. YouTube videos actually seem slightly improved. Other sources (which I have no idea how different they are under the hood) seem choppier than I'm used to. Not sure what to make of this one.

  • I haven't yet had the problem where Flash applications (such as streaming videos) have the audio get completely screwed up and I have to quit the browser to correct the problem. This may just be luck, though.

  • I've tried two programs which are supposed to provide a similar experience to vimperator in Chromium: vrome and vimium. Both offer a really inconsistent user experience (not always working, frustratingly), and a strict subset of the features I want. It seems part of this may well be due to limitations of the Chromium extension architecture, which is, well, frustrating. I'd like more of an :ex-style interface, and the ability to hide the address-bar like Vimperator offers. Very annoyingly, both extensions don't seem to use keypresses chorded with Control correctly, and instead pass them through to the browser.

marcmagus: Me playing cribbage in regency attire (Default)
Thursday, August 5th, 2010 08:30 pm

Having heard that Chromium (the Open Source browser under the hood of Google Chrome uses threading to display separate tabs, I thought I'd install it and give it a whirl and see if it can keep up with my normal browsing habits.

Some initial thoughts:

  • I use a two-level hierarchy for browsing, with separate windows for conceptual distinction and tabbed browsing within each to manage multiple things I might want to flip between. Chromium will let me have multiple windows, but new tabs opened via the command-line seem to always want to open in the first window rather than the window with focus.

  • Out of the box I can't easily paste a URL into the browser to open it. There's an extension which does that, but it's a bit limited. It works, but its "open in new tab" feature (very cool idea) opens the new tab in the first browser window rather than the current one.

  • vrome works to provide some vi-like keybindings, but is already missing some features I liked from vimperator. Notably, Shift-Insert seems to work with the chromium clipboard (I thought it did nothing) rather than the selection buffer, removing another way to easily open a URL I have in another program.

You might notice that so far the problem is related to my trying to quickly and easily get all the stuff I had open in my most recent Firefox session open in Chromium to see how they compare. Once I get that going I'll have a much better opportunity for comparison under load; it seems pretty nice and snappy right now, but it's not really a fair comparison yet.

More later...

marcmagus: (regexp)
Thursday, August 5th, 2010 06:01 pm

I'm an unrepentant vim user, eschewing other text editors which might have less terrible internal scripting languages. I love vimperator for Firefox, and I'm about to give Chrome a whirl and the first thing I'm going to do is install Vrome for it. I prefer crawl to nethack and nethack to ADoM (at least in UI terms). I passionately hate almost every "webapp" ever written.

I do almost all my work in the console. It's not actually that I prefer doing everything in a cell matrix containing characters in a monospaced font; in fact, for a lot of things, especially reading, I'm increasingly finding that proportional fonts really are advantageous. [Please don't ask me about antialiasing; I still haven't done a good enough side-by-side comparison to determine whether it results in "smooth" or "blurry".] It's just that console applications as a general rule are much more likely to have an input UI which allows a little more expressiveness than pointing with your finger and grunting. (To be fair, some GUIs do allow you to grunt, whine, or whistle while pointing.)

The goal of the input portion of a tool's UI is to effectively transmit information (what you want to do) from your mind to the tool. I think there are a few basic principles that should be kept in mind when designing or evaluating a UI.

Read more... )

As a designer of a tool, it's your job to think about how people will want to interact with that tool and make it as easy as possible for them to do so and get the most out of it. It's not good enough to do what's easiest for you to design, and it's not good enough to stop at only the features that will be easy to learn. For input, the tool should be able to capture relatively complex ideas in a simple way, and grow with the user. Users shouldn't have to ask, "I need to do this simple task about 20 times a day, why does it take 5 minutes to do each time?" At the worst, the answer should be because the user wasn't aware of the simpler way; it should never be because of an unnecessary limitation of the UI. Designers of database-interactive software, I'm looking at you, here.