text:
Animation Done Wrong (aka Fix My Code, Please!)
December 17th, 2015
A blast from the past: in early 2014, we enabled Generational Garbage Collection (GGC) for Firefox desktop. But this blog post is not about GGC. It is about my victory dance when we finally pushed to button to let it go live on desktop firefox. Please click on that link; it is, after all, what this blog post is about.
Old-timers will recognize the old TBPL interface, since replaced with TreeHerder. I grabbed a snapshot of the page after I pushed GGC live (yes, green pushes really used to be that green!), then hacked it up a bit to implement the letter fly-in. And that fly-in is what I'd like to talk about now.
At the time I wrote it, I barely knew Javascript, and I knew even less CSS. But that was a long time ago.
Today… er, well, today I don't know any more of either of those than I did back then.
Which is ok, since my whole goal here is to ask: what is the right way to implement that page? And specifically, would it be possible to do without any JS? Or perhaps minimal JS, just some glue between CSS animations or something?
To be specific: I am very particular about the animation I want. After the letters are done flying in, I want them to cycle through in the way shown. For example, they should be rotating around in the "O". In general, they're just repeatedly walking a path that is possibly discontinuous (as with any letter other than "O"). We'll call this the marquee pattern.
Then when flying in, I want them to go to their appropriate positions within the marquee pattern. I don't want them to fly to a starting position and only start moving in the marquee pattern once they get there. Oh noes, no no no. That would introduce a visible discontinuity. Plus which, the letters that started out close to their final position would move very slowly at first, then jerk into faster motion when the marquee began. We couldn't have that now, could we?
I knew about CSS animations at the time I wrote this. But I couldn't (and still can't) see how to make use of them, at least without doing something crazy like redefining the animation every frame from JS. And in that case, why use CSS at all?
CSS can animate a smooth path between fixed points. So if I relaxed the constraint above (about the fly-in blending smoothly into the marquee pattern), I could pretty easily set up an animation to fly to the final position, then switch to a marquee animation. But how can you get the full effect? I speculated about some trick involving animating invisible elements with one animation, then having another animation to fly-in from each element's original location to the corresponding invisible element's marquee location, but I don't know if that's even possible.
You can look at the source code of the page. It's a complete mess, combining as it does a cut and paste of the TBPL interface, plus all of jquery crammed in, and then finally my hacky code at the end of the file. Note that this was not easy code for me to write, and I did it when I got the idea at around 10pm during a JS work week, and it took me until about 4am. So don't expect much in the way of comments or sanity or whatnot. In fact, the only comment that isn't commenting out code appears to be the text "????!".
The green letters have the CSS class "success". There are lots of hardcoded coordinates, generated by hand-drawing the text in the Gimp and manually writing down the relevant coordinates. But my code doesn't matter; the point is that there's some messy Javascript called every frame to calculate the desired position of every one of those letters. Surely there's a better way? (I should note that the animation is way smoother in today's Nightly than it was back then. Progress!)
Anyway, the exact question is: how would someone implement this effect if they actually knew what they were doing?
I'll take my answer off the air. In the comments, to be precise. Thank you in advance.
Firefox directions
June 5th, 2015
Some time back, I started thinking about what Firefox could do for me and its other users. Here are my thoughts, unashamedly biased and uninformed. If you don't think something here is an awful idea, either I've failed or you aren't reading closely enough.
Mozilla-specific advantages
Mozilla provides Firefox with a unique situation. We are not directly compelled to monetize Firefox or any other product. We do not need to capture users or wall them in. That doesn't mean we don't want to make money or gain market share — eventually, we need both, or Mozilla's influence on the Web dies — but we have a degree of freedom that no other big player possesses.
Privacy and User Sovereignty
We can afford to give our users as much privacy as they might want. If you ask the vast majority of users about this, I suspect they'll think it sounds like a theoretically good thing, but they don't know what it really means, they don't know what Firefox can do for them that other browsers don't, and they don't have any strong reason to care. All three of those are true of me, too.
Let's tell them. Make an about:privacy that shows a chart of privacy features and behaviors of Firefox, Mozilla and its servers, and our major competitors. Give specific, realistic examples of information that is transmitted, what it might be used for (both probable and far-fetched). Include examples from jealous boyfriends, cautious employers, and restrictive regimes. Expose our own limitations and dirty laundry: "if this server gets hacked or someone you don't like has privileged access, they will see that you crash a lot on
youporn.com". It won't all fit on a page, but hopefully some impactful higher-order bits can be presented immediately, with links to go deeper. Imagine a friendly journalist who wants to write an article claiming that Firefox is the clear choice for people who care about controlling their personal data and experiences on the web: our job is to provide all the ammunition they'd need to write a convincing and well-founded article. Don't bias or sugarcoat it — using Firefox instead of Chrome is going to protect very little from identity theft, and Google has more resources dedicated to securing their servers than we do.
If possible, include the "why". We won't track this data because it isn't useful to us and we err on the side of the user. Chrome will because it's part of their business model. Mention the positive value of lock-in to a corporation, and point out just how many sources of information Google can tap.
Update: Wait! Hold on! As a commenter pointed out, that is the exact sort of bias I just said we shouldn't use. Google does not use Chrome to gather data as I implied. I was wrong, and made assumptions based on uninformed opinions about the motivations involved and their ramifications. Google has an incentive to limit its data collection, since not doing so would anger their users. In the end, I still feel like Mozilla is more free to side with the user than Google is, and I have to believe that now or in the future there will be significant real differences in behavior as a result, but collecting the sort of data I was implying through the browser is not one of those differences.
Anyway, back to talking about how Firefox can highlight Mozilla's privacy advantages:
Point to Lightbeam. Make cookies visible — have them appear temporarily as floating icons when they are sent, and show them in View Source. Notify the user when a password or credit card number is sent unencrypted. Allow the user to delete and modify cookies. Or save them to external files and load them back in. Under page info, enumerate as much identity information as we can (as in, show what the server can figure out, from cookies to OS to GL capabilities.)
I don't know if it's just because nobody else needs to care yet, but it seems like we have a lead on gaming in the browser. It's an area where players would be willing to switch browsers, even if only temporarily, to get a 10% higher frame rate. Until rich web gaming starts capturing a substantial number of user hours, it doesn't seem like the other browser manufacturers have enough of a reason to care. But if we can pull people out of the extremely proprietary and walled-off systems that are currently used for gaming and get them onto the open web, then not only do we get a market share boost but we also expand the range of things that people commonly do on our open platform. It'll encourage remixing and collaboration and pushing the envelope, counteracting humanity's current dull descent into stupefied consumption. The human race will develop more interconnections, develop better ways of resolving problems, and gain a richer and stronger culture for the Borg to destroy when they finally find us.
Er, sorry. Got a little carried away there. Let me just say that gaming represents more than obsessive self-indulgence. It is a powerful tool for communication and education and culture development and improved government. You'll never truly understand in your bones how the US won its war for independence until you've lived it — or at least, simulated it. (Hint: it's not because our fighters had more hit points.)
Addons are a major differentiator for Firefox. And most of them suck. Even ignoring the obvious stuff (malware, adware, etc.), for which plans are in motion to combat them, it still seems like addons aren't providing the value they could be. People have great ideas, but sadly Chrome seems to be the main beneficiary these days. Some of that is simply due to audience size, but I don't think that's all of it.
I know little about addons, but I have worked on a few. At least for what I was doing, they're a pain to write. Perhaps I always just happen to end up wanting to work on the trickiest pieces to expose nicely, but my experience has not been pleasant. How do you make a simple change and try it out? Please don't make me start up (or restart) the browser between every change. What's the data model of tabs and windows and things? What's the security model? I periodically try to work on a tab management extension, but everything I do ends up getting silently ignored, probably because it doesn't have the right privileges. I asked lots of questions at the last Summit but the answers were complicated, and incomprehensible to someone like me who is unfamiliar with how the whole frontend is put together.
And why isn't there straightforward code that I can read and adapt? It seems like the real code that drives the browser looks rather different from what I'd need for my own addon. Why didn't it work to take an existing addon, unpack it, modify it, and try it out? Sure, I probably did something stupid and broke it, but the browser wasn't very good at telling me what.
It would also be an absolute disaster, in that everyone and her dog would start writing tiny addons to do things that really shouldn't be done with addons. But so be it. Think of something easy enough to be suggested in a support document as a workaround for some site functionality gap. Even better, I'd like the browser (or, more likely, an addon-generating addon) to automatically do version control (perhaps by auto-uploading to github or another repo?), and make it easy to write self-tests and checks for whether the required page and platform functionality are still present.
Addons also don't feel that discoverable. I can search by name, but there's still the matter of guessing how serious (stable, maintained, high quality) an addon is. It turns my stomach to say this, but I kind of want a more social way of browsing and maintaining lists of addons. "People who are mentally disturbed in ways similar to you have left these addons enabled for long periods of time without disabling them or removing them in a fit of anger: …" Yes, this would require a degree of opt-in tracking evil, but how else can I find my true brethren and avoid the polluted mindset of godless
vi-using heathens?
Hey, remember when we pissed off our addon authors by publicly shaming them with performance measurements? Could we do something similar, but only expose the real dirt after you've installed the addon?
Which brings me to addon blaming. It's very hard to correctly blame a misbehaving addon, which makes me too conservative about trying out addons. I would be more willing to experiment if I had a "Why Does My Firefox Suck Right Now?" button that popped up an info box saying "because addon DrawMustachesOnCatPictures is serializing all of your image loads". Ok, that's probably too hard — how about just "addon X is eating your CPU"?
Why Does My Firefox Suck Right Now?
On a related note, I think a big problem is that Firefox sometimes behaves very badly and the user doesn't know why. We really need to get better at helping people help themselves in diagnosing these problems. It feels like a shame to me when somebody loves Firefox, but they start running into some misbehavior that they can't figure out. If we're really lucky, they'll try the support forums. If that doesn't work, or they couldn't be bothered in the first place, they come to somebody knowledgeable and ask for help. The user is willing to try all kinds of things: install diagnostic tools, email around attachments of log files, or whatever — but as far as I can tell these things are rarely useful. And they should be. We're not very good at gathering enough data to track the problem down. A few things serve as illustrative counterexamples: restarting in safe mode is enormously helpful, and about:memory is a great tool that can pinpoint problems. Theoretically, the profiler ought to be good for diagnosing slowdowns and hangs, but I haven't gotten much out of it in practice. (Admittedly, my own machine is Linux, and the stackwalking has never worked well enough here. But it hasn't been a silver bullet for my friends' Windows machines either.)
These are the sorts of situations where we are at high risk of losing users. If a PC runs Sunspider 5% faster but opening a new tab mysteriously takes 5 seconds, somebody's going to switch browsers. Making the good case better is far less impactful than eliminating major suckage. If somebody comes to us with a problem, we should have a very well-worked out path to narrow it down to an addon or tab or swapping or networking or virus scanning or holy mother of bagels, you have *how* many tabs open?! Especially if IE and Chrome do just fine on the same computer (empty profiles or not.)
Browsing the F*ing Web
That's what Firefox is for, right? So I have some problems there too. What's the deal with tabs? I like opening tabs. It means I want to look at something.
I'm not fond of closing tabs. I mean, it's fine if I'm done with whatever I was looking at. But that's only one tab, and it's not enough to keep other tabs from accumulating. Closing any other tab means I have to stop what I'm doing to think about whether I still want/need the tab. It's like picking up trash. I'm willing to accept the necessity in real life, but in a computer-controlled virtual space, do I really have to?
Sadly, that means a tab explosion. Firefox is good about allowing it to happen (as in, large numbers of tabs generally work surprisingly well), but pretty crappy at dealing with the inevitable results. I know lots of people have thought hard on how to improve things here, but none of the solutions I've seen proposed felt exactly right.
I don't have a solution either, but I'll propose random things anyway:
Tabs vs bookmarks vs history is artificial. They're all stuff you wanted at some point, some of which you want now, and some of which you'll want again in the future. I want perfection: I want to open tabs forever without ever needing to close any, but I want the interface to only display the tabs I'm interested in right now.
Bookmarks are just tabs that I claim I might want again in the future, but I don't want to clutter up my tab bar with right now. History additionally has all the tabs that I claim I don't need to see again, except maybe sometime when I remember that I've seen something before and need it again.
Yes, I am misusing "tabs" to mean "web pages". Sue me.
So. Let me have active tabs, collected in some number of windows, preferably viewable on the left hand side in a hierarchical organization à la Tree Style Tabs. Give me buttons on the tabs to quickly say "I don't care at all about this anymore", "categorize for when I want to browse by topic and find it again", "queue this up [perhaps in a named queue] for when I am avoiding work", and "I only want this cluttering my screen as long as these other tabs are still visible". (Those correspond to "close tab", "bookmark tab", "enqueue tab", and "reparent tab".) Allow me to find similar tabs and inform the browser about those, too. Right-clicking on a bugzilla tab ought to give me a way to find all bugzilla tabs and close them en masse, or reparent them into a separate group. Make it easy to scan through tab groups, enqueue some, and then close the rest. I should be able to sort all the tabs by the last time I looked at them, so I can kill off the ancient ones — without losing my original sort order.
Some context: I have a lot of tabs open. Many more than fit on one screen (even using Tree Style Tabs.) Cleaning them up is a pain because of the soggy middle: the ones early in the list are things that I've had around for a long time and resisted closing because they're useful or I really really want to get around to reading them. The ones late in the list are recently open and likely to be current and relevant. The stuff in the middle is mostly crap, and I could probably close a hundred in a minute or two, except the tab list keeps jumping around and when I click in the middle I keep having to wait for the unloaded pages to load just so I can kill them.
I want to throw those ancient tabs in a "to read" queue. I want to find all of my pastebin tabs and kill them off, or maybe list them out in age order so I can just kill the oldest (probably expired anyway) ones. I don't want the "to read" queue in my active tab list most of the time, but I want to move it in (drag & drop?) when I'm in the mood. I want to temporarily group my tabs by favicon and skim through them, deleting large swathes. I want to put the knot-tying tab and origami instruction tab into a separate "to play with" folder or queue. I want to collect my set of wikipedia pages for Jim Blandy's anime recommendations into a group and move them to a bookmark bar, which I may want to either move or copy back to the active tab list when I'm ready to look at them again. I want to kill off all the bugzilla pages except the ones where I've entered something into a form field. I want to skim through my active tab list with j/k keys and set the action for each one, to be performed when I hit the key to commit to the actions. I want undo. I want one of those actions, a single keystroke, to set which window the tabs shows up in the active tabs list. I want to sort the tabs by memory usage or CPU time. I want to unload individual tabs until I select them again.
I want a lot of stuff, don't I?
Here is the place I originally intended to start talking about loaded and unloaded tabs, the perils and advantages of auto-unloading, and all that, but:
This Post
I just checked the timestamp on this post. I wrote it on August 14, 2014, and have sat on it for nearly a year. It's been waiting for the day that I'll finally get around to finishing it up, perhaps splitting it into several blog posts, etc. Thanks to Yoric's Firefox re-imaginings I came back to look, and realized that what's going to happen is that this will get old and obsolete and just die. I'd be better off posting it, rough and incomplete as it is. (And I *still* haven't watched those anime. Where has time gone?!)
Whoa. I just looked at the preview, and this post is *long*. Sorry about that. If I were a decent human being, I would have chopped it up into digestible pieces. I guess I just don't like you that much.
scratchpad made me happy
March 5th, 2014
I love the Firefox devtools command line. I cut & paste all kinds of crazy code into it. On the other hand, I never did really quite "get" the Scratchpad, though to be honest I also haven't tried using it much. I've been happy just to edit code in an Emacs buffer on the side and cut & paste.
The Problem
But last night, I ran into a problem that Scratchpad turned out to be perfect for. And now I loveses it. My precioussssss….
I am the proud survivor — er, I mean "father" — of two kids, one of whom goes to a school with lots of required "volunteer" time. Since it is required, you have to record your hours via a web-based tool. It's a fairly primitive interface on some ancient backend ASP monstrosity. It's tolerable to use to record one entry at a time — you just need to enter a date, a start hour, a start minute, an end hour, an end minute, three options selected from dropdown lists of several dozen items (enough to require scrolling), etc.
Ok, it's pretty awful even for entering one record.
But entering 80 of the things, most of them differing only by the date, is intolerable. Especially since the d#@n form resets itself completely every time you submit it. And so automation rage kicked in.
Existing Solution
Last year, I did it by capturing the POST request and writing a script to resubmit with different values. It worked, kinda, though I could only get a couple of fields working and it kept timing out my authentication cookie. Or something. I just remember it being a major pain. Even capturing the full request was a little difficult since it's HTTPS only and I seem to remember some limitation in the Firefox devtools of the time when trying to see the POST body data. (Again, "or something".)
The Latest Hotness
This year, I was overjoyed to see the option to edit and resubmit a query. I've wanted that so many times. And yet… the data was still x-www-form-urlencoded, which means I had to cut & paste from the devtools pane, which is already a challenge due to Linux/xorg/xfce/emacs's mishandling of cut buffers or clipboards or whatever the heck they are. And then find the field I cared about and update it, and then discover that it overwrote my previous entry because there was some embedded token in one of the other fields that referred to the entry it was creating. Ugh. (Dim memories resurfaced at about this point from when I needed to get around this last year. I still don't remember the details.)
So then I thought, "hey, I'll just update the page in place and then click submit! I'll do it at the HTML level instead of the HTTP level!" So I wrote up some JS code to find and set the various form fields, and clicked submit. Success!
Only it's still a painful flow. I have to edit the relevant field in emacs (or eventually, I'd probably generate the JS scripts with a shell or Perl or Python script), cut & paste into the little tiny console line (it's a console prompt, it's supposed to be small, I have no issue with that.) (Though maybe pasting into the console itself should send it to the prompt? I dunno.), press enter, then click on submit. Not too bad, and definitely well within the "tolerable" zone.
But it'd be easier if I could just define a JS function that finds and fills the fields, and pass in the one value I need to change. Then I can just enter that at the console. Only where can I stash the function? If I put it on the page, I assume it'll get nuked whenever I submit the page. Hey, I wonder if that Scratchpad thing might help here…
Enter the Scratchpad. Oh yeah.
So I pasted my little script into the Scratchpad. It defines a function to fill out the fields. Final flow: edit one line of JS to change a date, press Ctrl-R to run it. The fields magically update, I click submit.
Obviously, I could've done the submit from the script while I was at it, but I like to set things up and fire them off in separate steps. Call it paranoia. I do the same thing with shell scripts — I'll write a script to echo out a series of commands to perform, run it once to verify that it's what I want, then run it again piped through bash. I'm just too clumsy to get it right the first time.
But anyway, Scratchpad was the awesome for this task. I'll be considering it whenever thinking about how to do other things now.
Doers of Good
Thank you robcee and #devtools team. You made my life gooder. More goodish. I am now living goodlier.
My Example
The script I used, if you're curious:
function enter(date) { inputs = document.forms[0].getElementsByTagName("input"); selects = document.forms[0].getElementsByTagName("select"); texts = document.forms[0].getElementsByTagName("textarea"); inputs["VolunteerDate"].value = date; inputs["FromHour"].value = 8; inputs["FromMin"].value = 45; inputs["ToHour"].value = 9; inputs["ToMin"].value = 45; inputs["nohour"].value = 1; selects["MinCombo"].value = 0; selects["classcombo"].value = 40; selects["activitycombo"].value = 88; selects["VolunteerCombo"].value = "Steve Fink"; texts[0].innerHTML = "Unit study center"; } enter("2/27/2014") # I edit this line and bounce on the Ctrl-R key, then click submit
Browser Wars, the game
February 14th, 2013
A monoculture is usually better in the short term. It's a better allocation of resources (everyone working on the same thing!) If you want to write a rich web app that works today (ie, on the browsers of today), it's much better.
But the web is a platform. Platforms are different beasts.
Imagine it's an all-WebKit mobile web. Just follow the incentives to figure out what will happen.
Backwards bug compatibility: There's a bug — background SVG images with a prime-numbered width disable transparency. A year later, 7328 web sites have popped up that inadvertently depend on the bug. Somebody fixes it. The websites break with dev builds. The fix is backed out, and a warning is logged instead. Nothing breaks, the world's webkit, nobody cares. The bug is now part of the Web Platform.
Preventing innovation: a gang of hackers makes a new browser that utilizes the 100 cores in 2018-era laptops perfectly evenly, unlike existing browsers that mostly burn one CPU per tab. It's a ground-up rewrite, and they do heroic work to support 99% of the websites out there. Make that 98%; webkit just shipped a new feature and everybody immediately started using it in production websites (why not?). Whoops, down to 90%; there was a webkit bug that was too gross to work around and would break the threading model. Wtf? 80%? What just happened? Ship it, quick, before it drops more!
The group of hackers gives up and starts a job board/social network site for pet birds, specializing in security exploit developers. They call it "Polly Want a Cracker?"
Inappropriate control: Someone comes up with a synchronization API that allows writing DJ apps that mix multiple remote streams. Apple's music studio partners freak out, prevent it from landing, and send bogus threatening letters to anyone who adds it into their fork.
Complexity: the standards bodies wither and die from lack of purpose. New features are fine as long as they add a useful new capability. A thousand flowers bloom, some of them right on top of each other. Different web sites use different ones. Some of them are hard to maintain, so only survive if they are depended upon by a company with deep enough pockets. Web developers start playing a guessing game of which feature can be depended upon in the future based on the market cap of the current users.
Confusion: There's a little quirk in how you have to write your CSS selectors. It's documented in a ton of tutorials, though, and it's in the regression test suite. Oh, and if you use it together with the '~' operator, the first clause only applies to elements with classes assigned. You could look it up in the spec, but it hasn't been updated for a few years because everybody just tries things out to see what works anyway, and the guys who update the spec are working on CSS5 right now. Anyway, documentation is for people who can't watch tutorials on youtube.
End game: the web is now far more capable than it was way back in 2013. It perfectly supports the features of the Apple hardware released just yesterday! (Better upgrade those ancient 'pads from last year, though.) There are a dozen ways to do anything you can think of. Some of them even work. On some webkit-based browsers. For now. It's a little hard to tell what, because even if something doesn't behave like you expect, the spec doesn't really go into that much detail and the implementation isn't guaranteed to match it anyway. You know, the native APIs are fairly well documented and forward-compatible, and it's not really that hard to rewrite your app a few times, once for each native platform…
Does this have to happen just because everybody standardizes on WebKit? No, no more than it has to happen because we all use silicon or TCP. If something is stable, a monoculture is fine. Well, for the most part — even TCP is showing some cracks. The above concerns only apply to a layer that has multiple viable alternatives, is rapidly advancing, needs to cover unexpected new ground and get used for unpredicted applications, requires multiple disconnected agents to coordinate, and things like that.
What's your random seed?
April 18th, 2012
Greg Egan is awesome
I'm going back and re-reading Luminous, one of his collections of short stories. I just read the story Transition Dreams, which kinda creeped me out. Partly because I buy into the whole notion that our brains are digitizable — as in, there's nothing fundamentally unrepresentable about our minds. There's probably a fancy philosophy term for this, with some dead white guy's name attached to it (because only a dozen people had thought of it before him and he talked the loudest).
Once you're willing to accept accurate-enough digitization, the ramifications get pretty crazy. And spooky. I can come up with some, but Egan takes it way farther, and Transition Dreams is a good illustration. But I won't spoil the story. (By the way, most of Egan's books are out of print or rare enough to be expensive, but Terrence tells me that they're all easily available on Kindle. Oddly, although I would be happy to transition my mental workings from meat to bits, I'm still dragging my heels on transitioning my reading from dead trees to bits.)
Transition and Free Will
Now, let's assume that you've converted your brain to live inside a computer (or network of computers, or encoded into the flickers of light on a precisely muddy puddle of water, it really doesn't matter.) So your thinking is being simulated by all these crazy cascades of computation (only it's not simulated; it's the real thing, but that's irrelevant here.) Your mind is getting a stream of external sensor input, it's chewing on that and modifying its state, and you're just… well, being you.
Now, where is free will in this picture? Assuming free will exists in the first place, I mean, and that it existing and not existing are distinguishable. If you start in a particular, fully-described state, and you receive the exact same inputs, will you always behave in exactly the same way? You could build the mind hosting computer either way, you know, and the hosted minds wouldn't normally be able to tell the difference. But they could tell the difference if they recorded all of their sensory inputs (which is fairly plausible, actually), because they could make a clone of themselves back at the previous state and replay all their sensory input and see if they made the same decisions. (Actually, it's easier than that; if the reproduction was accurate, they should end up bit-for-bit identical.)
I don't know about you, but I'd rather not be fully predictable. I don't want somebody to copy me and my sensor logs, and then when I'm off hanging out in the Gigahertz Ghetto (read: my brain is being hosted on a slow computer), they could try out various different inputs on faster computers to see how "I" reacted and know for 100% certainty how to achieve some particular reaction.
Well, ok, my time in the GHzGhetto might change me enough to make the predictions wrong, so you'd really have to do this while I was fully suspended. Maybe the shipping company that suspends my brain while they shoot me off to a faster hosting facility in a tight orbit around the Sun (those faster computers need the additional solar energy, y'know) is also selling copies on the side to advertisers who want to figure out exactly what ads they can expose me to upon reawakening to achieve a 100% clickthrough rate. Truly, truly targeted advertising.
So, anyway, I'm going to insist on always having access to a strong source of random numbers, and I'll call that my free will. You can record the output of that random number generator, but that'll only enable you to accurately reproduce my past, not my future.
The Pain and Joy of Determinism
Or will I? What if that hosting facility gets knocked out by a solar flare? Do I really want to start over from a backup? If it streams out the log of sensor data to a safer location, then it'd be pretty cool to be able to replay as much of the log as still exists, and recover almost all of myself. I'd rather mourn a lost day than a lost decade. But that requires not using an unpredictable random number generator as an input.
So what about a pseudo-random number generator? If it's a high quality one, then as long as nobody else can access the seed, it's just as good. But that gives the seed incredible importance. It's not "you", it's just a simple number, but in a way it allows substantial control over you, so it's private in a more fundamental way than anything we've seen before. Who would you trust it to? Not yourself, certainly, since you'll be copied from computer to computer all the time and each transfer is an opportunity for identity theft. What about your spouse? Or maybe just a secure service that will only release it for authorized replays of your brain?
Without that seed (or those timestamped seeds?), you can never go back. Well, you can go back to your snapshots, but you can't accurately go forward from there to arbitrary points in time. Admittedly, that's not necessary for some uses — if you want to know why you did something, you can go back to a snapshot and replay with a different seed. If you do something different, it was a choice made of your own free will. You could use it in court cases, even. If you get the same result, well, it's trickier, because you might make the same choice for 90% of the possible random seeds or something. "Proof beyond a reasonable confidence interval?" Heh.
bzexport changes released
April 13th, 2012
bzexport –new and hg newbug have landed
My bzexport changes adding a --new flag and an hg newbug command have landed. Ok, they landed months ago. See my previous blog post for details; all of the commands and options described there are still valid in the current version. But please pull from the official repo instead of my testing repo given in the earlier blog post.
Installing bzexport
mkdir -p ~/hg-extensions
cd ~/hg-extensions
hg clone http://hg.mozilla.org/users/tmielczarek_mozilla.com/bzexport
in the [extensions] section of your
~/.hgrc, add:
bzexport = ~/hg-extensions/bzexport/bzexport.py
Note to Windows users: unfortunately, I think the python packaged with MozillaBuild is missing the json.py package that bzexport needs. I think it still works if you use a system Python with json.py installed, but I'm not sure.
Trying it out
For the (understandably) nervous users out there, I'd like you to give it a try and I've made it safe to do so. Here are the levels of paranoia available: Read the rest of this entry »
Only pay for the entropy you use
February 22nd, 2012
Log Files Are Boring
Just an idea, based on hearing that build log transfers seem to consume large amounts of bandwidth. (Note that for all I know, this is already being done.)
Logs are pretty dull. In particular, two consecutive log files are usually quite similar. It'd be nice if we could take advantage of this redundancy to reduce the bandwidth/time consumed by log transfers.
rsync likes boring data
The natural thing that springs to mind is rsync. I grabbed two log files that are probably more similar to each than is really fair, but they shouldn't be horribly unrepresentative. rsyncing one to the other found them to share 32% of their data, based on the |rsync –stat| output lines labeled "Matched data" and "Literal data", for a speedup of 1.46x.
I suspected that rsync's default block size is too large, and so most of the commonalities are not found. So I tried setting the block size ridiculously low, to 8 bytes, and it found them to be 98% similar. Which is silly, because it has to retrieve more block hashes at that block size than it saves. The total "speedup" is reported as 0.72x.
But the sweet spot in the middle, with a block size of 192, gives 84% similarity for a speedup of 4.73x.
compression likes boring data too
Take a step back: this only applies to uncompressed files. Simply gzipping the log file before transmitting it gives us a speedup of 14.5x. Oops!
Well, rsync can compress the stuff it sends around too. Adding a -z flag with block size 192 gives a speedup of 16.2x. Hey, we beat basic gzip!
But compression needs decent chunks to work with, so the sweet spot may be different. I tried various block sizes, and managed a speedup of 24.3x with -B 960. An additional 1.7x speedup over simple compression is pretty decent!
To summarize our story so far, let's say you want to copy over a log file named log123.txt. The proposal is:
- Have a vaguely recent benchmark log file, call it log_compare.txt, available on all senders and receivers. (Actually, it'd probably be a different one per build configuration, but whatever.)
- On the server, hard link log123.txt to log_compare.txt.
- From the client, rsync -z -B 960 log123.txt server:log123.txt
stop repeating what I say!
But it still feels like there ought to be something better. The benchmark log file is re-hashed every time you do this and the hashes are sent back over the wire, costing bandwidth. So let's eliminate that part. Note that we'll drop the -z from flag because we may as well compress the data during the transfer instead:
ssh server 'ln log_compare.txt log123.txt' rsync -B 960 log123.txt log_compare.txt --only-write-batch=batch.dat ssh -C server 'rsync --read-batch=- argleblargle log132.txt' < batch.dat
Note that "argleblargle" is ignored, since the source file isn't needed.
So what's the speedup now? Let's only consider the bytes transmitted over the network. Assuming the compression from ssh -C has the same effect as gzipping the file locally, I get a speedup of 28.9x, about 2x the speedup of simply compressing the log file in the first place.
But wait. The block size of 960 was based on the cost of retrieving all those hashes from the remote side. We're not doing that anymore, so a smaller block size should again be more effective. Let's see… -B 192 gets a total speedup of 139x, which is almost exactly one order of magnitude faster than plain gzipped log files. Now we're talking!
loose ends
Two things still bug me. One is a minor detail — the above is writing out batch.dat, then reading it back in to send over to the server. This uselessly consumes disk bandwidth. It would be better if rsync could directly read/write compressed batch files to stdin/stdout. (It can read uncompressed batches from stdin, but not write to stdout. You could probably hack it somehow, perhaps with /proc/pidN/fd/…, but it's not a big deal. And you can just use use /dev/shm/batch.dat for your temporary filename, and remove it right after. It'd still be better if it never had to exist uncompressed anywhere, but whatever.)
The other is that we're still checksumming that benchmark file locally for every log file we transfer. It doesn't change the number of bytes spewed over the network, but it slows down the overall procedure. I wonder if librsync would allow avoiding that somehow…? (I think rsync uses two checksums, a fast rolling checksum and a slower precise one, so you'd need to compute both for all offsets. And reading those in would probably cost more than recomputing from the original file. But I haven't thought too hard about this part.)
not just emacs and debuggers
I sent this writeup to Jim Blandy, who in a typically insightful fashion noticed that (1) this requires some fiddly bookkeeping to ensure that you have a comparison file, and (2) revision control systems already handle all of this. If you have one version of a file checked in and then you check in a modified version of it, the VCS can compute a delta to save storage costs. Then when you transmit the new revision to a remote repository, the VCS will know if the remote already has the baseline revision so it can just send the delta.
Or in other words, you could accomplish all of this by simply checking your log files into a suitable VCS and pushing them to the server. That's not to say that you're guaranteed that your VCS will be able to fully optimize this case, just that it's possible for it to do the "right" thing.
I attempted to try this out with git, but I don't know enough about how git does things. I checked in my baseline log file, then updated it with the new log file's contents, then ran git repack to make a pack file containing both. I was hoping to use the increase in size from the original object file to the pack file as an estimate of the incremental cost of the new log file, but the pack file was *smaller* than either original object file. If I make a pack with just the baseline, then I end up with two pack files, but the new one is still smaller.
clients could play too
As a final thought, this idea is not fundamentally restricted to the server. You could do the same thing inside eg tbpl: keep the baseline log(s) in localStorage or IndexedDB. When requesting a log, add a parameter ?I_have_baseline_36fe137a1192. Then, at the server's discretion, it could compute a delta from that baseline and send it over as a series of "insert this literal data, then copy bytes 3871..17313 from your baseline, then…". tbpl would reconstruct the resulting log file, the unicorns would do their lewd tap dance, and everyone would profit.
February 6th, 2012
I've read Paul Graham's "How To Disagree" essay, and I have to say, I disagree. There are some good ideas in there, but it's clearly the work of a pretentious has-been.
bzexport –new: crash test dummies wanted
January 21st, 2012
Scenario 1: you have a patch to some bug sitting in our mercurial queue. You want to attach it to a bug, but the bugzilla interface is painful and annoying. What do you do?
Use bzexport. It's great! You can even request review at the same time.
What I really like about bzexport is that while writing and testing a patch, I'm in an editor and the command line. I may not even have a browser running, if I'm constantly re-starting it to test something out. Needing to go to the bugzilla web UI interrupts my flow. With bzexport, I can stay in the shell and move onto something else immediately.
Scenario 2: You have a patch, but haven't filed a bug yet. Neither has anybody else. But your patch has a pretty good description of what the bug is. (This is common, especially for small things.) Do you really have to go through the obnoxious bug-filing procedure? It sure is tempting just to roll this fix up into some other vaguely related bug, isn't it? Surely there's a simple way to do things the right way without bouncing between interfaces?
Well, you're screwed. Unless you're willing to test something out for me. If not, please stop reading.
Read the rest of this entry »
patch queue dependencies
January 5th, 2012
A little while back, I was again contemplating a tangled patch queue, considering how to rework it for landing. I thought it'd be nice to see at a very basic level which patches in the queue were going to be problematic, and which I could freely reorder at whim.
So I whipped together a silly little script to do that at a file level only. Example output:
% patchdeps Note: This is based on filename collisions only, so may overreport conflicts if patches touch different parts of the same file. (TODO) A bug-663281-deque X * * * * * * A bug-663281-deque-test | : : : : * : A bug-642054-func-setline X | * : : : : : A bug-642054-js_MapPCToLineNumber--' | * : : : : : A bug-642054-rwreentrant | : X : : : : : A algorithm--------------------------' X | * * * * * A system-libunwind X | | : * : * : * * : A try-libunwind------------------------' | | : X : * : * * : A backtrace------------------------------' | X * * * | * : * * * : * * * * U shell-backtrace | | : * : | : : : : : : : : : : U M-reentr---------------------------------' | : : : | : : : : : : : : : : U M-backtrace--------------------------------' X : : | : : : : : : : * : : U activities-----------------------------------' X : | : : : : * * : X * * U profiler---------------------------------------' X | * : * * X * * | * * U bug-675096-valgrind-jit--------------------------' | * : * : | : : | : : U bug-599499-opagent-config--------------------------' X * : * | * : | : : U bug-599499-opagent-----------------------------------' X X * | : * | : : U bug-642320-gdb-jit-config------------------------------' | * | * : | : : U bug-642320-gdb-jit---------------------------------------' X | : * | : : U import-libunwind | | : : | : : U libunwind-config-------------------------------------------' | X X | : : U warnings-fixes-----------------------------------------------' | | | : * U bug-696965-cfi-autocheck---------------------------------------' | | X : U mystery-librt-stuff----------------------------------------------' | | : U bug-637393-eval-lifetime | | : U register-dwarf-----------------------------------------------------' | : U bug-652535-JM__JIT_code_performance_counters-------------------------' X U JSOP_RUNMODE-----------------------------------------------------------'
How to read it: patches that have no conflicts earlier in the stack are shown without a line next to them. They're free spirits; you can "sink" them anywhere earlier in your queue without getting conflicts. (The script removes their lines to make the grid take up less horizontal space.)
Any other patch gets a horizontal line that then bends up to show the interference pattern with earlier patches. All in all, you have a complete interference matrix showing whether the set of files touched by any patch intersects the set of files for any other patch.
'X' marks the first conflict. After that, the marker turns to '*' and the vertical lines get broken. (That's just because it's mostly the first one that matters when you're munging your queue.)
So the patch named "backtrace" conflicts with the earlier "algorithm" patch, as well as the even earlier "bug-642054-js_MapPCToLineNumber" and others. The "M-reentr" patch only touches the same stuff as "bug-642054-rwreentrant" (not surprising, since "M-…" is my notation for a patch that needs to be folded into an earlier patch.) "system-libunwind" doesn't conflict with anything earlier in the queue, and so can be freely reordered in the series file to anywhere earlier than where it is now — but note that several later patches touch the same stuff as it does. (It happens to be a patch to js/src/configure.in.)
Useful? Not very. But it was kinda fun to write and I find myself running it occasionally just to see what it shows, so I feel the entertainment value was worth the small investment of time. Though now I'm tempted to enhance it by checking for collisions in line ranges, not just in the files…
I suppose I could make a mercurial extension out of it, but that'd require porting it from Perl to Python, which is more trouble than it's worth. (Yes, I still use Perl as my preferred language for whipping things together. Even though I dislike the syntax for nested data structures, I very much like the feature set, and it's still the best language I've found for these sorts of things. So phbbbttt!)


text:
Sixth golf tournament benefits ELPS scholarships
By Tim Brownlee
Assistant Director of Public Affairs
(May 29, 2008)--The Department of Educational Leadership and Policy Studies (ELPS) in the UTSA College of Education and Human Development will host the sixth annual ELPS Scholarship Golf Tournament with a shotgun tee-off at 8 a.m., Friday, June 20 at the Canyon Springs Golf Club. The tournament is open to the public with proceeds benefiting the ELPS Scholarship Fund.
Today's headlines
- La Prensa Foundation is newest member of UTSA Lone Star Society
- UTSA alumna Jordan Kaufmann wins $50K for new stent-graft start-up
- UTSA begins new way-finding sign installation this summer at Main Campus
- USA Today: UTSA long jumper Tyler Williamson rescues three-year-old boy
Article tools
Each player will receive breakfast, lunch, golf shirt, "goodie" bag and a surprise gift with opportunities to win prizes. Register as soon as possible to ensure receiving a golf shirt on tournament day.
The event is set up as a Florida scramble with teams of four players. Registration is $75 for UTSA students, $125 for one player, $250 for a hole sponsor and $700 for a corporate foursome.
Download a registration form at the ELPS Scholarship Golf Tournament Web site. Payment is by check or credit card. The first 144 registrants will have reserved slots.
For more information, contact Alan Shoho, professor of educational leadership and policy studies, at (210) 458-5411.

subset: commoncrawl


text: Absolutely cannot stand the mass amounts of coordinator hate threads but the lack of TC hate threads. If you have a problem with kg or pf then you inherently have a bigger problem with TC. Noone has the balls to say anything about TC, and it's trendy to rag on coordinators. Grow up. TC hired these guys, oversees them, and has fired 3 other coordinators that did a terrible job.


text:
Met-Ed works to restore power to Reading, Berks County customers
READING, Pa. - People were told ahead of this storm the power could be out for a week. And some have creative ways to get through it, if that is the case.
"We're a little prepared we got the cooler, food outside," said Jaime Rodriguez.
Rodriguez lives on Eckert Avenue in Reading.
"This is how we have electricity to charge out cell phones. Black and Decker, it works," said Rodriguez.
He said last year his apartment building went through the same thing.
"No electricity means no heat, no hot water, no gas," said Rodriguez.
Which means it's cold for everyone.
"We ain't going to get the power no time soon," said Rodriguez, "We know that so we just got to stick it out."
Smitty Cook is using her Prius because the power in her home is out.
"The AC adapter for the television the computer and the TV," said Cook.
And she doesn't know when it will be back.
"I don't see any crews do you?," said Cook.
A spokesperson for FirstEnergy and MetEd, Scott Surgeoner said they have crews from out of state helping to restore power.
"Our crews do work 24 hours a day, seven days a week until the last customer is restored," said Surgeoner.
Surgeoner said the winds were so strong overnight that crews couldn't really get started assessing the damage until 3 am Tuesday.
"It's extremely frustrating we lose the power first and we get back on last," said Cook, "I don't know why there's like 1300 residents out according to the outage map."
And Surgeoner said if she checks that map online (www.firstenergycorp.com) in the next few days she can learn when she can stop using her car as an office.
"Once we get some restoration times and estimates those restoration times and estimates will be posted there as well," said Surgeoner.
They're in the dark and know they'll have to wait.
"We got patience because there's nothing else we can do," said Rodriguez.
Met-Ed is not giving estimates. But as of 9:30 pm Tuesday they had 38,000 customers in Berks without power. And that number was at 50,000 at 2 pm. PPL had about 1,500 customers without power in Berks.
Interactive Radars
Regional Headlines
This Week's Circulars
Live Traffic Cameras
Historical Averages
|93°F May 28, 1941
|38°F May 28, 1997


text:
Midseason report: Tigers attendance, TV ratings down from 2013
At the midway point of the 2014 season, the Detroit Tigers are a better team in the standings than they were at the same point a year ago — but attendance and local TV viewership for the team have declined.
After 81 games, the Tigers are 47-34, good for first place in the American League Central and 4.5 games up on the second-place Kansas City Royals.
Last year, Detroit was 43-38 at the halfway point of the 162-game regular season and in second place by a half-game behind the Cleveland Indians.
Yet despite the improvement and a star-laden, $165 million roster, local television ratings for Tigers broadcasts on Fox Sports Detroit have declined nearly 17 percent compared to 2013, according to data provided by the network.
Attendance is down more than 2,200 per game.
The team is averaging a 7.53 average household rating after 72 game broadcasts through Wednesday, versus a 9.02 average household rating at the same point in 2013, FSD's data shows.
Even with the decline, the team remains on pace to lead Major League Baseball again in local TV ratings for the year, said Greg Hammaren, the Southfield-based network's senior vice president.
Detroit led the MLB in seasonlong local ratings average for the 2012 and 2013 seasons: FSD's 152 telecasts in 2013 averaged a 9.59 household rating, topping 2012's record 9.21.
Each ratings point in the Detroit market is 18,564 households.
The regional cable network, which pays the team $50 million annually to air its games, is forecast to see its overall revenue grow to nearly $168 million in 2014 from last year's $154.2 million, according to figures provided in March by New York City-based research firm SNL Kagan.
"I don't have a concrete answer," he said, speculating that some audience could have been lost to the World Cup.
"That's probably held us down a little bit," he said.
Detroit being atop the American League Central by 4.5 games (through Thursday) also could be a factor, Hammaren said, because the lead gives fans a slightly larger comfort zone.
If the team was in a tighter battle for first place — something that could happen later in the season — the ratings likely would be better.
"Every game means something (in a race)," he said. "Pressure adds to the excitement. There's not a lot of pressure at the moment."
Fans in seats
It could be a similar story at the turnstiles.
Detroit is averaging 2,264 fewer fans per game at 41,681-seat Comerica Park at the halfway point of 2014 compared to last season.
The team had played 42 games at Comerica Park after half the 2013 season compared to 41 at the same point this year.
The Tigers are averaging 34,225 fans per game. A year ago, it was 36,489.
A witch's brew in April of cold, rainy weather and nonmarquee opponents served to depress attendance numbers somewhat. The Tigers had more home games in April this year than in 2013.
As the weather improved, the school year ended and the team emerged from a 9-20 stretch that disappointed fans and pundits, the Tigers have averaged 38,232 over the past 23 home games. That included nine sellouts.
If Detroit's attendance average remains steady for the remainder of the season — it won't, because myriad factors such as weather and on-field performance affect it — the Tigers would draw 2,772,225 for the season.
That's 311,172 fewer total fans than 2013.
Detroit drew 3,083,397 fans to Comerica Park last season and sold out 33 of 81 home games — despite an increase in most ticket prices.
Last season's attendance numbers were second in the team's 114-year history only to the 3,202,654 tickets sold (41 sellouts) in 2008.
"The Tigers are tracking (in 2014) to have their fourth- or fifth-highest all-time total attendance in the 114-year history of the club," team spokesman Ron Colangelo said.
The Tigers sold about 22,500 full-season season-tickets last season, which is about 1,000 more than 2012 and significantly up from the 15,000 sold in 2011.
Season ticket sales this year are slightly less than last year's numbers.
For single-game ticket sales, the team this year deployed dynamic pricing, using real-time analytics software to adjust ticket prices based on market demand.


text:
Dramatic Play Costumes
Buy a community helpers dramatic play costume from SchooDoodle.com, and your dramatic dress up learners can be whatever they want to be--why wait to grow up! Spark young imaginations with costumes and props great for dramatic play, costume parties, and productions. Creative learners will also enjoy our selection of dolls and accessories, pretend and play toys, and play food.


text:
'Today I saw the first almond tree blooming, and the mimosas are starting to make yellow spots', Bonnard wrote to Henri Matisse at the end of February 1941 — one artist writing to another, excited by the prospect of the change of season and inspiration for more paintings of nature.
In 1926 Bonnard bought the modest little pink house high up among the trees at Le Cannet that he called Le Bosquet (The Grove). This almond tree was (and still is) in Bonnard's garden at Le Cannet. 'Every spring it forces me to paint it', he said. A very similar picture, which was Bonnard's last painting — he began it in 1945 and finished it in 1947 — also called Amandier en fleurs and slightly bigger (55.0 x 37.5 cm), is in the Musée National d'Art Moderne, Centre Georges Pompidou, Paris.
This is a late painting, devoid of the ambiguous spatial illusions and geometric framing devices of Bonnard's earlier work. Here we see a central motif controlling the composition. The cropped green bush at bottom right is the only form that suggests space outside the composition. It is as if he has rejected the artifice of his earlier work and has made a painting directly from nature, glorifying in the beauty of a totally natural object — the almond tree in full bloom.


text:
9 May 2014 News in brief
Local middle school students from Wichita, Kansas "took to the skies" this month as part of an Airbus Corporate Foundation-sponsored initiative. As a reward for completing the "Flying Challenge" mentorship programme, 66 students were recognized with a flight over their hometown in a general aviation aircraft. Coordinated by the United Way of the Plains, the school-year-long programme seeks to inspire at-risk students to challenge themselves by matching them with locally-based Airbus engineers and Wichita State University engineering students.


text:
Home › Forums › Gear Forums › Gear Lists › My 1+ Season dream list is almost complete!
Mar 20, 2013 at 2:10 pm #1300697
I have been working on this gear list for several months now. Finally got the last big piece of gear in the mail today to just about complete it, a Zpacks 5C/40F sleeping bag.
So of course I played with the bag, and my initial impressions are that it is just as awesome as I thought it would be. Very comfy, fits my body great (wide/long, I am 6ft and 185lbs), love the colors, seems like great quality stitching… oh and then of course with the Cuben dry bag it clocks in at a mere 428g/15.1oz. Have no idea how accurate the temp rating is yet, will try and test it out on an overnighter next week if possible.
Then I had to get all my gear together and pack and play pack Tetris. I also threw in 5 days worth of food, and everything fits great with some room to spare, which will be for layers of clothing worn and wild edibles when I can find them. Or I could put another day or two worth of food and strap stuff on top with my top strap.
I don't think I have ever been this excited before about a gear list, can't wait for the two big 5-6 day section hikes I have planned–one in May and one in August. Plus all the overnighters, of course. I will write a blog post going into detail the whole system in the future when I have more time.
This list is for use in Sweden/Norway from roughly May-September, with some minor tweaks to clothing worn to adjust for weather as needed. A goal of this list was also to account for literally *everything* I plan on taking down to the last little detail other than clothing worn.
Note that I use a stick from the woods for my tarp (i.e. I don't bring tent pole or use trekking poles), or use but net in trail shelters (about 50/50).
I always use public transportation and/or buses/trains to get to trails, so no leave/hide things in my car/trail head.
Cell phone is a must, proud father of two small kids, and I call to make sure they are okay and to say goodnight to them each night I am out. Other than that phone stays switched off most of the time to save battery, which lasts easily for a week with minimal use.
***There is one small piece of gear I am thinking about adding, which is a camera. I have been getting by on friends who are into photography that join me on trips, and borrowing my wife's camera, which is too heavy for my likes and is several years old now. What is a great point-n-click (i.e. good auto setting), light weight, not too expensive digital camera? I am not a photographer and only looking for "not bad" to "good" quality for documentation purposes (i.e. my blog) mostly.
Any questions, comments, etc. are welcome :)
Total weight 3431g/7.56lbs
Here it is: http://www.geargrams.com/list?id=11363
EDIT: I also added a PDF of the gear list to my profile, in case you prefer that, and updated total weight based on some small changes (see: below).
UPDATE – After bivy test, swapped out bivy for bug net, see: below. Noted changes in final weight above and on gear grams list.Mar 20, 2013 at 10:00 pm #1968059
David EricksonMember
Nice list Ceasar!Mar 20, 2013 at 10:37 pm #1968066
Nice list, but I liked it more when you posted in the SUL forum ;)
A few things:
Consider ditching the extra long shirt, and long johns.
Your cook kit is 8.18 ounces, you can easily cut that in half.
Your health and saftey is nearly 14 ounces.Mar 21, 2013 at 1:47 am #1968084
David – Thanks man! :)
Michael – "Nice list, but I liked it more when you posted in the SUL forum ;)"
Haha, yeah for section hikes I like to have a few luxuries, like a beefier knife, mug and pot both, more clothing options (especially for sleeping), etc. But this system can also easily go SUL with a few adjustments depending on the conditions–this is mostly for overnight/weekend trips with warm/dry weather. For example, if I switch out my Neoair pad for my thin foam pad, I drop 260g. Use my campfire cook kit, drop 101g. Ditch rain jacket and sleeping clothing, drop 590g (!). I also have more basic FAK and survival kits for shorter trips, but not sure exact weight savings at the moment.
But with those cuts, that's 2438g/5.4lbs, and I know with some other smaller cuts (FAK, survival kit, smaller knife, no cook kit, etc.) I could easily get under the 5lb mark with this core set of gear.
I have found that on section hikes and/or longer trips that with a good night's sleep it is hard to overstate the overall positive impact on my body, mind, and mood. A big part of this for me has been tweaking warmth rather than "comfort." A cold chill can wake me up, although I am a somewhat warm sleeper, rather than how hard the surface I am sleeping on is. I can easily sleep sitting down on bus and tram rides, wooden park benches, and out in the woods on just a bed of moss, and have always been able to do this as far as I can remember, and consider myself lucky. Which is why such a big hit to my weight with clothing–not to mention, I live in Sweden, and have had cold saps in July down to 8C at times. May and September can go under freezing temps, but I am pretty sure that my full system of clothing and sleeping bag could handle temps as low as around -3C, though I do need to test out my bag to confirm this. Also keep in mind that I am not "cheating" and not including my rain shell, windbreaker, and or other clothing in my base weight.
But since we are on the subject of clothing worn, it looks something like this most of the time:
Generic, light weight nylon hiking pants (1=May, June, September) or thin running pants (2=July, August)
Synth t-shirt (1) or cotton t-shirt (2)
Generic, light weight fleece pull-over (1) or generic, lightweight synth vest (2–though sometimes nixed when very warm)
Wool buff (1) or cotton bandana that also doubles as towel (2)
Thin wool socks (1) or cotton socks (2)
Cotton boxer briefs that double as swimwear (1,2)
Merrel trail gloves (1,2–might be my favorite pair of shoes)
Baseball cap (1,2)
I think this addresses you point about clothing and to a lesser extent cooking and my health/safety stuff. Point is, it can and does change, and perhaps I should have noted that in the OP–but the OP is pretty long as is. Indeed, I am a bit long winded :)
Anyhow, thanks for your feedback. Looking forward to seeing your new pack btw.Mar 22, 2013 at 1:44 pm #1968629
Honestly it seems like a lightweight down or syn. jacket will go wayyyy further than a long sleeve and long johns. It will be both warmer and lighter.
Baselayers are pretty heavy for not much warmth. Its a marketing thing if you ask me.
Also the bivy, I had the exact same one, used it one night and not even half way through the night it was a steamy mess. The M50 just doesnt seem to breathe. But im curious if its been working for you. I would prefer a net tent x1000000.Mar 22, 2013 at 4:06 pm #1968668
You raise a valid point about the base layers vs. a jacket, I admit it is a bit of a luxury. They are mostly pajamas and morning/night clothing worn around camp. My normal routine before bed is to put on the base layers, then depending on how cold it is, put on other layers (or not). In the morning I will eat breakfast and break camp in my base layers worn under my pants/jacket, and then hike a bit until it gets warmer, then stop for a water break and change.
Yeah I am concerned about it being steamy, but we'll see. I have been to busy to try it out yet, might get a chance next week. If there is too much condensation, I plan on putting that foot box vent I wrote about in other threads. If that does not work, I will probably end up with a net tent or bivy, we'll see.Mar 22, 2013 at 4:19 pm #1968670
After I used the M50 cuben bivy for 1/2 a night I decided to have Borah make this one. M90 on head and foot end with mesh inbetween. Unfortunatley I just couldnt get used to the bivy idea (too restricting) and sold it too.Mar 22, 2013 at 4:34 pm #1968676
Garth CollierBPL Member
@garthcLocale: Singapore
Hi Cesar, thx for sharing your list.
You stated "Sawyer Filter – Water filter, plus 700ml recycled plastic bottle for raw water that fits into filter"
How do you get the recycled bottle to fit the sawyer filter??
GMar 22, 2013 at 11:08 pm #1968745
Michael – That looks like a nice bivy, too bad you don't like bivies, but they are not for everyone. I don't mind the whole cocoon feeling of a bivy, and actually enjoy it–makes me feel safe and cozy for some reason.
I actually own a Zpacks bug tent and like it quite a lot, but prefer a bivy. I suppose if I can't get my bivy to work, I can always just switch to that and take a 110g weight penalty.
Garth – I found a bottle that fits onto the filter. Just like they show in their video, around the 1:05 mark: http://youtu.be/lKWQjlq-uYA
I used to use the 1 liter bladder that came with the filter, but prefer hard bottles to bladders most of the time. Easier to fill, tougher and more durable, cheap and easy to replace, etc.Mar 29, 2013 at 9:43 am #1970800
I had some rare time to myself today, so I played around with a lot of my gear. Best I could do due to not being able to work out a test run overnight trip yet–hopefully next weekend.
But just in case anyone is confused about some minor changes:
-Removed labels and glue from my water bottles, and switched to a slightly heavier big bottle because it fits nicer in my pack's side pocket.
-Added a spare water bottle cap that fits both of my bottles.
-Nixed my beloved Ti mug from cook kit. Just not as into spending time making tea or coffee as I was, and I already have both a big and small bottle for water that I can use to pour/wash up with.
-Switched a silnylon stuff sack for a Cuben one for my bivy.
-Switched out bottle for raw water for older Platypus bladder that fits my Sawyer Squeeze.
-Removed my glasses from BW, don't know why I didn't do this before, as I wear them nearly all the time (other than sleep, duh).
Total savings of roughly 70g/2.4oz :)Mar 29, 2013 at 10:45 am #1970819
Ryan SmithBPL Member
@violentgreenLocale: Southeast
Good job Cesar! Seems that most gear (and gear lists) are getting heavier as people decide they want more durability or comfort. Mine included to a certain extent. I've enjoyed watching you refine your list and continue to find ways to drops those grams.
RyanMar 29, 2013 at 11:34 am #1970836
Thanks Ryan! I am happy that you have enjoyed my evolution. I certainly have enjoyed tinkering around with my kits! Yeah, durability and comfort are constant factors that change for lots of reasons. For trips longer than a few days, I like to have certain luxuries. A dry change of clothing at the end of the day is my big luxury right now I think, but at least I can also wear my extra clothing at night and in the morning when it is cooler. Then if there is an unexpected dip in temperature, I am prepared. The extra clothing is the main thing keeping this list from being in the SUL range.
Last April I was so very grateful to have taken along an extra fleece on an overnight trip. The weather reports said it would be a low of -2C. Didn't wear the fleece at all during the day, and at night it was just a pillow. Then I woke up in the middle of the night from the cold. Found out the next day that it had gotten down to -10C, and I was only in a -1C rated sleeping bag plus a bivy.
What is great about the Zpacks bags is that they are kinda like quilts if you want them to be. If it is really warm out, I can opt to open it up like a quilt.
Will be sure to give any more updates on how this list goes, if anything for you Ryan :)Mar 30, 2013 at 6:28 pm #1971209
…took pics of everything and wrote a long, nerdy blog post about all this:
http://cesarandthewoods.blogspot.se/2013/03/cesars-updated-ultralight-1-season-gear.htmlApr 3, 2013 at 2:56 pm #1972473
Been trying to find the time to get out on an overnighter, but life has just been too busy as of late, so I got desperate and decided to test out my new sleeping bag and bivy outside in my backyard last night.
I checked the temperature before going outside around 11:30pm and it was -1C/30F. Clear skies, not much wind. Put down my ground cover, then set up cowboy camping (bivy, sleeping mat, sleeping bag only) to gaze at the stars. I wore my synth base layers, sleep socks, gloves, down beanie from my gear list–plus added a wool buff and light fleece pullover because I am pushing the given rating of the bag which is 5C/40F. Use my hiking pants and windbreaker as a pillow.
It is much easier getting in and out of a bivy with a side zip, I noticed. I then noticed and was pleasantly surprised how quickly the sleeping bag seemed to warm me up from the chill of the night as I set things up. Shortly after getting inside the bag and fumbling around with the zipper I was no longer chilled–very impressed. Was also pleasantly surprised that it was easier than I thought to zip up bottom zipper (just rolled to the side, zipped, rolled back). By the time I had the bag zipped and drawstring pulled so that the bag was snug around my neck, I was nice and warm. After no more than 5 minutes of adjusting the bag a bit and getting comfy, I was fast asleep and quite cozy. I opted to sleep with the bivy hood open to see the stars, and could feel the chill only on my face, but the rest of me was quite warm so this chill was very superficial and no drafts got in at all.
So the good news is the bag passed my first test very well, even with pushing the temp rating, though I do tend to sleep a bit on the warmer side.
The bivy on the other hand… was the bad news. I woke up chilled around 2:30am, and this was in stark contrast to how warm I was before and how fast I fell asleep. I tried to go back to sleep for about 15min before the thought of my nice warm bed inside won out. I was convinced that the temps must have dropped significantly in the time I was asleep, and aborted my test. As I got out of my bag I noticed that the bag was slightly damp on top, and I soon found the inside of the bivy to be fairly soaked. When I got back inside with all my gear I noticed that my sleeping bag seemed slightly deflated than before and was a bit damp on most of the top. I turned the bivy inside out and sure enough, most of the inside of the top was covered with drops of condensation. It was like I had taken a spray bottle to the inside of the bivy, and this is the first time I have had such so much condensation.
I checked the temperature and it was exactly the same as it was when I went outside: -1C/30F.
So it looks like it is back to the drawing board for my shelter system. 350g is awesome low weight for a fully enclosed shelter system, but I would have hated for this to have happened to me out on the trail. I could just swap bivy for net tent and go to a still pretty damn light 450-460g, but I feel like I can somehow still crack the bivy puzzle. We'll see, I still have over a month until my section hike to solve my shelter situation. As is clear I really want the tarp/bivy combo to work because of so many great benefits it brings to the table… but I never want to repeat last night's experience. I have done plenty of bivy nights before, but nothing like this has ever happened. In fact, last April with the same temps and conditions I did cowboy camping on top of a mossy hill in a clearing, and slept quite well and woke up with only minor foot box dampness.
I think I have one last and pretty extreme modification idea I want to try out before I give up on bivies… will report back if/when I go through with it.Apr 3, 2013 at 4:04 pm #1972503
HkNewmanBPL Member
@hknewmanLocale: Western US
On the bad news bivy, do you think it may have to do with being out in an open area in the cold? Maybe a nearby tree canopy to try it out again before modifying the bivy.Apr 5, 2013 at 12:34 pm #1973143
HK, I am not sure about testing it again or modifying it at this point. Think I will just go with my Zpacks solo bug tent, which was my back up all along. The appeal of having a 350g all in shelter set up was pretty strong, as I am sure most of us reading this can understand, plus I like bivies in general. But that amount of condensation inside was just not acceptable. I want to be able to cowboy camp in the open and not always sleep under tree canopy.
I dug out the bug net, took off all the mitten hooks (I never stake it out anyhow), and re-weighed it, and it came out to 213g/7.5oz which is not bat at all. Then I got a bigger stuff sack to fit both my tarp, bug net, and ground cover, and with my stakes my all in weight for this set up is 448g/15.8oz–only a 98g/3.5oz difference.
Then again the GG bug canopy is also a tempting option…Apr 24, 2013 at 2:18 pm #1980160
What size torso did you end up getting? And what is your height and weight?Apr 25, 2013 at 3:54 am #1980340
john hansfordBPL Member
If you have the Hexamid bug inner, do you not have the plain Hexamid outer? As I mentioned in the parallel thread, Hexamid outer + Hexanet inner = 13.2 ozs for a fully waterproof shelter. (You would have to add your choice of pegs).May 8, 2013 at 12:35 am #1984311
Michael – I got the default torso, but keep in mind that I have just a webbing belt. I am about 6ft tall and 185lbs.
John – Yes I have the Hexamid solo tarp and bug inner tent. Total weight with ground cover, stakes, and everything for my this shelter system is 448g or 15.8oz.
Update – I got my hands on some net material that I think would be great to modify my Borah bivy to eliminate condensation, and getting a professional seamstress to do it for me. The modified bivy plus my tarp (provided the mod comes out okay) is what I plan on taking with me on my 5 day section hike coming up next week.
When it comes down to it, I just like bivies more than net tents when I factor all the pros and cons. If you can figure out a way to keep your bivy light (under 250g) and not have much/any condensation, paired with a good tarp I think it is one of the single best option a UL/SUL backpacker can have for a shelter system.
I may also swap out my Xlite for a foam pad depending on the weather forecast. If it is warmer nights predicted, I will go for it and save around 150-250g depending on which foam mat I choose to take.
Excited to finally have a longer trip! Overnighters are good, but section hikes are great. I can only imagine that thru-hikes are pure bliss if you are lucky enough to have the time and/or money to pull one off. If I won the lottery tomorrow, the day after tomorrow I would start planning a thru-hike, and in a few weeks I'd be on the trail.
EDIT – Forgot to and another small update about my sleeping bag. I went on an overnight trip several weeks ago and took it out for its first overnight field test. It has been an especially cold spring this year, which I was actually glad about, to really put my bag to the test. It got down to -3C, and I had to wake up in the middle of the night to put on my fleece pullover and windbreaker, but was able to go back to sleep and get a full nights rest. A very comfy, effective, and lightest sleeping bag I have ever owned. I am very happy with it and am fairly certain it will serve me well :)Aug 11, 2013 at 3:47 am #2014323
Would you recommend the 6'1" wide or the reg width for me? I am 6 foot 150 lb. Is it still a snug fit with your weight? Too loose?Aug 13, 2013 at 1:23 am #2014853
I would ask Joe just to play it safe, which is what I did, and my wide/long bag fits me great. There is some extra room for layers, like a sweater and windbreaker (which I have slept in with this bag and it was great). Seeing as we are the same height, my guess would be that the long is your best choice, but not sure about the wide, as I weigh roughly 35-40lbs more than you.
I love my Zpacks sleeping bag. In a few years I will replace my 3 season bag (Marmot Plasma 30) with a Zpacks bag for sure.
You must be logged in to reply to this topic.


text:
New-look Fort Nelson scoops top architectural awards - Friday, 3 August 2012
The £3.5m scheme to transform Fort Nelson into a museum for the 21st century has scooped two top awards from the Royal Institute of British Architects (RIBA).
Last year's project – which saw the Victorian fort developed in an innovative but sympathetic way – won the judges' praise, particularly the spectacular, glass-sided Voice of the Guns gallery which houses 14 of the most iconic exhibits in the Royal Armouries' national collection of artillery.
The Royal Armouries scooped the RIBA Downland Regional Award for Architectural Excellence and the RIBA South Conservation Award, recognising the project's architectural preservation and enhancement of the Fort as a Scheduled Monument.
The winning citation read: "Fort Nelson is essentially a glorified but glorious lean-to against the massive fortifications that make up this Victorian gun fort overlooking Portsmouth Harbour. Beautifully designed by Pringle Richards Sharratt, the timber structure is almost an exhibit in itself…"
Museum director Peter Armstrong said, "Congratulations to everyone involved – this is a huge achievement. We succeeded in transforming the fort into a museum with guaranteed wow factor – while protecting and enhancing the historic building. All the feedback has been positive and the judges obviously agreed. All credit to our architects Pringle Richards Sharratt too, who designed the state-of-the-art Voice of the Guns Gallery, plus new visitor centre. A great team effort all round!"
Fort Nelson is a Scheduled Monument and a Grade I listed building, and is owned by Hampshire County Council. Last year, the Royal Armouries unveiled the completed project, which was supported by a grant from the Heritage Lottery Fund.
Hampshire County Council, and particularly its architects and property team, provided invaluable assistance to the Royal Armouries on this project, to help transform Fort Nelson, and enable it to continue to make a valuable contribution towards the county's £2.3billion overall tourist economy.
Working closely with English Heritage, the project allowed the Royal Armouries to showcase a number of the Fort's historic features – including the iron bridge, the old original arched entrance portal and gates.
Highlights include:
- New turf-covered Visitor Centre containing an information centre, shop, and Café 1871.
- A purpose-built glass-sided, timber-framed building, showcasing the Voice of the Guns Gallery.
- State-of-the-art educational facilities through the creation of a Classroom of the Future.
Project managers paid close attention to conservation and sustainability issues throughout – including the use of hand-made, locally sourced Fareham Red bricks and the commission of locally created ironworks.
Standing high on Portsdown Hill near Fareham, Fort Nelson showcases one of the world's finest collections of artillery and cannon, from across the ages and from all corners of the globe.
For more information, please visit www.royalarmouries.org
To find Fort Nelson, follow the brown Tourist signs from the M27. The Fort is open seven days a week, from 10am to 5pm.
For more information and the latest news about the Royal Armouries:
Royal Armouries website
Royal Armouries newsletter
Follow us on Twitter
Find us on Facebook
Notes to editors
- Royal Armouries is the national museum of arms and armour and has sites in Leeds, HM Tower of London, Fort Nelson and Louisville, Kentucky. It is the first British national museum to open a permanent presence in another country
- Admission to the museum is free. However, there may be a small charge for some special events.
- Open all year daily, 10am-5pm. Closed 24-25 December
- Information Line: 0113 220 1999
- Website: www.royalarmouries.org
- The Royal Armouries Museum should not be confused with Royal Armouries International plc, the private sector corporate hospitality business.
To find Fort Nelson, follow the brown Tourist signs from the M27. The Fort is open seven days a week, from 10am to 5pm.
Download the PDF press release.


text:
To the Editors:
I commend you for publishing bioethicist David B. Resnik's essay "A Troubled Tradition" (January–February). During my career as an agronomist, I have reviewed many journal articles, book chapters, research proposals, et cetera. When I thought papers merited publishing, I usually remained anonymous and tried to help authors with whatever suggestions I could. But a few papers simply did not measure up. When that happened, I sent copies of my rejection letters to the senior authors, hoping that would help them put my position in perspective. That was fine with some editors. Others, insisting on anonymity, stopped sending me papers. That was helpful for my busy schedule.
More needs to be said about the consequences of the peer-review process. Consider young scientists. After working several years, they can have a parental attitude toward their early research. If that is rejected during a blind peer-review process, scientists can feel as if someone wounded their children. On top of that, the professional stakes are high. Employers frequently judge scientists by the number of publications they achieve. With so much in play, scientific societies must continuously audit the performance of their editors.
I always told graduate students and postdoctoral scientists that the peer-review process can be capricious and that if their paper was accepted, they should not get a big head. Along the same lines, if it was rejected, I told them not to let themselves be pulled down. Instead, I recommended that we work together to see what we could learn from the rejection.
Donald N. BakerStarkville, MS
David Resnik has discovered that editors and reviewers of scientific publications are all too human. I have done reviewing and editing in several disciplines and I can vouch that what he says is correct. Neither reviewers nor editors are as objective or fair as is naively assumed by many scientific outsiders and a few insiders.
There is no system that is going to solve this problem. The Founding Fathers wrote the U.S. Constitution and yet politicians have always figured out ways to get around it. So think about that when you vote for the officers of your scientific societies. Officers should think about it when they appoint editors. Editors should think about it when they recruit reviewers. And we all should think about it when we vote for our elected representatives.
In certain physical sciences, the publication of something incorrect or even fraudulent may have little consequence, if the topic is sufficiently trivial. In the medical sciences, however, people may start dying.
Foster MorrisonNorth Potomac, MD
Community Guidelines: Disqus Comments
The Art and Science of Communicating Science
American Scientist Classics
Women in Science
Purchase a Back Issue
2014 Annual Index
The Age of Nuclear Weapons
25 Years in North Carolina
Of Possible Interest
Spotlight: Flint Water Crisis Yields Hard Lessons in Science and Ethics
Perspective: Taking the Long View on Sexism in Science
Engineering: From Lowly Paper Clips to Towering Suspension Bridges
Other Related Links
A Troubled Tradition
© 2016 Sigma Xi, The Scientific Research Society


text:
Town Square
Town Square Forum and e-exchanges
Original post made by Hal Bailey, another community, on Apr 18, 2008
It is time to thank The Danville Weekly once again for the Town Square Forum. The majority of communication neighbor-to-neighbor in our region is by neighborhood e-exchanges and a few among 1000's of e-messages are posted to this forum. As a result, more neighbors throughout our region are contributing their thoughts, ideas, concerns and comments for all readers' review in their own forum commentary.
As more readers find firstname.lastname@example.com as CDSI's community courtesy for neighborhoods e-exchange contact, more neighbors in each neighborhood are communicating on the issues of community, infrastructure, economic development, services and environment preservation. And now, neighborhoods from Concord to Pleasanton are engaged.
Thanks to The Danville Weekly, Town Square Forum,
Hal Bailey
Member, CDSI Research Fellowship
a resident of Alamo
on Apr 19, 2008 at 8:40 am
Posted as received at email@example.com
Your handful of complainers, behind your disguises, are pretending to represent the majority in Alamo when you are no more than 30 or more crackpots with nothing better to do. Stop lying to the forum readers and lying about Alamo.
Our AIM committee and the community organizations that support AIM's incorporation efforts are our true community leaders and you need to respect that leadership.
Shut up, enough already,
James, in Alamo
This posting was made public without the permission of the author
a resident of another community
on Apr 19, 2008 at 8:49 am
Posted in response by Iron Horse neighbors
Dear James,
The handful of residents that you reference are the <90 individuals that are active in Alamo community groups including AIM. There are no other handfuls within our regions' neighborhoods and there are no crackpots among our neighbors. Democracy is voiced in our region by e-exchanges among hundreds of neighbors considering local, regional, and global issues. Such e-exchanges question the issues created by the intentions of the handful in Alamo community groups and supports open discussions of all points of view via this Town Square Forum.
You should not expect >20,000 neighbors in our region to be silent.
Kathy Bell
Iron Horse neighbors
Diablo Vista region
Posted from email@example.com
a resident of Alamo
on Apr 21, 2008 at 1:27 pm
Dear Neighbors and Friends,
I also would like to thank The Danville Weekly for providing this forum. It is a valuable vehicle for the interchange of ideas in our community.
I would also like to suggest to James in Alamo that little is served by your comments that have such an "edge" to them. I would urge you to comment on the issues, and make suggestions that are cogent and reasoned.
"Shut up, enough already" does not quite come up to those levels of discourse. Further, the folks probably won't "shut up" but will continue with even more vigor and zeal. Their energy output will increase, but as we both know they are few in number and represent only themselves.
Alamo Ron
a resident of another community
on Apr 21, 2008 at 5:07 pm
Dear neighbors,
Let's simply thank Alamo Ron for asking for a rational discussion of issues. Whether or not any faction in our region is a majority will be determined when and if an incorporation vote is held without further definition of the AIM incorporation proposal. Clearly, anyone can easily determine the individuals that are the <90 active participants in AIM and Alamo community groups. It is quite easy to see and know the <300 supporters of AIM that turn-out for various funding events. It is reasonably easy to create a listing of 917 known supporters of the AIM incorporation proposal.
The same clarity for any other group is difficult because we all enjoy our on-line privacy. But one public document offers 2,197 neighbors by name as validation, the AIM Petition. My register voter identity appears on that petition. Most neighborhood representatives' registered voter identities appear on that petition. In fact, 35% of the neighborhood e-exchange participants signed the petition in support of studies to see if incorporation is feasible prior to any application for incorporation.
Ah, and that is the oxymoron. We can't have studies unless we apply for an unspecified government unacceptable to the majority of neighbors.
One HAL of a Pal
a resident of another community
on Apr 23, 2008 at 9:42 am
Posted by request of the author
Dear Iron Horse neighbors,
I respect the right of commentary by all citizens but I wonder why it is important to the many sides of Alamo to display their dirty laundry on-line. I have read incorporation websites, Danville Weekly Forums, Alamo Today, and various quotes in the SRV Times. There are many good ideas that would define Alamo as a locally-led community but there is no proposal that draws all sides together.
Community and communication are still missing from Alamo after all these years and appear to have grown with the turnover to a younger majority of residents. Doesn't anyone have a method to create consensus among residents and a meeting of minds on the future of Alamo?
I would enjoy reading such methods,
Dennis, formerly of Alamo
Posted as submitted to firstname.lastname@example.com
a resident of another community
on Apr 23, 2008 at 3:01 pm
Posted with a smile for the author
Hey neighbors, Krak Potts here!
It is time that we owned up the reality that our foolishness in Alamo during our rein of humor, 1997 to 2005, was purposely done in the manner of a crackpot. Foolish ramblings with very carefully-placed undercurrent of fact and commentary allowed laughter and reality to be presented in the most enjoyable way.
Over the years, I have been many characters and I am now ready to be Krak Potts, the most foolish of town fools, that will ask the questions no one dare ask and provide answers everyone wants to know.
Join me? There is plenty of room in character,
Vince Kreigher
as Krak Potts,
Away in Morro Bay
Posted from All things Alamo & Pop(u)lar e-chains
a resident of another community
on Apr 23, 2008 at 3:44 pm
Dear Vince,
I concede my title of Alamo Towne Fool to you.
Ask the important questions, answer the important questions, and lace it all with joyous humor. Tomfoolery is a skill, a calling, and a profession for only a very few.
Best wishes,
Hal Bailey,
as Halamo, circa 1997-2005
The Alamo Towne Fool
@ODDs, a Saloon for Fools
The Hotel Snaysmuth
2625 Crescent Moon Lane
West Willimantic CA 94507-1078


text: The only thing I've ever read from Jennifer about Brad after he bolted was some crack about at least now she would be able to sit on a comfortable couch in her own living room. Apparently he had sterile, modern taste in home decorating, and his taste was law. And of course, the Vanity Fair article where she dissed Jolie.


text:
Shirin Neshat's renown has increased dramatically since her first solo exhibition of photographs in 1993. Both the form and the content of her work are based on stark contrasts and provocative oppositions that touch on questions of gender, exile and belonging, loss and memory, the particular and the universal. Though she is best known for her haunting trilogy of dual-screen, black-and-white short films—Turbulent (1998), Rapture (1999), and Fervor (2000)—the Iranian-born filmmaker originally came to the United States in 1974 to study painting. However, by the time she had completed her MFA at the University of California, Berkeley (1983), and moved to New York City, neither she nor her homeland bore any resemblance to what they had been nine years earlier. She had categorically ceased to paint, and Iran had been transformed from a secular-leaning monarchy to a conservative Islamic Republic. Neshat did not return to Iran until 1990.
After sixteen years of separation, she found the country of her youth profoundly changed. The economy was stagnating, public morale was flagging, and many basic freedoms had been severely curtailed. The burgeoning secular modernism Neshat had grown up with had been replaced by a forceful conservatism that, among other things, legally required all women to wear a veil in public. A highly charged symbol variously connoting Islamic identity, Iranian nationalism, Islamic feminism, and retrograde traditionalism, the veil and the centrality of women in the republic's legal and political discourse led Neshat squarely back to art-making.
Initially, she began a series of photographs that investigated the role of women in Iran. These images explored opposing notions of concealment and assertion, vulnerability and defense, motherhood and martyrdom. By 1997, however, Neshat began to find both medium and subject limiting: "When you have only a single image, the message you convey may be like propaganda, whereas when you use film, you can become a storyteller, choreographing ideas and images, creating nonlinear narratives… . I weave messages into my work that can't be pinned down, like a dream."1
As she shifted from still to moving images, the artist and her Iranian crew garnered increasing international acclaim. Her work has been featured in numerous solo and group exhibitions, including the Venice Biennale (1999), where Turbulent received the First International Prize. Lacking conventional elements such as plot line, character development, and dialogue, her films rely on the careful choreography of movement, physical environment, and soundscapes to simultaneously transfix and engage her audience. Dreamlike in their elusiveness, they aim to disarm, provoke, and give pause. Fielding questions about meaning and intent, Neshat dissociates her role as artist from that of interpreter: "I prefer raising questions as opposed to answering them."2 Indeed, her films' dual-screen presentations reinforce audience engagement by placing viewers between the screens, forcing them to make the final decisions about where to look and when.
In what is perhaps her most personal film, Soliloquy (1999), the artist appears as protagonist in two stories that unfold in anonymous cities representing traditional and modern worlds. Filmed in Mardin, Turkey, and Albany, New York, this color, two-channel film is built upon controversial dichotomies—East versus West, Islam versus Christianity, and tradition versus modernity. On both screens, Neshat moves through imposing architectural and religious spaces, among people, and alone in nature. It is unclear whether she is running away from or to somewhere, whether the scenes are illusions or memories, or whether one place is more welcoming than the other. Neshat has said that "once you leave your place of birth, there's never a complete sense of center: you're always in the state of in between and nowhere completely feels like home."3 With elegance and rigor, Soliloquy captures the artist's sense of displacement and loss while masterfully alluding to the ambiguities of identity, spirituality, and place that touch all people. As the two sound tracks merge toward the film's end, the viewer is left with an unforgettable sense of reconciliation.
Quoted in "Art for the MTV Generation," The Economist, March 23, 2002, 80. ↩
Quoted in Gerald Matt, "In Conversation with Shirin Neshat," in Gabriele Mackert, ed., Shirin Neshat, exh. cat. (London: Serpentine Gallery; Vienna: Kunsthalle Wien, 2000), 13. ↩
Quoted in Arthur C. Danto, "Shirin Neshat," Bomb 73 (Fall 2000): 67. ↩