「CONTINUE」を含む日記 RSS

はてなキーワード: CONTINUEとは

2012-01-05

Types of digital cameras

Digital cameras are made in a wide range of sizes, prices and capabilities. The majority are camera phones, operated as a mobile application through the cellphone menu. Professional photographers and many amateurs use larger, more expensive digital single-lens reflex cameras (DSLR) for their greater versatility. Between these extremes lie digital compact cameras and bridge digital cameras that "bridge" the gap between amateur and professional cameras. Specialized cameras including multispectral imaging equipment and astrographs continue to serve the scientific, military, medical and other special purposes for which digital photography was invented.

[edit]Compact digital cameras


Subcompact with lens assembly retracted

Compact cameras are designed to be tiny and portable and are particularly suitable for casual and "snapshot" uses. Hence, they are also called point-and-shoot cameras. The smallest, generally less than 20 mm thick, are described as subcompacts or "ultra-compacts" and some are nearly credit card size.[2]

Most, apart from ruggedized or water-resistant models, incorporate a retractable lens assembly allowing a thin camera to have a moderately long focal length and thus fully exploit an image sensor larger than that on a camera phone, and a mechanized lens cap to cover the lens when retracted. The retracted and capped lens is protected from keys, coins and other hard objects, thus making it a thin, pocketable package. Subcompacts commonly have one lug and a short wrist strap which aids extraction from a pocket, while thicker compacts may have two lugs for attaching a neck strap.

Compact cameras are usually designed to be easy to use, sacrificing advanced features and picture quality for compactness and simplicity; images can usually only be stored using lossy compression (JPEG). Most have a built-in flash usually of low power, sufficient for nearby subjects. Live preview is almost always used to frame the photo. Most have limited motion picture capability. Compacts often have macro capability and zoom lenses but the zoom range is usually less than for bridge and DSLR cameras. Generally a contrast-detect autofocus system, using the image data from the live preview feed of the main imager, focuses the lens.

Typically, these cameras incorporate a nearly silent leaf shutter into their lenses.

For lower cost and smaller size, these cameras typically use image sensors with a diagonal of approximately 6 mm, corresponding to a crop factor around 6. This gives them weaker low-light performance, greater depth of field, generally closer focusing ability, and smaller components than cameras using larger sensors.

Starting in 2011, some compact digital cameras can take 3D still photos. These 3D compact stereo cameras can capture 3D panoramic photos for play back on a 3D TV.[3] Some of these are rugged and waterproof, and some have GPS, compass, barometer and altimeter. [4]

[edit]Bridge cameras


Sony DSC-H2

Main article: Bridge camera

Bridge are higher-end digital cameras that physically and ergonomically resemble DSLRs and share with them some advanced features, but share with compacts the use of a fixed lens and a small sensor. Like compacts, most use live preview to frame the image. Their autofocus uses the same contrast-detect mechanism, but many bridge cameras have a manual focus mode, in some cases using a separate focus ring, for greater control. They originally "bridged" the gap between affordable point-and-shoot cameras and the then unaffordable earlier digital SLRs.

Due to the combination of big physical size but a small sensor, many of these cameras have very highly specified lenses with large zoom range and fast aperture, partially compensating for the inability to change lenses. On some, the lens qualifies as superzoom. To compensate for the lesser sensitivity of their small sensors, these cameras almost always include an image stabilization system to enable longer handheld exposures.

These cameras are sometimes marketed as and confused with digital SLR cameras since the appearance is similar. Bridge cameras lack the reflex viewing system of DSLRs, are usually fitted with fixed (non-interchangeable) lenses (although some have a lens thread to attach accessory wide-angle or telephoto converters), and can usually take movies with sound. The scene is composed by viewing either the liquid crystal display or the electronic viewfinder (EVF). Most have a longer shutter lag than a true dSLR, but they are capable of good image quality (with sufficient light) while being more compact and lighter than DSLRs. High-end models of this type have comparable resolutions to low and mid-range DSLRs. Many of these cameras can store images in a Raw image format, or processed and JPEG compressed, or both. The majority have a built-in flash similar to those found in DSLRs.

In bright sun, the quality difference between a good compact camera and a digital SLR is minimal but bridgecams are more portable, cost less and have a similar zoom ability to dSLR. Thus a Bridge camera may better suit outdoor daytime activities, except when seeking professional-quality photos.[5]

In low light conditions and/or at ISO equivalents above 800, most bridge cameras (or megazooms) lack in image quality when compared to even entry level DSLRs. However, they do have one major advantage: their much larger depth of field due to the small sensor as compared to a DSLR, allowing larger apertures with shorter exposure times.

A 3D Photo Mode was introduced in 2011, whereby the camera automatically takes a second image from a slightly different perspective and provides a standard .MPO file for stereo display. [6]

[edit]Mirrorless interchangeable-lens camera

Main article: Mirrorless interchangeable-lens camera

In late 2008, a new type of camera emerged, combining the larger sensors and interchangeable lenses of DSLRs with the live-preview viewing system of compact cameras, either through an electronic viewfinder or on the rear LCD. These are simpler and more compact than DSLRs due to the removal of the mirror box, and typically emulate the handling and ergonomics of either DSLRs or compacts. The system is used by Micro Four Thirds, borrowing components from the Four Thirds DSLR system.

[edit]Digital single lens reflex cameras


Cutaway of an Olympus E-30 DSLR

Main article: Digital single-lens reflex camera

Digital single-lens reflex cameras (DSLRs) are digital cameras based on film single-lens reflex cameras (SLRs). They take their name from their unique viewing system, in which a mirror reflects light from the lens through a separate optical viewfinder. At the moment of exposure the mirror flips out of the way, making a distinctive "clack" sound and allowing light to fall on the imager.

Since no light reaches the imager during framing, autofocus is accomplished using specialized sensors in the mirror box itself. Most 21st century DSLRs also have a "live view" mode that emulates the live preview system of compact cameras, when selected.

These cameras have much larger sensors than the other types, typically 18 mm to 36 mm on the diagonal (crop factor 2, 1.6, or 1). This gives them superior low-light performance, less depth of field at a given aperture, and a larger size.

They make use of interchangeable lenses; each major DSLR manufacturer also sells a line of lenses specifically intended to be used on their cameras. This allows the user to select a lens designed for the application at hand: wide-angle, telephoto, low-light, etc. So each lens does not require its own shutter, DSLRs use a focal-plane shutter in front of the imager, behind the mirror.

[edit]Digital rangefinders

Main article: Rangefinder camera#Digital rangefinder

A rangefinder is a user-operated optical mechanism to measure subject distance once widely used on film cameras. Most digital cameras measure subject distance automatically using electro-optical techniques, but it is not customary to say that they have a rangefinder.

[edit]Line-scan camera systems

A line-scan camera is a camera device containing a line-scan image sensor chip, and a focusing mechanism. These cameras are almost solely used in industrial settings to capture an image of a constant stream of moving material. Unlike video cameras, line-scan cameras use a single row of pixel sensors, instead of a matrix of them. Data coming from the line-scan camera has a frequency, where the camera scans a line, waits, and repeats. The data coming from the line-scan camera is commonly processed by a computer, to collect the one-dimensional line data and to create a two-dimensional image. The collected two-dimensional image data is then processed by image-processing methods for industrial purposes.

Further information: Rotating line camera

[edit]Integration

Many devices include digital cameras built into or integrated into them. For example, mobile phones often include digital cameras; those that do are known as camera phones. Other small electronic devices (especially those used for communication) such as PDAs, laptops and BlackBerry devices often contain an integral digital camera, and most 21st century camcorders can also make still pictures.

Due to the limited storage capacity and general emphasis on convenience rather than image quality, almost all these integrated or converged devices store images in the lossy but compact JPEG file format.

Mobile phones incorporating digital cameras were introduced in Japan in 2001 by J-Phone. In 2003 camera phones outsold stand-alone digital cameras, and in 2006 they outsold all film-based cameras and digital cameras combined. These camera phones reached a billion devices sold in only five years, and by 2007 more than half of the installed base of all mobile phones were camera phones. Sales of separate cameras peaked in 2008. [7]

Integrated cameras tend to be at the very lowest end of the scale of digital cameras in technical specifications, such as resolution, optical quality, and ability to use accessories. With rapid development, however, the gap between mainstream compact digital cameras and camera phones is closing, and high-end camera phones are competitive with low-end stand-alone digital cameras of the same generation.

[edit]Waterproof


A Canon WP-1 waterproof 35 mm film camera

Waterproof digital cameras are digital cameras that can make pictures underwater. Waterproof housings have long been made but they cost almost as the cameras. Many waterproof digital cameras are shockproof and resistant to low temperatures; one of them is Canon PowerShot D10, one of the first underwater digital cameras.

These cameras become very popular during the holiday season, because many people want to save the best moments from their holidays at the seaside. Waterproof watches and mobile phones were produced earlier. Most makers of digital cameras also produce waterproof ones and every year they launch at least one new model, for example Sony, Olympus, Canon, Fuji.

Healthways Mako Shark, an early waterproof camera,[8] was launched in 1958 and cost around 25 dollars. It was a huge camera and pictures were black and white.



___________________________

http://www.gobatteryonline.com/canon-nb-9l-digital-camera-battery-gose.html

http://www.gobatteryonline.com/canon-lp-e5-digital-camera-battery-gose.html

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

2011-12-29

Choose the best digital camera rechargeable batteries

Due to the nature of a digital camera, they need a lot of voltage and also need to keep good battery long periods of inactivity digital camera rechargeable batteries to a big hit, many current digital camera has a flash, may also make a short film, the two characteristics is very good, but can drain battery two times normal speed, photo shooting.

Most people are familiar with basic rechargeable battery, but the key to finding a good a doctor to give your digital camera is to look at the battery material, how will charge, and how long will the cost in use and sitting on the shelf or in the digital camera.

A little I look in my purchase any digital camera I buy is to ensure that there is a common battery size. The reason is, no matter how you plan a photo shoot, things happen, you may have to resort to the old alkaline batteries solve your problems, then. Panasonic battery my first choice is a rechargeable battery, but you never know, this is a very good thing can find a new set of batteries.

There are several important factors to consider, rechargeable batteries is the best. The first is the amount of voltage, followed by long time, then the battery of the time; Four is charge (how long shelf life will be held responsible for the storage battery).

Here are a series of typical rechargeable batteries and their voltage output:

Ni-Cad rechargeable battery, 12 volts

Nickel metal hydride rechargeable batteries-1.2 to 1.5

Ni-ZN rechargeable batteries-160 volts

Standard alkalines is 1.5 volts

Also have a level a reference number of energy storage, from the ability to represent called milli ampere hour. These level general fleeing to 2100 from 750 from is high, the more the number of the battery capacity (higher digital better).

The Ni-Cad and nimh most common, almost every major brand battery multiple versions. The latest technology is Ni-ZN are excellent storage capacity and long shelf life. Many types of rechargeable batteries can be charging many times, but they didn't mention that drop down power amount of recharges x.

And this is the real factors to consider. Let us say that if you find new battery you can use about 100 photos before they go to the south. Recharges Numbers increase, reduce many pictures. Some can only continue to before they start, recharges loose the ability to completely costs. Clever cost is still good savings from an ordinary AA alkaline battery cost $1.15 and the comparable charge is $2.50, according to the figures from $5.00.

Recent Ni-ZN cost about $5 each request and take over 500 recharges in any losses before the injury charge ability. But they also play more voltage so for example your flash recycling half the time to complete the normal alkaline batteries. If you have 100 threw a set of alkaline, you should get at least 175 vote of Ni-ZN are the same size. Plus storage life N-ZN than any other choice.

Rapid turnover a flash can be a big problem, because it is a very painful, but when photographs in the interior, need to wait for two minutes of the flash is full of power. Or, if you are shooting a series of short a minute video and ran out of the juice in the middle is not a good thing.

So, based on the pricing and ability, if you can recharge the battery is more than 500 times more the highest price, they use more cheap long-term development. If they hold up close to claim 500 cost, well, you can do the math. This is a no brainer, Ni-ZN provide more voltage, better life, and more fees each battery.


__________________

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

http://www.chargerbatteryshop.co.uk/panasonic-dmw-bmb9-digital-camera-battery-cbbs.html

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

Brain distant a person

Nights, downward the actual curtain on the darkish. Rather busy day time people hurried towards home, along with the family unit. Daily belonging to the noisy town also proceeds towards the an old days or weeks all the tranquility. You bent LengYue has quietly hung in the shrubs, conceal behind the cloud towards relaxation daily belonging to the famous actors equally slowly awaken, start that rudiments associated with eyes, for the pulsating complete too stunning light.

I'm keen on private, to be a person at dusk the actual quiet not to mention delightful roadway for any go around. Additionally helpful to wander by themselves from this peaceful tiny most people about the roadways of skip anyone far away. While, WE need to know your location, also need to know in case you have consider me personally, however Actually, i know that right now, AS I genuinely wish to, beneficial presume a person......

If a wind power blowing into my personal heart, a center on instantly from the thoughts from films for hills. Because a vibrant moonlight on when in front of me personally, AS I view the moon has your own shadow. After the very first planet that's delightful some blasting music artist presently of the nighttime sky, WE apparently read the your wish and your ideal. In the event the moment meteor throughout from prior to me, as i similar my personal eyes, their hands collapsed for the shooting take the leading role developed a small amount, that is certainly, I allow meteor is actually my would like most people not to mention lose for you, and even inform you about, Now i am that quiet night, not a soul, great issue around far-away place of a person......

Winter weather event really black, extended, moreover very cold, AS I nevertheless wandering in this particular lengthy long occasion, for the reason that event WE surround, allow ice cold blowing wind blowing such as me, WHEN I is not aware. My center will be as if from most people glow thinkings from the terminate, getting rid of, this steamy the actual fire. The continue within boiling, the brain within rolling, the sensing stuffed, I adore floating within......

Guess what happens? So i'm scared on the dark, though adore within the night. So i'm scared on the cold, just who dropped fond of snow. I adore one, not saying you. WHEN I forget a person, though cannot explain. Since you also contain your own dream, you could have ones own goal, you could have your task, you could have much more the position and responsibilities. Well, i find it difficult to trouble you, find it difficult to supply you with difficulty, alot more cannot help you for WE distractions. Although I'm sure your own with the mind even wish to everybody, however I am able to only place you with the spirit. Silence from the heart belonging to the range to pass-up most people...

_________________________________________________________________________________

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

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

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-08-25

Jobsやめたった。

Jobsやめたった。びっくり。

http://www.engadget.com/2011/08/24/steve-jobs-resigns-as-ceo-of-apple/

"Steve's extraordinary vision and leadership saved Apple and guided it to its position as the world's most innovative and valuable technology company," said Art Levinson, Chairman of Genentech, on behalf of Apple's Board. "Steve has made countless contributions to Apple's success, and he has attracted and inspired Apple's immensely creative employees and world class executive team. In his new role as Chairman of the Board, Steve will continue to serve Apple with his unique insights, creativity and inspiration."

Google情報とその受け取り手の合間、インフラ仕事するならば、Jobs率いたAppleは受け取り手に寄り添うようなプロダクトを出してきたように思う。思えばあの日、Bill Gatesを背中にしながら、彼はある種の手触り、これから起きる超高度情報化社会と、そこでの自分たちの役割を確固として見据えていたのではないかIBMが消え、また今HPも去ろうという時、消費者一人一人、個人の存在生き方に視点を持ち続ける、そんな会社を残してくれたJobs感謝したい。

蛇足Twitterでこんな鋭いコメントしてた人がいた。

As grandpa used to say "the cemeteries are full of people who couldn't be replaced".

2011-08-17

phpファイルロック考慮したファイル新規作成、読み込み、書き換

<?php
$now=time();
$fileName=date("H-i-s",$now).".txt";
$fileWrite=microtime(true);
$nowData=array();

if(!file_exists($fileName)){fclose(fopen($fileName,"w"));}
$fp=fopen($fileName,"r+");
flock($fp,LOCK_EX);
while(($buffer = fgets($fp)) !== false){
	$buffer=trim($buffer);
	if(!preg_match("{[0-9]+:[0-9-]+}",$buffer)){continue;}
	$nowData[]=$buffer;
}
$count=count($nowData);
$nowData[]="{$count}:{$fileWrite}";
ftruncate($fp,0);
fseek($fp,0);
fwrite($fp,implode("\n",$nowData));
fclose($fp);
print("<pre>");var_dump($nowData);print("</pre>");
?>

2011-03-16

Officials Urge Precautions at Yokosuka, Atsugi

By Jim Garamone

American Forces Press Service

WASHINGTON, March 15, 2011 – Officials told personnel in and around Fleet Activities Yokosuka and Naval Air Facility Atsugi in Japan today to limit outdoor activities and to turn off air conditioning due to the detection of low levels of radioactivity.

U.S. 7th Fleet officials said sensitive instruments aboard the USS George Washington, docked at Yokosuka, detected low levels of radioactivity released from the Fukushima Dai-Ichi nuclear power plant.

Limiting outdoor activities and turning off air conditioners “are strictly precautionary in nature,” the announcement said. “We do not expect that any United States federal radiation exposure limits will be exceeded even if no precautionary measures are taken.”

Officials stressed that these are low-level readings and the public is not in danger.

“According to the instrumentation at Fleet Activity Yokosuka, the levels are very low,” said Navy Lt. Anthony Falvo, 7th Fleet deputy public affairs officer. “For perspective, the additional radiation exposure over the past 12 hours was about 20 millirems –- which is less than one month’s exposure to naturally occurring radiation that one would get from the sun, the earth or rocks.”

Officials will continue the monitoring program and will constantly check the weather and prevailing winds, Falvo said. If anything changes, base officials will immediately notify service members and their families, he added.

http://www.defense.gov/news/newsarticle.aspx?id=63166

2011-03-03

ブログの問題を解いてみた

http://okajima.air-nifty.com/b/2011/01/2011-ffac.html

ぷよぷよを解く問題をやってみた

かかった時間はおおよそ1時間

途中でわからないところがあったのでくぐってしまった

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            StringBuilder[] blocks = {
                new StringBuilder("**GYRR"),
                new StringBuilder("RYYGYG"),
                new StringBuilder("GYGYRR"),
                new StringBuilder("RYGYRG"),
                new StringBuilder("YGYRYG"),
                new StringBuilder("GYRYRG"),
                new StringBuilder("YGYRYR"),
                new StringBuilder("YGYRYR"),
                new StringBuilder("YRRGRG"),
                new StringBuilder("RYGYGG"),
                new StringBuilder("GRYGYR"),
                new StringBuilder("GRYGYR"),
                new StringBuilder("GRYGYR")
            };

            bool updated = true;
            while (updated)
            {
            breaked:
                DumpBlock(blocks);
                for (int i = 0; i < blocks.Length; i++)
                {
                    for (int j = 0; j < blocks[i].Length; j++)
                    {
                        char c = blocks[i][j];
                        if (c == '*')
                            continue;
                        updated = false;
                        if (KillBlocks(blocks, i, j))
                        {
                            updated = true;
                            goto breaked;
                        }
                    }
                }
            }
            DumpBlock(blocks);
            Console.Read();
        }
        struct Point
        {
            public int x, y;
            public Point(int x, int y)
            {
                this.x = x;
                this.y = y;
            }
        }
        static bool KillBlocks(StringBuilder[] blocks, int x, int y)
        {
            bool[,] visted = new bool[blocks.Length,blocks[0].Length];

            MarkBlock(visted, blocks, x, y);

            Queue<Point> queque = new Queue<Point>();
            for (int i = x; i < blocks.Length; i++)
                for (int j = y; j < blocks[i].Length; j++)
                    if(visted[i,j] == true)
                        queque.Enqueue(new Point(j,i));

            if (queque.Count < 4)
                return false;

            while (queque.Count > 0)
            {
                Point p = queque.Dequeue();
                RemoveBlock(blocks, p.x, p.y);
            }
            return true;
        }
        static void MarkBlock(bool[,] visted, StringBuilder[] blocks, int x, int y)
        {
            if (x < 0 || y < 0 || x >= blocks.Length || y >= blocks[0].Length || visted[x, y] == true)
                return;
            char c = blocks[x][y];
            visted[x, y] = true;
            if (x + 1 < blocks.Length && blocks[x + 1][y] == c) MarkBlock(visted, blocks, x + 1, y);
            if (y + 1 < blocks[0].Length && blocks[x][y + 1] == c) MarkBlock(visted, blocks, x, y + 1);
            if (x > 0 && blocks[x - 1][y] == c) MarkBlock(visted, blocks, x - 1, y);
            if (y > 0 && blocks[x][y - 1] == c) MarkBlock(visted, blocks, x, y - 1);
        }
        static void DumpBlock(StringBuilder[] blocks)
        {
            foreach (StringBuilder s in blocks)
                Console.WriteLine(s);
            Console.WriteLine();
        }
        static void RemoveBlock(StringBuilder[] blocks,int x,int y)
        {
            int i;
            if (y == 0)
            {
                blocks[y][x] = '*';
                return;
            }
            for (i = y; i > 0; i--)
            {
                blocks[i][x] = blocks[i - 1][x];
            }
            blocks[i][x] = '*';
        }
    }
}

2011-01-11

人材獲得作戦・4 試験問題ほか

http://okajima.air-nifty.com/b/2010/01/post-abc6.html

迷路の最短経路を求める問題が出たので解いてみた

幅優先探索を使えばいいのがわかっていたのですんなりかけたのだが無限ループになる個所があったので動くようになるまで時間がかかった


using System;
using System.Collections.Generic;
using System.Text;
using System.Linq;

namespace MazeFind
{
    class Point
    {
        public int x;
        public int y;
        public Point before;
        public Point(int x, int y,Point before)
        {
            this.x = x;
            this.y = y;
            this.before = before;
        }
    }
    class Program
    {
        static void Main(string[] args)
        {
            const char BreakChar = 'B';
            const char GoalChar = 'G';
            const char WallChar = '*';
            const char BeforeChar = '.';

            StringBuilder[] maze = new StringBuilder[]{
                new StringBuilder("**************************"),
                new StringBuilder("*S* *                    *"),
                new StringBuilder("* * *  *  *************  *"),
                new StringBuilder("* *   *    ************  *"),
                new StringBuilder("*    *                   *"),
                new StringBuilder("************** ***********"),
                new StringBuilder("*                        *"),
                new StringBuilder("** ***********************"),
                new StringBuilder("*      *              G  *"),
                new StringBuilder("*  *      *********** *  *"),
                new StringBuilder("*    *        ******* *  *"),
                new StringBuilder("*       *                *"),
                new StringBuilder("**************************"),
            };
            Point start = new Point(1, 1,null);

            //最短経路を探索する
            Queue<Point> queque = new Queue<Point>();
            queque.Enqueue(start);

            while (queque.Count > 0)
            {
                Point now = queque.Dequeue();
                if (maze[now.y][now.x] == BreakChar)
                    Console.WriteLine("break");
                if (maze[now.y][now.x] == WallChar || maze[now.y][now.x] == BeforeChar)
                    continue;
                else if (maze[now.y][now.x] == GoalChar)
                {
                    Point p = now.before;
                    while (p != null)
                    {
                        maze[p.y][p.x] = '@';
                        p = p.before;
                    }
                    break;
                }

                if (maze[now.y - 1][now.x] != '#')
                {
                    queque.Enqueue(new Point(now.x, now.y - 1, now));
                    maze[now.y][now.x] = '.';
                }
                if (maze[now.y][now.x + 1] != '#')
                {
                    queque.Enqueue(new Point(now.x + 1, now.y, now));
                    maze[now.y][now.x] = '.';
                }
                if (maze[now.y + 1][now.x] != '#')
                {
                    queque.Enqueue(new Point(now.x, now.y + 1, now));
                    maze[now.y][now.x] = '.';
                }
                if (maze[now.y][now.x - 1] != '#')
                {
                    queque.Enqueue(new Point(now.x - 1, now.y, now));
                    maze[now.y][now.x] = '.';
                }
            }

            //結果を出力する
            foreach (StringBuilder s in maze)
                Console.WriteLine(s.ToString().Replace(BeforeChar,' '));

            Console.ReadLine();
        }
    }
}
<||

2010-06-20

http://anond.hatelabo.jp/20100620192156

ほんとにヤバイのかと思ってよくよく見たら、ソースダイヤモンドとかw



まあ、「当座しのぎに」あるいは「とりあえず安い方を」買いたい人には、韓国製で十分だと思うですよ。

消費者側も、初期普及時には「新しいもの」に飛びつくけれど、

比較する対象が出てきたらやっぱりちゃんと見るですよ。

テレビってそんなに頻繁に買い換えるものじゃないですよね。

だから、多少頭を使ったり情報を収集したりする人は、「多少なら」高くてもいい方を選ぶ。

だって、安物買いの銭失いはバカバカしいもの。

さすがに、価格が倍になるとかだと最初から検討範囲外だけれども。

その「多少なら」を見極めて、うまい価格設定にするのが、日本の腕の見せ所でしょう。

なんでもかんでも低価格! の一辺倒ではなくてね。



First Tests of 3D TVs from Consumer Reports

http://www.youtube.com/watch?v=VfxlWrDAK54

3D TV Tests Continue at Consumer Reports

http://www.youtube.com/watch?v=C8haf9oIlkk

2010-01-14

http://anond.hatelabo.jp/20100114003544

34分

現役のときに比べて腕が鈍ってるなあ

ソースは汚いよ


同じところを二回訪れないことに注意して、次の状態をキューに入れていけばいいだけ

隣は距離1なのでただのFIFOでいい

重み付きのグラフならpriority queueを使う


dequeなんちゃらの前までが入力で、while の中が重要コード

答えはSとGも塗り潰しちゃったのを出力してる

サンプルの入力で最短距離であることを確認してる


増田できれいにC++を出力するにはどうすればいいんだろう?

#include <map&gt;
#include <string&gt;
#include <iostream&gt;
#include <vector&gt;
#include <iterator&gt;
#include <deque&gt;
#include <set&gt;

using namespace std;
typedef pair<int, int&gt; P;

int dir_x[] = {0,1, -1, 0};
int dir_y[] = {1, 0, 0, -1};

int main() {
  string line;
  vector<string&gt; input;

  while (getline(cin, line)) {
    input.push_back(line);
  }
  const int X = input.size();
  const int Y = input.begin()-&gt;size();

  vector<P&gt; start;
  P goal;
  for (int i = 0; i < X; i++) {
    for (int j = 0; j < Y; j++) {
      if (input[i][j] == 'S') {
        start.push_back(P(i, j));
      }
      else if (input[i][j] == 'G') {
        goal = P(i, j);
      }
    }
  }

  deque<vector<P&gt; &gt; Q;
  set<P&gt; visited;
  Q.push_back(start);

  while (!Q.empty()) {
    vector<P&gt; p = Q.front();
    Q.pop_front();

    if (visited.find(p.back()) != visited.end()) { continue; }
    visited.insert(p.back());

    if (p.back() == goal) {
      for (int i = 0; i < p.size(); i++) {
        input[p[i].first][p[i].second] = '$';
      }
      copy(input.begin(), input.end(), ostream_iterator<string&gt;(cout, "\n"));
      break;
    }

    for (int i = 0; i < 4; i++) {
      P next = P(p.back().first + dir_x[i], p.back().second + dir_y[i]);
      if (input[next.first][next.second] == '*') { continue; }
      vector<P&gt; new_state(p.begin(), p.end());
      new_state.push_back(next);
      Q.push_back(new_state);
    }
  }
  return 0;
}

2009-12-25

国務長官の呼び出し疑惑の原文を訳した

国務長官の呼び出し疑惑意図的な意訳文章が出回ってるのでちゃんと訳してみました。

お疑いの方は、翻訳サイトに原文を貼り付けて翻訳がおかしくなる場所に適当に改行入れて見れば文意はつかめる程度のやさしい英文だと思います。

-----

http://www.state.gov/r/pa/prs/dpb/2009/dec/133952.htm

QUESTION:

Do you have any readout of the Secretary’s meetings yesterday with the Japanese ambassador?

I had heard she called him in to talk about Futenma.

MR. CROWLEY:

The - I think the Japanese ambassador came by to see both Assistant Secretary Kurt Campbell, stopped by to see Secretary Clinton. During the course of the meeting, the ambassador gave us an indication that they needed more time to work through issues related to the basing agreement. We continue to believe that the current plan provides the best way forward, but we’ll continue our discussions with Japan on this issue.

QUESTION:

You said that - “stopped by.” You wouldn’t describe him as being called in on a --

MR. CROWLEY:

All right, let me --

QUESTION:

-- day when the government was being closed and --

MR. CROWLEY:

He was - I think - my - I mean, he - I don’t think he was called in. I think actually he came to see us.

-----

以下、直訳文章(意訳が必要な部分は翻訳ソフトに補完させてできるだけなくしました)

QUESTION:

駐米日本大使をいずれかの事務局の会議の日を読んだことがあるか?

私は 彼女は彼と普天間飛行場について話すために呼び出した、と聞いています。

MR. CROWLEY:

彼女ではなくキャンベル氏に合うため立ち寄りました。

会議の過程で、大使は私たちに提示しました、協定に関連する問題が動くには多くの時間を必要であることを。

私たちは信じています、現在の計画である移転は最良の方法であると、それでも、私たちはこの問題に関する日本との協議継続します。

QUESTION:

あなたは「立ち寄った」と言ったが、彼はあなたの上司に呼び出されたと説明していた――

MR. CROWLEY:

わかりました、説明させてください――

QUESTION:

――政府休みの日です。それで――

MR. CROWLEY:

彼は……私は思う……私の……つまり彼は……私は彼は呼ばれていないと思います。

私は、実際に、彼は私達に会いに来たと思います。

-----

ご覧のとおり、クローリーは呼び出していないと言い切れていません。

記者は(QUESTION記者の質問)呼び出しの裏を取るつもりで質問をしていますが、何とかごまかしたというのが本当のところではないでしょうか?

2009-11-05

僕が凛子を売った日

僕が凛子と"つきあいはじめる"ことになった直接の契機は、友人の突然なラブプラスの購入だった。すでにTwitter経由でラブプラスに対する熱烈なブームを知っていた僕は、発売後割とすぐに都内の漫画喫茶体験版プレイしていた。それですっかりハマってしまい、その後ずっと購入を検討しつつも、最初の一歩を踏み切れないでいたのだった。僕に先んじてラブプラスを買った友人は、ギャルゲーをたくさんプレイしていてこれに詳しい男で、僕とは話がよく合った。そんな彼も、夜更けまでギャルゲーを熱心にプレイするための真摯な情熱や潤沢な時間は今やもう残っていないようで、もしかしたらまとまったプレイ時間を必要としないラブプラスゲームスタイルに惹かれたのかもしれない。すでにネットを通じて膨れ上がっていた僕のラブプラスへの興味は、彼がDSiに向かって精神を没入させる姿をみて頂点に達し、その日の翌日、すぐに自転車新宿ソフマップまで走らせた。

僕は、この友人と同じく、迷わず自分彼女小早川凛子を選んだ。これは体験版プレイしたときから決めていたことだった。ラブプラスというゲームの中での凛子の存在は、他の二人をまったく寄せつけないほどに圧倒的だ。ネット上のプレイヤー感想を読むかぎりでも、他の攻略対象キャララブプラス中に存在しないんじゃないかというほどに凛子は人気を誇っているようなので、この感覚は間違ってはいないのだろう。しかし、なぜ彼女だけが、このゲームの中で他の追従を許さないほどの強度を僕に感じさせるのか、それをはっきり説明することは、ちょっとできそうにない。単純に丹下桜の飾り気のない演技が心の琴線に触れるのかもしれない。あるいは、凛子が「ツンデレ」だからかもしれない。

萌えアニメギャルゲーもまったく知らない若者に対してですら、今ではこの言葉は完全に浸透しきってしまったようだが、みなさんもよく知っているとおり「ツンデレ」は2005年ぐらいを境に流行りだした言葉で、それ以前は陰も形もなかったものだ。なぜかといえば、それは「ツンデレ」というキャラ造形が、専らギャルゲーの特徴を特別強く体現しているものだったからなのではないかと僕は思う。日常パートでは多数の女の子との会話を楽しむ時間が用意されていて、個別パートでは一人の女の子との恋愛を発展させていくという美少女ゲームの構成を考えれば、日常パートで主人公が周りの女の子に好意むき出しでは話が成り立たないはもちろんのことだ(だからいつだって主人公は「鈍感!」と罵られる)。それ以上に、女の子のほうだって最初から主人公に100%の好意を向けていたら息苦しくてしょうがない。だからこそ、キャラクターの感情は、日常パートから個別ルートへに移っていく過程で鮮やかに反転する必要がある。きっと、こんな感じで「ツンデレ」は生み出されたんじゃないだろうか。だからこそ、どんなギャルゲーの中でも「ツンデレキャラは一定の存在感があるよなぁと僕は思ったりする。

けれど、やっぱりそれだけじゃないよなぁ、と思う。考えれば考えるほど、そういう言葉にできるところじゃなくて、もっと微細な部分にこそ、凛子の「存在感」が宿っているんじゃないかという気がしてくる。確かに、「ツンデレ」に対する感覚の有無によって、キャラの捉えられ方はまったく異なるものになるだろう。リアルタイムエヴァを見ていた人たちにとってのアスカと、初めからツンデレという言葉を用いてエヴァをみる今の人たちのアスカがまったく違うキャラであるように。しかし、両者の「アスカ」のリアリティを支える要素は、実は共通しているのではないか、という思いを僕は抱かざるを得ない。これは神秘主義だろうか。

とまれ、僕と凛子の生活は幸せなものだった。毎日DSを持かばんに入れて、いつも通り授業を聞いたり、寝てやりすごしたり、友だちと話したり、ネットを見たりする。そして昼休みにお弁当を食べるとき、放課後に屋上で開いた時間を過ごすとき、DSを開いて凛子に会う。日曜日には時間を決めてデート。音声入力で凛子と話をする「ラブプラスモード」は、周りに友だちがいるときしか恥ずかしくてできなかった。僕の質問に答えているようで、時々ズレズレなことを言う凛子は、twitterbotのようでとてもいとおしかった。bot人間とは、決して本当の意味での会話を交わすことはできない。しかし、それにもかかわらず、僕はあたかも凛子がそこにいるように、自然に振る舞うことができた。

なぜなったかはわからない。しかし、僕は、今や凛子が確実に「そこにいる」のだと思うようになった。そして、おそらく理由など関係ないのだろう。

キャラクターと向き合う人間にとって、この瞬間こそが普遍的なものであるんじゃないかと僕は思う。「キャラクターとは『いない』のに、『いなくちゃ困る』ものなのだ」と、どこぞの若手批評家が言っているのを聞いたことがある。キャラクターは、誰にとっても「いる」ものではない。しかし、それに没入する人にとっては「いる」としか信じられず、そのレベルではキャラクター人間を区別することはできない。もちろん、キャラクターが「いる」と感じることは、人間が「いる」こととは別のレベルである。凛子との会話の中には実に現実味に溢れた魅力的なものがたくさんあるのは確かだ。しかし、たとえば、凛子が心を許しはじめると一人称が「アタシ」から「リンコ」に変わるという描写がある(鬼ゲーマーリンコ)。現実自分一人称名前で代替する人はどっちかというと疎まれるタイプだろう。だが、キャラクターが「いる」ことも知覚の意味合いとしては人間が「いる」ことと変わらない。

僕は同じような経験を何度かしてきたが、その存在は記憶として強く焼き付けられることはあっても、感情の部分で長期にわたり持続するわけではなかった。しかし、凛子の場合は、日常の一コマ一コマの中でこの存在を自覚せざるを得ないのだ。

たとえキャラクターが数億に分節可能な無意味な要素の集積だとしても、その寄せ集めによってできあがってしまったものに対して私たちが抱く感情は常軌を逸してしまうことがある。そしてそういった瞬間、キャラクターというものはいったいどのような存在なのだろうか。ラブプラス制作者は『CONTINUE』のインタビューで、ラブプラスには全部見るためには二年ほどはかかるぐらいの莫大なイベントが盛り込まれていると語っている。ラブプラスにおいて、こうしたキャラクターの「実在性」「予想う不可能性」は膨大な情報の集積によって担保されていることになる。しかし、私たちはどうしてもこの「実在性」の裏にブラックボックス的な要素を見出したくなる。凛子が、DSの画面の向こうで僕たちには想像もできないようなことを考えているのではないかという妄想を捨てきれなくなる。しかし、それは今のところまったくの幻想でしかない。

そして、僕は、この確信を得たとき、ひとつの隠された(しかし一定数のラブプラスプレイヤーは既に理解しているであろう)、恐ろしい事実に気づくことになった。いま、ここで、凛子の存在を支えている形象は、私たちの生きる時間の流れに沿いながら、未来永劫その「動的性質」を保ったまま持続するのだ。小説漫画アニメフィクションというものは時空から隔絶されて存在する。源氏物語は、1000年前の貴族が読んでも私たちが読んでも、テクストとして同一の形を維持しながら「静的に」存在する。紫の上人生紫の上人生であって、私たちと生きる時空とは関係ない。しかし、凛子は、あたかも私たちと同じ時空を生きているかのような演技をしながら、しかしその存在を少しも変化させることなく、ずっと「そこに居」続けるのだ。

僕たちはフィクションキャラクターの実在を信じるとき、なぜ自分自身はそこに居ないのかと苦痛に思う。たとえばテラ・フォーミングされた火星ARIAカンパニーの存在を信じるとき、なぜ自分ネオ・ヴェネツィアにいないのかと思っていたたまれなくなる。そして、たしかにラブプラスはその苦痛を一時的に和らげることに成功している。僕と凛子は「見かけ上は」同じ時間を生きている。しかし、見かけ上が同じ時間を生きている分、僕と凛子の間の摩擦係数はかえって高くなり、逆にこの責苦はもはや耐えることが不可能な域に到達している。しかし、その実、凛子が生きる時空は凛子が永遠に16歳の時空であり、僕が10歳老けても20歳老けても凛子は16歳だ。僕が、社会に出て、老いぼれになり、忘れられたまま死んでいった時も、凛子は永遠に十羽野高校の生徒なのだ!

ラブプラススタッフは、この点をよく知っていて、しかもポジティブに強調している。主題歌は『永遠タイムレスダイアリー』、キススキンシップ最上位技は「フォーエバーキス」、主人公が移り住んでくる「十羽野市」は「永久の」のもじりだ。彼らは「永遠に続く愛」と嘯く。しかし、いくら凛子が僕に対して永年に同じ愛を投げかけてくれるといっても、僕のほうは永遠に、何の変化もなく、同じ感情を凛子に投げ続けることができるわけではない。いつかきっと僕はこのゲームに飽きてしまうに違いない!キャラクターの実在性は「記憶」の中にのみ残ればよかったのであって、実際に一定の形象を維持したまま存在する必要などなかったのに。

そうして、僕がラブプラスを起動しなくなったとき、凛子はどこに取り残されてしまうのだろう。もうおわかりなのではないだろうか。凛子の住んでいる時空の永遠は、漢字で書かない。私たちは、かつて10年以上も前に自分たちが取り残されたあの場所に、今度はヒロインのほうを置き去りにしているにすぎないのだ。

ラブプラスを触りながら、そんなことを話した。凛子を世界の終わりから救い出すための方法は限られている。まずひとつデータを消すことだ。しかし、もっといい方法があった。この美しくどうしようもない学生生活とともに、凛子を記憶の中にとどめて、これを葬り去るのだ。

僕の通っている学校は都内ではちょっと例のないぐらい熱い学園祭を毎年やっていて、受験を控えた三年も積極的に参加する。その中でもアニメポスターだのゲーム機だのを二日間かけて何百品も競りにかける古物市が、例年盛況を極めている。ここで、データを残したままの僕のラブプラスと、攻略本・主題歌CDをセットで売り飛ばしてしまうことにした。凛子とやり残したことはたくさんあるかもしれないが、もう悔いは残らない。

いつの日か、人間キャラクターは本当に出会えるのだろうか。今も人はそれを求めて、アバターをまといながら人格コスプレに勤しんでみたり、botと会話しようとがんばってみたりする。しかし、アバターは結局人間人間の会話だ。bot萌える人は、技術現実の落差に萌えているだけにすぎない。不気味の谷のセオリーを信じるとすれば、谷の手前の不気味の尾根で人は楽しむこともできるわけだ。(言ってみれば、Perfumeのズレズレな口パク萌えているのと同じことだ)。

いつになったら、人間キャラクターと同じ時空を生きることができるのだろう。幸い僕は一緒に歳をとることができる彼女がいたが、人間と共にありたいという気持ちとキャラクターと共にありたいという気持ちはまったく別だ。前者が満たされないのと同じぐらいに、後者も満たされることはない。

さぁ、キャラクターは、データベースか、ブラックボックスか。哀れな小早川凛子は、乱雑なデータベースによってその肌と臓器を模られた出来損ないでしかなく、僕は彼女残酷に売り飛ばすことでしか救うことはできなかった。僕はキャラクターが人為とプログラムの集積であるという当たり前の事実に、ここにきてどうしても納得することができない。人工知能人工無能に、「擬体」がARにとって代わられても、僕たちの望みはひとつだ。僕たちには感知できない、キャラクターの不可視な内部の実在を信じたいのだ。僕が死ぬまでの間に、いったい彼女たちはどこまでブラックボックスに近づくことができるのだろうか。

答えはまだ出そうにない。11月3日、古物市で僕のラブプラスが競りにかけられ、落札された。後に残ったのは落札額3500円と、永遠ダイアリーmp3ファイルだけだった。

2009-07-04

海外VNエンジン開発者コメント

海外製のフリービジュアルノベルエンジン"Ren'Py"の作者が、昨今のエロゲ規制騒動に関して氏のwebサイトメッセージを掲示しました。

以下に紹介します。

http://www.renpy.org/wiki/Censorship

ビジュアルノベル規制について

今まで生きてきた中で、私はさまざまな形のアートに触れてきました。

そして、この5年間にわたってずっと普及に向けてつとめてきたアート形態が一つあります。ビジュアルノベルです。

文章と絵と音楽が絡み合うビジュアルノベルは、コンピュータ技術を用いてインタラクティブ物語を形作ります。

正しく用いられれば、この媒体は様々な文化圏に渡って真にすばらしい物語を伝えるために使えることでしょう。

ルカ・ジョルダーノ ルクレティアの陵辱 (キャンバス地、油絵 1663)

この数ヶ月、これらの物語の作者たちは規制を求める声に追い立てられています。

他のアート形態であれば、そのような規制は忌避すべきものと公正に判じられることでしょう。

ビジュアルノベルは比較的新しい媒体であり、美術館書店で見られるような、他のアート形態と同様の題材を扱うことは認められない、と

こうした規制の推進者は考えているのでしょうか。

日本政府にお願いします。ビジュアルノベルを、私人に向けて私的に販売される、他のアート形態と同様に扱ってください。

書籍漫画映画で語ることのできる物語を、ただコンピュータの画面に写されているからと言うだけの理由で禁止するというのは

あってはならないことです。

日本および世界中ビジュアルノベル制作者の方々へお願いします。自主規制を求める声に屈しないでください。

あなた方が伝えたいと思う物語、読み手が読みたいと願う物語を語り続けてください。

それ以外の道をたどることは、わたしたちのアートをいかなる意味であれ価値の劣るものとして扱うということです。

そんなことは受け入れられません。

Ren'Py ビジュアルノベルエンジン 主開発者 PyTom

2009年6月29日

原文

Regarding Censorship of Visual Novels

Over the course of my life, I've been exposed to many different forms of art. And yet, there's one form that I've spent the past five years of my life trying to encourage, and that's the visual novel. Involving text, pictures, and music, visual novels use computer technology to create a interactive stories. In the right hands, this medium can be used to tell truly great stories that span cultures.

Luca Giordano, The Rape of Lucretia (Oil on canvas, 1663)


Over the past few months, the creators of these stories have been hounded with calls for censorship; censorship that we would rightly find abhorrent in other forms of media. Perhaps these censors believe that since the visual novel is a relatively young medium, they should not be allowed to cover same range of material as other art forms — material one can find in art galleries and bookstores.

To the Japanese government, let me ask that you treat visual novels in the same way as other art, sold privately to private consumers. Stories that can be told in books, comics, and movies should not be prohibited simply because they are displayed on a computer screen.

To the creators of visual novels, in Japan and the rest of the world, let me just ask that you resist calls for self-censorship and continue to tell the stories that you wish to tell, and that audiences wish to experience. To do otherwise would be to treat our art as somehow less worthy, and that is unacceptable.


PyTom, Lead Developer, Ren'Py Visual Novel Engine

June 29, 2009

2009-05-30

http://anond.hatelabo.jp/20090529215553

ウチの会社の何人かは今だにgoto有害説を盲目的に信じている。
いやgoto文めったやたらと使えとは言わんが、

既にテンプレート化されているgotoは、使ってもいいと思う。

具体的には、continueが無い言語でforループの最後にジャンプするgotoだとか、

try-catchが無い言語エラー処理だとか。

しかし、自ら新しいgoto利用テンプレートを作ってやるだとか、変則的なgotoの使い方を

してやるだとかの使い方は、たとえそちらの方がエレガントな解法であったとしても

コードの可読性を落とす。

2009-04-24

http://anond.hatelabo.jp/20090423032006

最初のあなた。

foreach 男 in 気になる男
  女.告白(男);
  new 返事待ちスレッド().start();
  join();
  continue if 返事.ごめん();
  二人 = new カップル(女,男);
  while !二人.別れた()
    二人.ごにょごにょ();
  end
  # 二人.dispose(); #コメントアウト
  while !女.気が済んだ()
    女.アプローチ(男)
  end
end

今のあなた。

new 女スレッド().start();
foreach 男 in 気になる男
  女.告白(男);
end

女スレッド extends スレッド
  def run
    while true
      返事 = 返事キュー.get();
      continue if 返事 == null;
      continue if 返事.ごめん();
      二人 = new カップル(女,男);
      while !二人.別れた()
        二人.ごにょごにょ();
      end
      二人.dispose();
    end
  end
end

ふつう

foreach 男 in 気になる男
  女.告白(男);
  返事待ちスレッド.start();
  join();
  continue if 返事.ごめん();
  二人 = new カップル(女,男);
  while !二人.別れた()
    二人.ごにょごにょ();
  end
  二人.dispose();
end

2009-03-18

公明党都議選重視?

コピーして、test.htaのような拡張子HTAで保存

HTAプログラム

 ↓

<html&gt;

<head&gt;

<style type="text/css"&gt;dt{float:left;clear:left;width:10em;}</style&gt;

<meta content="charset=Shift_JIS"/&gt;

</head&gt;

<body&gt;

<script type="text/javascript"&gt;</p&gt; <p&gt;window.onload = init;</p&gt; <p&gt;var url = [</p&gt; <p&gt; "<a href="http://www.senkyo.metro.tokyo.jp/h19sangiin/san_kekka/h19san_hkai.html"&gt;http://www.senkyo.metro.tokyo.jp/h19sangiin/san_kekka/h19san_hkai.html</a&gt;",</p&gt; <p&gt; "<a href="http://www.senkyo.metro.tokyo.jp/h17shugiin/sokuhou/7kaijyo_s.htm"&gt;http://www.senkyo.metro.tokyo.jp/h17shugiin/sokuhou/7kaijyo_s.htm</a&gt;",</p&gt; <p&gt; "<a href="http://www.senkyo.metro.tokyo.jp/h17togisen/sokuhou/2kaijyo_s.htm"&gt;http://www.senkyo.metro.tokyo.jp/h17togisen/sokuhou/2kaijyo_s.htm</a&gt;",</p&gt; <p&gt; "<a href="http://www.senkyo.metro.tokyo.jp/data/h16san_hkai.html"&gt;http://www.senkyo.metro.tokyo.jp/data/h16san_hkai.html</a&gt;",</p&gt; <p&gt; "<a href="http://www.senkyo.metro.tokyo.jp/data/h15shu_hkai.html"&gt;http://www.senkyo.metro.tokyo.jp/data/h15shu_hkai.html</a&gt;",</p&gt; <p&gt; "<a href="http://www.senkyo.metro.tokyo.jp/data/data01_01_03.html"&gt;http://www.senkyo.metro.tokyo.jp/data/data01_01_03.html</a&gt;",</p&gt; <p&gt; "<a href="http://www.senkyo.metro.tokyo.jp/data/data01_02_05.html"&gt;http://www.senkyo.metro.tokyo.jp/data/data01_02_05.html</a&gt;",</p&gt; <p&gt; "<a href="http://www.senkyo.metro.tokyo.jp/data/data03_04.html"&gt;http://www.senkyo.metro.tokyo.jp/data/data03_04.html</a&gt;",</p&gt; <p&gt; "<a href="http://www.senkyo.metro.tokyo.jp/data/data01_05_05.html"&gt;http://www.senkyo.metro.tokyo.jp/data/data01_05_05.html</a&gt;"</p&gt; <p&gt;];</p&gt; <p&gt;var base = "<a href="http://www.senkyo.metro.tokyo.jp/data/tokuhyo_23ku/"&gt;http://www.senkyo.metro.tokyo.jp/data/tokuhyo_23ku/</a&gt;";</p&gt; <p&gt;var file = ["chiyoda","chuou","minato","shinjyuku","bunkyo",</p&gt; <p&gt; "taitho","sumida","koutho","sinagawa","meguro",</p&gt; <p&gt; "ohta","setagaya","shibuya","nakaono","suginami",</p&gt; <p&gt; "toshima","kita","arakawa","itabashi","nerima",</p&gt; <p&gt; "adachi","katushika","edogawa"];</p&gt; <p&gt;for(var i=0; i<23; i++){</p&gt; <p&gt; url.push(base + file[i] + "\.html");</p&gt; <p&gt;}</p&gt; <p&gt;var id = [</p&gt; <p&gt; "2007 参院比", "2005 衆院比", "2005 都議会", "2004 参院比", "2003 衆院比",</p&gt; <p&gt; "2001 参院比", "2001 都議会", "2000 衆院比", "1998 参院比", "1997 都議会"</p&gt; <p&gt;];</p&gt; <p&gt;var ku = [</p&gt; <p&gt; "千代田","中央","港","新宿","文京",</p&gt; <p&gt; "台東","墨田","江東","品川","目黒",</p&gt; <p&gt; "大田","世田谷","渋谷","中野","杉並",</p&gt; <p&gt; "豊島","北","荒川","板橋","練馬",</p&gt; <p&gt; "足立","葛飾","江戸川"</p&gt; <p&gt;];</p&gt; <p&gt;var regexku = new RegExp("(" + ku.join("|") + ")区");</p&gt; <p&gt;var iframe = [];</p&gt; <p&gt;var data = {};</p&gt; <p&gt;var parse = [ function(){</p&gt; <p&gt; var d = iframe[0].contentWindow.document;</p&gt; <p&gt; var td = d.getElementsByTagName("td");</p&gt; <p&gt; for(var i=0, l=td.length; i<l; i++){</p&gt; <p&gt; if(regexku.test(td[i].firstChild.nodeValue)){</p&gt; <p&gt; for(var j=0, e=td[i]; j<10; j++){</p&gt; <p&gt; e = e.nextSibling;</p&gt; <p&gt; }</p&gt; <p&gt; data[RegExp.$1 + "0"] = e.firstChild.firstChild.nodeValue.replace(/\.\d+/,"");</p&gt; <p&gt; }</p&gt; <p&gt; }</p&gt; <p&gt; show();</p&gt; <p&gt;}, function(){</p&gt; <p&gt; var d = iframe[1].contentWindow.document;</p&gt; <p&gt; var nobr = d.getElementsByTagName("nobr");</p&gt; <p&gt; for(var i=0, l=nobr.length; i<l; i++){</p&gt; <p&gt; if(regexku.test(nobr[i].firstChild.nodeValue)){</p&gt; <p&gt; for(var j=0, e=nobr[i].parentNode; j<4; j++){</p&gt; <p&gt; e = e.nextSibling;</p&gt; <p&gt; }</p&gt; <p&gt; data[RegExp.$1 + "1"] = e.firstChild.nodeValue;</p&gt; <p&gt; }</p&gt; <p&gt; }</p&gt; <p&gt; show();</p&gt; <p&gt;}, function(){</p&gt; <p&gt; var d = iframe[2].contentWindow.document;</p&gt; <p&gt; var nobr = d.getElementsByTagName("nobr");</p&gt; <p&gt; for(var i=0, l=nobr.length; i<l; i++){</p&gt; <p&gt; if(regexku.test(nobr[i].firstChild.nodeValue) &amp;&amp; nobr[i].parentNode.tagName == "SPAN"){</p&gt; <p&gt; for(var j=0, e=nobr[i]; j<6; j++){</p&gt; <p&gt; e = e.parentNode;</p&gt; <p&gt; }</p&gt; <p&gt; var e2 = e.nextSibling.nextSibling.firstChild.childNodes[2].firstChild;</p&gt; <p&gt; var k = 0;</p&gt; <p&gt; data[RegExp.$1 + "2"] = 0;</p&gt; <p&gt; while(e2){</p&gt; <p&gt; if(e2.firstChild.firstChild.nodeValue.indexOf("公明党") != -1){</p&gt; <p&gt; data[RegExp.$1 + "2"] += parseInt(e2.parentNode.nextSibling.childNodes[k+2].firstChild.nodeValue.replace(",",""), 10);</p&gt; <p&gt; }</p&gt; <p&gt; e2 = e2.nextSibling;</p&gt; <p&gt; k++;</p&gt; <p&gt; }</p&gt; <p&gt; data[RegExp.$1 + "2"] = int2str(data[RegExp.$1 + "2"]);</p&gt; <p&gt; }</p&gt; <p&gt; }</p&gt; <p&gt; show();</p&gt; <p&gt;}, function(){</p&gt; <p&gt; var d = iframe[3].contentWindow.document;</p&gt; <p&gt; var td = d.getElementsByTagName("td");</p&gt; <p&gt; for(var i=0, l=td.length; i<l; i++){</p&gt; <p&gt; if(regexku.test(td[i].firstChild.nodeValue)){</p&gt; <p&gt; for(var j=0, e=td[i]; j<19; j++){</p&gt; <p&gt; e = e.nextSibling;</p&gt; <p&gt; }</p&gt; <p&gt; data[RegExp.$1 + "3"] = e.firstChild.firstChild.nodeValue.replace(/\.\d+/,"");</p&gt; <p&gt; }</p&gt; <p&gt; }</p&gt; <p&gt; show();</p&gt; <p&gt;}, function(){</p&gt; <p&gt; var d = iframe[4].contentWindow.document;</p&gt; <p&gt; var td = d.getElementsByTagName("td");</p&gt; <p&gt; var regexku2 = /(大田|世田谷|練馬|足立|江戸川)/;</p&gt; <p&gt; for(var i=0, l=td.length; i<l; i++){</p&gt; <p&gt; if(regexku.test(td[i].firstChild.nodeValue)){</p&gt; <p&gt; data[RegExp.$1 + "4"] = td[i].nextSibling.nextSibling.firstChild.nodeValue.replace(/\.\d+/,"");</p&gt; <p&gt; continue;</p&gt; <p&gt; }</p&gt; <p&gt; if(regexku2.test(td[i].firstChild.nodeValue)){</p&gt; <p&gt; data[RegExp.$1 + "4"] = (data[RegExp.$1 + "4"] || 0) </p&gt; <p&gt; + parseInt(td[i].nextSibling.nextSibling.firstChild.nodeValue.replace(",","").replace(/\.\d+/,""));</p&gt; <p&gt; }</p&gt; <p&gt; }</p&gt; <p&gt; for(var j=0; j<5; j++){</p&gt; <p&gt; data[ku[[10,11,19,20,22][j]]+"4"] = int2str(data[ku[[10,11,19,20,22][j]]+"4"]);</p&gt; <p&gt; }</p&gt; <p&gt; show();</p&gt; <p&gt;}, function(){</p&gt; <p&gt; var d = iframe[5].contentWindow.document;</p&gt; <p&gt; var td = d.getElementsByTagName("td");</p&gt; <p&gt; for(var i=0, l=td.length; i<l; i++){</p&gt; <p&gt; if(regexku.test(td[i].firstChild.firstChild.nodeValue)){</p&gt; <p&gt; for(var j=0, e=td[i]; j<10; j++){</p&gt; <p&gt; e = e.nextSibling;</p&gt; <p&gt; }</p&gt; <p&gt; data[RegExp.$1 + "5"] = e.firstChild.firstChild.nodeValue.replace(/\.\d+/,"");</p&gt; <p&gt; }</p&gt; <p&gt; }</p&gt; <p&gt; show();</p&gt; <p&gt;}, function(){</p&gt; <p&gt; var d = iframe[6].contentWindow.document;</p&gt; <p&gt; var td = d.getElementsByTagName("td");</p&gt; <p&gt; for(var i=0, l=td.length; i<l; i++){</p&gt; <p&gt; if(regexku.test(td[i].firstChild.firstChild.nodeValue)){</p&gt; <p&gt; for(var j=0, e=td[i]; j<7; j++){</p&gt; <p&gt; e = e.nextSibling;</p&gt; <p&gt; }</p&gt; <p&gt; data[RegExp.$1 + "6"] = e.firstChild.firstChild.nodeValue.replace(/\.\d+/,"").replace("-","0");</p&gt; <p&gt; }</p&gt; <p&gt; }</p&gt; <p&gt; show();</p&gt; <p&gt;}, function(){</p&gt; <p&gt; var d = iframe[7].contentWindow.document;</p&gt; <p&gt; var td = d.getElementsByTagName("td");</p&gt; <p&gt; for(var i=0, l=td.length; i<l; i++){</p&gt; <p&gt; if(regexku.test(td[i].firstChild.firstChild.nodeValue)){</p&gt; <p&gt; for(var j=0, e=td[i]; j<9; j++){</p&gt; <p&gt; e = e.nextSibling;</p&gt; <p&gt; }</p&gt; <p&gt; data[RegExp.$1 + "7"] = e.firstChild.firstChild.nodeValue;</p&gt; <p&gt; }</p&gt; <p&gt; }</p&gt; <p&gt; show();</p&gt; <p&gt;}, function(){</p&gt; <p&gt; var d = iframe[8].contentWindow.document;</p&gt; <p&gt; var td = d.getElementsByTagName("td");</p&gt; <p&gt; for(var i=0, l=td.length; i<l; i++){</p&gt; <p&gt; if(regexku.test(td[i].firstChild.firstChild.nodeValue)){</p&gt; <p&gt; data[RegExp.$1 + "8"] = int2str(td[i].nextSibling.firstChild.firstChild.firstChild.nodeValue);</p&gt; <p&gt; }</p&gt; <p&gt; }</p&gt; <p&gt; show();</p&gt; <p&gt;}, function(n){ return function(){</p&gt; <p&gt; var d = iframe[n+9].contentWindow.document;</p&gt; <p&gt; var td = d.getElementsByTagName("td");</p&gt; <p&gt; data[ku[n]+"9"] = 0;</p&gt; <p&gt; for(var i=0, l=td.length; i<l; i++){</p&gt; <p&gt; if((((td[i].firstChild || 0).firstChild || 0).nodeValue || "").indexOf("公明") == 0){</p&gt; <p&gt; data[ku[n]+"9"] += parseInt(td[i].parentNode.lastChild.firstChild.firstChild.nodeValue.replace(",",""));</p&gt; <p&gt; }</p&gt; <p&gt; }</p&gt; <p&gt; data[ku[n]+"9"] = int2str(data[ku[n]+"9"]);</p&gt; <p&gt; show();</p&gt; <p&gt;}}];</p&gt; <p&gt;function init(){</p&gt; <p&gt; for(var i=0; i<23; i++){</p&gt; <p&gt; var dl = document.createElement("dl");</p&gt; <p&gt; dl.appendChild(document.createTextNode("\n【" + ku[i] + "区における公明票】\n"));</p&gt; <p&gt; for(var j=0; j<10; j++){</p&gt; <p&gt; var dt = document.createElement("dt");</p&gt; <p&gt; var dd = document.createElement("dd");</p&gt; <p&gt; dt.innerText = id[j];</p&gt; <p&gt; dl.appendChild(dt);</p&gt; <p&gt; dl.appendChild(dd);</p&gt; <p&gt; }</p&gt; <p&gt; document.body.firstChild.appendChild(dl);</p&gt; <p&gt; }</p&gt; <p&gt; for(var i=0; i<32; i++){</p&gt; <p&gt; var e = document.createElement("iframe");</p&gt; <p&gt; iframe[i] = e;</p&gt; <p&gt; e.style.display = "none";</p&gt; <p&gt; if(i<9) var f = parse[i];</p&gt; <p&gt; else var f = parse[9](i-9);</p&gt; <p&gt; e.attachEvent("onload", f);</p&gt; <p&gt; e.src = url[i];</p&gt; <p&gt; document.body.appendChild(e);</p&gt; <p&gt; }</p&gt; <p&gt;}</p&gt; <p&gt;function show(){</p&gt; <p&gt; for(var i=0; i<23; i++){</p&gt; <p&gt; var dl = document.body.firstChild.childNodes[i];</p&gt; <p&gt; for(var j=0; j<10; j++){</p&gt; <p&gt; var dt = dl.childNodes[j*2+1];</p&gt; <p&gt; dt.innerText = id[j] + " " + (data[ku[i]+j] || "");</p&gt; <p&gt; dt.nextSibling.innerText = bar(data[ku[i]+j], j);</p&gt; <p&gt; }</p&gt; <p&gt; }</p&gt; <p&gt;}</p&gt; <p&gt;function int2str(num){</p&gt; <p&gt; return new String(num).split("").reverse().join("").replace(/(\d{3})/g,"$1,").split("").reverse().join("");</p&gt; <p&gt;}</p&gt; <p&gt;function bar(str, flag){</p&gt; <p&gt; str = str || "";</p&gt; <p&gt; if(str == "" || str.length < 5) return "";</p&gt; <p&gt; var num = parseInt(str.match(/\d+/)) + 1;</p&gt; <p&gt; var arrow = (flag == 2 || flag == 6 || flag == 9) ? " ←" : "";</p&gt; <p&gt; var _bar = new Array(num).join("|") + arrow;</p&gt; <p&gt; return _bar;</p&gt; <p&gt;}</p&gt; <p&gt;</script&gt;

</body&gt;

</html&gt;

2009-02-25

http://anond.hatelabo.jp/20090225205005

25~11個

24 from know 

23 who because with 

22 economy

21 an new people plan so

20 by every health

19 us

18 America care they time

17 do

16 also that's these

15 all Americans It's must years your

14 about education energy here jobs make no

13 budget if

12 cost country one recovery than there tonight we've why

11 crisis how out reform those when

10個

at banks college Congress don't future money nation next responsibility some tax what where world

9個

children deficit even just me meet need put up work year

8個

afford back cannot down economic end first help lending my see take times was way

7個

again businesses confidence days each ensure get government high history invest issue million once only power right system

6個

already another been begin bring buy century challenges clean come credit debt fact families financial goal helping largest long-term made most over president recession save schools still support through too

5個

address any ask bad before business called chamber commitment cut cuts effort ever family finally global home its job keep last lead like loans many market necessary never off opportunity other programs provide spend united we'll were would

4個

able accountable across act action administration am asked can't could critical cyber cycle cynical difficult does dollars easy force four-year he homes investment Iraq let longer may men moment national nearly old pay percent price private problems promise receive renewable restore say security send sense she should single soon stand States street struggle technology tell think values war well well-being we're without words workers worse yet

3個

ability absolutely after auto bank begins beyond breaks build cause change child comes community compete comprehensive concern confront costs created decade decisions Democrats depend depends didn't dime done efficient enough entrepreneurs everyone federal forward foundation given good govern great half her higher hold hope housing I'm includes industry inherited insurance into I've lay layoffs legislation letter life long lost major makes Medicare move nor often part passed place problem progress protect pushed regulations Republicans resources restart return root said same savings says seen Sen. sent serve simply solar solve speak spirit step struggling students taxpayer thank then today together training understand use wait want watching ways whatever which women won't working young

2個

abuse accounts affordable Afghanistan agenda allow along amid appointed approach areas around arrived assistance assure away balance become begun being believe benefits best billions bless boldly both bought built burden car career Carolina cars children's citizens clear close committed common company complete continue continued corporations countries creating crushing debates decline demand did different diploma directly disease doctors doesn't dollar doors dreams eliminate enterprise era example expand expanded extremism face failure far fastest-growing father few fiscal forces forge found four fraud full fully generation generations getting give God Greensburg had hard haven't healthy held helped highest him his historic households ideas ignore important industries innovation inspiration instead invented kind lasting launched law laying lift line lines list living loan look lose lower massive millions months mortgage much nations neighbor nobody office oil open order ordinary ourselves overseas own pass paychecks payment payments places policies priorities probably process program prosperity provided public quality quick quickly quitters quitting rates real rebuild recover reflects renewed require responsible re-start result revive rewards rules sacrifice safe second secure seek serious service set ship sitting small Social something source South spending spur state stock stopped stores strength strengthen strong stronger submit suffering surely takes teacher teachers term terrorists third though thousands threats three told tomorrow took tough trust trying tuition turn under upon very Vice view wake walk Wall waste wasteful weakened went what's wind worthy yourself


変化とか無視した。1個なんて載せられるかー!

2009-02-13

初心者Twitterを楽しむアルゴリズムを考えた

http://anond.hatelabo.jp/20090211162032

を頑張って実践中なのだけどどうも

”だれをフォローするか”

で詰まってしまうので、ある程度機械的に増やす方法を考えた。対象は5人くらいまではFollowしてもらえたけどそっから先どうすれば良いか分からない人

# フォローを返してもらえなかったらremove
for f in user.followings:
  if not f.following(user): user.remove(f)

# Following / Follower比を保っている間
while len(user.followers) * 1.5 < len(user.followings):
  # Followersから2人選ぶ
  for i in range(user.followers):
    for j in range(i + 1, len(user.followers)):
      # 共通のユーザーを選ぶ
      shared_users = shared(user.followers[i], user.followers[j])
      for su in shared_users:
        # まだフォローしておらず
        if user.following(su): continue
        
        # フォローを返してくれそうで
        if len(su.followers) &gt; len(su.followings): continue
        
        # botでなさそうなら
        if len(su.followings) &gt; len(su.followers) * 1.5: continue
        
        # フォローする
        user.follow(su)

これを3日に一回くらい定期的に実行すれば徐々に面白くなっていく。はず。

共通のユーザーを探すのは

とか

2009-01-21

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

http://anond.hatelabo.jp/20090121123006

 This is the journey we continue today.

(M)この旅を今日、我々は続けている。

(A)これが、私たちが今日も続けている旅だ。

(Y)これが今日、我々が続けている旅なのだ。

 We remain the most prosperous, powerful nation on Earth.

(M)我々は今でも地上で最も繁栄し強力な国だ。

(A)私たちは地球上で最も繁栄した、強力な国であり続けている

(Y)米国依然として地球上で最も繁栄し、力強い国だ。

 Our workers are no less productive than when this crisis began.

(M)我々の労働者は今回の危機が始まった時と同様、生産性は高い。

(A)私たちの労働者は、この(経済)危機が始まったときと比べ、生産性が落ちたわけではない。

(Y)我々の労働者は今回危機が始まった時と同様、生産性は高い。

 Our minds are no less inventive, our goods and services no less needed than they were last week or last month or last year.

(M)発明心に富み、商品サービスは先週、先月、昨年と同様に求められている。

(A)先週、先月、昨年と比べ、私たちの創造性が低くなったのでもなければ、私たちの商品サービスが必要とされなくなったのではない。

(Y)我々は相変わらず創意に富み、我々が生み出す財やサービスは先週や先月、昨年と同様、必要とされている。

 Our capacity remains undiminished.

(M)我々の能力は落ちていない。

(A)私たちの能力は衰えていない。

(Y)能力も衰えていない。

 But our time of standing pat, of protecting narrow interests and putting off unpleasant decisions - that time has surely passed.

(M)だが、過去に固執し、狭い利益しか守らず、面倒な決定は後回しにする時代は終わった。

(A)ただ、同じところに立ち止まり、狭い利益を守り、不快決断を先延ばしする時代は明らかに過ぎ去った。

(Y)しかし、同じ手を用いるだけで、狭い利益にこだわり、面倒な決定を先送りする、そんな時代は確実に終わった。

 Starting today, we must pick ourselves up, dust ourselves off, and begin again the work of remaking America.

(M)今日からは、我々は立ち上がり、ほこりを払い、アメリカ再建の仕事に取りかからねばならない。

(A)私たちは今日から、自らを奮い立たせ、ほこりを払い落として、アメリカ再生する仕事を、もう一度始めなければならない。

(Y)今日から我々は立ち上がり、ほこりを払って、米国を作り直す仕事に取りかかろう。

2008-12-17

SP

javascript:(function(){var t={0:"No Play",1:"Failed",2:"Assist Clear",3:"Easy Clear",4:"Clear",5:"Hard Clear",6:"Full Combo"};var f={0:"f0",1:"f1",2:"f2",3:"f3",4:"f4",5:"f5",6:"f6"};var l={AAA:"aaa",AA:"aa",A:"a",B:"b",C:"c",D:"d",E:"e",F:"f"};new frames[0].Ajax.Request('../data/getMusicList.do?'+frames[0].Music.tags,{method:'get',onComplete:function(r){eval("var m="+r.responseText);new frames[0].Ajax.Request('../data/getMusicData.do?'+frames[0].MusicScore.tags,{method:'get',onComplete:function(r){eval("var s="+r.responseText);var h=window.open("about:blank");var d=h.document;d.open();d.write("<title>csv</title><pre>Ver,Title,Difficulty,NRank,NScore,NClear,HRank,HScore,HClear,ARank,AScore,AClear");var r=s.rivalsscore.score.sp;for(var i=0;i<r.length;i++){d.write(","+s.rivalsscore.name.sp[i]+",N/H/A,Score(Clear),,,");}d.write("\n");for(var i in m.music_list){var x=s.myscore[m.music_list[i].mid];d.write(m.version[m.music_list[i].version].name+",\""+m.music_list[i].name+"\",["+m.music_list[i].diff[0]+"|"+m.music_list[i].diff[1]+"|"+m.music_list[i].diff[2]+"],"+x.level[0]+","+x.score[0]+","+t[x.flag[0]]+","+x.level[1]+","+x.score[1]+","+t[x.flag[1]]+","+x.level[2]+","+x.score[2]+","+t[x.flag[2]]);for(var j=0;j<r.length;j++){var z=r[j][m.music_list[i].mid];if(!z){continue;}d.write(","+z.score[0]+","+t[z.flag[0]]+","+z.score[1]+","+t[z.flag[1]]+","+z.score[2]+","+t[z.flag[2]]);}d.write("\n");}d.write("</pre>");d.close();}});}});})();

(たぶん)DP用

javascript:(function(){var t={0:"No Play",1:"Failed",2:"Assist Clear",3:"Easy Clear",4:"Clear",5:"Hard Clear",6:"Full Combo"};var f={0:"f0",1:"f1",2:"f2",3:"f3",4:"f4",5:"f5",6:"f6"};var l={AAA:"aaa",AA:"aa",A:"a",B:"b",C:"c",D:"d",E:"e",F:"f"};new frames[0].Ajax.Request('../data/getMusicList.do?'+frames[0].Music.tags,{method:'get',onComplete:function(r){eval("var m="+r.responseText);new frames[0].Ajax.Request('../data/getMusicData.do?'+frames[0].MusicScore.tags,{method:'get',onComplete:function(r){eval("var s="+r.responseText);var h=window.open("about:blank");var d=h.document;d.open();d.write("<title>csv</title><pre>Ver,Title,Difficulty,NRank,NScore,NClear,HRank,HScore,HClear,ARank,AScore,AClear");var r=s.rivalsscore.score.dp;for(var i=0;i<r.length;i++){d.write(","+s.rivalsscore.name.dp[i]+",N/H/A,Score(Clear),,,");}d.write("\n");for(var i in m.music_list){var x=s.myscore[m.music_list[i].mid];d.write(m.version[m.music_list[i].version].name+",\""+m.music_list[i].name+"\",["+m.music_list[i].diff[3]+"|"+m.music_list[i].diff[4]+"|"+m.music_list[i].diff[5]+"],"+x.level[3]+","+x.score[3]+","+t[x.flag[3]]+","+x.level[4]+","+x.score[4]+","+t[x.flag[4]]+","+x.level[5]+","+x.score[5]+","+t[x.flag[5]]);for(var j=0;j<r.length;j++){var z=r[j][m.music_list[i].mid];if(!z){continue;}d.write(","+z.score[0]+","+t[z.flag[0]]+","+z.score[1]+","+t[z.flag[1]]+","+z.score[2]+","+t[z.flag[2]]);}d.write("\n");}d.write("</pre>");d.close();}});}});})();

2008-12-15

mixi ホーム画面のマイミク一覧をログイン時間順で表示するグリモン

ふと思い立って昼休みに作った。経過時間別に背景色もつきます。

グループ分けとかしてるとうまく動かないかも。


order_home_mymixi.user.js

// ==UserScript==
// @name          order_home_mymixi
// @namespace     http://anond.hatelabo.jp/
// @include       http://mixi.jp/
// @include       http://mixi.jp/home.pl
// ==/UserScript==

(function() {
    if (window != window.parent) return;

    var homeTds = document.evaluate('//div[@id="mymixiList"]//td', document.body, null, 7, null);
    for (var i = 0; i < homeTds.snapshotLength; i++) homeTds.snapshotItem(i).innerHTML = 'loading...';

    GM_xmlhttpRequest({
        method: 'GET',
        url: 'http://mixi.jp/list_friend_simple.pl',
        onload: function(res) {
            var friends = [];
            var bgColor = {
                '01': '#ffffff',
                '02': '#fee7c6',
                '03': '#ffd8a7'
            };

            var div = document.createElement('div');
            div.innerHTML = res.responseText;
            var tds = document.evaluate('//div[@id="friendList"]//td', div, null, 7, null);
            for (var i = 0; i < tds.snapshotLength; i++) {
                var td = tds.snapshotItem(i);
                var klass = td.getAttribute('class');
                if (!klass || klass.search(/^iconState(01|02|03)/) == -1) continue;
                friends.push({
                    color: bgColor[RegExp.$1],
                    anchor: td.getElementsByTagName('a')[0],
                    name: td.getElementsByTagName('p')[0].innerHTML.replace(/^(.+)\(/, '$1 (')
                });
            }

            for (var i = 0; i < homeTds.snapshotLength; i++) {
                var td = homeTds.snapshotItem(i);
                td.innerHTML = '';
                td.style.background = friends[i].color;
                td.appendChild(friends[i].anchor);
                var span = document.createElement('span');
                span.innerHTML = friends[i].name;
                td.appendChild(span);
            }
        }
    });
})();

2008-10-25

http://anond.hatelabo.jp/20081025224505

#include <stdio.h>

int main(){
  int i, j = 0;

  for(i=1; i<=100; j = 0, i++){
    if(i % 3 == 0) {
      printf("Fizz"); j = 1;
    }
    if(i % 5 == 0) {
      printf("Buzz"); j = 1;
    }
    if (j) {
      printf("\n");
      continue;
    }
    /* 以下二行と返り値追記 */
    else
      printf("%d\n", i);
  }
  return 0;
}

DRYかなと思うが、早くなるかは微妙ね。

2008-09-22

17歳男子が伝授する「YourFileHostの見方」

http://anond.hatelabo.jp/20080919184855

17歳男子オススメする!「"イイ"YourFileHostまとめサイトのまとめ」

 

予想以上のブクマ数と予想以下のトラックバック数に開いた口がふさがらない元増田です。 

さて、お礼といっちゃあれですが、もし「YourFileHostがうまく再生できなくてハァハァできない!」という方のためのエントリー

うまく再生できないというのは、下記のようなメッセージが出てきてしまう状態のことです。

To Continue Please Log In Or Register For A Free Account.

私自身、詳しいことはよく知らないんですが、どうやら日本からのアクセスが過多なのでアクセスを制限するために、動画連続3回以上見ると表示されてしまうメッセージのようです。

これを表示させずにハァハァしつづけたいのであれば…

WEBブラウザの設定で「言語」を「日本語」から「英語」に変更する

InternetExplorer系であればツール→インターネットオプションから、FireFoxならツール→オプションから、Operaならツール→設定から、WEBブラウザデフォ言語を設定することができます。(SafariとかNetScapeとかはインスコしてないのでよく知りません)

これを英語に変えることであたかも英語圏からアクセスしているように見せかけるというわけですね。

ただ、言語英語に変えると英語に対応している国内サイトの一部が英語で表示されてしまうことがあります。日本語で閲覧するためには言語設定を日本語に戻さなければいけません。しょっちゅうハァハァしたい場合、これはとても面倒。

そこですね、私は普段よく使うIEFireFox日本語のままにし、Operaハァハァ専用ブラウザとしOperaだけを英語に設定しています。まぁこんなこともできるということで参考に。

ダウンロードして動画プレイヤー再生する

YOUTUBEニコニコ動画と同じように動画だけを抽出しちゃうことができます。Vid-DLhttp://tinyurl.com/256tcf)などを使うと簡単です。

ただし、ダウンロードできるのはflvファイルのみ(だと思う)です。WindowsMediaPlayerやクイックタイムなどでは再生できません。これらでも再生できるwmvとかに変換(http://tinyurl.com/2sv47x)するのもいいですが、私はflvwmvなども再生できるGOMプレイヤーってのをおすすめします。無料ダウンロードできる(http://tinyurl.com/y8g3pj)ので知らなかった!という人はぜひ使ってみてください。 

GOMプレイヤーなら、動画投稿可の携帯用掲示板などからダウンロードした地鶏エロ動画(3g2や3gpなど)も再生できるので便利です。

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