cb's rants
The older rants are semi-regularly moved off this page. You can always read the old
rants :
11/2007 to 03/2008
07/2006 to 11/2007
12/2005 to 07/2006
06/2005 to 12/2005
01/1999 to 06/2005
You can see some of my photos at Flickr .
Usually this happens in that the apps will enum the dir and see the files, grab the names in ascii, and then try to do something to the file - and windows refuses to find it. Windows isn't nice to you, it won't let you open the file with the ascii version of the name where you just crammed the unicode into ascii. All the old POSIX dir enum stuff that's just ascii like readdir is thus useless and old unixy command line tools break badly.
This is pretty fucked. It would have been so simple to make this backwards compatible by just making file access succeed for the ascii-cast names if there was no ambiguity.
ADDENDUM : hmm.. it seems that if you use the old DOS _findfirst/_findnext with ascii names, you get names that can't open the files. However, if you use _wfindfirst/_wfindnext and then take the wchar names and covert to multibyte ascii with wcstomb you get names that work. Why in the fuck would they not just do that in _findfirst !?
One of the common ones is the pop-up failure box after a long batch process. Lots of things do this - iTunes music imports, Windows Installers, etc. You set it doing some huge thing and walk away, only to come back an hour later and find it only ran for 5 minutes and then decided to pop up an interactive yes/no box about some warning. Even worse of course is when it runs for 2 days and then pops up a "whoops couldn't complete" box. Thanks. Of course it's blatanty obvious that any time you do a time consuming process you should check the possible failures and anything you need to ask about right up front, and get that all verified, and then let the user know you're about to go non-interactive for a long time and let him go away. Furthermore a semi-accurate progress percent is pretty important.
The progress percent is another one where people seem to just get a laugh at fucking with you. There's a few funny ones :
The progress bar that's actually just an hourglass. It moves across the bar steadily and you feel all happy, and then it gets to the end and just starts over at the beginning and keeps moving again. WTF. iTunes does this.
The progress bar with super non-linear speed. It ticks along nice and fast, you decide not to even stand up, and then after five minutes it hits 98% and just stops. Then it hits 98.1%. Doh.
The progress bar that restarts over and over. Windows installers love to do this. You see a progress bar and you think hey this won't take too long. Then it restarts for the next phase and it's ticking a little slower. Hey no big deal I can wait this out too. Then it reaches the end and restarts another phase. Doh!
"pederast" is not the same as "pedophile", though they are somewhat related. Pederast is more specific, and refers to someone who has anal intercourse with young boys. It's sometimes specified that it's against the boys will or with them as passive partners, ergo they are being raped, but I don't believe that really needs to be explicitly indicated, it can be assumed.
Also, what's the word for someone who likes walking (going places by foot)? I'm pretty sure it's "pedephile" (?) , which makes me a huge pedephile. Not to be confused with someone with a foot fetish, which is a "podophile".
More than anything I wonder why they insist on telling me these stories about their youthful debauchery. Hey that's great, you got drunk and had sex with lots of people, good for you, why don't you just keep that a secret? Why are you telling me that !?
Of course the worst bits always come out in off hand little comments. There are two primary types : 1. the knowing comment and 2. the horrible thing passed off as funny and no big deal.
1. The knowing comment is some little remark that indicates experience with something that's a big deal, but it's said in a sort of off hand way in a quiet voice. If you ask "what was that?" they always say "oh nothing". For example, you're watching TV together and there's an interview with a porn star who just did some video of 101 guys coming in her or something. The porn star says "the main thing you have to worry about is lubrication, with so many guys you can really get rubbed raw" and your girlfriend mumbles "yeah you can". You say "huh?" and she goes "oh nothing".
2. The horrible thing passed off as funny and no big deal. This often comes up as a "funny story" that's really not that funny and just horrifying, like "yeah it was my birthday, we went to this bar and I met a couple of guys and got totally wasted and I can't remember anything that happened, but I woke up in my bed and I only had one stocking on and my panties were gone; haha, I wonder how I did that? isn't that funny?" oh my god no that isn't funny it's shocking and disgusting.
There must be some reason girls drop these kinds of things so often. (by "often" I mean about once a year, any more than zero is pretty often for this IMO). Maybe it's to keep me from feeling too important and too secure, to let me know they've had wilder and could have it again any time they want so I better work for it.
The funny thing is that these stereotypes have nothing to do with reality, and everyone keeps up the illusion to make each other feel better. That guy's stuffed peppers might actually suck, and he might be really sick of making them all the time, and nobody really wants them, but everyone keep up the charade because it's the group dynamic and it makes everyone feel valuable, like they have a special skill and they're contributing.
If you somehow get to a good current state, that's all that matters, but of course your past strongly affects your current state. If you were a huge slut and slept around with lots of losers, that's fine in theory if it didn't affect your brain, but of course it does affect your mind in ways that stay with you. If you partied all through college and just drank and didn't study, okay, good for you, I'm glad you had fun, but of course that affects your mind in the present in a negative way.
Everyone's entire past is simply the road they have taken to try to build a perfect self in the present. Your past does nothing for you that's productive in the present other than contribute to the current state of your self (mind and body). Having fun memories is of course part of your current self and that's a valuable contribution, but it actually doesn't do that much to improve your present self.
I really don't understand people who make huge changes in behavior and talk about their past self as if it was a different person, they'll say "it wasn't the real me". Of course it was you, it was your mind. I don't believe that human minds really change very much. Your outward behavior and the portion of your mind that you choose to let control you can change dramatically, but the core of your brain doesn't change much at all. Anyone who's worked to try to change their brain knows how hard it is to even make tiny tiny changes in your fundamental personality.
Obviously people can make huge outward changes; this is most obvious in things like when an alcoholic goes clean. Their outward negative behavior was being greatly amplified by the alcohol in their system, so when they manage to go clean their behavior can in fact change very dramatically, but the basic thing in their brain that made them an alcoholic in the first place is of course still there, and the depressiveness and desire to avoid the real world and self loathing and whatever else made them turn to the bottle are all still there.
Actually it reminds me of something I've been thinking about old single people a lot, and I believe I mentioned this before. Someone of my age (30) who's single almost always has something horribly wrong with them. It's actually a really bad sign when that thing is not obvious. For example, if you meet someone who's just butt ugly, you can go okay, I know why you're old and single, you're ugly as sin. But when you meet someone like me who appears attractive and desirable and has money and whatever else girls want, ruh roh, that's a danger sign. There must be something horrible that's not obvious and that's much worse.
The best person to meet is someone who has some horrible obvious flaw that is something you don't personally mind. For example someone who's really shy and awkward might be a good candidate, because it's possible they could be single because of that despite being otherwise wonderful. Another good flaw might be someone who's just way too picky, as long as you can pass their high standards then their flaw becomes not too bad. I guess even better would be someone where the flaw is actually a positive; for example if you meet a girl that's just super geeky/nerdy and you're into that, then that's ideal for you.
It's like when you find a couch on the sidewalk with a "free" sign on it. If it's really old and ratty, okay you see why it's free. If there's a big obvious coffee stain on it, okay, flip the cushion and take it. But if it looks great and there's no obvious flaw and it looks expensive - ruh roh, something disgusting has happened to this couch and you shouldn't touch it.
I love it here. I wish someone like Bungie or Valve or RAD was in SF. Instead I've got myself a real dilemma. :(
First the instruction :
Stand the mango vertically and line up the seed so the long side points away from you. Put your knife next to the tip of the mango right at the very top. Work it down gently until you feel the seed, now tilt your knife and work it gently to one side so that you go down right along the seed. Note you are not cutting straight down, you are cutting an arc to exactly trace along the seed. This is easy because you can feel the seed. Repeat on the other side so you have two curved halves.
Now take each half and slice it in half the long way. Now you have a long wedge of mango with skin on the outside. To remove the skin you need to make two cuts to avoid wasting flesh. The smoothest way to do this is to pick up the wedge of mango with your hand, with the mango skin touching your skin. Insert the knife near one end just above the skin. Push the knife in slightly past half way. Now run the knife down almost all the way to the bottom. Rotate the knife around to the other side while you also rotate the mango in your hand. Now run the knife back up the other way. The flesh should now come off the skin with no waste.
Note that you have the pit left over, but it has almost no flesh on it because we made curved cuts. I just suck the little bit of flesh off the pit with my mouth.
You should now have 4 big chunks of flesh, you can very quickly dice them if you like.
I used to do the standard method of cutting into 3 pieces and then cutting a grid into the halves and then inverting the skin to pop it out. That method is taught by just about everyone on the net : retard , bad , bad , bad . That method sucks balls. It's slow and clumsy.
So far as I know nobody else demonstrates the cbloom method of cutting mango.
WARNING : Cutting while holding fruit in your palm should not be attempted by the dumb, clumsy or inexperienced. You may cut yourself, and don't blame me! Go do some more practice dicing onions.
Cut the potatoes into wedges, place in a bowl and toss with a little EVOO. Spread evenly on a rimmed baking sheet. Butterfly the chicken along the back bone (not the breast) and flatten on your board then place on top of the potatoes.
Place in a 425 oven for 40 minutes.
Remove the chicken, sprinkle the potoatoe with S&P and place them back in the oven for 5-10 minutes more until they absorb all the chicken juices and turn crispy brown.
My comment : this is extremely similar to my roasting in pieces method, I'm not really sure if the butterfly is better in any way than pieces; I guess it looks a bit cooler in presentation.
Result : yeah, it's pretty to serve on a big platter with the butterflied chicken and roast potatos and carrots and whatnot around it. Could roast some fennel and turnips and such too. The chicken came out perfect; I rubbed the skin with soft butter as I always do and it was crispy, the meat moist. The roast potatos underneath were delicious, but would've been better if I'd taken it all out and flipped the potatos half way through cooking; the sides that were on the bottom were too charred and the sides not touching the bottom were not charred enough. Also obviously any roast veg that's not under the bird cooks very differently than stuff that is under the bird, so you can't leave them in the same length of time.
A few days ago I saw this video of Girls doing Parkour . WTF? They're doing the easiest beginner moves and their flow sucks.
I don't believe that girls genetically inherently suck, which means they *choose* to suck, which is actually worse. If they were somehow genetically inferior and doing the best that they could, that would be respectable, but they are in fact not limitted and just suck because they aren't trying, or something. Perhaps some of it is because they're coddled and told they're awesome when they in fact suck.
Now don't fly off the handle. Of course I'm not talking about every single woman, I'm talking women in general. If you just tried to disprove my general point using specific counter examples, I'm guessing you're probably a woman.
Their basic philosophy of game development is very appealing to me. They're devoted to making a "simulation" that responds consistently and logically; the user only has a few ways to interact with the world so that you aren't creating tons of canned interactions, rather the way you can poke the world always works and leads to lots of interesting scenarios because the systems all work together. Their game design also seems to be very logical, in the sense that they have certain feelings and types of play they want to create and they find the game systems that lead the user to experiencing those things.
On the other hand, WTF is up with the music in the Halo games!?
Talking to people in Seattle got me excited about games again. It's a pretty interesting time. The big negative at the moment is how huge and complex games are, and how huge the teams have to be, which kind of sucks. On the other hand, games are still advancing very rapidly, and some big advances are going to be made in the next 10 years. We're finally getting to the point where we can realistically talk about making true dynamic simulations of complex worlds.
In contrast, at the moment there are basically two types of games : 1. "Deep, narrow" games, that are simulations, but in very limited ways - the user can only do a few things and the environment is strictly limited in how it responds; this includes things like Halo as well as lots of old games like Mario etc. 2. "Broad, shallow" games that have lots of canned hacky interactions and try to create the illusion of a huge world you can interact with in lots of ways, but aren't true simulations and you can't do anything the designers didn't specifically code in; this includes things like GTA and the Sims as well as most of the classic j-RPG's and stuff like that.
Everyone is very excited about the continuing growth of CPU power as we continue to move into the multi-core era. The problem is that with machines getting more complex we can do a lot more and run a lot more content, if we keep making games the way we do now that would require 10-100 X as much art & design work, which means prohibitive schedules and team sizes. So we need a way to make tons more interaction without a lot more content creation, which of course means code.
The big exciting things coming up IMO :
Procedural interaction ; N*M problem. We want to have N types of things in the world and M things the user can do, but we don't have to manually set up N*M special interactions, and of course the user can put objects together and they should respond to each other as well which is N*N or even N*N*M, etc. This means that the way things work together needs to be more procedural. Currently in games for me to be able to do a "pick up" , I need to code or animate a different "pick up weapon" , "pick up box" , "pick up humanoid", etc. In the real world if I know how to do a "pick up" I can pick up anything.
"sparse virtual geometry" ; importance-based object detail & existance. This is very vague and nobody knows really how to do it, but we know it's what we want to do. In fact, I and others have been talking about this since 1998 or so. I believe Carmack has been talking about it a lot recently. I should emphasize first off this is not about rendering performance, though rendering is part of it. The idea is that you want to have a world which has "virtual" geometry and objects of massive detail and uniqueness. We want to get away from instancing and just decorators on simplistic backgrounds, and actually have something like a city that's full of millions of unique objects all interactable. Of course you can't just have all those objects in the simulation all the time, so you want to page out stuff that's not important and down-res the distant stuff. Down-res means lower LOD, not just for rendering, but also for collision, AI, pathfinding, etc. etc. The overall goal is that you wind up with a constant performance system similar to the sparse virtual textures, with more detail where you need it.
Dynamic everything. Currently all complex games rely very heavily on having the basic structure of the world static or semi-static, which allows you to precompute lots of helpful things like AI paths, radiosity, collision acceleration structures, etc. People are doing semi-dynamic worlds at the moment mainly by allowing only small or specific canned changes to the static world and precomputing the effect of those changes. The goal in the future is of course to support dynamic everything, which means fully realtime lighting, PVS, etc. I actually don't think the rendering is the hardest part of this at all; things like packaging for paging, and AI are much bigger problems, which leads us to -
AI that can understand its environment. Currently nobody has AI that can actually understand geometry. The designers do lots of tagging, or some complex tool runs a preprocess to analyze and figure things out about the world, and the result is some simple tags like "you can walk here" or "this is a good place to shoot from" etc. There are two reasons this is bad. One, of course if you have totally dynamic geometry you can't do this. Two, the amount of work it takes to tag all this stuff for designers is pretty massive and we'd like to eliminate it. This is a huge area of work that we'll probably only begin and could continue for a hundred years, in the extreme case it includes things like strategic reasoning about environments. In the short term we'll probably have to continue to rely on markup for the macroscopic issues (like "this is a flanking area", "this is a good first retreat area") but we'd like to advance to dynamic smart AI for microscopic issues (like "I can walk here" or "I can take cover here").
This is all pretty pie in the sky; there are a lot less insane things that are also going to be happening, or maybe just some baby steps in these directions.
Also this is all very exciting tech, but in terms of what actually makes games good or bad in the short term, none of these have anything to do with making better games. The problems with games in terms of the user experience are the same as ever :
1. Not enough time spent on all the little details that annoy the user; stuff like UI usability, controls, load time & paging, good tutorial integration, etc.
2. Shitty stories, boring characters, uninspired worlds, gameplay that doesn't integrate the play and the user and the world/backstory, generic uncreative art designs, schedule cuts that wind up wrecking the world/story/art.
3. Generic repetitive gameplay due to lack of game design vision and lack of risks taken in prototyping/prepro.
To some extent these things can be improved by technology, largely by making content easier to create, more foolproof, and faster to iterate. The goal of game content creation should be that the artists/designers can just try anything they want, instantly see it in the game, and have it all "just work", so they don't have to know a bunch of weird rules about how to make good content and don't have to worry about manually tagging up a bunch of junk.
I did find SharePodLib which is pretty awesome, but I'd rather not write my own app, plus his sample project seems to be a C# project that uses some Vista.NET thingies because my version of VS.NET refuses to open the project.
Rice : 2 cups water, 20 minutes, covered simmer.
Steel cut oats : 3.5 cups water, 25 minutes then check and maybe cook 5 minutes more or add liquid (milk optional). uncovered simmer. The goal is "al dente" not mush. Usually pre-toast in dry pan. Stir minimally. Finish with butter.
Couscous (fine) : 1.5 cups boiling water, 5 minutes. seal and let sit off heat. This produces a semi-dry couscous which is intentional because I plan to use it as a bed for a saucy main dish or pour some other flavorful liquid over it.
Warning : This is for the typical fine grain couscous that Americans get; real traditional couscous is a much larger grain and takes a lot longer to cook; don't be thrown off by traditional couscous recipes. There are also medium grain couscouses available which would be different.
Kasha : 2 cups water, 10-15 minutes, covered simmer. Usually pre-toast.
Warning : there are a wide variety of kasha (buckwheat groat) kernel sizes, so you may need to do some experimenting to see what you get. There are completely whole kernels (not recommended, a bit weird IMO), cracked kernels (best) and fine kernels (bad). Start with 10 minutes cooking and see what you get. The stuff I get at Rainbow takes about 10 minutes.
Also, IMO the traditional "varnishkes" method with egg is a little bit weird and definitely unnecessary.
Polenta : 2.5 cups water, 40 minutes then start checking for doneness and maybe 5 minutes more, uncovered simmer. Minimal stirring. Finish with butter & parm. Lots of salt.
Quinoa : 2 cups water, 10-15 minutes (generally 15 unless you like it really poppy like fish eggs). Covered simmer.
Warning : you must rinse quinoa before cooking, though many grocery store brands are pre-rinsed.
Yes yes I know couscous is not a grain, it's nuggets of wheat, but I treat it like a grain so whatever. Also Kasha is technically not a grain, it's a "groat" but it acts like a grain, and quinoa is some kind of seed or something.
The #1 mistake people make with grains is not salting. Grains needs a LOT of salt. Salting during cooking is generally good, but supposedly bad for steel cut oats (questionable). The #2 common mistake is probably overcooking. When in doubt slightly undercook because there will be carryover. Your goal is not mush.
General warning : it's almost impossible to cook less than 1 cup of a grain. If you're single or a small eater you may be tempted to try to cook less, but it's too little mass and the water evaporates too much and it probably won't turn out very well. Grain is cheap, just make 1 cup and throw out the excess.
Other notes on steel cut oats : Alton likes to add dairy, but personally I prefer them without any dairy; I've tried cream too, and any kind of dairy in the oats just really mellows out the flavor and subtracts from the nutty oaty goodness; I'd rather add extra butter, though the better the oats are cooked the less butter & sugar you need, you just want to appreciate the texture and natural flavor. If you are single and want to make a batch and don't plan on eating the whole thing - scoop out what you want to save after 20 minutes of cooking and put in tupperware. Lid it and stick it in the fridge. At 20 minutes it's very undercooked, but the residual heat will keep cooking it, so when you take it out of the fridge the next day it will be almost cook, and then after a few minutes in the microwave it will be done.
Groupthink almost always develops in these groups. What I mean is a certain style of thinking becomes accepted by the majority and no longer questioned, and people find it easier to just go along with majority. This style might be something like love of STL, or love of very simple exposed C-style interfaces, or just the general concept that C++ is broken and many of our woes are due to the language, or whatever. It's some belief that's not really rational and becomes a common framework for everyone and the group thinks similarly. Groupthink develops for various obvious reasons. The senior people tend to hire new people that think similarly to them. The new people are taught the current way of thinking. People who think differently get in big debates all the time and get sick of it and just stop objecting. When the majority is against you, you tend to just stop talking.
Leaders and followers almost always develop. Some people are just naturally pushy, or very respected, or whatever, and take up leadership roles even in a putative true democracy. Similarly some people are just weak or natural followers or just lazy or don't care, and so rather than really be independent they just follow one of the leaders. This means that a few loud voices tend to dominate and you don't really get a bunch of independent thoughts on problems. This is totally independent of any formal heirarchy, and of course it develops in social groups of all types. At a place like Google, for example, I'm sure that many people adopt the "Larry and Sergey" way of doing things because it's easier to defend.
A lot of the problem comes from subconscious laziness. Really thinking independently about various problems is very tiring. Most people stop doing so and just go with the flow because it's easier. Usually this isn't even a conscious decision and people aren't aware of it. I've commented before about how when I'm out cycling by myself, sometimes I'll zone out and stop paying attention to my pace, and then all of a sudden I wake up and discover I'm going like 5 mph. The human mind has a built in subconscious desire not to work; it's very lazy, it's designed to conserve your energy for the next big chase or fight. In intellectual work, if we don't force ourselves to be active and vigilant in our thinking, we slip into lazy habits and just go with the flow and stop thinking for ourselves.
One way to fight this is turnover. You want to hire new people with very different styles from your core. This goes against most people's hiring practices who do retarded things like favor candidates that use the same coding convention as you. That may make it slightly easier to integrate someone, but it's much better for the health of the group to bring in people with different ideas. Then when you do hire them, you have to be a bit careful to not beat them into the groupthink mold. You also want to listen to their ideas on how you do things, because they bring a very valuable fresh mind. Often when I was moving around from company to company I would come into a new place and they would have some absolutely insane onerous process that made it so hard for the artists to work, and everyone there was just convinced that "that's the way it is", and I would be like "whoah whoah this is insane, you shouldn't have the artists spending 2 hours to sync every morning, or running a debug build at 1 fps" or whatever. Of course the newbie will also be a bit retarded since they don't know your process, so you have to be smart about what you listen to and what you ignore. When I was hiring I mostly did this the "bad way" ; it's definitely tricky to balance the immediate usefulness of hiring similar people to the long term health of keeping a diverse population.
Another problem with groups is that people have a tendency to develop an "us vs them" mentality. This is also subconscious and it pervades all groups, not just these companies. People have an innate desire to be part of a tribe and to feel like they're banded together against the rest of the world. It's a sort of pack mentality, and it leads to being very defensive of the practices inside the group and being dismissive of voices from outside the group.
Part of the "us vs them" mentality comes from creating myths about how great your practices are. All successful groups tend to over-value their practices and think the way they do things is great because they've been successful in the past. Well, maybe so. More likely your success is due to A) good people B) good circumstances, and C) luck. Human beings in general vastly underestimate the amount of variance in success, and look too hard for direct cause & effect relationships that often do not exist. This is most obviously retarded in gamblers; anyone who wins a hand of poker makes up all kinds of reasons why their style somehow led to that success. It's less obvious in endeavors with lower variance, but still present. For example, maybe some of your practices really are good, but many of your practices may not be; people tend to associate success with every single practice and elevate them all to the magic formula that brought that success.
None of that is to say that the democratic models are a bad thing, obviously they're very cool and successful if done right. But the idea that decisions will be made rationally and on their own merits is a bit of a dream. And how well you fit in is not so much about how you work in a democracy, but about how you meld with the dominant thought camps in the borg network.
I wish more Japanese places had real natural soy sauce & fresh wasabe. The shit they serve is kind of like a breakfast place putting Aunt Jemima on the table (= Kikkoman Soy), and I Can't Believe It's Not Butter (= tube Wasabe). I think about the Seinfeld where Jerry sneaks in his own maple syrup. I imagine getting my own fresh wasabe root and smuggling it inside my pants, then I take a rasp out of my coat pocket, poke the wasabe out through my fly, hold my plate down at my crotch and grate off a bit.
In video games, the most basic aspects of the player interaction are still some of the most unsolved. How do the sticks turn into motion. How does that motion show in animations. How does physics & kinematic animation interact. How does physics limit your motion. How does a 3rd person camera track the player & the action. etc. very basic stuff, really not solved, and lots of interesting technology to work on.
Ruh roh shaggy.
The right way ("right" being defined as fast & easy) is to cut the flesh away from the core, not to try to cut the core out of the pepper. Basically you want to chop off the outsides the same way you take the outside off a pineapple. Also never detach the stem part of the top from the core, you want it to hold the core together so you don't make a mess.
In detail : stand the bell pepper up vertically ; put the most stable end down, whatever that is. Your non-knife hand should be stabilizing the pepper by placing a finger tip at the top. Make vertical cuts downward with your knife, following the shape of the outside of the pepper, to cut off just the edible pepper walls. The knife should go right along the inside of the pepper walls so that the veins are left attached to the core. Don't try to cut too much in one slice or you will cut into the core or the veins - just take off the outside. It will take 3-8 cuts to take off all the outside depending on how irregular the shape of the pepper is. Your non-knife hand should now be holding the core with all the seeds and veins attached, which you throw away. When you do it right (very easy with practice) you will be left with 6-8 slabs of edible pepper exterior with almost no veins or seeds, completely ready for use.
For example, all of these people are 100% retarded. retard 1 , retard 2 Like hey, I know nothing about anything and my skills suck and my brain is broken, let me make videos telling people how to do things that is totally the wrong way. The blind leading the deaf or something. Yay interwebs.
(I mistakenly had this guy in the retard list, but actually he just shows the wrong way first and then the right way, not retard )
This guy at video.about.com roughly does it right, but his knife skills suck donkey balls. Maybe this is how you will fare since you probably suck ass with a knife too. Go practice dicing onions.
Okay I made my own video . I only had one bell at home so I knew it had to get it in one take. The pressure was on so I went extra slow and careful.
BTW I don't mean to rag on the amateur home chef with shitty skills. This is for you to learn. The thing that pisses me off are these people who presume to be teachers and just suck so bad. How dare you think that you are qualified to teach anyone anything when you obviously haven't studied or put any effort into this subject at all !? I have great respect for the people out there who actually have skills, and there are plenty of them, and it's disgusting for someone to put themselves on that level when they don't deserve it.
I now see it's an example of how people can take very different approaches to a problem, think that they have spanned the solution space, and yet still be ridiculously far off the optimum performance.
The right way to take the ends of blue lakes is similar to the right asparagus solution : just use a knife. Line up a bunch on a board and chop. Line up, chop. You're done. It's an order of magnitude faster than the hand breaking method, like seconds instead of minutes.
Presumably the very common practice of breaking off the ends of green beans by hand came from the historical practical of de-stringing string beans, but modern green beans don't have strings so this practice is vestigial.
Some of the better places now are grass feeding early and then stuffing with corn to "finish" before slaughter. Maybe that would work. I think wild Salmon is similarly shitty, the flavor is nice but it's so dry and dense compared to the lovely light tender farmed stuff.
It's basically trivial to spend a lot of money and produce good food; certainly plenty of people fail to do that, but it requires gross incompetence to screw up. Spending little money and producing delicious food takes care and skill. Of course it also takes a lot of skill to spend lots of money and produce truly superlative food, but very few people in the world ever accomplish that. Even their fanciest creations rarely surpass a good piece of buttered bread.
The better way is just to use your eyes. You can see the transition. This is of course what they are doing, using their eyes to decide where to hold it to snap it. Even if you use your eyes I can't really recommend the snap method, because it's very imprecise and you often snap off lots of good tasty bits. Just use a knife.
Once you cut it, you will see the exposed ring at the base. You can now see how thick the skin is there and decide whether you need to bother with peeling the stalk. Generally the actual woody part is very small or not existant at all on store-bought asparagus, and all you need to do is a bit of peeling.
Addendum : while on the subject of asparagus let's talk about size. It's really funny when people proudly brag about what nice thin asparagus they bought as if it's some prize. The truth is that in the supermarket, the thick asparagus is usually best. The love for thin asparagus is a very common sign of the yuppie fake-foodie pretentious douchebag who hasn't really put any study into food at all but acts like they are some authority just because they shop at Whole Foods and watch Rachel Ray.
The myth of thin asparagus is I think just based on foolishness. We could pretend that it's based on the fact that if you grow your own asparagus, the very first shoots will in fact be thin and tender and delicious, but I'm pretty sure that fact has nothing to do with this common erroneus belief. Asparagus is this plant that's mainly underground and sends up flower stalks over and over kind of like a mushroom. You chop off stalks a few times and it sends up more. When farmers grow asparagus, they of course do not chop off the first growth when it's very young - they sell by the pound and they want it to get bigger. So they let the first stalk grow big, then chop it off. This is the best asparagus and it comes in spring and is quite thick. Then they let it grow stalks again and chop it off. Then they do it again. These stalks will be thinner and thinner as the plant is getting out of season. In the fall you get very thin stalks and they are horrible. Of course the real way to judge the quality of your asparagus is to look at it like any other vegetable. Size doesn't matter so much as the color and texture. It should be all green, without any yellow splotches. The skin should be plump and smooth, never wrinkly. If you can touch it, it should be crisp and snap easily, never bendy.
Amusingly, this asparagus error is so common that you will often find the asparagus bin has been picked through and all the crappy thin stuff has been removed, and only the nice plump crisp thick stuff is left. Well, okie doke. To give people some credit, part of the misconception comes from the fact that thick asparagus does need some peeling. That can be done very quickly with a paring knife if you have top skills, or slightly slower with a veggie peeler.
Now if you are one of the many people suffering from bad information and believe that thin asparagus is good, that doesn't make you a horrible person. But if you brag about that fact and act like you know far more than you do, that's bad. There's general disease in our culture that people like to act like experts and take pride in things that they have put absolutely zero effort into; have you studied food, have you read books, have you practiced, have you asked questions? no? then why the fuck are you pretending to know what you're talking about? The real test comes with how you react to correction. Good people are glad to be corrected and welcome the new information, perhaps with skepticism but still with gratitude.
I'm learning more and more that the idea of really living honestly and connecting to people on a deep level is not possible, and even trying generally makes your life worse. If you just do the superficial/manipulative thing of pretending to be the person that they want, positive & funny & loving & caring & interested in what they're saying & supportive and etc. that your life will be much better. eg. just fake it. You don't even have to "fake it till you make it", you just plain fake it, there is no "make it". A lot of people have a negative reaction to this idea because they have very false ideas of what "faking it" is like; they think of the total douchebag guy who's always smiling and acting your friend. That guy is just a really bad faker and obviously not a good example of how to live. The better example is the charismatic guy who's always nice and seems real and is fun to be around. He's a total faker, but he's good at it, and that makes his life better and the lives of everyone around him better.
In fact, being "real" and not faking it is very discurteous to others. Everyone can think of examples of this. Say you and your spouse throw a dinner party and he does something right before to piss you off. The mature thing which benefits everyone is to just hold it in and pretend to be happy until after all the guests leave. But even after they leave, why exactly do you need to say anything about being hurt? If you can say something and have it improve the situation and make it happen less in the future, or make you both feel better, then that's great, say something. But that's often not the case. Often you are saying something just to make yourself feel better, and it will make him feel worse and make you both angry at each other. Then you shouldn't ever say anything. Those cases are in fact the majority, and if you look for these spots you'll see more and more than the really considerate and mature thing to do is to ignore your real feelings and just act jovial and entertaining and sweet.
I'm so angry at my fucking human biology which makes me need the company of other humans. I wish I could just go away and live in the woods and commune with the squirrels and be happy, but I can't. My own cells betray me. They force me to seek the approval of these fucking walking turds. My own cells that I care for so well, they force me to feel like a loser if I don't fit in with these slags.
I guess I'm having a bad day. I'm kind of depressed, and in a somewhat amusing feedback loop, it really depresses me when I get depressed. If I was the strong uberman that I think I should be, I wouldn't let myself get depressed, so feeling depressed is a fucking failure, it's being weak, it's giving in to wallowing in teenage woes, and I'm such a fucking loser for doing that, which of course just makes me more depressed.
Bleck. While I'm ranting about it, these fucking web people just keep making the most awful unusable sites with fancy shit that doesn't work. I fucking hate fucking web apps and their shittiness and bugs and fucked interfaces. Yesterday I spent half an hour filling out the online application for a passport, and I get to the end with the magic button that says "generate form" and I click it and it takes me to a flash page and spins the loading graphic and then does absolutely nothing. Awesome.
Even more common these days are all the active forms where like every time you click a check box or something on a page it has to load to update some derived shit or show you something useless, so instead of being able to tab through the dialog and click things fast you have to go click, oh wait while it changes, click, wait, oh fuck my cursor moved, click, whoah the blank I was about to fill is gone. Fucking fucked retards.
One of the most common examples of this now is the fucking date entry widgets. I tab into the date entry field and start typing it out, then look up and notice that some fucking GUI widget has popped up over the date blank and now I have to mouse around to find the date I could've typed in half a second.
Basic composed pot roast : sear the meat in a big pan, salt & pepper of course. Toss a bit of flour in the pan and stir around in the meat fat (this will wind up thickening the sauce). Add liquid to almost cover, stock or maybe some beer, also bay leaves, whole garlic cloves, etc. Put on a tight lid or aluminum foil and toss in a 325 degree oven. Cook about 2 hours. Now jam the oven up to 425. Toss in a sheet of carrots rubbed in olive oil and salt & peppered. Also toss in a sheet of potato wedges with the same treatment and also perhaps some thyme or similar. Cook about 30 minutes at the higher heat. Make sure you don't completely run out of liquid on your meat, add liquid if necessary but not too much. The carrots should get nice and charred. When it's all cooked, remove from oven. Pour the juices off the meat & reserve. Toss the carrots and potatos in the pot with the meat. Toss in some frozen peas and let it all sit 5 minutes so the peas cook.
Turn the juices into a sauce. To really do this right you should've cooked the whole thing ahead so the drippings can cool and you can take off some of the fat. Or you can skip that. Taste the juices and maybe don't do anything. If it's too thick, add wine or beer or stock. If it's too thin, you can either cook some flour in the pan you cooked in to make a gravy/roux, or make a cornstarch slurry and add that, or if it's thin and the quantity is sufficient you can just cook it down a bit to reduce. Perhaps add salt & pepper to the sauce. Finish with a bit of butter.
On a related note, even "hedge funds" these days don't actually hedge. LOL.
Anyway, that's changed now, and Alissa introduced me to the Junior Boys. Who knew that my love of offbeat indie music and my love of electronic dance music could be combined? They're pretty rad.
1. The amount of work vs. amount of reward ratio is way off. The amount of work expected of employees is massive, and you have to be very smart, and the reward is nowhere near what you can get for similar highly skilled work in other industries (such as being a quant in finance, or a consultant for petro companies, etc. etc.). The big problem is that so many people want to work in games because it's fun and they love playing games, that it drives down the wages and makes the working conditions worse.
2. Competition with other crunchers. I suppose this happens in other industries as well, but the problem is to some extent all the game companies are competing to do the next cool thing, and everybody else is way overworking and crunching to produce things fast, and everyone is making things with a lower budget and shorter time than is really needed, and you have to compete with that. Some people seem to avoid this trap to some extent, like Valve and Blizzard, but they can really only get away with it because of the fact that they are the only ones that do it. And I don't think they're working at any less of a fever pitch, they just do it for longer.
3. Bad management. Most of the people running game production are not qualified for the task. I'm not sure this is necessarilly worse in games than it is in other industries, but the thing is game technology and production is changing so fast that you really need powerful intelligence to run a game company, whereas in other industries there are these learned best practices that have developed over N years that people can just copy and do okay. If you like you could phrase this as saying that the high rate of change of methods and technologies is what makes games so hard & painful to make, but really those things just expose the weaknesses of planners that can't handle thinking ahead and can only learn from experience. (eg. was the debacle of the Iraq invasion necessary because it was a new situation, or did the novelty of the situation just expose the incompetence of the planners that didn't anticipate the challenges correctly?). Also by "management" here I'm not necessarilly just talking about the game studios, but also the direction from publishers. Of course the rapidly changing technology is what makes it really fun to program for.
There's a whole new kingdom of hiking if I consider going as far as Mendocino or Auburn/Grass Valley , but those are mighty far for day hiking.
The only things I haven't done here are the short Alamere falls hiking in Reyes, and I haven't actually been to the top of Diablo, though I've been around it. I also haven't been to Sunol/Ohlone so that's something to do.
Anyway, the attraction for me was always the swimming hole ("China Hole"). It's a moderately strenuous 5 mile hike in to the hole which keeps the crowd down a bit, at least on week days. It's a nice big clean hole in a river with some fun jumping rocks. There's a bit too much traffic for nudity unless you're an incosiderate freakazoid who likes to show off their wang and belly to hapless hikers. I went with Alissa and we spent a few hours jumping in the cold water then lying out on the rocks to heat up, then jumping in the water again. There were fish and turtles swimming around us, wild turkeys making their psychopathic-clown-laugh sound, and much clumsy buffoonery by me.
I would go more often if it wasn't a 1:30 drive :( ; I put a few pics on flickr.
Kevin's Hiking Page
The best overall hiking page about CA. He hasn't added much content in the last few years so it's failing to keep up a bit, but still
very well organized and lots of useful information.
Gambolin' Man
Two-Heel Drive, a Bay Area Hiking Blog
Two excellent hiking blogs. Good photos and descriptions of lots of Bay Area hikes. Two-Heel is more strait to the point information,
Gambol' is more of a prose poem about the wonders of hiking with lots of great photos.
California Hiking Trail Finder
SlackPacker is a cool site with good general info on how to be a decent hiker. Their link page of CA information is quite good.
.. Hiking in Big Sur ..
Really superb site detailing the hikes in Big Sur.
WaterFallsWest CA Index
WaterFallsWest Blog
WaterFallsWest is a cool page I just found. Obviously it's focused on waterfalls which I don't care that much about, but it's got tons of
information on hikes in CA, and waterfalls very often = swimming holes, which gets me pretty excited. It's also a mix of a hiking blog + a
useful database which is a pretty sweet combo.
Openspace.org - Your Preserves
The Peninsula Open Space main page ; the site blows but their maps are superb, so just download all the PDF's and figure out your own trails.
Redwood Hikes
RedwoodHikes is a commercial site selling maps & trail guides. There's plenty of free information though and their trail descriptions and
photos are very good quality, unlike the shitty bahiker. Even their limited previews of maps are better than most of the free maps you can
get elsewhere.
Running Trails - trailrunning tips and information.
Marin County trail running site. I hate trail running, but this site has some useful descriptions of trails with good information you
don't often get, like how to link various trails together and water stops and grades. Also, these people are fucking irresponsible
douchebags, running up & down steep trails with trekking poles totally ruins the mountain, so if you stop by email them some hate.
Random other hiking links I have :
Waterfalls of California - Traverse Creek Falls; Placerville, El Dorado Natl. Forest
Waterfalls of California - Shingle Falls; Spenceville Wildlife Area, Marysville
Waterfalls of California - Gold Country Regional Map
The Tahoe Sierra A Natural History ... - Google Book Search
South Yuba Trail
South Yuba River SP
South Yuba Map
Popular Day Hikes that Start at Henry W. Coe State Park Headquarters
Point Reyes National Seashore - Maps (U.S. National Park Service)
Nevada County Today's Feature Summer swimming holes They're plentiful along the Yuba River if you know where to look - TheUn
Mycological Society of San Francisco
Malakoff Diggins Shp, Northern Sierra Nevada, California
Henry Cowell The Truck Trail and Fall Creek
Henry Cowell Swimming Hole
Henry Cowell Redwoods Big Rock Hole Swim
China Hole & the Narrows
Camp Spots by Swimming Holes - Weekend Sherpa
Best hikes in the San Francisco Bay Area
BAY NATURE Fields of Color Wildflower Viewing in the Bay Area
Bay Area Hiker Tennessee Valley Trailhead
Bay Area Hiker Memorial Park
Bay Area Hiker Ano Nuevo State Reserve
Arroyo Seco Nude River Hike (NSFW)
In general in human decision making processes, adding another type of factor to the decision make it almost unsolvable. If you're just looking at {job} you can give values to your choice and pick the best. When you start trying to make a decision on {job,location} you suddenly have a metadecision - how to weight the two factors. The problem is they're in different units, so there's no absolutely correct way to combine them to make a single rating, it's totally arbitrary and you just have to "feel" how you want to want the two factors, which leads to dead end logic and circular reasoning and general failures to make a decent decision.
There are three good web sites about hiking in the bay area : Hiking with Kevin , Gambolin' Man, and Two Heeled Drive. When you search for hikes on Google, quite often not one of those three will show up on the first page even though they have info on that hike. In order to get the information I want, I have to do searches like "portola redwoods kevin" or "portola redwoods gambol" which is fucking retarded.
Step 1 improvement : The system should know I like those pages and automatically give me results within them.
Step 2 improvement : The system should've figured out I would like those pages based on my tastes and how other similar people already rated the sites.
I've always had a pretty active online life, but unlike the new generation of web 2.0 kiddies, I like to keep it separate from my real world life. I think that's pretty common among the older generation like me, we don't merge our physical and digital worlds so much. I'm okay with taking people from the online life and promoting them to real-world friends, but after that I can no longer be as free around them online, and any intimate communication has to be real world. Once I make too many real-world friends on a certain site, I can no longer be free there and have to leave and go to a new site where I don't know anyone in the real world.
BTW I think we should call web 2.0 sites "BBS's" since they're really not much more or less than an old BBS. They are similarly isolated from each other. They're a similar mashup of forums and other content. The BBS's generally had much better moderation and community management and screening. It's kind of funny that we went from these little islands of BBS's that had many great advantages, and we blew them up and went to the totally spread Web model which threw away the greatness of community forums, and now we're back to basically a BBS model and we haven't really improved on it much at all, except for the trivial UI improvements that you would expect from the huge increase in network speeds and computer power.
I'm talking to ILM and PDI to see if there might be a fun job for me there. It seems like it could be a pretty good fit; I imagine they have some smart research guys, but I think I could bring an ability to understand practical issues and implement good technical solutions. But my background is not in film, and they don't know me, and my resume/experience doesn't impress them at all, so I get tossed in with the regular candidate pool and have to list my skills and all that junk, it's quite humbling and I'm really not used to it.
I would be taking a big pay cut & seniority cut at these places, but I'm totally fine with that as long as the work is good. The problem is it's hard to tell if the work really is good. I really don't put salary as one of the more important things about a job, I care more about what work I get to do, how cool/smart my coworkers are, how good the management is, how much freedom I have at work, etc. However, on all those criteria you will be lied to by the people trying to hire you. Salary is the only thing that you actually know for sure you will get what you are promised.
It reminds me of back in the day when I first interviewed at some game jobs, and I interviewed at Valve, and I was kind of laughing to myself inside the whole time, because I could tell the Valve guys were not really impressed with me at all, and I knew that I was a fucking code ninja and they just couldn't see it.
ps. I'm not actually as arrogant as this post makes me appear to be.
Basically a good film-buff human is way better at recommending movies that are related to something I like. That really shouldn't be. The computer has way way more information about my taste history and about the movies that are out there, but it still isn't close to making good recommendations.
And I also have to mention Emir Kusturica and Takeshi Kitano. If you haven't seen their core body of work, they are absolute must sees; I always think of them as pretty mainstream and well known, but it shocks me to find how many film buffs haven't seen any of their movies.
The core Emir Kusturica set is "Time of the Gypsies" , "Underground" and "When Father was Away on Business".
The core Takeshi Kitano set is "Hana Bi", "Sonatine" and "Kikujiro".
K & D are unitless config parameters of the PD K = 1 and D = 1 are reasonable ; D = 1 is critical damping time_scale = desired time to converge dt = current time step x0,v0 = start position & velocity x1,v1 = target position & velocity ks = 36 * (K / time_scale)^2 kd = 9 * K * D / time_scale scale = ( 1 + kd * dt + ks * dt^2 ) a = ( ks * (x1-x0) + ( kd + ks * dt ) * (v1-v0) ) / scale vt = v0 + a * dt xt = x0 + vt * dt
If you had no min velocity that would be it. Note the funny scale numbers in ks & kd ; those are just there so that the time to converge roughly matches "time_scale", and so that K = D = 1 is a good choice. Note that K,D, and time_scale are really not three independent parameters, there are only two free parameters, but it's easier to tweak if they're seperated because you can leave K and D alone and just change "time_scale" to match your desired duration to converge.
To handle min velocity you add some logic after the above PD step :
mv = min velocity
if ( |xt - x0| <= (mv * dt) )
{
if ( |x1 - x0| <= (mv * dt) && |v1 - v0| <= 2*mv )
{
xt = x1;
vt = v1;
}
else
{
vt = (x1 > x0) ? mv : -mv;
xt = x0 + vt * dt
}
}
This is ugly in various ways. The first part was a pure PD that works in N-d. Now we've gone to 1d. Also the first part
worked with arbitrary end velocities. This min velocity part only really works for a still target. I think it's not too
hard to fix for a moving target by using a min velocity relative to the target but I haven't bothered.
Now of course PD's don't always take the same amount of time to converge, unlike the cubic. Converge time depends on initial seperation and initial velocities. With the constants in the equations above, and if you set up your tweaks right, then you can have a PD that converges in roughly "time_scale" for typical starting situations. Here's how the time varies :
the X axis is the "time_scale" parameter, and the Y axis is actualy time to converge. If it converged in the time you wanted, all the points would be on the red line (Y=X). There are four series of points for different starting distances so you can see how converge time varies for starting distances. The distances are {160,320,480,640}. In the graph the start & end points are all at zero velocity.
I figure I should write up the maths for the record since I've described it previously but haven't been totally clear. There's an implementation in testdd you can look at.
The goal is to make a curve that goes from initial position & velocity {X0,V0} to final position & velocity {X1,V1}. Position and velocity are N-d vectors. Traveling this curve, you should at no point exceed the maximum acceleration "m". m is a scalar. I'll use caps for vectors and lower case for scalars.
The lowest order polynomial curve that fits these condition is a cubic. A parametric cubic has 4 vector coefficients which can be used to fit the end position & velocities. It also has a free scalar - the time to travel the parametric interval from 0 to 1. This duration can be fit to "m" the max acceleration.
Using the Bezier form we have :
B(s) = B0 *(1-s)^3 + B1 *3*(1-s)^2*s + B2 *3*(1-s)*s^2 + B3 *s^3 s = (t / d) is parametric time t = real time d = duration of curveAnd fitting to the end conditions :
B0 = X0 B1 = X0 + V0*(d/3) B2 = X1 - V1*(d/3) B3 = X1Now, the velocity of a cubic curve is quadratic, the acceleration is linear. The means the highest acceleration on the interval [0,1] is either at 0 or 1. So we have to just check the acceleration of the two end points :
A(0) = 6*(B0 + B2 - 2B1)/d^2 A(1) = 6*(B3 + B1 - 2B2)/d^2Now you have to solve both end points and use the shorter of the two durations. You may want to early out to handle the trivial case, if you can use a tiny value for "d" and not exceed maximum acceleration at either end point, then just return. In fact "tiny value" could be the duration of the frame - if you can step the whole curve in one frame then just do that.
If we just consider A(0) for now we have to solve :
|A(0)| = m m = max accel parameter or A(0)*A(0) = m^2 (B0 + B2 - 2B1)^2 = m^2 * d^4/36 ( (X1-X0) - d*(2V0 + V1)/3 )^2 = (m^2/36) * d^4You can expand out the dot product and you are left with a quartic polynomial in the duration "d". Solve this polynomial. There are in general 4 complex roots of a quartic. You must choose the lowest magnitude positive real root. There should always be a positive real root because all the coefficients are real.
Note that the quartic arose because A was a vector - if we want to just solve the 1d problem it's much easier, because the equation in d is just quadratic. Note that you can not just solve the 1d problem and run it indepedently on each dimension of a vector, because that allows maxaccel in each dimension seperately and gives you curves that are obviously axis-aligned (it breaks rotational invariance of your space).
Once you have solved for the shortest duration "d" which gives you a curve that doesn't exceed maxaccel, you can now simply step along the curve. Note that we are not simply applying a force, but taking an exact step along the curve, you evaluate the position and velocity from the curve at the end of your current time step. This is equivalent to doing an exact integration with a force that is changing.
NOTE : we are not solving this curve once and hanging on to it; our system has zero state. A new curve is solved each frame using the current position and velocity. Because the cubic is exactly constrained, if the external conditions are not changing, then solving each frame will produce exactly the same path as just following the original solution the whole way. If the external conditions are changing, then the path changes smoothly.
ADDENDUM : talked to Drew about this, he made me aware of two issues. One thing I should state clearly : when you are changing the duration of the cubic, you are not just changing how long you take to follow the same curve. Obviously changing the rate of change of the parameter would change the acceleration, but that would also change the start & end velocity. In the math we did here previously, we are scaling the duration of the curve while keeping the real-time start & end velocity constant, which means that we are changing the parametric velocity of the ends of the curve. That means the curve actually has a different shape as you scale the duration.
The other note is that it might be possible to have seperate accel/decel parameters by using a different "max accel" parameter for A(0) and A(1), since you are generally at max accel at the start and decelerating at the end. That's not necessarilly true if the start & end velocities are not zero so maybe a bit more thought is needed, but in general the idea of using different maxaccel to get a control over accel & decel seems possible.
BTW you can also acheive the same purpose using a piecewise quadratic. To use a piecewise quadratic you have 3 phases of travel :
phase 1 : accelerate up to max velocity phase 2 : travel linearly at max velocity phase 3 : decelerate to hit targetSo in phase 1 you are fitting the end points {X0,V0} and ending max velocity. The maths for piecewise quadratic are slightly simpler, but the logic is quite a bit more complex because you have to figure out what phase to use and also handle the degenerate cases where phase 2 is not needed because you're close enough to the target.
I find the cubic is more appealing because you can just do the math and get an answer. There is one advantage of the piecewise solution, which is that you can have seperate max accel parameters for the acceleration and deceleration parts of the curve, which can give you non-time-symmetric curves.
The ideal sensual movie is intelligent, titillating, lush. It's a very fine line between cheesy and hot, because you do want a little bit of that orange-light soft-focus over-acting-pleasure, but if you get just an ounce too much it crosses into cheese and doesn't work. The ideal movies tease
There are a lot of classic Hollywood movies from the studio age that sort of qualify, but I'm not going to include any of them because they never quite cross the line from alluring to arousing. Something like "To Have and Have Not" may in fact be more appealing to women, or pretty much any early Brando, Bogart or Cary Grant movie.
I'm also not going to list movies that have like 5 sensual minutes that are sort of out of place in the movie and don't fit in with the general mood.
Not Sexy :
The truly sensual movies are as much about the director and the look and feel of the movie as what happens to the characters. They also have to be good enough to be watchable just as movies.
Sexy (in no particular order) :
Typical office conversation around noon : Where do you want to go to lunch? Uh, I dunno, whatever, where do you wanna go? Whatever. Well what about that one place? Mmm, nah, not there. Well how about blank? Nah.
I like to play "Choice Giver / Selector". This is sort of like the fair way to cut cake. One person cuts the cake into pieces, then the other person gets to choose which piece they want.
In "Choice Giver / Selector" , first someone is nominated or volunteers to be the Choice Giver. The Choice Giver should give 2-3 fair options which are reasonably distinct, eg. you can't just give the one option you want and then other straw man options. There's always protection against a bad choice giver, because the Selector gets to choose one of the options, or he can select to swap roles - he says "none of the above" and then becomes the Choice Giver and must give options himself.
In terms of a social dynamic, two details of this are important. The Choice Giver is only giving a few choices - not simply listing every possible option. By only giving 2-3 options he is expressing his own preferences, not putting all ther burden of decision making on the Selector. The Selector also can't just simply say "no" - if he doesn't like the options then he must take on the burden of giving options, and he must then offer 2-3 options that are reasonable and distinct.
I've given the example for two people, but this works in a group too. The initial Choice Giver volunteers or is nominated by the group. The group then votes on the options, or votes "none of the above". If none of the above wins the vote, then the group votes to nominate a new Choice Giver.
Of course it's quite common for people to play an informal version of Choice Giver / Selector but they leave out some of the very crucial aspects of the rules which ruins the entire balance of the game.
Hybrid cubic works like this : if the target is stationary, the max time to converge is set by a user parameter. A shorter time can be used at any time as long as max accel (user parameter) is not exceeded. The result is that you get the desired behavior of the original cubic controller of reaching the target exactly within a certain time interval, and it avoids the weird quirk of sometimes taking extra long curves because it was always taking the same amount of time - now it can take a shorter time in a reasonable non-hacky way. Note that this is not some tweaked out fudgy solution. There are two user parameters : max time to converge & max acceleration on the path, and the cubic path that fits those constraints is found exactly each frame.
I wrote something about this on game-tech but I never posted it here I don't think. To me, PD controllers and this cubic controller thingy seem like very opposite ends of a theoretical spectrum of controllers. On the one end, the cubic curve is exactly symmetric. That is, the path from P0->P1 and the path from P1->P0 are identical under time reversal. The cubic goes from point A to point B in controllable finite time, and basically never overshoots. The PD is sort of the opposite in every way - it's very asymmetric, it attacks hard to cover distance fast initially, then slows down and comes in to settle very slowly (eventually infinitely slowly for a pure PD). A standard critically damped PD will definitely overshoot as part of the price to attacking quick and then stopping gently. In hand-wavey terms the PD feels very "springy" while the cubic feels very "robotic".
Now in theory it would be awesome to have this as a parameter. So if parameter is 0, you get a cubic, if parameter is 1, you get a PD, and in between you can play with how robotic or how springy your controller is. And of course that's easy. You can just blend the controllers. It's important to note why you can blend the controllers - they are stateless and linear. You could just get the acceleration from each and blend that, but that's not exact since with both the PD and the cubic I've solved them to take exact time steps, going to a discrete integrator with a constant acceleration would be lame. But of course Newton's equations are linear too, so I don't need to blend the accelerations, I can just run both controllers independently and blend the resulting position & velocities. This is now in testdd as "mode 10" ("blend").
A quick note on PD's. You generally want a critically damped PD. PD's will never exactly converge, so you need to fudge it. The best fudge I found was a "min velocity" parameter. This make the controller try to at least move you at a speed of "min velocity" towards the target, which cuts off the long exponentail tail of PD convergence and make the end part linear. Now, with this you might go ahead and try using an overdamped PD to reduce overshooting. That does work but it's a little weird looking. I can't imagine why anyone would ever want an underdamped PD, they're just gross. I couldn't find a clean stateless way to give a PD controller a max acceleration. If you do it naively, you prevent it from stopping fast enough and get horrible oscillation. If you try to prevent that naively by allowing decceleration, you get weird looking curves when your points move around in 3D space because you've created a splitting plane where your controller changes discontinuously.
It used to make both Dan and Tiffiny very upset, not because I was writing anything personal about them or our relationship, but because they felt like I was sharing more of my inner thoughts with the anonymous internet than I was with them.
The positive effect is mainly that it leads me to email threads with people I'm close to on a much more intimate level than we would otherwise communicate. I've gotten some very good emails recently because of that, but in theory I could have those conversations with my friends without using a public blog to initiate them. In practice I probably can't.
More : 11/2007 to 03/2008