「time.」を含む日記 RSS

はてなキーワード: time.とは

2012-02-07

saw2-5 ロリコン

<Game>

Sometims, moving forward in life means pain.

Each of you has half the means to free yourselves.

Michael, you have the information that Zeke nedds to solve his puzzle.

Giving him the information he needs to live will cause him a great deal of pain.

But ignore the problem and you both go nowhere. Good luck!




Zeke

Hello Zeke. You like to molest little girls,

robbing them of their precious childhood and stteeling them into lives of prostitution and drug.

You were caught red-handed, but went to prison for only a fraction of your ??? .



Around your wrists are razors.

Soon, someone will come in and tell you a series of numbers.

Twist the device in the box to match the numbers you are given.

This time, your hands will be red with blood.




<Michael>

You have the key, and with it the power to save a life.

But only if you make it in time.




Don't feel too bad for Zeke; those hands used to touch little girls.

Now they'll just touch the bottoms of a trash bin.

2012-01-06

Article 14 the mobile phone will know the battery skills

If users want to prolong battery the efficient use of the time, in addition to the quality of the charger to have the guarantee, the right skills and charging is essential, because of low quality charger or wrong charging methods would affect battery time and life cycle, the following is about to charge skills:

1. The battery before they leave the factory, manufacturers were activated processing, and the charge, so the battery are more electricity, my friends say battery charging adjustment period in accordance with the time, standby still seriously insufficient, assuming that the battery is really quality goods battery of words, this kind of circumstance should extend the setting and then 3 ~ 5 times fully charge and discharge.

2. If new phone is lithium ion battery, so before 3 ~ 5 times charging commonly known as adjustment period, should be charged more than 14 hours, in order to ensure that the fully activate lithium ion activity. The lithium ion battery no memory effects, but have very strong sui sex, should give full activated PANASONIC CGR-D220 Battery, to guarantee the use of after can reach the right performance.

3. Some automation intelligent quick charger when instructions lights change, said only full of 90%. The charger will automatically change with slow charge will batteries. Best will use after batteries, otherwise, it will shorten use time.

4. Before charging and discharging lithium battery does not need special, but will not discharge damage to the battery. As far as possible when charging at the slow ChongChongDian, reduce the way quick charge; Time don't more than 24 hours. The battery after three to five times fully recharge cycles of internal after chemical will be all "activate" to achieve the best use effect.

5. Please use the original or the reputation of the good brand charger, li-ion battery to lithium battery charger with special, and follow the instructions, otherwise, it will damage to the battery, and even dangerous.

6. Have many users often in charge still leave her cell phone, actually such will be very easy to PANASONIC CGA-S101E/1B Battery damage the service life of the mobile phone, because in charge of the process, the circuit boards of mobile phone can calorific, if this time more exotic phone, may produce instant backflow current, internal parts to mobile phone damage.

7. The battery life depends on the number repeatedly charging and discharging, so should try to avoid more battery electric charge when, this will shorten battery life. Cell phone time more than 7 days, supposed to completely discharge the cell phone battery, enough electricity before use.

8. The cell phone battery have self-discharge, need not when the nimh batteries will press the residual capacity every day, about 1% of the discharge, lithium battery every day to 0.2% ~ 0.3% discharge. In for the battery, try to use the special socket, don't will the home appliance such as the Shared and the TV charger socket.

9. Though the phones in the network coverage area, but in the cell phone charge, cell phones have been unable to accept and call. At this time, can use of the mobile phone is not transfer function, will be transferred to the mobile phone side of fixed telephone in order to prevent calls lost, this kind of method for mobile phone is not in the network coverage of the area or weak signal and temporarily unable to the applicable also.

10. Don't will be exposed to high temperature or cold PANASONIC DMW-BCG10E Battery , as the dog, should not put the phone on the car, and the sun blazed through the; Or get air conditioning room, in air conditioning to be blown continuously place. When charging, the battery is a little heat is normal, but can't let it what the high temperature "suffer". In order to avoid the happening of this kind of circumstance, had better be in charge at room temperature, and don't cover anything on the mobile phone.

11. Nickel cadmium (N iCd) before the battery must ensure that the batteries are no electricity, recharging the battery must ensure that sufficient electricity after.

12. If the cell phone battery placed too long and not use, the best maintenance department to cell phones to the application for a live processing, also can use a constant dc voltage is the voltage adjustment for 5 ~ 6 V, current 500 ~ 600 mA reverse connect battery. Note that a touch namely release, the most repeated three times can, through such treatment after another, with the original adapter to "adaptation" charge.

13. Charge is not as long as possible, to no protection circuit batteries that should stop after charging, or the battery will with fever or overheating impact performance.

14. Lithium ion battery must choose special charger, otherwise may not reach the saturated state, affect their performance. Charging completes, should avoid to place in charger on more than 12 hours or more, long-term need not when should make a battery and cell phone separation.

2011-12-28

Summer scenery to take pictures of small skills

Undesirable cameras benefits us many 100 % satisfaction, leading to numerous spectacular images, as well as the hot months is operating relating to dependable summertime. This specific classmate through break free will be able to figure out any tons in addition to waterways, downtown along with far-away beautiful gardening, and yet may these pure attractiveness to become a memento playing hit decrease, apart from skin color boil due to the high-end digicam purpose, a great deal more simple could be to evaluation whatever taking pictures competency as well as having photos. The amount, smaller try to make your work latest many of the summer season harvesting powerful see to it, typically the classmate need to next image have a go through, you become this confidently unexpected wonder.

Digital cameras would bring us lots of enjoyment, leaving a myriad of unique images, and summertime is journeying in wonderful summer season. The classmate throughout the getaway can recognize that reams together with estuaries and rivers, metropolitan and also countryside attractive panoramas, yet take place all these charm being a memento opportunity straight down, together with steam as a result of a camcorder operation, a lot more crucial is usually to examine ones own taking functionality and also taking photographs. That period, the little generate your choice have quite a few summer months firing effective be mindful, the particular classmate may as well within the next snapshot have a shot at, you will get the particular total surprising stun.

Household landscapes

By out of doors firing indoors panoramas, basic will need throughout the Windows 7, out-of-doors mild typically currently have more substantial indoors light-weight, now a couple of challenges ought to be sorted out, is the particular coverage time frame, a couple of it truly is in order to avoid a display reflective, when pics of any camera through hands-on management operate, might take number of years coverage setting up, when photographic camera goes so that you can twit style, can easily will likely be ISO level of sensitivity Surroundings bump up, this ISO 2 hundred or perhaps ISO six hundred aiming.

Inside panorama 's best golf shot employing a tripod, in any other case, wants a spot to guide, one example is in opposition to any divider and entry, and even the true reason for executing it is because very long coverage is quite effortless construct any digital camera protein shake, producing photographs regarding fluffy envision. It's best to utilize the shutter launch, or perhaps utilize to get center-weighted avoiding relocate a video camera. Notice: except if absolutely necessary, tend not to available the particular pen, stay clear of a lot more reflective.

Out-of-doors landscapes

Bring that landscape designs from the probability with the photo may well schedule some individuals or even factors, and this also may help the room inside the operation of your view photos. Get a large surfaces area photos, as an example the veranda as well as the roof top, hillside, for example. Typically inside the mid-day is without a doubt the most suitable time frame filming this landscapes. Filming, having a polarizer to adjust a illumination with the stars, produce the particular heavens develop into dreary quite a few, well known from the glowing blue stars the white kind of fog up, as a way to boost the space or room repeatedly.

Several virtually no guidebook vulnerability management of any camera together with location form, as well as the landscape designs way is completely features on the list of manner, you are able to use landscape designs way to adopt shots. Together with handbook vulnerability restrain photographic camera might opt for aperture goal option that will movie, aperture to help acquired far better pick out F8 to help you photograph or maybe F11, this photo will be extra management concentrations senses.

houses

The particular modify on the urban center is without a doubt switching, specifically together with a lot of approach large establishing intended for symbolize, and also this are at recent many portrait digital photography buffs including firing template.

Yet typical photographic camera through simply how much suitable container distortion, hence as a way to make an effort to reduce the photograph of your deformation belonging to the accumulating " up ", thus you ought to pick around substantial thoughts and opinions filming. One example is inside the steps, or perhaps some other might help the beliefs with area. If you fail to find the correct destination for a reside, you can from the again, clear of the particular lead entity to cut back a distortion. Maybe you've employed the greatest wide-angle standard zoom lens. Vivid stars will be able to replace with a developing with the darkish. Having a polarizer to cut back or perhaps wipe out construction with reflective a glass. In addition to, certainly, consume an excellent know with the can make one of a kind imaginative results.

mineral water

Firing apply or maybe a aerosol in waters, incorporate the use of part mild and also backlight try to make waters intended for introducing see through pattern. Several novices all of coveted by a really "splash with photos, in truth, I am able to effortlessly applied for, so the hurrying h2o glance alot more downy, have got a form of passionate blur. Shutter possibly inside 1/10 so that you can 1/6 erinarians regulate might get move cosmetic perception for splash pics.

At night and also night time

Local plumber to be able to sunset taking scenario regarding is usually 15-30 moments, next the stars always possess some colouring failed to ends. As a way to raise the graphic with the amount with subject, can easily on the ending with the passage and also uncover several regarding an individual's special world. It is as well the location where the tripod on has to be, commonly programmed coverage is definitely o . k ., yet you should attempt to utilize hands-on visibility, and also the employment of the particular shutter put out restrain taking, respectively for 2, 5, 8, 12 and also of sixteen secs shutter tempo so that you can capture some photo contrast.

Needless to say now and again continue to are able to use ISO200 to help you photograph, yet so that you can be aware of an electronic camcorder with disturbance handle is normally adequate, when pixels will be overweight, or maybe together with ISO100 contrasting by using base style to help motion picture.

In truth firing night time scenarios, at times to be able to as well do not require that filming with step-by-step developing oh, this streets these kinds of, a small amount convert tips plus aiming design and style, might get the result of experiencing a specialized pattern.



_____________________________________________

http://www.gobatteryonline.com/canon-powershot-sd850-is-battery-charger-gose.html

http://www.chargerbatteryshop.co.uk/panasonic-lumix-dmc-tz7-battery-charger-cbbs.html

2011-10-04

諸君、我々はMakeが好きだ

諸君、我々はMakeが好きだ


諸君 私はMakeが好きだ

諸君 私はMakeが好きだ

諸君 私はMakeが大好きだ


ブレッドボードが好きだ

ユニバーサル基板が好きだ

LEDが好きだ

ハンダが好きだ

ダンボールが好きだ

フェルトが好きだ

アクリル板が好きだ

サーボモーターが好きだ

エンジンが好きだ


ニコ動youtube

ブログtwitter

大学高専

空中で 海中で

野外で 室内で


この地球で行われるありとあらゆる工作活動が大好きだ


体育館外のエンジン展示物が轟音を上げるのが好きだ

プロペラ自転車エンジンロボットが並ぶ様など心が躍る


ニコニコ技術部の操る初音ミクねぎ振り展示物が好きだ

体育館の壁にレーザーで巨大なミクさんが描かれたときなど胸がすくような気持ちだった


入り口付近に揃ったワークショップに参加するのが好きだ

初ハンダにすっかりテンションがあがった参加者が同じ場所に何度もコテをあてている様など感動すら覚える


暗い部屋に光る展示物が並べられていく様などはもうたまらない

はじめてのMake参加者が歌うテスラコイルの衝撃を口々に伝え合っているのも最高だ


怪しい出展者達が雑多な展示物を健気にも説明するのをひとつひとつ聞いていく時など絶頂すら覚える


無邪気な子供達に作品が滅茶苦茶にされるのが好きだ

必死制作した展示物が想定外の使い方で壊れていく様はとてもとても悲しいもの


オライリーの本やグッズが大量に販売されるのが好きだ

ついつい買いすぎてしまい、出展物を含めた重すぎる荷物をもって駅に向かう途中、紙袋が破れるのは屈辱の極みだ


諸君 私はMake天国の様なMakeを望んでいる

諸君 私にと共にMTMに出展するMaker諸君

君達は一体何を望んでいる?


更なるMakeを望むか?

情け容赦のなく楽しいMakeを望むか?

鉄風雷火の限りを尽くし三千世界の鴉を殺す嵐の様なMakeを望むか?



MakeMakeMake!』



よろしい ならばMake


我々は渾身の力をこめて今まさに振り降ろさんとする握り拳だ

だがこのMake中止の暗い闇の底で1年もの間堪え続けてきた我々にただのMakeではもはや足りない!!


Makeを!!

一心不乱の大Makeを!!


我らはわずかに一個大隊 千人に満たぬ出展者に過ぎない

だが諸君は一騎当千Makerだと私は信仰している

ならば我らは諸君と私で総力100万と1人のMaker`sとなる


Makeを忘却の彼方へと追いやり眠りこけている連中を叩き起こそう

製品とは買ってくるものだと思い込んでいる連中の眼を開けさせ思い出させよう

連中にMakeの味を思い出させてやる

連中に我々のLEDの光を思い出させてやる


天と地のはざまには奴らの哲学では思いもよらない工作物があることを思い出させてやる

一千人のMakerの出展物で世界をHackしつくしてやる


オライリージャパンよりMakerへ」

目標 東工大大岡山キャンパス


第7回 Make Tokyo Meeting 状況を開始せよ


さあ諸君、Technology on Your Time.

2011-09-08

Feeling of the cat

Translated from http://anond.hatelabo.jp/20110907020451




For a long time, I am in a dark box.




According to someone's comment I heard outside of the box, a tiny bottle containing deadly poison is located in this box. Although the bottle is completely sealed, a hammer is positioned in the vicinity of the bottle. And they said the hammer would fall down at a certain time.




When is "the certain time"? I don't know. In this very moment? Or distant future? Possibly, it already has come (I don't want to think about it). No one can affect the hammer. As an independent event, it will fall down with probability 50%. The probability is exactly 50%. Possibly, the bottle may be broken, or may not. About myself, dead, or, alive.




I must say, how terrible the situation is.




It is impossible for me to avoid having a furious indignation. My life, the most important issue for me, is completely away from me, and is solely dependent on the simple figure, FIFTY PERCENT! Too much terrible.




Additionally, and I think it is completely unreasonable, I am shackled in many ways to keep the probability at exactly 50%.




Visual perception. The box is completely shielded from any light. It's for avoiding me from finding and destroying the bottle and apparatus. Complete darkness. I am in the total darkness. Thus, now I can’t see even the outline of myself. Possibly it sounds strange, the darkness makes me have a doubt about the existence of my body itself.




Acoustic perception. Maybe, from the reason I mentioned above, a perfect sound insulation is used. I can’t hear even the voice of my own. I don't know the mechanism. In the first place, as I can’t see anything, how can I investigate it? So, this is only a speculation, possibly, my drum membranes were damaged before enclosure in this box, or, some special material is used for the wall of the box.




Anyway, in a dark box too much good at shielding light and sound, my visual and acoustic perception is dead just as the term indicates.




As if further confirmation are needed, a huge fatigue weighing heavily upon me is another shackle for me. It seems that they gave me some kind of muscle relaxant to avoid me from struggling. As I can’t change from the same posture, my tactile perception is almost paralyzed.




No light. No sound. Smell and taste are unreliable. Tactile perception is in malfunction. I am like a puppet. All the five senses are out of control of mine. Too much cruel. Perfect shackles. I wish if they had given a sleeping medicine. I feel I am in agony without any external injury. My life, my existence itself, is completely ignored. Such a humiliation keeps my sanity. Only such a humiliation can.




The right to control the life and death of myself is completely deprived. I hate such situation. The core determinant of the continuity of my life is completely dependent upon, solely upon, a pure probability. Completely away from anyone's will. I hate it, again, I hate it!




Why do I have to be enclosed in such a box? In such a ridiculous box, why do I have to be in fear of life and death with such perfect shackles?




Unreasonable. Cruel.




I am lonely. Am I feeling empty and flat? Difficult to avoid sobbing? No. My loneliness is much deeper. I am in a sea of void. I am alone. Completely alone. As an orphan, I was thrown into this endless darkness. I am quivering in the absolute zero.




There is no perspective in this box. Only the darkness is here. I can’t feel the bottle and the hammer. I can’t feel the wall, the bottom, and the ceiling neither. They should be there. But all the five senses of mine are deprived. I feel like there is nothing. While those things have some meanings.




Speaking honestly, I am not so sure I am in a box. I am sure that what I am exists. I am thinking. I am fantasizing. It is the evidence showing the uniqueness of mine, which is called the ego or the consciousness or the mind, is solid. But, is the uniqueness is truly enclosed in the box? Is it possible that it is floating in another space? I can’t eliminate such doubts.




Possibly, what I am here is floating in the end of the universe, or is lying down at the bottom of the Mariana Trench. Or going down from a vent of the Kilauea volcano, maybe.




I don't have any method to know how the box (enclosing me) is. All the senses of mine are dead. It is impossible for me to determine whether here is inside of a box or not.




In addition to that, I am not so sure that I am truly alive. I don't have any way to confirm such a simple thing. Possibly, the 50% probability has already passed beyond me. Maybe I am already dead. I am still alive, maybe. Injected with muscle relaxant, shallow breathes, weak heartbeats. Or, cessation of all of them, simply leaving meat bolus.




I am deprived of any capability of controlling my own body. Who can say that my mind resides in the body continuing vital activities? The five senses have been poisoned with the total darkness. They can’t function as sensory organs. I don't have any chance to know the truth. Possibly, any supposition is fabricated by myself. The situation surrounding me and the uniqueness of myself are components of programmed role-play, possibly.




About the existence of mine, I can’t determine the behavior. I hate to admit it, but I am in the middle of fluctuation.




I wish someone could find me. I wish someone could open the box and observe how I am, and determine what I am. There is not enough power inside me to do so. All I can do is to continue to quiver in the loneliness.




If I were the Almighty, I could say "Let there be light". I know it is impossible. But I can‘t help feeling how nice it would be if I could say so.




My own free will! It could fix every fluctuation surrounding myself!




At the same time, longing produces shadow. If the box is opened, I will be found and observed. As a result, what I am will be determined. To tell the truth, I can’t look away from the fact I am anxious about being determined.




Although I am unable to determine whether I am alive or dead by myself, I am afraid of the death. I am afraid that I am determined as a dead. I can’t accept. Still I can’t feel, I can’t imagine the death as a specific phenomenon. Probably, that is why I am afraid of death.




No, it should not be restricted to me. King of virtue. Deadly murderer. Regular folks. All the same. Maybe, the elder people or patients of bad disease could have some imagination sufficiently close to the true death. But, even so, it is impossible to know the specific experience of death.




In the end, death is the final destination with overwhelming significance. The time and the consciousness have an absolute irreversibility. Death also has the absoluteness which can’t be changed. Even if it is a ritual pass point or an outstanding impressive event.




Myself, the mind of mine here is, will be vanished at the moment at which how I am is determined. If they deprive the lukewarm water, in which I can’t feel the temperature, it is impossible for me to avoid exposing myself to the air.




I am afraid of such an irreversible change. It is not limited to the determination of death. Also I am so anxious that I am determined being alive.




The current existence of myself is like a tiny, tiny illusion standing on an endless point. Not larger than that. Not smaller than that. Not longer than that. Not shorter than that. No expansion. No shrinkage. Standing upon a unique single point. It is mathematically correct. I am something like a ghost staying upon such a point, having confusion about identity of myself.




The point exists at every position on a plane of coordinates, at the same time, not existing at a certain position. If a certain event occurs, on that moment, it will converge me to a single point among all the space-times, in which the event has occurred, as if having me step off a bus. Without any concern. Even if the point and I have been a one. The illusion, which has stayed in such a point, has possibilities of being real and being vanished like a mist, to an equal degree.




Now, I am existing in every time-space, I have every nature. At the same time, I am suffering from the loneliness that I am away from every nature. I wish someone can find me. At the same time, I am so anxious that where I will be, and that how I will be at that moment.




I have been released from the law of cause and effect. I am undetermined ever, for ever.

2011-03-14

福島原子力発電所CNNコメント欄 MIT科学者見解2【東日本巨大地震

When the diesel generators were gone, the reactor operators switched to emergency battery power. The batteries were designed as one of the backups to the backups, to provide power for cooling the core for 8 hours. And they did.

Within the 8 hours, another power source had to be found and connected to the power plant. The power grid was down due to the earthquake. The diesel generators were destroyed by the tsunami. So mobile diesel generators were trucked in.

This is where things started to go seriously wrong. The external power generators could not be connected to the power plant (the plugs did not fit). So after the batteries ran out, the residual heat could not be carried away any more.

At this point the plant operators begin to follow emergency procedures that are in place for a “loss of cooling event”. It is again a step along the “Depth of Defense” lines. The power to the cooling systems should never have failed completely, but it did, so they “retreat” to the next line of defense. All of this, however shocking it seems to us, is part of the day-to-day training you go through as an operator, right through to managing a core meltdown.

It was at this stage that people started to talk about core meltdown. Because at the end of the day, if cooling cannot be restored, the core will eventually melt (after hours or days), and the last line of defense, the core catcher and third containment, would come into play.

But the goal at this stage was to manage the core while it was heating up, and ensure that the first containment (the Zircaloy tubes that contains the nuclear fuel), as well as the second containment (our pressure cooker) remain intact and operational for as long as possible, to give the engineers time to fix the cooling systems.

Because cooling the core is such a big deal, the reactor has a number of cooling systems, each in multiple versions (the reactor water cleanup system, the decay heat removal, the reactor core isolating cooling, the standby liquid cooling system, and the emergency core cooling system). Which one failed when or did not fail is not clear at this point in time.

So imagine our pressure cooker on the stove, heat on low, but on. The operators use whatever cooling system capacity they have to get rid of as much heat as possible, but the pressure starts building up. The priority now is to maintain integrity of the first containment (keep temperature of the fuel rods below 2200°C), as well as the second containment, the pressure cooker. In order to maintain integrity of the pressure cooker (the second containment), the pressure has to be released from time to time. Because the ability to do that in an emergency is so important, the reactor has 11 pressure release valves. The operators now started venting steam from time to time to control the pressure. The temperature at this stage was about 550°C.

This is when the reports about “radiation leakage” starting coming in. I believe I explained above why venting the steam is theoretically the same as releasing radiation into the environment, but why it was and is not dangerous. The radioactive nitrogen as well as the noble gases do not pose a threat to human health.

At some stage during this venting, the explosion occurred. The explosion took place outside of the third containment (our “last line of defense”), and the reactor building. Remember that the reactor building has no function in keeping the radioactivity contained. It is not entirely clear yet what has happened, but this is the likely scenario: The operators decided to vent the steam from the pressure vessel not directly into the environment, but into the space between the third containment and the reactor building (to give the radioactivity in the steam more time to subside). The problem is that at the high temperatures that the core had reached at this stage, water molecules can “disassociate” into oxygen and hydrogen – an explosive mixture. And it did explode, outside the third containment, damaging the reactor building around. It was that sort of explosion, but inside the pressure vessel (because it was badly designed and not managed properly by the operators) that lead to the explosion of Chernobyl. This was never a risk at Fukushima. The problem of hydrogen-oxygen formation is one of the biggies when you design a power plant (if you are not Soviet, that is), so the reactor is build and operated in a way it cannot happen inside the containment. It happened outside, which was not intended but a possible scenario and OK, because it did not pose a risk for the containment.

So the pressure was under control, as steam was vented. Now, if you keep boiling your pot, the problem is that the water level will keep falling and falling. The core is covered by several meters of water in order to allow for some time to pass (hours, days) before it gets exposed. Once the rods start to be exposed at the top, the exposed parts will reach the critical temperature of 2200 °C after about 45 minutes. This is when the first containment, the Zircaloy tube, would fail.

And this started to happen. The cooling could not be restored before there was some (very limited, but still) damage to the casing of some of the fuel. The nuclear material itself was still intact, but the surrounding Zircaloy shell had started melting. What happened now is that some of the byproducts of the uranium decay – radioactive Cesium and Iodine – started to mix with the steam. The big problem, uranium, was still under control, because the uranium oxide rods were good until 3000 °C. It is confirmed that a very small amount of Cesium and Iodine was measured in the steam that was released into the atmosphere.

It seems this was the “go signal” for a major plan B. The small amounts of Cesium that were measured told the operators that the first containment on one of the rods somewhere was about to give. The Plan A had been to restore one of the regular cooling systems to the core. Why that failed is unclear. One plausible explanation is that the tsunami also took away / polluted all the clean water needed for the regular cooling systems.

The water used in the cooling system is very clean, demineralized (like distilled) water. The reason to use pure water is the above mentioned activation by the neutrons from the Uranium: Pure water does not get activated much, so stays practically radioactive-free. Dirt or salt in the water will absorb the neutrons quicker, becoming more radioactive. This has no effect whatsoever on the core – it does not care what it is cooled by. But it makes life more difficult for the operators and mechanics when they have to deal with activated (i.e. slightly radioactive) water.

But Plan A had failed – cooling systems down or additional clean water unavailable – so Plan B came into effect. This is what it looks like happened:

In order to prevent a core meltdown, the operators started to use sea water to cool the core. I am not quite sure if they flooded our pressure cooker with it (the second containment), or if they flooded the third containment, immersing the pressure cooker. But that is not relevant for us.

The point is that the nuclear fuel has now been cooled down. Because the chain reaction has been stopped a long time ago, there is only very little residual heat being produced now. The large amount of cooling water that has been used is sufficient to take up that heat. Because it is a lot of water, the core does not produce sufficient heat any more to produce any significant pressure. Also, boric acid has been added to the seawater. Boric acid is “liquid control rod”. Whatever decay is still going on, the Boron will capture the neutrons and further speed up the cooling down of the core.

The plant came close to a core meltdown. Here is the worst-case scenario that was avoided: If the seawater could not have been used for treatment, the operators would have continued to vent the water steam to avoid pressure buildup. The third containment would then have been completely sealed to allow the core meltdown to happen without releasing radioactive material. After the meltdown, there would have been a waiting period for the intermediate radioactive materials to decay inside the reactor, and all radioactive particles to settle on a surface inside the containment. The cooling system would have been restored eventually, and the molten core cooled to a manageable temperature. The containment would have been cleaned up on the inside. Then a messy job of removing the molten core from the containment would have begun, packing the (now solid again) fuel bit by bit into transportation containers to be shipped to processing plants. Depending on the damage, the block of the plant would then either be repaired or dismantled.

Now, where does that leave us?

・The plant is safe now and will stay safe.

Japan is looking at an INES Level 4 Accident: Nuclear accident with local consequences. That is bad for the company that owns the plant, but not for anyone else.

・Some radiation was released when the pressure vessel was vented. All radioactive isotopes from the activated steam have gone (decayed). A very small amount of Cesium was released, as well as Iodine. If you were sitting on top of the plants’ chimney when they were venting, you should probably give up smoking to return to your former life expectancy. The Cesium and Iodine isotopes were carried out to the sea and will never be seen again.

・There was some limited damage to the first containment. That means that some amounts of radioactive Cesium and Iodine will also be released into the cooling water, but no Uranium or other nasty stuff (the Uranium oxide does not “dissolve” in the water). There are facilities for treating the cooling water inside the third containment. The radioactive Cesium and Iodine will be removed there and eventually stored as radioactive waste in terminal storage.

・The seawater used as cooling water will be activated to some degree. Because the control rods are fully inserted, the Uranium chain reaction is not happening. That means the “main” nuclear reaction is not happening, thus not contributing to the activation. The intermediate radioactive materials (Cesium and Iodine) are also almost gone at this stage, because the Uranium decay was stopped a long time ago. This further reduces the activation. The bottom line is that there will be some low level of activation of the seawater, which will also be removed by the treatment facilities.

・The seawater will then be replaced over time with the “normal” cooling water

・The reactor core will then be dismantled and transported to a processing facility, just like during a regular fuel change.

Fuel rods and the entire plant will be checked for potential damage. This will take about 4-5 years.

・The safety systems on all Japanese plants will be upgraded to withstand a 9.0 earthquake and tsunami (or worse)

・I believe the most significant problem will be a prolonged power shortage. About half of Japan’s nuclear reactors will probably have to be inspected, reducing the nation’s power generating capacity by 15%. This will probably be covered by running gas power plants that are usually only used for peak loads to cover some of the base load as well. That will increase your electricity bill, as well as lead to potential power shortages during peak demand, in Japan.

If you want to stay informed, please forget the usual media outlets and consult the following websites:

http://www.world-nuclear-news.org/RS_Battle_to_stabilise_earthquake_reactors_1203111.html

http://bravenewclimate.com/2011/03/12/japan-nuclear-earthquake/

http://ansnuclearcafe.org/2011/03/11/media-updates-on-nuclear-power-stations-in-japan/

2010-12-14

超能力

意味不明に分裂した有象無象

俺は果てを探す冒険に出かける。

やべぇ。超最高な気分だわ。

楽しくさせてくれる曲が好きだ。

僕は道のりを超えていく。

俺はお前を越える男だ。

イミフだろうがつまらなかろうがなんだっていい。

叫べ。今の全部。全部全部を。

高潮の気持ちだぜ!!!!!!

最高だぜぇえ!!!!!!!!!!!

何か、目標はあるのかって聞かれても。

気持ちの共有ができないのは残念だ。

しかしそんなことをすれば、悲しみや苦しみも入ってくるだろう。

困ったものです。あっという間に終わってしまった。

我慢強くいこう。理解できるキャパシティは限られている。

無難にいこう。苦しいはいやというほど通ってきた。

今ここに自分がいるのは誰のおかげ?

感謝、ただ感謝世界感謝

尊敬

one more time.

涙が出てくるぜ。

どうしようもない強ばりだぜ。

ぷっちょわいずにー!

落ち着こう。

こんな時はリップスライムのremember。

理解してる。分かってる。知ってる。

君の声は届いてる。届いてるよ・・。

頑張ろう。なんとなく眠たい

涙で前が見えない。あくびしたからかな。

ああ、世界が混雑している・・・・・・

カオスワールド

認めたくないけど俺は眠たい

寝てしまおうか。どうしようか。

まだ朝だしな。揺り動かされる身体。

神的に動き出す脳みそ

反動がでかい

どうしてそんなに不幸なの。

悪魔が笑うよ。

神よ、いるなら助けてくれ・・

困った時の神頼み。

俺が神様!!!!!!!!!!!!

Oh my honey!!!!!!!!!!

なんとか書き続けていられそうだよ・・

その時だった!!!

俺に雷が降ってきた!!!!!!!!!!!!

一瞬の落ち込み。

何もかもかなぐり捨てて、俺は這い上がってやる。

何もやる気が起こらない。それでもええねん。

完全に持ち直した!!!!!!!!!!!!!!!!!

2009-11-30

バイリンガルの頭ん中:ダニエルピンクネタ

日本語英語へのTransition

目的

バイリンガルの頭の中(あくまで想像)を文章にて表現

序盤:日本語脳→終盤:英語

・英文に抵抗のある人に対する新しい英語教材の提案、実験

日本語読んでたはずなのに、いつの間にか英語読んでた!」というのが理想

TEDから文章だけでも内容が伝わるダニエルピンクプレゼンを引っ張って来たのですが、実験的にやるにしては少し内容が堅く、マテリアル選択を誤った気がしなくもありませんw

ダニエルピンク 「やる気に関する驚きの科学

http://www.ted.com/talks/lang/jpn/dan_pink_on_motivation.html

めちゃ長いですが、LanguageがTransformする過程を味わって頂ければと思います。

--------------------------------------------------

最初に告白させてください。20年ほど前にしたあることを私は後悔しています。あまり自慢できないようなことをしてしまいました。誰にも知られたくないと思うようなことです。それでも明かさなければならないと感じています(ざわざわ)。1980年代の後半に私は若気の至りからロースクールlaw schoolに行ったのです(笑)。

In America, 法律専門職学位です。まずuniversityを出て、それからlaw schoolへ行きます。law schoolで私はあまり成績が芳しくありませんでした。控えめに言ってもあまり良くなく、上位90パーセント以内という成績で卒業graduateしました(笑)。どうもlaw関係の仕事はしたことがありません。やらせてallowed toもらえなかったというべきかも (笑)。

But today, betterではないことだとは思いつつ、wifeの忠告にも反しながら、このlegal skillsを再び引っ張り出すことにしました。今日はstoryはtellしません。主張caseを立証します。合理的で証拠evidenceに基づいた法廷におけるような論証で、how we run our businessesを再考してみたいと思います。

陪審員juryの皆さん, take a look at this。This is called 「ロウソクの問題」。ご存じの方もいるかもしれません。1945年にKarl Dunckerという心理学者psychologistがこの実験experimentを考案し、様々な行動scienceのexperimentで用いました。ご説明しましょう。私が実験者だとします。私はあなた方を部屋に入れてcandle画鋲thumbtackとマッチmatchesを渡します。そしてこう言います。「テーブルtableに蝋waxがたれないようにcandleを壁wallに取り付けattachしてください。」Now what would you do?

Many peopleはthumbtackでcandleをwallに留めようとします。でもうまくいきません。あそこで手真似をしている人がいましたが、matchの火でcandleを溶かしてwallにくっつけるというideaを思いつく人もいます。いいideaですがうまくいきません。After five or 10 minutes, most peopleは解決法を見つけます。このようにすればいいのです。Keyになるのは「機能的固着functional fixedness」を乗り越えるovercomeするということです。最初、あのboxを見て、単なる画鋲の入れ物だと思うでしょうが、それは別な使い方をすることもできます。candleの台platformになるのです。これがcandle problemです。

次にSam Glucksbergというscientistが、このcandle problemを使って行ったexperimentをご紹介します。彼は現在Princeton Universityにいます。この実験でthe power of incentivesがわかります。彼は参加者participantsを集めてこう言いました。「this problemをどれくらい早く解けるsolveできるか時計で計ります。」そしてone groupにはthis sort of problemを解くのに一般にどれくらい時間がかかるのかaverage時間を知りたいのだと言います。もう1つのgroupには報酬rewardsを提示します。「上位25percentの人には5dollarsお渡しします。fastestになった人は20dollarsです。」Now this is several years ago物価上昇inflation考慮に入れればa few minutes of workでもらえるmoneyとしては悪くありません。十分なmotivatorになります。

このグループはどれくらい早く問題を解けたのでしょう?答えはon average, 3分半余計に時間がかかりました。Three and a half minutes longer。そんなのおかしいですよね?I'm an American。I believe in 自由市場。そんな風になるわけがありません(笑)。If you want people to perform better, 報酬を出せばいい。Bonuses, commissions, あるいは何であれ、incentiveを与えるのです。That's how business works。しかしここでは結果が違いました。Thinkingが鋭くなり、creativityが加速されるようにと、incentiveを用意したのに、結果はoppositeになりました。思考は鈍く、creativityは阻害されたのです。

この実験experimentがinterestingなのは、それが例外aberrationではないということです。この結果は何度も何度もfor nearly 40 years 再現replicateされてきたのです。この成功報酬的な動機付けmotivators―If Then式に「これをしたらこれが貰える」というやり方は、in some circumstancesでは機能します。しかし多くのtasksではうまくいかず、時には害harmにすらなります。これはsocial scienceにおける最も確固robustとした発見findingsの1つです。そして最も無視ignoreされている発見でもあります。

私はthe last couple of years, human motivation科学に注目してきました。特に外的動機付けextrinsic motivatorsと内的動機付けintrinsic motivatorsのdynamicsについてです。大きな違いがあります。If you look at これ、scienceが解明したこととbusinessで行われていることにmismatchがあるのがわかります。business operating system、つまりビジネスの背後にある前提assumptionsや手順においては、how we motivate people、どう人を割り当てるかという問題は、もっぱらextrinsic motivators(アメとムチ)にたよっています。That's actually fine for many kinds of 20th century tasks。But for 21st century tasks, 機械的mechanisticなご褒美と罰reward-and-punishmentというapproachは機能せず、うまくいかないか、害harmになるのです。Let me show you what I mean。

Glucksbergはこれと似たanother experimentもしました。このように若干違ったslightly differentな形で問題を提示したのです。Tableにwaxがたれないようにcandleを壁にattachしてください。条件は同じ。あなたたちは平均時間を計ります。あなたたちにはincentiveを与えます。What happened this time?今回はincentivizedグループの方が断然勝ちました。Why?箱に画鋲が入っていなかったから。it's pretty easy isn't it?(「サルでもわかる」ロウソクの問題) (笑)

If-then rewards work really well for those sorts of tasks。Simpleなルールとclearな答えがある場合です。Rewardsというのはfocusを狭めmindを集中させるものです。That's why報酬が機能する場合が多い。だからこのような狭い視野で目の前にあるゴールをまっすぐ見ていればよい場合にはthey work really well。But for the real candle problem, そのような見方をしているわけにはいきません。The solutionが目の前に転がってはいないからです。周りを見回す必要があります。Rewardはfocusを狭め、私たちの可能性possibilityを限定restrictしてしまうのです。

Let me tell you why this is so important。In western Europe, in many parts of Asia, in North America, in Australia, white collarの仕事にはthis kind of workは少なく、このような種類の仕事が増えています。That routine, rule-based, left brain work, certain kinds of accounting, certain kinds of financial analysis, certain kinds of computer programingは 簡単にアウトソースできます。簡単にautomateできます。Softwareのほうが早くできます。世界中Low-cost providersがいます。だから重要になるのはthe more right-brained creative, conceptual kinds of abilitiesです。

Your own workを考えてみてください。Youが直面faceしている問題は、あるいはweがここで議論しているようなproblemsは、こちらのkindでしょうか?A clear set of rules, and a single solutionがあるような?そうではないでしょう。ルールあいまいで、答えはそもそも存在するとしての話ですが、驚くようなsurprisingものであり、けっして自明obviousではありません。Everybody in this room is dealing with their own version of the candle problem。And for candle problems of any kind, in any field, if-then rewardsは機能しないのです。企業の多くはそうしていますが。

Now, これにはcrazyになりそうです。どういうことかというと、これはfeelingではありません。私は法律家lawyerです。Feelingsなんて信じません。This is not a 哲学philosophy。I'm an American。Philosophyなんて信じません(笑)。This is a fact。私が住んでいるWashington D.C.でよく使われる言い方をするとtrue factです(笑)。(拍手)Let me give you an example of what I mean。Evidenceの品を提示します。Iはstoryをtellしているのではありません。I'm making a 立証。

Ladies and gentlemen of the 陪審員, 証拠を提示します: Dan Ariely, one of the great economists of our time, Heは3人の仲間とともにsome MIT studentsを対象に実験studyを行いました。These MIT studentsにたくさんのgamesを与えます。Creativity, and 運動能力motor skills, and concentrationが要求されるようなゲームです。そして成績に対するthree levels of rewardsを用意しました。Small reward, medium reward, large reward。Okay?非常にいい成績なら全額、いい成績なら半分の報酬がもらえます。What happened?「As long as the task involved only mechanical skill、bonusesは期待通りに機能し、報酬が大きいほどパフォーマンスが良くなった。 しかし、cognitive skillが多少とも要求されるタスクになると、larger rewardはより低い成績をもたらした。」

Then they said,「cultural biasがあるのかもしれない。Indiaのマドゥライで試してみよう。」In Madurai, Standard of livingが低いので、North Americaではたいしたことのないrewardが 大きな意味を持ちます。実験の条件はSameです。A bunch of games, three levels of rewards. What happens? medium level of rewardsを提示された人たちは small rewardsの人たちと成績が変わりませんでした。But this time, people offered the highest rewards, they did the worst of all。「In eight of the nine tasks we examined across 3回の実験, よりhigherインセンティブがworse成績という結果となった。」

これはおなじみの感覚的なsocialistの陰謀conspiracyなのでしょうか?No. Theyはeconomists from MIT, from Carnegie Mellon, from the University of Chicagoです。And do you know who sponsored this research? FRBです。これはまさにAmerican experienceなのです。

Let's go across the pond to the London School of Economics。11人のNobel 受賞者 in economicsを輩出しています。Great経済頭脳がここで学んでいます。George Soros, and Friedrich Hayek, and Mick Jagger(笑)。Last month, just last month, economists at LSE looked at 51 studies of 成果主義 plans, inside of companies。彼らの結論は「We find that 金銭的なインセンティブ can result in a negative impact on 全体的なパフォーマンス.」ということでした。

There is a 食い違い between what 科学 knows and what ビジネス does. And what worries me, as この潰れた経済の瓦礫の中に立って, is that あまりに多くの組織 are making their decisions, their policies about 人や才能, based on assumptions that are 時代遅れ, 検証されていない, and rooted more in 神話 than in 科学. this 経済の窮地からget out ofと思うなら 21st century的な答えのないtasksで high performanceを出そうと思うのなら、wrong thingsを これ以上続けるのはやめるべきです. To 誘惑 people with a sweeter carrot, or 脅す them with a 鋭いムチ. まったく新しいアプローチが必要なのです.

And the いいニュース about all of this is that scientistsが新しいapproachを示してくれているということです. It's an approach built much more around 内的な motivation. Around the desire to do things because they matter, because we 好き it, because they're 面白い, because they are 何か重要なことの一部. And to my mind, that new operating system for our businesses revolves around three elements: 自主性、成長、目的. 自主性, the 欲求 to 方向 our own lives. 成長, the desire to get better and better at 何か大切なこと. 目的, the 切望 to do what we do in the service of 大きな何か than ourselves. これらがour businessesのentirely new operating systemの要素なのです.

I want to talk today only about 自主性. In the 20th 世紀, we came up with this idea of マネジメント. Management did not 自然に生じた. Management is like -- it's not a 木. It's a テレビ. Okay? Somebody 発明した it. And it doesn't mean it's going to work 永久に. Management is great. 服従を望むなら, Traditional notions of management are ふさわしい. しかし参加を望むなら, 自主性 works better.

Let me give you some 例 of some kind of 過激なnotions of 自主性. What this means -- あまり多くはありませんが 、非常に面白いことが起きています. Because what it means is paying people 適切に and 公正に, 間違いなく. Getting お金の問題 off the table. And then giving people 大きな自主性. Let me give you 具体的な例.

How many of you ご存じ of the 会社 Atlassian? 半分もいない感じですね(笑). Atlassian is an オーストラリアソフトウェア会社. And they do すごくクールなこと. A few times a year they tell their エンジニア, "これから24時間何をやってもいい, as long as it's not part of your regular job. Work on 好きなことを何でも" So that エンジニア use this time to come up with a cool 継ぎ接ぎ for code, come up with an エレガントなハック. Then they 何を作ったのか見せる to their teammates, to the rest of the company, in 雑然とした全員参加の会合 at the end of the day. And then, オーストラリアですから, everybody has a ビール.

They call them 「FedExの日」. Why? Because you 何かを一晩で送り届けなければならない. It's 素敵. It's not bad. It's a huge 商標権 侵害. But it's pretty clever. (Laughter) That one day of 集中的な自主活動 has produced 多数の software 修正 that might never have existed.

And it's worked so well that Atlassian has taken it to 次のレベル with 20 Percent Time. Googleがやっていることで有名ですね.Where エンジニア can work, spend 20 percent of their time working on anything they want. They have 自主性 over their time, their task, their team, their 技術. Okay? Radical amounts of 自主性, And at Google, as many of you know, 新製品の半分近く in a typical year are 生まれています during that 20 Percent Time. Things like Gmail, Orkut, Google News.

Let me give you an even more 過激な example of it. Something called 「完全結果志向職場環境」. The ROWE(Results Only Work Environment). Created by two American コンサルタント, in place at about a dozen companies around 北アメリカ. In a ROWE people don't have スケジュール. They show up 好きなときに. They don't have to be in the office 特定の時間に, or any time. They just have to 仕事を成し遂げる. How they do it, when they do it, where they do it, is totally up to them. ミーティング in these kinds of environments are オプショナル.

What happens? ほとんどの場合, productivity goes up, 雇用期間 goes up, 社員満足度 goes up, 離職率 goes down. 自主性Autonomy, 成長mastery and 目的purpose, These are the 構成要素 of a new way of doing things. Now some of you might look at this and say, "Hmm, 結構だけど、it's 夢物語." And I say, "Nope. I have 証拠."

The mid 1990s, Microsoft started an 百科事典encyclopedia called Encarta. They had deployed all the right インセンティブ. All the right incentives. They paid プロ to write and edit 何千という記事. たっぷり報酬をもらっている managers oversaw the whole thing to make sure it came in on budget and on time. 何年か後に another encyclopedia got started. 別なモデル, right? Do it for 楽しみ. No one gets paid a cent, or a Euro or a Yen. Do it because you 好き to do it.

ほんの10年前に, if you had gone to an 経済学者, anywhere, And said, "Hey, I've got 百科事典を作る2つのモデル. 対決したら, who would win?" 10 years ago you could not have found a single まともな経済学者 anywhere on planet Earth, who would have predicted the Wikipediaモデル.

This is the 大きな battle between these two approaches. This is モチベーションにおけるアリ vs フレージャー戦. Right? This is 伝説マニラ決戦. Alright? 内的な motivators versus 外的な motivators. Autonomy, mastery and purpose, versus アメとムチcarrot and sticks. And who wins? Intrinsic motivation, autonomy, mastery and purposeが ノックアウト勝利します.まとめましょう.

There is a 食い違い between what science knows and what business does. And here is what science knows. One: Those 20th century rewards, those motivators we think are a 当然 part of business, do work, but only in a surprisingly narrow band of circumstances. Two: Those if-then rewards often 損なう creativity. Three: The 秘訣 to high performance isn't rewards and punishments, but that 見えない intrinsic drive. The drive to do things 自分自身のため. The drive to do things それが重要なことだから.

And here's the best part. Here's the best part. We already know this. The science confirms what we know in our hearts. So, if we repair this mismatch between what science knows and what business does, If we bring our motivation, notions of motivation into the 21st century, if we get past this lazy, dangerous, ideology of carrots and sticks, we can strengthen our businesses, we can solve a lot of those candle problems, and maybe, maybe, maybe we can change the world. I rest my 立証。

2009-10-22

TIME誌発表が発表した世界で最もキチガイファーストレディトップ10

ttp://www.time.com/time/specials/packages/article/0,28804,1920803_1920843,00.html

1.鳩山幸日本鳩山首相夫人)

 UFO誘拐され金星へ。トム・クルーズ前世日本人で私と知り合い。

 夫と一緒に太陽をパクパク食べて元気になる。

2.イメルダ・マルコスフィリピンマルコス大統領夫人)

 スーパー浪費家で国家私物化。贅沢しすぎて民衆が暴動を起こし国外亡命。靴を3000足持っている。

3.ヒラリー・クリントンアメリカクリントン大統領夫人)

 故ルーズベルト夫人やガンジー想像上の会話をしたことがあると公言

4.カーラ・ブルーニフランスサルコジ大統領夫人)

 元モデルヌード写真集発売。「一夫一婦制は飽きた」と公言。

5.ベティフォードアメリカフォード大統領夫人)

 アルコール中毒、鎮痛薬中毒の慢性患者

 ニクソン大統領ホワイトハウス不倫したと公言。

6.ナンシーレーガンアメリカレーガン大統領夫人)

 占星術に傾倒。スケジュール占星術で決定

7.メアリー・トッド・リンカーンアメリカリンカーン大統領夫人)

 死者と会話するため、オカルトグッズを買い漁り。

 自分には超能力があり、夫が大統領になることは予知していた、と公言。

 ヒステリー症でもあり、リンカーン暗殺された後は発狂して病院生活。

8.ドリット・ムサイエフ(アイスランド大統領夫人)

 空軍基地アートコレクションの倉庫にしたいと考えている。

 経済破綻したアイスランドファーストレディ

9.ベス・トルーマンアメリカトルーマン大統領夫人)

 ホワイトハウス内に歴代大統領幽霊がいると公言。

 リンカーンが扉をノックして入ってきたが、どうしたの?と聞くと消えた。

10.デニスサッチャー(男)(イギリスサッチャー首相の夫)

 男性の”ファーストレディ”。酒に氷を入れると薄くなるので怒る。

2009-10-12

[][]twitterのfollowingを整理するためのスクリプト

非常に頭が悪いやり方ですが、一応動くので置いておきます

必要なもの

動かし方

  1. 以下のソースのうち、meの部分を自分idに変えて保存。
  2. 実行
# -*- coding: utf-8 -*-
require 'uri'
require 'open-uri'
require 'rubygems'
require 'twitter'
require 'json'

LAST_YEAR = Time.now - 12*31*60*60*24
USERNAME = 'hogehoge'
PASSWORD = '********'

def following_me? other
  base = URI.parse('http://twitter.com/friendships/exists.json')
  base.query = "user_a=#{other}&user_b=#{USERNAME}"

  times = 0
  begin
    sleep 60
    open(base).read == 'true'
  rescue
    if times < 2
      times += 1
      retry
    else
      true
    end
  end
end

def posted? hash
  begin
    sleep 60
    last_post = @client.timeline_for(:user, :id=&gt;hash[:user], :count=&gt;1).first.created_at
  rescue Twitter::RESTError # protected ~A~K~A following ~A~L 0 ~A | ~P~H~A~Y~T~_~A~W~A~_~_
    p "#{$!}"
    p "passing  #{hash[:user]}"
    return true # ~D~P~F~_~P~F~J~\~A~Q~B~K
  rescue # twitter~A~L~P~A~A~B~K~Y~B対~V
    p "#{$!}"
    sleep 180
    retry
  end
  p "last_post was  #{last_post}"
  last_post &gt; hash[:from]
end

@client = Twitter::Client.new(:login =&gt; USERNAME, :password =&gt; PASSWORD)
(1..20).each do |pg|
  @client.my(:friends, :page=&gt;pg).each do |friend|
    p "checking #{friend.screen_name}"
    unless ((following_me? friend.screen_name) &amp;amp;&amp;amp; posted?({:from=&gt;LAST_YEAR, :user=&gt;friend.screen_name}))
      p "removing #{friend.screen_name}"
      sleep 60
      @client.friend(:remove, friend)
    end
  end
end

2009-09-01

http://anond.hatelabo.jp/20090901110205

Python 2.5.2 (r252:60911, Sep 30 2008, 15:41:38)

[GCC 4.3.2 20080917 (Red Hat 4.3.2-4)] on linux2

import datetime
days = lambda year: (datetime.date(year+1, 1, 1) - datetime.date(year, 1, 1)).days
print days(2009) # Output: 365
print days(2000) # Output: 366
print days(400) # Output: 366
print days(100) # Output: 365

古いバージョンはないので確認できないが、少なくとも2.5.2では大丈夫なようだ。

http://anond.hatelabo.jp/20090831011511

標準モジュールの使用ありなら、なんでdatetime使わないんだ?

#!/usr/bin/python
# coding: utf-8

import datetime

dt1 = datetime.datetime(2009, 9, 1, 2, 34, 56) # 2009年9月1日2時34分56秒
dt0 = datetime.datetime(1, 1, 1) # 1年1月1日0時0分0秒
delta = dt1 - dt0
print delta.days * 3600 * 24 + delta.seconds

ちなみに、閏秒なんて言っちゃ嫌です。

2009-08-04

EA Sports Active

http://www.amazon.com/gp/product/B001MBUGLY/

日本版が8/6に出るけど・・・

★☆☆☆☆ Not a More Cardio Wii Fit, Rather a Disaster of a Product, July 16, 2009

The concept is fantastic but the wiimote/sensor interaction is too finicky. It made the workout too frustrating. Specifically:

  • Some of the exercises work great on one side but not the other. Moving the sensor doesn't fix it.
  • If the way you hold the wiimote/nunchuck is off even slightly, the exercise stops and waits for you. You have to guess what it's waiting for.
  • There reps are not timed to the music and there's no consistency to the timing. Instead of getting into the flow of the reps, it waits for you before it does the next rep. There's too much "thinking" time between reps making it hard to get a good flow to your workout.
  • When doing reps, it's normal to anticipate the next rep, but this game does not allow for that. You finish a rep, the program goes back to the top of its do loop and then it does the next rep. It's very choppy - there's no smooth rhythm to the reps.
  • If you move even a little faster than the "follow me" droid it stops completely (like its giving up), puts a note on the screen and waits for you to go back to the top of the rep.
  • The instruction videos take FOREVER to demonstrate a simple exercise. Between that and the delay between reps, there's lots of down time.

Overall, I found it very frustrating because every time my workout started to flow, something interrupted it. I've had the Wii for over a year, and play with it daily so I don't think it's a learning curve issue.

評価の悪かった批評ぐらい訳してみようかな・・・

2009-03-26

Win XP SP3インストール後 XTRM VB Runtime(X-GUARD)の不具合解消法

ふと思いついてWin XP SP3をインストールした 特に不具合はなし

ただX-GUARDが起動するたび

XTRM VB Runtime.msiを指定してインストールしろだの出てくるので

XTRM VB RuntimeやらX-GUARD入れ直したりしたが駄目で

(ちなみにランタイムファイル名はxrun06.exe)



そこでググったところランタイムバージョンがふるいんじゃね?

Visual Basic 6.0 SP6 ランタイムライブラリを入れたらいんじゃね?

と言われ入れたら解決した



グルのに手間掛かったんでここに記録しとく



とにかくXTRM VB Runtimeの関係のが先に進まない場合

↓の入れれば解決するってこった


Visual Basic 6.0 SP6 ランタイムライブラリ

http://www.vector.co.jp/soft/win95/util/se188840.html

2009-03-22

Mac OSX 10.5.6にて。

GnuCash とかいう家計簿ソフトインストールしてみたわけだが、起動しない。

どうしたものか。

[***:~] ***% sudo port install gnucash
Password:
---&gt;  Fetching gnucash
---&gt;  Verifying checksum(s) for gnucash
---&gt;  Extracting gnucash
---&gt;  Applying patches to gnucash
---&gt;  Configuring gnucash
---&gt;  Building gnucash
---&gt;  Staging gnucash into destroot
---&gt;  Installing gnucash @2.2.9_0
---&gt;  Activating gnucash @2.2.9_0
---&gt;  Cleaning gnucash
[***:~] ***% gnucash
gnc.bin-Message: main: binreloc relocation support was disabled at configure time.

Xlib:  extension "RANDR" missing on display "/tmp/launch-6BB0ZT/:0".
The application 'gnucash' lost its connection to the display /tmp/launch-6BB0ZT/:0;
most likely the X server was shut down or you killed/destroyed
the application.

2009-03-04

外資系企業に勤めてたけど今日クビになった - 英訳3

http://mudainodqnment.blog35.fc2.com/blog-entry-734.html

の1さんに痛く感動したので、ちょっとずつ英語に訳すことにした。

めんどくさいので訳すのは1さんだけ。

突っ込み等はお気軽に。

ttp://anond.hatelabo.jp/20090302234304

----

176 :以下、名無しにかわりましてVIPがお送りします[sage]:2009/02/18(水) 02:54:32.12 ID:olySmeY7O

判断おそ。外資海外オフィスならオフィスごとパーツであたりまえ。

戦略たててるのは貴方のようなパーツではないのよ。だからクビになった


>>176

そうねー、そうだと思う。でもしょうがなかったかな

就職した当時は他にどこも行くとこ無くて、就職したらずっと忙しかったし

アソシエイトになった頃くらいから「ありゃ、やばいんじゃね?」って思ってたけど、 景気も給料も良かったから「ま、いっか」って思ってた

次はどういう仕事するのかな。ちょっと楽しみ

Yeah, I guess so. But I think there was nothing I can do.

When I got a job, there was no other choice. And I was been busy since I joined the company. When I became an associate, I've been thinking 'oops, that's not good'. but the economy and the salary was good. So I thought 'it's ok, though'.

What is my next job? I'm enjoying a little bit.


161 :以下、名無しにかわりましてVIPがお送りします[sage]: 2009/02/18(水) 02:24:57.11 ID:olySmeY7O

加えてインフレ時の行動の説明も、証券会社目線でしかない。単調すぎる


>>161

勉強不足で申し訳ない↓

I apologize I didn't study hard enough.


154 :以下、名無しにかわりましてVIPがお送りします[]:2009/02/18(水) 02:18:07.31 ID:IkGPTGhh0

外資系証券会社っていうか、米国証券会社害悪だよね

90年代英国欧州各国も結局同じ体系にせざるを得なくなったという…。

地に足ついてないし、信用ならねぇと思ってる。

人と癌細胞関係みたいで面白いと思った。

>>154

そうだね。でも個人的には、欧州各行から流入した負の性質もあると思ってる。

ユニバーサルバンキング(笑)とか、ワンストップ(笑)とかね

このへんは大分マニアックな話になっちゃうけども

You are right. But in my opinion, there are negative characteristics which are from europian banks. For example, universal banks:) or one stop:)

But this is going to be so detailed.

47 :以下、名無しにかわりましてVIPがお送りします[]:2009/02/17(火) 22:57:18.86 ID:5cDlWeJZO

いいじゃねぇか

俺さっき大臣クビになったノンケのお父さん見たぜ

>>47

彼はアル中で有名だったからなあ

財務省の友達は結構グチをこぼしていた

he was notorious for alcoholic.

A friend of Treasury complained about him.

49 :梅が枝餅 ◆CmkUk6.1BM []:2009/02/17(火) 23:01:53.44 ID:DrRvRxjv0

ここまでガチなら>>1はいい女認定


>>49

ニートでも自分を評価してくれる人はいるんだな。こんなに幸せなことは無い

There seems to be a person who value me even though I'm a neet. I can't be happier.

50 :以下、名無しにかわりましてVIPがお送りします[]: 2009/02/17(火) 23:05:53.12 ID:6KkdBV6i0

>>1

資格はどんなんだ?


>>50

証券外務員1種と証券アナリスト米国公認会計士(uncertificate)

弁護士とか会計士持ってる人もいるが、少なめ。仕事が超出来る人は意外と資格持ってない。

I have securities broker representaive license first grade, securities analyst, certified public accountant(uncertificate).

some people has attorney or accountant license, but it's not much. Those who can do a excellent job don't have license unexpectedly.


52 :以下、名無しにかわりましてVIPがお送りします[]: 2009/02/17(火) 23:13:26.74 ID:Wm1ZWPrp0

で、あなたは結局自己主張がしたい構ってちゃんなんですね。

いいんですよね?


>>52

それに加えて、仕事ばっかで友達とあんま遊んでなかったのでぼっち寂しがりやです。

大した中身も無いのにレスしてくれる人がいてとても嬉しい

Along with that, I feel lonely easily because I did nothing but a job and didn't hang around with friends so mcuh.

I'm so glad there are people who reply to the empty writings.

55 :以下、名無しにかわりましてVIPがお送りします[]:2009/02/17(火) 23:18:36.38 ID:Df8TgocCO

なんだこのエリート…?

地方Bラン大理系に進学決まった俺には無縁の世界


>>55

なんかみんなにエリートと言われるが、日本だと本当のエリート外資系証券には来てない気がする

金で頭脳を集められるアメリカだからこそ成り立った産業でした

Everybody say I'm elite. But I assume the real elites don't came to the foreign securities.

The industry works because in America, smart people are seeking money.


56 :以下、名無しにかわりましてVIPがお送りします[]: 2009/02/17(火) 23:20:38.52 ID:Zzlsf+8S0

高学歴処女ならガチで一生大切にする


>>56

 ま じ で ? しかし残念だ。高校生のときに言って欲しかったな。

外資系には結構いるよん。でもメンヘラとかも多いから注意

Are you sure? but I'm sorry. I wish you said that when I was in a high school.

There are a lot in foreign companies. But be careful because some of them has mental problems.

57 :以下、名無しにかわりましてVIPがお送りします[]: 2009/02/17(火) 23:22:40.59 ID:Xrex6pm10

>>1

まん毛濃い?


>>57

毛が薄い家系なんです

Thin hair is common in my family.

59 :以下、名無しにかわりましてVIPがお送りします[]: 2009/02/17(火) 23:26:42.84 ID:FcXM7v370

何カップ?


>>59

おしゃれな下着が見つかるくらいのサイズ

一度「肩凝るわあ」って言ってみたい

it's a size which you can find fashionable underwear.

I wish I could say "I have a stiff neck" just one time.

62 :以下、名無しにかわりましてVIPがお送りします[]: 2009/02/17(火) 23:29:12.23 ID:Z1HjrWc4O

>>1は良い女性


屋台ラーメン

わかるwww

いざという時に頼りになるのはこういう男性


>>62

うおおお、嬉しいぜ!意外とみんな優しいな

でもおいらが本当に良い女かどうかは、人生をかけて証明していくことなんだぜ と気取ってみるテスト

Wow, I'm so happy! To my surprise, everyone is kind.

But, whether I'm a really good woman or not is what I have to prove until I die. I sound snobbish as a test.

63 :以下、名無しにかわりましてVIPがお送りします[]: 2009/02/17(火) 23:30:48.87 ID:daLECn7w0

証券だったら金融系の転職サイトあるはずだから

そこからさがせば?

とりあえずハロワいって失業手当の申請だな


>>63

転職ヘッドハンター経由だね。さっき早速電話かかってきた。軽く怖いw

一応まだ退職同意書にサインしてないから失職が完了してなくて、失業手当は申請できない

再就職先が決まったら速攻で退職して、手当めいっぱいもらえるように入社時期ずらすつもり

I'll change jobs through headhunter. I got a call a little while ago. I'm a little scared :)

My unemployment is not complete because I haven't signed the retirement letter. So I can't apply for the dole.

If I found a place of reemployment, I'll resign immediately and adjust the day I join the company to get the dole as much as I can.

2009-03-01

外資系企業に勤めてたけど今日クビになった - 英訳1

http://mudainodqnment.blog35.fc2.com/blog-entry-734.html

の1さんに痛く感動したので、今日からちょっとずつ英訳することにした。

めんどいので訳すのは1さんの発言だけ。

----

天国から】外資系企業に勤めてたけど今日クビになった【地獄へ】

1 :以下、名無しにかわりましてVIPがお送りします[]: 2009/02/17(火) 21:54:58.27 ID:q0csBVmX0

これからどうすっぺ

What I'm going to do from now on?


Pがお送りします[]: 2009/02/17(火) 21:56:42.10 ID:hSi8C8C1O

知らない


>>2

叱咤激励ですね、分かります

I know you are encouraging me.


5 :以下、名無しにかわりましてVIPがお送りします[sage]:2009/02/17(火) 21:58:16.69 ID:g2vs+B3F0

上しっちゃうと下で働きづらいよねwwwwご愁傷さまですwwww


>>5

でも普通会社なら日付変更前に帰れると思うと今からwktk

さらば超絶ブラック奴隷生活

But if it's a normal company, I can leave the office before midnight. So I'm excited already.

Goodbye, a super black slave life.


7 :以下、名無しにかわりましてVIPがお送りします[]: 2009/02/17(火) 22:13:12.36 ID:q0csBVmX0

こりゃこのままDAT落ちか


8 :以下、名無しにかわりましてVIPがお送りします[]: 2009/02/17(火) 22:17:01.13 ID:xyfBFmXQ0

クビになった理由は何?


>>8

レスありがとう。構ってくれてうれしい。

Thank you for the reply. I'm glad you care about me.

1.景気

2.仕事をめぐって上司と対立

3.別の上司からのセクハラを拒否ったらパワハラ返しされた

1. the economy

2. fight against my boss for a job

3. I refused a sexual harassment from my other boss. And I got power halassment in revenge.


自分に正直にやった結果だから後悔はしていない。

I was honest to myself. So, I'm not regretting.


9 :以下、名無しにかわりましてVIPがお送りします[]: 2009/02/17(火) 22:18:22.50 ID:PGalirxsO

>>1

はいはい、働いたことないニート


>>9

これからしばらく夢のニート生活だぜ

I'm living a neet life for a while which I was dreamed of.


10 :以下、名無しにかわりましてVIPがお送りします[]: 2009/02/17(火) 22:19:35.39 ID:ehhTyz9h0

貯金はおいくらまんえん?


>>10

うまい棒をおなかいっぱい食べれるくらいはあるよっ

I can eat umai-bou as much as I want with my savings.


18 :以下、名無しにかわりましてVIPがお送りします[]:2009/02/17(火) 22:26:52.73 ID:ehhTyz9h0

じゃあいいじゃん

おれ2000円くらいだし


>>18

うまい棒200本買える。まだまだ死なない

I can buy 200 umai-bous. I don't die for some time.


12 :以下、名無しにかわりましてVIPがお送りします[]:2009/02/17(火) 22:23:44.98 ID:KiOrQ6vmO

自分で【】付けるのってどういう気分?


>>12

注目してもらいたいみじめな気分

I want attention and I feel misery.


13 :以下、名無しにかわりましてVIPがお送りします[sage]: 2009/02/17(火) 22:23:57.40 ID:mA5MWVa4P

女かよwwwwwwざまぁwwwwwwww


>>13

子を産む機械になるのは大分先になりそうです

I guess the day I become a machine for producing a baby will be far away.


14 :以下、名無しにかわりましてVIPがお送りします[]: 2009/02/17(火) 22:24:42.21 ID:HappM1obO

大丈夫

俺なんて大学全オチだ


>>14

mjsk 頑張ってね。

大学楽しいから、捲土重来を期して勉強してくだしあ

Are you serious? hang on.

University is a fun. So, you should never give up and study.


16 :以下、名無しにかわりましてVIPがお送りします[]:2009/02/17(火) 22:25:02.54 ID:oWiHeEoG0

外資系企業ケンタッキーフライドチキンとか?

>>16

証券会社です

It's broker-dealer.


17 :以下、名無しにかわりましてVIPがお送りします[]: 2009/02/17(火) 22:25:12.81 ID:xyfBFmXQ0

せくはらって、女性


>>17

そのもようです

looks like so.


19 :以下、名無しにかわりましてVIPがお送りします[]:2009/02/17(火) 22:27:02.60 ID:m8pazNsgO

がーくぅーれぇーきぃー


>>19

お利口ちゃんに囲まれた生活は息苦しかったぜ

I've had a hard time surrounded by smart people.


20 :以下、名無しにかわりましてVIPがお送りします[]: 2009/02/17(火) 22:27:10.37 ID:/Mwh+N470

年収どのくらいだった?


>>20

2006年度は3000万くらい。2007年度は2500万くらい。2008年度はたぶん1200万くらい。

About 30 million yen in 2006, about 25 million yen in 2007, probably about 12 million yen in 2008.

肉食いてえ

I want to eat meat.


23 :以下、名無しにかわりましてVIPがお送りします[sage]:2009/02/17(火) 22:28:47.33 ID:mA5MWVa4P

大学どこよ?気になる


>>23

都内の大学

It's a university in Tokyo.


24 :以下、名無しにかわりましてVIPがお送りします[]: 2009/02/17(火) 22:29:30.96 ID:ehhTyz9h0

あっ!!!どんなセクハラか聞かなくちゃ


>>24

反応してくれて嬉しいが、大したこと無い話なんだぜ

I'm glad you responsed. But It's no big deal.


26 :以下、名無しにかわりましてVIPがお送りします[]: 2009/02/17(火) 22:33:04.21 ID:ehhTyz9h0

ペット飼いませんか?

料理できますけど


>>26

当方家事趣味につき、間に合っております。でも気持ちは嬉しい

きみはペット」は割と好きでした

I like doing housework. So, it's ok. But I appreciate your feelings.

I liked "you are a pet'.


27 :以下、名無しにかわりましてVIPがお送りします[sage]: 2009/02/17(火) 22:35:04.47 ID:ishbEQDnO

人生詰みそうなのでスペインのサグラダファミリアに行こうと思ってる俺と結婚しませんか?


>>27

結婚は別として、サグラダファミリアは見に行きたい

Other than marriage, I want to go see Sagrada Familia.

todo

世の中の男性は相手の年収を気にすると言うが、vipperは気にしないようだ。嬉しい。

あっ、クビになったからか

It is said that men care about the partner's salary. But it looks like vippers don't care. I'm happy. Oops, I get it. It's because I'm fired.


29 :以下、名無しにかわりましてVIPがお送りします[]:2009/02/17(火) 22:35:38.67 ID:HvwXBcqMO

これからどんな職種受けるの?


>>29

資生堂とかいいな。

商社か事業会社経営企画部とか財務部かな。公務員もいいかも。

半年くらいニートやる覚悟でゆっくり考えます。とりあえず今週末から旅行に行く

Shiseido is great.

It could be business planning department or financial department in trading company or operating company. Civil servant might be good.

I'm ready to be a neet for a half year. For now, I'm going on a trip next week.

みんなレスくれてありがとう・・・目にごみが。゜(ノД`)゜。

Thanks a lot everyone for replies... something in the eyes...


32 :以下、名無しにかわりましてVIPがお送りします[]:2009/02/17(火) 22:41:42.49 ID:vMtaTtuD0

まぁそこまで年収あっちゃぁ、普通男性は近寄ることすら躊躇うだろうね


>>32

大学の友達と合コン行くたびに切ない思いをしたよ・・・

でもそれを言い訳にして仕事ばっかしてた気もするから自業自得だってことくらいは分かってるんだぜ

I felt sad whenever I go to a mixer with my friends of university.

But I feel I was working so hard using that as an excuse. So, I know I deserve it.


33 :以下、名無しにかわりましてVIPがお送りします[sage]: 2009/02/17(火) 22:41:49.90 ID:mA5MWVa4P

都内の大学ってどのレベルくらいだ?どれくらいのレベルなら有名な外資に行けるんだ?教えてくれ


>>33

おいらのいた職種だと、早慶なら可能性ある。ICUとか上智だとかなり厳しい。

留学生海外卒、海外在住経験コネによって多少は変動する。

In case of a job type which I was in, there is a possibility if it's Waseda or Keio university. if it's ICU or sophia university, it's so hard.

And foreign students, graduates of overseas university, foreign residential experience, connections, those matter a little.


34 :以下、名無しにかわりましてVIPがお送りします[]: 2009/02/17(火) 22:42:11.32 ID:oWiHeEoG0

>世の中の男性は相手の年収を気にする

もうあんまりそういう時代じゃないよな

男だろうが女だろうが相手の年収は高いにこしたことはないし

だからけっk


>>34

>男だろうが女だろうが相手の年収は高いにこしたことはないし

そうだよな。普通はそう思う

でも本心では、失職したら一緒にラーメン屋屋台でも引けばいいじゃないかって、言って欲しいんだぜ

もともと農家出身だから貧乏暮らしは慣れてるしね

I agree. Most of people think so.

But at heart, I want to be said "If I lose a job, we can pull a stall for noodle".

I'm used to living a poor life because my family is a farm family.


36 :以下、名無しにかわりましてVIPがお送りします[]:2009/02/17(火) 22:45:58.62 ID:iMNviUYMO

TV証券マン解雇されて、高級マンションであと100年は生活余裕っていってた

>>1も余裕だろ


>>36

まあ家賃だけならあと20年くらいは暮らせるけど、まだ20代なんで色々経験したいよ。。。

一足先にニート突入した元同僚見てると、精神的に結構つらそうだし

I have rent for about 20 years. but I'm still 20's so I want to experience a variety of things.

I saw my old colleague who became a neet before me. it looked hard mentally.


37 :以下、名無しにかわりましてVIPがお送りします[sage]: 2009/02/17(火) 22:46:02.65 ID:ishbEQDnO

経済力がないので1のような女性大歓迎です

世界教会巡りをしたいぜ


>>37

もう経済力無いってばw

メル・ギブソンの「パッション」見てからエルサレムの協会行くといいよ

I've lost economic power.

you better see 'Passion' of Mel Gibson, then you go to Jerusalem's Church


39 :以下、名無しにかわりましてVIPがお送りします[]:2009/02/17(火) 22:50:04.61 ID:6KkdBV6i0

損失補填でも何でもして売っていたあの頃


>>39

そっちの部門じゃなかった

でもま、外部の人からしたらどっちも一緒だよな

I was not in that department.

But I understand there is no difference from people outside.

2009-01-21

毎朝読対訳:就任演説(2)

http://anond.hatelabo.jp/20090121104002

 That we are in the midst of crisis is now well understood.

(M)だれもが知る通り、我々は重大な危機にある。

(A)私たちが危機のさなかにあるということは、いまやよくわかっている。

(Y)我々が危機の最中にいることは、現在では明白だ。

 Our nation is at war, against a far-reaching network of violence and hatred.

(M)わが国は(イラクアフガニスタンで)戦争状況にあり、敵は憎悪暴力ネットワークを持っている。

(A)我が国は暴力憎悪の大規模なネットワークに対する戦争状態にある。

(Y)我々の国家は、暴力憎悪の広範なネットワークを相手に戦争を行っている。

 Our economy is badly weakened, a consequence of greed and irresponsibility on the part of some, but also our collective failure to make hard choices and prepare the nation for a new age.

(M)経済状況も悪く、その原因は一部の人々の貪欲(どんよく)さと無責任さにあるものの、我々は困難な選択を避け、次世代への準備にも失敗している。

(A)経済はひどく衰弱している。それは一部の者の強欲と無責任の結果だが、私たちが全体として、困難な選択を行って新しい時代に備えることができなかった結果でもある。

(Y)我々の経済は、ひどく弱体化している。一部の者の強欲と無責任の結果であるだけでなく、厳しい決断をすることなく、国家新しい時代に適合させそこなった我々全員の失敗の結果である。

 Homes have been lost; jobs shed; businesses shuttered.

(M)多くの人々が家を職を失い、企業倒産した。

(A)家が失われ、雇用は減らされ、企業はつぶれた。

(Y)家は失われ、職はなくなり、ビジネス台無しになった。

 Our health care is too costly; our schools fail too many; and each day brings further evidence that the ways we use energy strengthen our adversaries and threaten our planet.

(M)健康保険制度もカネがかかりすぎ、多くの学校制度)も失敗した。毎日のように、エネルギーの使い方が地球危険に陥れている証拠も挙がっている。

(A)医療費は高すぎ、学校は、あまりに多くの人の期待を裏切っている。(石油などを大量消費する)私たちのエネルギー使用方法が敵を強大にし地球を脅かしていることが、日に日に明らかになっている。

(Y)我々の健康保険制度は金がかかり過ぎる。荒廃している我々の学校はあまりにも多い。さらに、我々のエネルギーの消費のしかたが、我々の敵を強化し、我々の惑星を脅かしているという証拠が、日増しに増え続けている。

 These are the indicators of crisis, subject to data and statistics.

(M)これがデータ統計が示した危機だ。

(A)これらは、データ統計で示される、危機の指標だ。

(Y)これらは、データ統計に基づく危機の指標だ。

 Less measurable but no less profound is a sapping of confidence across our land - a nagging fear that America's decline is inevitable, and that the next generation must lower its sights.

(M)全米で自信が失われ、アメリカの没落は必然で、次の世代は多くを望めない、という恐れがまん延している。

(A)測定はより困難だが同様に深刻なのは、米全土に広がる自信の喪失だ。それは、米国の衰退が不可避で、次の世代は目標を下げなければいけないという、つきまとう恐怖だ。

(Y)予測は困難だが、間違いなく深刻なのは、我々の国土に広がる自信の喪失や、米国の凋落(ちょうらく)は避けがたく、次の世代はうなだれて過ごさなければならないというぬぐいがたい恐怖だ。

 Today I say to you that the challenges we face are real.

(M)今日、私は我々が直面している試練は現実のものだ、と言いたい。

(A)これらの難問は現実のものだ。

(Y)今日、私はあなた方に告げる。我々が直面している試練は本物だ。

 They are serious and they are many.

(M)試練は数多く、そして深刻なものだ。

(A)深刻で数も多い。

(Y)試練は深刻で数多い。

 They will not be met easily or in a short span of time.

(M)短期間では解決できない。

(A)短期間で簡単には対処できない。

(Y)試練は容易に、または、短い時間で対処できるものではない。

 But know this, America - they will be met.

(M)だが知るべきなのはアメリカはいつか克服するということだ。

(A)しかし、アメリカよ、それは解決できる。

(Y)しかし、米国よ、わかってほしい。これらの試練は対処されるだろう。

 On this day, we gather because we have chosen hope over fear, unity of purpose over conflict and discord.

(M)この日に我々が集ったのは、恐れではなく、希望を選んだためで、争いの代わりに団結を選んだからだ。

(A)今日、私たちは恐怖より希望を、対立と不和より目的を共有することを選び、ここに集まった。

(Y)この日、我々は、恐怖ではなく希望を、紛争と不一致ではなく目標の共有を選んだため、ここに集った。

 On this day, we come to proclaim an end to the petty grievances and false promises, the recriminations and worn out dogmas, that for far too long have strangled our politics.

(M)この日、我々は実行されない約束やささいな不満を終わらせ、これまで使い果たされ、そして政治を長いこと混乱させてきた独断などをやめる。それを宣言するためにやって来た。

(A)今日、私たちは、長らく我が国の政治の首を絞めてきた、狭量な不満や口約束、非難や古びた教義を終わらせると宣言する。

(Y)この日、我々は、我々の政治をあまりにも長い間阻害してきた、ささいな不満や偽りの約束、非難や言い古された定説を終わらせることを宣言する。

2008-10-17

http://anond.hatelabo.jp/20081006220009

YourFileHostのCAPTCHA画像をなんとかするの続き。

その後、適当にいじったら、手元環境で1枚あたり25秒くらい→だいたい2.5秒くらいで判別できるようになった。このくらいなら使えるかな。

速度向上に一番効いたのは、Token#importで画像を比較しているところの修正。他は細かい手直し。

使い方は前のやつと変わってません。

あと、テストに100枚くらいCAPTCHA画像食わせてみたけど、とりあえず全部正しく判定できた。

動作確認用のスクリプト (run.rb)

カレントディレクトリ以下にある*.gifCAPTCHA画像ファイル適当に判別するスクリプト。動作確認用にどうぞ。

後述のdecaptcha.rbと同じディレクトリ適当に置いてchmod +xしてね。

#!/usr/local/bin/ruby
$LOAD_PATH << File::dirname(File::expand_path($0))
require 'decaptcha'

STDOUT.sync = true

Dir.glob('*.gif').sort.each do |file|
  correct = File::basename(file, '.*')
  puts "Processing file: #{file}"
  start_time = Time.now
  ret = DeCAPTCHA.decode(file)
  elapsed = Time.now - start_time

  puts "  Result: #{ret} (=> #{(correct == ret) ? "Ok" : "Fail"})"
  puts "  Elapsed time: #{elapsed}"
  puts
end

コード (decaptcha.rb)

#!/usr/local/bin/ruby
require 'rubygems'
require 'gd2'
require 'pp'

#
#= CAPTCHA画像解析モジュール
# CAPTCHA画像ファイルを食わすとあら不思議Stringが出てくるよ。
# YourFileHostのやつに対応。
#
#== Usage
# decoded_str = DeCAPTCHA.decode("some_captcha_image.gif")  #=> String
# 失敗したらnilが返る。
#
module DeCAPTCHA
  DEBUG = false

  #=== CAPTCHA画像デコード
  # file::    画像ファイル名のパス
  # method::  未指定でよい。男は細かい事を気にするな。
  # returns:: CAPTCHA画像解析結果(String) or nil (デコード失敗時)
  def self.decode(file, method = DeCAPTCHA::Site::YourFileHost)
    return method.new(file).decode
  end



  #= CAPTCHA画像デコードクラス
  # このクラスサブクラスはimport, tokenize, stream_parseメソッドの
  # 実装を含む必要がある。
  class Site
    def initialize(file = nil)
      @pix = nil
      self.import(file) unless file.nil?
    end
    def decode
      return stream_parse(tokenize())
    end
  end

  #= YourFileHostのCAPTCHA画像を解析するクラス
  class Site::YourFileHost < Site
    def import(file)
      @pix = PixelMatrix.new.import(file)
      return self
    end

    # importしたイメージ(PixelMatrix)から、文字と思わしきパターンを
    # 抽出して上下マージンを切り取ってArrayにして返す。
    # returns:: Array of PixelMatrix
    def tokenize
      ret = []
      state = :initial
      for x in 0...@pix.width
        case state
        when :initial
          if !@pix.vline_blank?(x) then
            state = :tokenize
            pixel = PixelMatrix.new(0, 0, true)
            ret << pixel
            redo
          end
        when :tokenize
          if @pix.vline_blank?(x) then
            state = :initial
            next
          end
          x0 = pixel.width
          for y in 0...@pix.height
            pixel[x0, y] = @pix[x, y]
          end
        else
          raise 'NOTREACHED'
        end
      end

      ret.map! {|token| Token.new.import(token.cutoff_vmargin!) }
    end


    # PixelMatrixのArrayを受け取り、数字を判別。
    # tokens:: Array of PixelMatrix
    # returns:: String (判別結果)
    def stream_parse(tokens)
      rs = tokens.map {|x| x.guess.to_s }.join('')
      if rs.length != 4 then
        rs = nil
        if DEBUG then
          puts '- guess failed. dumping guess result of each token:'
          tokens.each_index do |i|
            print "##{i}:#{tokens[i].guess} "
            pp tokens[i].candidate
          end
          puts
        end
      end
      return rs
    end

    class Token
      @@digits = nil
      attr_accessor :candidate

      def initialize
        if @@digits.nil? then
          # 文字画像サンプルを作っておく
          @@digits = DIGITS_ASSOC.map {|digit|
            PixelMatrix.new(0, 0, true).import_array(digit) }
        end

        @candidate = Hash.new
      end

      # PixelMatrixを受け取り、文字画像サンプルと比較して
      # 一致率を計算しておく。
      # pixel:: PixelMatrix
      # returns:: self
      def import(pixel)
        @@digits.each_index do |i|
          digit = @@digits[i]

          if (digit.width - pixel.width).abs   > 4 or
             (digit.height - pixel.height).abs > 4 then
            @candidate[i] = -1  # サイズが違いすぎな場合、一致させない
            next
          end

          correct_bits = 0
          enlarged_width  = [digit.width,  pixel.width ].max
          enlarged_height = [digit.height, pixel.height].max
          for y in 0...enlarged_height
            dy = (y.to_f / digit.height * enlarged_height).to_i
            py = (y.to_f / pixel.height * enlarged_height).to_i
            for x in 0...enlarged_width
              dx = (x.to_f / digit.width * enlarged_width).to_i
              px = (x.to_f / pixel.width * enlarged_width).to_i
              correct_bits += 1 if digit[dx, dy] == pixel[px, py]
            end
          end

          @candidate[i] = correct_bits * 100 /
                          (enlarged_width * enlarged_height)
        end

        return self
      end

      # importのときの比較結果をもとに文字を推測
      # returns:: Fixnum or nil(失敗時)
      def guess
        digit, ratio = @candidate.sort {|a, b| a.last <=> b.last}.last
        digit = nil if ratio < 0 or ratio < 65
        return digit
      end
    end
  end


  #= 画素マトリックスクラス
  # 画像ファイルを食わせると、各ピクセル(画素)を2値(black(1) or white(0))に
  # 変換して、内部で保持する。
  # 以後、Matrixクラスのような感じで個々の画素アクセスできる。
  class PixelMatrix
    BLACK = 1
    WHITE = 0

    attr_accessor :width
    attr_accessor :height

    # width::  幅
    # height:: 高さ
    # is_flexible:: 自動的に伸張するか
    def initialize(width = 0, height = 0, is_flexible = false)
      @matrix = Hash.new {|hash, key| hash[key] = Hash.new(WHITE)}
      @width, @height, @flexible = width, height, is_flexible
    end

    # file:: 画像ファイル名のパス
    # brightness_threshold:: 画素を黒とみなす閾値 (0 - 255, default: 0x40)
    # returns:: self (DeCAPTCHA::PixelMatrix)
    def import(file, brightness_threshold = 0x40)
      gd = GD2::Image.import(file)
      @width, @height = gd.width, gd.height

      self.each_with_axis do |x, y|
        color = gd[x, y]
        greyscale = (color.red + color.green + color.blue) / 3
        self[x, y] = (greyscale > brightness_threshold) ?
          WHITE :
          BLACK
      end
      return self
    end

    def import_array(array)
      array.each_with_index do |str, y|
        str.split('').each_with_index do |c, x|
          self[x, y] = c.to_i
        end
      end
      return self
    end

    # PixelMatrixを画像ファイルとしてexport
    # file:: 新たに作る画像ファイル名のパス
    def export(file)
      gd = GD2::Image::IndexedColor.new(@width, @height)
      gd.palette << GD2::Color::WHITE
      gd.palette << GD2::Color::BLACK
      self.each_with_axis do |x, y|
        gd[x, y] = {
          WHITE => GD2::Color::WHITE,
          BLACK => GD2::Color::BLACK,
        }[self[x, y]]
      end
      gd.export(file)
      return self
    end

    # 指定された位置の画素を返す。
    # returns:: PixelMatrix::BLACK(1) or WHITE(0)
    def [](x, y)
      if !@flexible and !in_range?(x, y) then
        raise RangeError
      end
      return WHITE if !@matrix.has_key?(y)  # XXX: for optimize
      return @matrix[y][x]
    end

    # 画素に値を設定。
    # returns:: PixelMatrix::BLACK(1) or WHITE(0)
    def []=(x, y, val)
      unless in_range?(x, y) then
        raise RangeError unless @flexible
        @width  = (x >= @width)  ? x + 1 : @width
        @height = (y >= @height) ? y + 1 : @height
      end

      @matrix[y][x] = val
    end

    def in_range?(x, y)
      ((0...@width) === x and (0...@height) === y)
    end

    # 指定された軸をもとに画素を走査し、Arrayに変換。
    # 例えば、to_a(:vertical, 10) とすると、x == 10 な列を取り出して
    # Arrayにして返す。
    #
    # axis:: 軸を指定 (:vertical または :horizontal)
    # pos:: 位置を指定。_axis_で指定した軸と直交する軸における位置を指定。
    def to_a(axis, pos)
      {:vertical => lambda {
        (0...@height).map {|y| self[pos, y]}
       },
       :horizontal => lambda {
        (0...@width).map  {|x| self[x, pos]}
       },
      }[axis].call
    end

    # returns:: Array
    def hline(y)
      self.to_a(:horizontal, y)
    end

    # returns:: Array
    def vline(x)
      self.to_a(:vertical, x)
    end

    # X軸方向に画素を走査。
    # y:: どの位置で走査するか
    # returns:: 指定された軸の上にドットが存在: false, 無い: true
    def hline_blank?(y)
      return true if @matrix.has_key?(y) == false # XXX: for optimize
      for x in 0...@width
        return false if self[x, y] == BLACK
      end
      return true
    end

    # Y軸方向に画素を走査。
    # x:: どの位置で走査するか
    # returns:: 指定された軸の上にドットが存在: false, 無い: true
    def vline_blank?(x)
      for y in 0...@height
        return false if self[x, y] == BLACK
      end
      return true
    end

    # 上下のマージン削除した新しいPixelMatrixを返す。
    # returns:: PixelMatrix
    def cutoff_vmargin
      pixel = PixelMatrix.new(0, 0, true)
      head = 0
      tail = self.height - 1

      head.upto(tail) do |y|
        if !self.hline_blank?(y) then
          head = y
          break
        end
      end
      tail.downto(head) do |y|
        if !self.hline_blank?(y) then
          tail = y
          break
        end
      end

      head.upto(tail) do |y|
        0.upto(self.width - 1) do |x|
          pixel[x, y - head] = self[x, y]
        end
      end

      return pixel
    end
    
    # 自身の上下のマージン削除する。cutoff_vmarginの破壊版。
    # 速度稼ぎのために直接@matrixを触ったり、すこしずるをしている。
    # 効率は、ほんの少しだけ速くなったような誤差の範囲のような感じ。
    # returns:: self (PixelMatrix)
    def cutoff_vmargin!
      head = 0
      tail = self.height - 1

      head.upto(tail) do |y|
        if !self.hline_blank?(y) then
          head = y
          break
        end
      end
      tail.downto(head) do |y|
        if !self.hline_blank?(y) then
          tail = y
          break
        end
        @matrix.delete(y) if @matrix.has_key?(y)  # XXX
      end

      if head > 0 then
        head.upto(tail) do |y|
          next if !@matrix.has_key?(y)            # XXX
          @matrix[y - head] = @matrix.delete(y)   # XXX
        end
      end
      self.height = tail - head + 1

      return self
    end
    
    def each_with_axis
      for x in 0...@width
        for y in 0...@height
          yield(x, y)
        end
      end
    end
  end
end

class DeCAPTCHA::Site::YourFileHost::Token
DIGITS_ASSOC = [
  # 0
  ["00000000011111110000000000",
   "00000001111111111110000000",
   "00000011111000001111000000",
   "00001111111100010011110000",
   "00011111100000110000111000",
   "00111111000000100001111000",
   "00111111110001000001111100",
   "01111111000010000011111110",
   "01111100000110000111111110",
   "01111111000100000111111110",
   "11111100001000001111111111",
   "11100000001000011111111111",
   "11111000010000011111111111",
   "11111000110000111111111111",
   "10000000100001111111111111",
   "01100001000001111111111110",
   "01100010000011111111111110",
   "01100010000111111111111110",
   "00111100000111111111111100",
   "00011100001111111111111000",
   "00001100011111111111111000",
   "00001111111111111111100000",
   "00000011111111111111000000",
   "00000000111111111100000000"],
  # 1
  ["00001",
   "00111",
   "11111",
   "11111",
   "10001",
   "00001",
   "00001",
   "00001",
   "00001",
   "00001",
   "00001",
   "00001",
   "00001",
   "00001",
   "00001",
   "00001",
   "00001",
   "00001",
   "00001",
   "00001"],
  # 2
  ["0000011111111110000000",
   "0001111111111111000000",
   "0011110000000010000000",
   "0110000000000100000000",
   "1100000000001100011110",
   "1000000000001000001111",
   "1000000000010000000111",
   "1000000000110001111111",
   "1000000000100001111111",
   "1000000001000000011111",
   "0100000011000001111111",
   "0011000010000111111110",
   "0011000110000001111110",
   "0000001100000111111100",
   "0000001000011111110000",
   "0000011000000111100000",
   "0000110000000000000000",
   "0000111111111111111111",
   "0001111111111111111110",
   "0011111111111111111100",
   "0011111111111111111100",
   "0111111111111111111000",
   "0111111111111111110000"],
  # 3
  ["000000011111111110000000",
   "000001111111111111100000",
   "000011100000011111111000",
   "000111000000111111111000",
   "000110000001111111111100",
   "000100000001111111111100",
   "000100000011111111111100",
   "000110000111111111111000",
   "000010000111111111111000",
   "000000001111111111100000",
   "000000011111111111000000",
   "000000011111111110000000",
   "000000000000001100000000",
   "000000000000011100011100",
   "000000000000111000111110",
   "000000000000110000001110",
   "000000000001110001111111",
   "110000000011100011111111",
   "111000000111000000111110",
   "011100000110001111111100",
   "001111001110000111111000",
   "000011111100000011100000",
   "000000011000111000000000"],
  # 4
  ["0000000000011",
   "0000000000011",
   "0000000000111",
   "0000000001111",
   "0000000001111",
   "0000000011111",
   "0000000111111",
   "0000000110111",
   "0000001100111",
   "0000011100111",
   "0000011000111",
   "0000110000111",
   "0001110000111",
   "0001100000111",
   "0011000000111",
   "0111000000111",
   "0111111111111",
   "1111111111111",
   "0000000000111",
   "0000000000111",
   "0000000000111",
   "0000000000111",
   "0000000000111"],
  # 5
  ["000000001111111111111110",
   "000000011111111111111100",
   "000000111111111111111100",
   "000000111111111111111000",
   "000001111111111111110000",
   "000011100000000000000000",
   "000011011111111110000000",
   "000111111111111111000000",
   "001111100000000111000000",
   "001110000000000110001100",
   "000000000000000100011110",
   "000000000000001100000110",
   "000000000000011000011111",
   "000000000000011001111111",
   "000000000000110000011111",
   "000000000001100000111111",
   "110000000001100111111110",
   "011000000011000001111110",
   "011100000110000011111100",
   "001111000110011111111000",
   "000111111100001111110000",
   "000001111100000011000000",
   "000000001000011000000000"],
  # 6
  ["000000000000000110000000",
   "000000010001111111111000",
   "000001110000011100111100",
   "000011100000011000001000",
   "000111000011111000000000",
   "001111000001110000000000",
   "001110000000111100000000",
   "011110001111111111100000",
   "011100000111000011110000",
   "011000000010000001111000",
   "011000011110000011111100",
   "010000111100000111111110",
   "100000001000000111111110",
   "100001111000001111111111",
   "000011110000011111111111",
   "000000100000011111111111",
   "000011100000111111111111",
   "001111000001111111111110",
   "000010000001111111111110",
   "001110000011111111111100",
   "000111000111111111111000",
   "000011111111111111110000",
   "000000111111111111000000",
   "000000000111111000000000"],
  # 7
  ["0011111111111110001111",
   "0011111111111100000011",
   "0111111111111000000110",
   "1111111111111000111100",
   "1111111111110000001100",
   "0000000000000000011000",
   "0000000000000011111000",
   "0000000011000000110000",
   "0000001110000011100000",
   "0000011110001111100000",
   "0000111100000011000000",
   "0001111000000110000000",
   "0001111000111110000000",
   "0011110000001100000000",
   "0011110000001000000000",
   "0011100011111000000000",
   "0011000001110000000000",
   "0001000000110000000000",
   "0000000111100000000000",
   "0000000111000000000000",
   "0000000011000000000000",
   "0000001110000000000000",
   "0000001100000000000000"],
  # 8
  ["0000000111111111110000000",
   "0000011111111111111100000",
   "0000001111100000011110000",
   "0000000001110000000111000",
   "0011000011111000000011100",
   "0011100001111100000011100",
   "0011110000001110000011100",
   "0001111000011111000111000",
   "0000111100000111101110000",
   "0000011110000001111100000",
   "0000001111000011111110000",
   "0000111111110000011111000",
   "0011110011111000001111100",
   "0111100001111100011111100",
   "0111000000111110000111110",
   "1111000000011111000000111",
   "1111000000001111100011111",
   "1111000000000011111000010",
   "0111100000000001111100000",
   "0011110000000000111110000",
   "0001111110000001111110000",
   "0000011111111111111000000",
   "0000000011111110000000000"],
  # 9
  ["000000111111111110000000",
   "000001111111111111100000",
   "000111111111111001111000",
   "001111111111110000010000",
   "011111111111110000010000",
   "011111111111100000100000",
   "011111111111000001100000",
   "111111111110000001000111",
   "111111111110000010000001",
   "111111111100000110000111",
   "011111111000000100011111",
   "011111111000001000001111",
   "001111110000011000011111",
   "001111100000010001111110",
   "000111110000100000011110",
   "000001111111100000111110",
   "000000011111000111111100",
   "000000000010000001111100",
   "000000000110000001111000",
   "000100001100011111110000",
   "000111001100001111100000",
   "000011111000001111000000",
   "000000010000110000000000"],
]
end
__END__

2008-09-14

http://anond.hatelabo.jp/20080914220338

ありがとうございます。修正ユリウス日の方です。

Fliegelっすね。


つーか、増田集合知はすげーな。みんなリア充だなw

おまけ、 Win32系でシステムタイム(UTCDateをフリーゲルの公式を使って修正ユリウス日に変えるコード

	SYSTEMTIME   utcTime;
	GetSystemTime(&amp;utcTime);
	unsigned int utcDate;
	
	//using fomula of Fliegel

	if(utcTime.wMonth<= 2){
		utcTime.wMonth+= 12;
		utcTime.wYear--;
	}
	utcDate = ((int)(365.25*utcTime.wYear)) + (utcTime.wYear/400) - (utcTime.wYear/100) + ((int)(30.59*(utcTime.wMonth-2))) + utcTime.wDay  -678912;
	return utcDate;

いまからデバッグ

&が化けてるな・・・orz

//Julian Day

//utcDate = ((int)(365.25*utcTime.wYear)) + (utcTime.wYear/400) - (utcTime.wYear/100) + ((int)(30.59*(utcTime.wMonth-2))) + utcTime.wDay -678912;

//MJD

//utcDate = ((int)(365.25*utcTime.wYear)) + ((int)(30.59*(utcTime.wMonth-2))) + utcTime.wDay -678914 ;

//UTC Date

utcDate = ((int)(365.25*utcTime.wYear)) + ((int)(30.59*(utcTime.wMonth-2))) + utcTime.wDay -678914 - 40600;

デバッグおわた。

上からユリウス日 修正ユリウス日 UTC時刻の日付部分の変換。

お好きな物をお使い下さい。ってだれもつかわねーよ。

2008-07-19

ゲームジャーナリスト」かあ

http://it.nikkei.co.jp/digital/news/index.aspx?n=MMITew000018072008

個人的な推測だが、スクウェア・エニックスが最終的に決断したのは、コナミが6月に全世界同時発売したPS3独占タイトルメタルギアソリッド4(MGS4)」の販売状況を見てからではないかと思われる。MGS4の開発コストは70億円とも噂されており、FF13に近い巨大プロジェクトである。
70億円の元ネタってこれだろ?
I heard MGS4 costs 70 million. Which actually sounds ludicrous to me, but in a way it doesn’t if you factor int he MGS4 and MGS online...and the tons of cinematics and long development time...it could get up to that.
これを発言したCory Barlog氏ってのは、ゲームゴッドオブウォーシリーズディレクターやってる人で、メタルギアシリーズどころかコナミ関係ない人だろう。同じゲーム業界の人とはいえ、この「噂」を根拠に「それでもワールドワイドでの販売本数としては、開発費を考えれば必ずしも多くはない。」と推測を立てるのはちょっと杜撰じゃないか。あと、
しかし、DVD2枚組みにするなど、方法は考えられる。
MGS4BDの容量(約50GB)ギリギリまで使い切っているというのは、小島秀夫が各種媒体で明言しているんだから「2枚組にするなど」という喩えも無茶がありすぎる。単純計算でも6枚は必要なはずだろうに。

 同社は9月に「インフィニットアンディスカバリー」(Xbox360)、年末に「ラストレムラント」(PS3、Xbox360)、来年春に「スターオーシャン4」(PS3、Xbox360)と新しいブランドを投入するが、上位に食い込めるかどうかはわからない。市場好みが変わってきているからだ。
この点については同感。ただ、スクエニバンナムが「虎の子」の自社ブランドRPGを「まずはXbox360で」とする体制が、北米市場への参入を意識したものかどうかはちょっと疑わしいと個人的に感じている。
そもそも、記事にもあるようにFPSやオンラインコミュニケーション隆盛な北米で、「クラッシックスタイルRPG(classic style RPG)」が果たしてどこまで通用するのかは完全に未知数で確かな勝算が見あたらないし、最悪の場合、Xbox360用とPS3用の両版出してもMGS4より売れないというという事態もありうるんじゃないだろうか。MGS4の場合、日本独特のアニメキャラクターではなく、欧米人好みなむさいオッサンが主人公や敵役で数多く登場しつつ、FPS風の遊び方も用意されていたし(仮に360版も出せばもっと売れていただろうというのは同感だけど)。
今回の360傾倒はおそらく、日本市場を主軸にした開発コスト回収が出来なくなったメーカーの方便なんじゃないかと思う。日本メインで売っても儲からないから、アメリカでも売ろう→アメリカ360メイン→じゃあ360で、といった感じで、コスト回収が先にあって、それを補完するための「北米市場レトリックなんじゃないかな。日本メーカーが、日本でよく売れてる(少なくとも過去はそうだったはず)ジャンルソフトを、日本でもっとも売れていないゲーム機で発売するというのは常識的に見れば異常だもん。個人的感覚では、こういった娯楽商品はまず「地元」でしっかり足固めするべきだと思うんだが、そう判断出来ない事情が色々とあるんだろう。新清士氏がゲームジャーナリストを自称するのであれば、そういった所をえぐり出して欲しかった。

2007-10-22

can't get back my time.

年下の非童貞を見ると脳の裏のほうが痛くなる。

自分より年上のカップルは単純にうらやましいと思う。

自分より年下のカップルは、本気で死ねばいいと思う。

俺がもう取り戻すことのできないこの時間を、

やつらは非童貞としてすごしていくのだ。

2007-07-12

迷路成プログラムVC++2005でやってみた。

http://anond.hatelabo.jp/20070711013155 こちらの宿題を作ってみました。

http://anond.hatelabo.jp/20070711080519 で参加を宣言した者です。

#include "stdafx.h"
#include <time.h>
#include <conio.h>
#include <list>

using namespace std;

enum MMError {
	MME_None = 0,
	MME_SizeError,
	MME_MemoryAllocError,
	MME_NotInitialized,
};

enum MMKind {
	MMK_None = 0,
	MMK_Space,		// 通路
	MMK_Filled,		// 埋まってるところ。掘れる。
	MMK_Wall,		// 壁。掘れないところ。
};

//
// 迷路実体管理用クラス定義
//
class CMazeMatrix
{
public:
	CMazeMatrix();
	virtual ~CMazeMatrix();

public:
	virtual bool	Initialize(int nXSize, int nYSize);	// 初期化すると同時に、外壁まで作ってしまう。
	virtual MMKind	GetAt(int nXPos, int nYPos);
	virtual bool	SetAt(int nXPos, int nYPos, MMKind kind);

	MMError	GetLastError() {return m_lastError;}


protected:
	inline	int calcIndex(int nXPos, int nYPos) {return nYPos * m_nXSize + nXPos;}
	bool	finalize();

protected:
	MMKind	*m_pMaze;
	int		m_nXSize;
	int		m_nYSize;

	MMError	m_lastError;
};

//
// 実体管理用クラス実体
//
CMazeMatrix::CMazeMatrix()
{
	m_pMaze = NULL;
	m_nXSize = 0;
	m_nYSize = 0;
	m_lastError = MME_None;
}

CMazeMatrix::~CMazeMatrix()
{
	finalize();
}


bool CMazeMatrix::Initialize(int nXSize, int nYSize)
{
	finalize();

	int nSize = nXSize * nYSize;
	if ((__int64)nSize != (__int64)nXSize * (__int64)nYSize) {
		m_lastError = MME_SizeError;
		return false;
	}
	m_pMaze = new MMKind[nSize];
	if (m_pMaze == NULL) {
		m_lastError = MME_MemoryAllocError;
		return false;
	}

	m_nXSize = nXSize;
	m_nYSize = nYSize;

	int nCnt;
	for (nCnt = 0; nCnt < nSize; nCnt++) 
		m_pMaze[nCnt] = MMK_Filled;

	for (nCnt = 0; nCnt < m_nXSize; nCnt++) {
		m_pMaze[calcIndex(nCnt, 0)] = MMK_Wall;
		m_pMaze[calcIndex(nCnt, m_nYSize - 1)] = MMK_Wall;

	}

	for (nCnt = 0; nCnt < m_nYSize; nCnt++) {
		m_pMaze[calcIndex(0, nCnt)] = MMK_Wall;
		m_pMaze[calcIndex(m_nXSize - 1, nCnt)] = MMK_Wall;
	}
	return true;
}

MMKind	CMazeMatrix::GetAt(int nXPos, int nYPos)
{
#ifdef _DEBUG
	if (nXPos < 0 || nXPos >= m_nXSize ||
		nYPos < 0 || nYPos >= m_nYSize)
	{
		m_lastError = MME_SizeError;
		return MMK_None;
	}
#endif
	return m_pMaze[calcIndex(nXPos, nYPos)];
}

bool	CMazeMatrix::SetAt(int nXPos, int nYPos, MMKind kind)
{
#ifdef _DEBUG
	if (nXPos < 0 || nXPos >= m_nXSize ||
		nYPos < 0 || nYPos >= m_nYSize)
	{
		m_lastError = MME_SizeError;
		return false;
	}
#endif
	m_pMaze[calcIndex(nXPos, nYPos)] = kind;
	return true;
}

bool	CMazeMatrix::finalize()
{
	if (m_pMaze != NULL) {
		delete [] m_pMaze;
		m_pMaze = NULL;
	}
	return true;
}


//
// 迷路作成用クラス定義
//
class CMazeMaker
{
public:
	CMazeMaker();
	virtual ~CMazeMaker();

public:
	bool	Initialize(int nXSize, int nYSize);

	// 力業。ループで回す。メモリは食わない。
	// 美しくない。
	bool	Generate1();

	// 掘った箇所をスタックに積んで、掘れなくなったらスタックを戻す。
	// 綺麗だけれど、迷路のサイズを増やすとスタックオーバーフローが起こる。
	bool	Generate2();

	// Generate2をlistに置き換えたもの。
	// stdを使ってしまったのが心残り。
	bool	Generate3();

	MMError	GetLastError() {return m_lastError;}

protected:
	bool	finalize();
	bool	checkPos(int nXPos, int nYPos, int nXAdd, int nYAdd);
	int		process(int nXPos, int nYPos);
	void	dig(int nXPos, int nYPos);
	bool	makeStartGoal();
	virtual	CMazeMatrix* matrixAllocate();

protected:
	int		m_nXSize;
	int		m_nYSize;
	CMazeMatrix *m_pMatrix;
	MMError	m_lastError;
};


CMazeMaker::CMazeMaker()
{
	m_nXSize = 0;
	m_nYSize = 0;
	m_pMatrix = NULL;
	m_lastError = MME_None;
}

CMazeMaker::~CMazeMaker()
{
	finalize();
}

bool CMazeMaker::Initialize(int nXSize, int nYSize)
{
	finalize();

	m_pMatrix = matrixAllocate();

	if (m_pMatrix == NULL) {
		m_lastError = MME_MemoryAllocError;
		return false;
	}

	if (m_pMatrix->Initialize(nXSize, nYSize) == false) {
		m_lastError = m_pMatrix->GetLastError();
		return false;
	}

	m_nXSize = nXSize;
	m_nYSize = nYSize;

	return true;
}

CMazeMatrix* CMazeMaker::matrixAllocate()
{
	return new CMazeMatrix;
}

bool CMazeMaker::finalize()
{
	if (m_pMatrix != NULL) {
		delete m_pMatrix;
		m_pMatrix = NULL;
	}
	return true;
}


// スタート位置と、ゴールの位置を作成。外壁部分に穴を開ける。
// 今回のアルゴリズムでは、外壁のすぐ内側が通路になっていないことがあるので
// その場合には箇所を移動させる。
// どこをとっても通路が見あたらない場合には、エラーとする。
// (乱数の発生具合がとても意地悪な場合を考えると、可能性は少なくとも0ではない。)
//
bool CMazeMaker::makeStartGoal()
{
	// スタート地点を左の壁の上の方に
	int nCnt = 0;
	for (nCnt = 1; nCnt < m_nYSize - 1; nCnt++) {
		if (m_pMatrix->GetAt(1, nCnt) == MMK_Space) {
			m_pMatrix->SetAt(0, nCnt, MMK_Space);
			break;
		}
	}
	if (nCnt == m_nXSize - 1) {
		return false;
	}

	// ゴール地点を右の壁の下の方に
	for (nCnt = m_nYSize; nCnt > 0; nCnt--) {
		if (m_pMatrix->GetAt(m_nXSize - 2, nCnt) == MMK_Space) {
			m_pMatrix->SetAt(m_nXSize - 1, nCnt, MMK_Space);
			break;
		}
	}
	if (nCnt == 0) {
		return false;
	}
	return true;
}


// 現在位置nXPos, nYPosからみて、nXAdd、nYAddを足した位置に移動できるかをチェック
// 移動先が埋まっている状態で、さらに三方が通路以外に覆われているなら、OKとする

bool CMazeMaker::checkPos(int nXPos, int nYPos, int nXAdd, int nYAdd)
{
	if (m_pMatrix->GetAt(nXPos + nXAdd, nYPos + nYAdd) != MMK_Filled) 
		return false;

	if (nXAdd == 0) {
		if (m_pMatrix->GetAt(nXPos - 1, nYPos + nYAdd * 2) != MMK_Space &amp;&amp;
			m_pMatrix->GetAt(nXPos    , nYPos + nYAdd * 2) != MMK_Space &amp;&amp;
			m_pMatrix->GetAt(nXPos + 1, nYPos + nYAdd * 2) != MMK_Space &amp;&amp;
			m_pMatrix->GetAt(nXPos - 1, nYPos + nYAdd ) != MMK_Space &amp;&amp;
			m_pMatrix->GetAt(nXPos + 1, nYPos + nYAdd ) != MMK_Space)
		{
			return true;
		}
	} else {
		if (m_pMatrix->GetAt(nXPos + nXAdd * 2, nYPos - 1) != MMK_Space &amp;&amp;
			m_pMatrix->GetAt(nXPos + nXAdd * 2, nYPos    ) != MMK_Space &amp;&amp;
			m_pMatrix->GetAt(nXPos + nXAdd * 2, nYPos + 1) != MMK_Space &amp;&amp;
			m_pMatrix->GetAt(nXPos + nXAdd , nYPos - 1) != MMK_Space &amp;&amp;
			m_pMatrix->GetAt(nXPos + nXAdd , nYPos + 1) != MMK_Space)
		{
			return true;
		}
	}
	return false;
}


static const int moveInfo[4][2] = {
	{-1, 0},
	{0, -1},
	{1, 0},
	{0, 1},
};

int CMazeMaker::process(int nXPos, int nYPos)
{
	int digCount=0;
	int aryMove[4] = {0};	

	if (m_pMatrix->GetAt(nXPos, nYPos) != MMK_Space) {
		return 0;
	}
	while (1) {
		int nMoveCount = 0;

		for (int nCnt = 0; nCnt < 4; nCnt++) {
			if (checkPos(nXPos, nYPos, moveInfo[nCnt][0], moveInfo[nCnt][1]) == true) {
				aryMove[nMoveCount] = nCnt;
				nMoveCount++;
			}
		}
		if (nMoveCount == 0) {
			break;
		}
		
		int nMove = ((rand() >> 1) % nMoveCount);
		nXPos = nXPos + moveInfo[aryMove[nMove]][0];
		nYPos = nYPos + moveInfo[aryMove[nMove]][1];
		m_pMatrix->SetAt(nXPos, nYPos, MMK_Space);
		digCount++;
	}
	return digCount;
}


bool CMazeMaker::Generate1()
{
	// 開始点は1, 1から。(ループの先頭
	m_pMatrix->SetAt(1, 1, MMK_Space);

	::srand((unsigned int)time(NULL));
	
	int nXCnt;
	int nYCnt;

	for (nXCnt = 1; nXCnt < m_nXSize - 1; nXCnt++) {
		for (nYCnt = 1; nYCnt < m_nYSize - 1; nYCnt++) {
			while (process(nXCnt, nYCnt) != 0) {}
		}
	}
	return makeStartGoal();
}


void CMazeMaker::dig(int nXPos, int nYPos)
{
	m_pMatrix->SetAt(nXPos, nYPos, MMK_Space);

	int aryMove[4] = {0};	

	while (1) {
		int nMoveCount = 0;

		for (int nCnt = 0; nCnt < 4; nCnt++) {
			if (checkPos(nXPos, nYPos, moveInfo[nCnt][0], moveInfo[nCnt][1]) == true) {
				aryMove[nMoveCount] = nCnt;
				nMoveCount++;
			}
		}
		if (nMoveCount == 0) {
			break;
		}
		
		int nMove = ((rand() >> 1) % nMoveCount);

		dig(nXPos + moveInfo[aryMove[nMove]][0], nYPos + moveInfo[aryMove[nMove]][1]);
	}
}

bool CMazeMaker::Generate2()
{
	::srand((unsigned int)time(NULL));
	int nXStart = ((rand() >> 1) % (m_nXSize - 2)) + 1;
	int nYStart = ((rand() >> 1) % (m_nYSize - 2)) + 1;
	dig(nXStart, nYStart);
	return makeStartGoal();
}

struct PosInfo {
	int xPos;
	int yPos;
};

bool CMazeMaker::Generate3()
{
	::srand((unsigned int)time(NULL));
	int nXStart = ((rand() >> 1) % (m_nXSize - 2)) + 1;
	int nYStart = ((rand() >> 1) % (m_nYSize - 2)) + 1;

	m_pMatrix->SetAt(nXStart, nYStart, MMK_Space);

	list<PosInfo> posList;

	PosInfo info = {nXStart, nYStart};
	posList.push_back(info);

	while (posList.size() != 0) {
		int nXPos = (posList.rbegin())->xPos;
		int nYPos = (posList.rbegin())->yPos;

		int aryMove[4] = {0};	

		int nMoveCount = 0;

		for (int nCnt = 0; nCnt < 4; nCnt++) {
			if (checkPos(nXPos, nYPos, moveInfo[nCnt][0], moveInfo[nCnt][1]) == true) {
				aryMove[nMoveCount] = nCnt;
				nMoveCount++;
			}
		}
		if (nMoveCount == 0) {
			posList.pop_back();
			continue;
		}
		
		int nMove = ((rand() >> 1) % nMoveCount);

		info.xPos = nXPos + moveInfo[aryMove[nMove]][0];
		info.yPos = nYPos + moveInfo[aryMove[nMove]][1];

		m_pMatrix->SetAt(info.xPos, info.yPos, MMK_Space);

		posList.push_back(info);
	}

	return makeStartGoal();
}

//
// コンソール出力用
class CMazeMakerConsole : public CMazeMaker
{
public:
	CMazeMakerConsole(){};
	virtual ~CMazeMakerConsole(){};

public:
	void Output();
};

void CMazeMakerConsole::Output()
{
	for (int nYCnt = 0; nYCnt < m_nYSize; nYCnt++) {
		for (int nXCnt = 0; nXCnt < m_nXSize; nXCnt++) {
			if (m_pMatrix->GetAt(nXCnt, nYCnt) == MMK_Space) {
				printf(".");
			} else {
				printf("#");
			}
		}
		puts("");
	}
	_getch();
}

// 
//
int _tmain(int argc, _TCHAR* argv[])
{
	CMazeMakerConsole maker;

	do {
		if (false == maker.Initialize(75, 50)) {
			puts("Initialize Error");
			return 0;
		}
	} while (false == maker.Generate3()); //失敗するのは、スタート、ゴールが作れなかった場合。偶然そういうことになることもあるので、そうなったら作り直す。


	maker.Output();

	return 0;
}

最初に昔の記憶を頼りにCMazeMaker::Generate1()を作ったけれど、美しくなかったのでGenerate2()を作成。迷路のサイズを増やすとスタックオーバーフローになるので、Generate3()を作成。一応、満足。

###########################################################################
.....##...#.#.##.....##......#....#...#.#.#.........#.##.........##.#.....#
#.#.##..#.#......###..###.##.#.##.#.###...#.#####.#....##.######....##.##.#
#.#..##.#.#.##.###.##.....##...#....#...#.....##..#.##.#..##...####..#..#.#
#.##..###.#..#..##..###.#..###.#.####.###.#####..####..#.##..#....##.##.#.#
#..##.....##.##..##...#.##..#######...#.#.#...#.##....##.#..###.#..#.##.###
#.####.#####.###.###.##..####.......###.###.#.###..##.#..#.##...##.#..#...#
#....###......#..#.#....##....########..##..#..#..#####.######.##..##.##.##
#.##..##.######.##...####..#####....#..##..###.#.##.##..#......#..###..#..#
#..##.#...##....#..#.#..#.##.#...#.##.##..##.....#.....####.####.##.##.##.#
##..#...#..#.#######...##....#.#####..#..#########.##.##.#..##...##..#....#
###.########.##...##########.#...##..##.##.##...####..#....##..###..#####.#
#.#..##...##..#.#.....##.....##.##..##..#...###.#.#..###.####.##...##.....#
#.##.#..#..##.#.#####.#..#####..#..##..##.#.....#...##.#.#....####.#..#####
#..#.#.###.#..#.....#...##.....##.##..##..##.##.#.###....####.#.#..#.###..#
#.##.#.##....######.########.###..#..###.##..#....#.##.#...#..#...##...##.#
#..#.#..###.##.#....#..#.....##..###..#...#.#######....#.#.#.##.#.####.##.#
##.#.##.##...#.#.#####...#####..##.##.##.##......#####.###.#.#..#..#.#..#.#
##....#..###...#....#..#.....#.##...#.#...#.#.##.....#..##.#...###...##...#
#..#####...########.####.##.##....#...#######..#####.####..#####.########.#
#.##.#.###..#.....#....###...###########...###..##...#....##.........##...#
#..#....###...#.#.####..#..#.....#.#.....#..#..##..###.#.##..#######.#..###
##.####...#######...###.##.#.###.#...######.####..##...#.#..##...#...#.##.#
#....####...#...###...#..#.#..####.#....#.....#..##..#.###.##..#.#.###.#..#
####...#..#.#.#..####.##.####......####.#####.##..#.##...#..####.#.#...#.##
##.###.#.##.#.##.#.#...#....##.######.#.##..#.###.######.##...#..#...###..#
#..##..#.####.##.#...#.####..#........#..##....##...##....###...######...##
#.##..##..##..#..##.####..##.#.######.##..####..#.#..##.###.#.#..#.##..#..#
#.##.####.#..##.##..##...###.###...#...##.##.##.####.#..#...####.#..#.###.#
#.#...#...#.###..##..#.#...#..#..#...#..#..#.##..##..#.##.#..##..##.#...###
#...#...#.#...##..##...#.####.####.#######.#..##.#..##..#.##..##..#...#...#
#.###########.###..#####....#...##.#..#....##..#...####.#..##..##.#######.#
#....#....##..#.##....###.#####..#...##.######.#####.##.##.###....#.....#.#
###.##.#.##..##..####..#..#...##.###.##......#...##.....##..########.##.#.#
#.#.#..#..#.####.#..##...##.#.#..#....######.#.#....#.#..##.#...##...#....#
#...#.###...#......####.##..#...###.###...##.#.######.#.##..#.#..##.####.##
#.#.#.#.#####.###.##....#..######.#.##..#..#.#..#.....#..##...##.#...#....#
#.###.#...##...#..#..####.##.#.##.#.#..##.##.##.#.###.##..######.#.#.####.#
#..##.#.#..#.#.####.###.#..#......#...#####..#..#...####.##..#.#.###.##...#
##..#...##.#.#.#........##.#.#.#.####..#....#######..##...##...#..#...###.#
###.######.#.#...####.#..#.#.###.#..##.#.####....###..###..##.###.###...#.#
#...#...#..#####...##.####.#..#....##..#..#...##...##...##......#..####.#.#
#.###.#...##...#####..##...##.#.##.#..###.#.######..##.###########.#....#.#
#..#..##.##..#.#...#.##..######..###.##.#....###.##.##...#.......#.#.#.####
#.##.###..#.##...#.###..##....##........#.##..#...#..#.#.#.###.#.#.###....#
#..#...##.#..#####..##.####.#.##.############...#.##.#.#.#...#.###..##.##.#
##.###..###.##...##.#..#....#..###....##....#######..#.###.###...##..###..#
#...###..#...##.###.#.##.#####...#.##.#..##.#...#...##..#...###.####.#...##
#.#...##...#......#......#.....#...#....##....#...#..##...#...#........#...
###########################################################################

ちなみに http://anond.hatelabo.jp/20070711194709 これを聞いたのは自分。

かなりたくさん書けることがわかりました。

2007-03-20

Thank you for your time.

たまにはこうして肩を並べて飲んで ほんの少しだけ立ち止まってみたいよ 純情を絵に描いた様なさんざんむなしい夜も 笑って話せる今夜はいいね...

温泉でも行こうなんて いつも話してる 落ち着いたら仲間で行こうなんて でも 全然 暇にならずに時代が追いかけてくる 走ることから逃げたくなってる

優しさに触れることより ふりまくことで ずっと ずっと 今までやってきた それでも損したなんて思ってないから今夜も何とか自分で自分を守れ

自分で動き出さなきゃ何も起こらない夜に何かを叫んで自分を壊せ!

流れる景色を必ず毎晩みている 家うちに帰ったらひたすら眠るだけだから ほんのひとときでも自分がどれだけやったか 窓に映ってる素顔を誉めろ

- 転職ならen
- 派遣ならen
 
1ページ中1ページ目を表示(合計:25件)