「Command」を含む日記 RSS

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

2011-12-29

Portable electronic equipment battery technology

1, about the trickle charge, rapid charging and stable battery charging algorithm

According to the energy requirements of the final application, a battery may contain up to 4 lithium ion or lithium polymer battery core, its configuration will have a variety of change, at the same time with a mainstream power adapter: direct adapter, USB interface or car charger. Remove the core quantity, core configuration or power adapter type difference, the battery has the same charge characteristics. So they charge algorithm. Lithium ion and li-ion polymer battery best charging algorithm can divided into three phases: trickle charge, rapid charging and stable charge.

trickle charge. For depth discharge core to charge. When core voltage in less than about 2.8 V, use a constant 0.1 C of the current charging for it.

fast charging. Core voltage trickle charge more than the threshold, improve the charging current rapid charging. Fast charging current should be lower than 1.0 C.

stable voltage. In the fast charging process, once the core 4.2 V voltage, stable voltage phase began. This is through the minimum charge current or timer or of the two joint to interrupt charge. When the minimum current below about 0.07 C, can interrupt charge. The timer is to rely on a default to trigger the timer interrupt.

Advanced battery charger with additional security function normally. For example, if the core temperature exceeds the given window, usually 0 ℃-45 ℃, charge will be suspended.

Remove some very low-end equipment, now on the market/li-ion polymer lithium ion battery solutions are integrated with the outer components or, in accordance with the characteristics of the charging to charge, this is not just to get better effect charge, but also for safety.

lithium ion/polymer battery charge is an example of applications-double input 1.2 A lithium battery charger LTC4097

LTC4097 can be used to exchange adapter or USB power supply for single quarter/polymer lithium ion battery. Figure 1 for double input 1.2 A lithium battery charger LTC4097 schemes. It USES constant current/constant voltage algorithm charging, from exchange adapter power charge, programmable filling up to 1.2 electric current A, and with USB power can be as high as 1 A, at the same time, automatic detection in each input voltage whether there. This device also provide USB the current limit. Applications include PDA, MP3 players, digital camera, light portable medical and test equipment and big color cellular phone. The performance characteristics: no external micro controller charging termination; The input power automatic detection and choice; Through the resistance from the exchange of charging adapter input can be as high as 1.2 A programming charge current; The resistance of programmable USB charging current is up to 1 A; 100% or 20% USB charging current set; The input power output and existing bias NTC (VNTC) pin as a 120 mA drive ability; NTC thermistors input (NTC) pin for temperature qualified charged; Pre-settings battery voltage with floating plus or minus 0.6% accuracy; Thermal regulation maximize charge rate and free hot air LTC4097 can be used to exchange adapter or USB power supply for single quarter/polymer lithium ion battery. The use of constant current/constant voltage algorithm charging, from exchange adapter power charge, programmable filling up to 1.2 electric current A, and with USB power can be as high as 1 A, at the same time, automatic detection in each input voltage whether there. This device also provide USB the current limit. Applications include PDA, MP3 players, digital camera, light portable medical and test equipment and big color cellular phone.

2, lithium ion/polymer battery scheme

Lithium ion/polymer battery charge scheme for different number of core, core configuration, and power types are different. At present mainly have three main charging scheme: linear, Buck (step-down) switch and SEPIC (booster and step-down) switch.

2.1 linear scheme

When the input voltage in big with the charger with sufficient clearance of core after opening voltage, it is linear scheme, especially 1.0 C fast charging current than 1 A big too much. For example, MP3 players usually only one core, capacity from 700 to 1500 mAh differ, full charge voltage is open 4.2 V. MP3 player power is usually the AC/DC adapter or USB interface, the output is the rule of 5 V; At this time, the linear scheme is the most simple, most charger of the efficiency of the scheme. Figure 2 shows for lithium ion/polymer battery solution linear scheme, basic structure and linear voltage neat device.

linear scheme charger application examples-double input Li + charger and intelligent power source selector MAX8677A

MAX8677A is double input USB/AC adapter linear charger, built-in Smart Power Selector, used for rechargeable single quarter by Li + batteries portable devices. The charger integration of the battery and the external power source and load switch charging all the power switch, so that no external MOSFET. MAX8677A ideal used in portable devices, such as smart phones, PDA, portable media players, GPS navigation equipment, digital camera, and digital cameras.

MAX8677A can work in independent USB and the power input AC adapter or two input either one of the input. When connecting external power supply, intelligent power source selector allows the system not connect battery or can and depth discharge battery connection. Intelligent power source selector will automatically switch to the battery system load, use the system did not use the input power supply parts for battery, make full use of limited USB and adapter power supply input. All the needed electric current detection circuit, including the integration of the power switch, all integration in the piece. DC input current highest limit can be adjusted to 2 A and DC and USB input all can support 100 mA, 500 mA, and USB hung mode. Charge current can be adjusted to as high as 1.5 A, thus support wide range of battery capacitive. Other features include MAX8677A thermal regulation, over-voltage protection, charging status and fault output, power supply good surveillance, battery thermistors surveillance, and charging timer. MAX8677A using save a space, hot enhanced, 4 mm x 4 mm, 24 of the pins TQFN encapsulation, regulations, work in exceptional temperature range (40 ~ + 85 ℃).

2.2 Buck (step-down) switch scheme

When A 1.0 C of the charging current more than 1 A, or the input voltage of the core than with high voltage open many, Buck or step-down plan is A better choice. For example, based on the hard drive in the PMP, often use single core lithium ion battery, the full of open is 4.2 V voltage, capacity from 1200 to 2400 mAh range. And now PMP is usually use the car kit to charge, its output voltage in a 9 V to 16 between V. In the input voltage and battery voltage is the voltage difference between high (minimum 4.8 V) will make linear scheme lowers efficiency. This kind of low efficiency, plus more than 1.2 A 1 C fast charging electric current, have serious heat dissipation problems. To avoid this kind of situation, will the Buck scheme. Figure 3 for lithium ion/polymer battery charger scheme Buck diagram, basic structure with Buck (step-down) switching voltage regulators completely the same.

2.3 SEPIC (booster and step-down) switch scheme

In some use of three or four lithium ion/polymer core series equipments, charger of the input voltage is not always greater than the battery voltage. For example, laptop computers use 3 core lithium ion battery, full charge voltage is open 12.6 V (4.2 V x3), capacity is 1800 mAh to 3600 mAh from. Power supply input or output voltage is 1 6 V AC/DC adapter, or is car kit, the output voltage in a 9 V to 16 between V. Apparently, the linear and Buck solutions are not for this group of batteries. This is about to use SEPIC scheme, it can in the output voltage is higher than when the battery voltage, can be in the output voltage less than when the battery.

3, and power detection algorithm is proposed

Many portable products use voltage measurements to estimate the remaining battery power, but the battery voltage and surplus power relationship but will with the discharge rate, temperature and battery aging degree of change, make this kind of method can top 50% margin of error. The market for longer to use product demand unceasingly strengthens, so the system design personnel need more accurate solution. Use capacity check plan come to measure battery or consumption of electricity, will be in a wide range of application power to provide more accurate estimate of the battery power.

3.1 power detection algorithm is one of the examples of application, function complete list, double the battery portable battery application design

power detection principle. Good capacity check plan at least to have battery voltage, temperature and battery electric current, measuring method; A micro 9 a; And a set of and the verification of the punishment power detection algorithm is proposed. Bq2650x and bq27x00 is full capacity check program function, with a measuring voltage and temperature of the digital converter (ADC) and a measuring electric current and charging sensor the asp. These capacity check plan also has a microprocessor, is responsible for the implementation of the Texas instruments power detection algorithm is proposed. The algorithm can compensate the lithium ion battery life.low self-discharge, aging, the temperature and discharge rate, and other factors. Chip embedded microprocessor as host system processor save these calculation burden. Capacity check program can provide remaining power state information, bq27x00 series products also offer surplus can Run Time (Run Time to Empty) host may at any Time to capacity check plan these information query, then LED indicator light through or displays will inform the user battery. Capacity check meter is very easy to use, the system processor need only configuration 12 C or HDQ communication drive can.

The battery circuit description. Figure 4 (a) can be used for identification of IC functions with typical application circuit batteries. According to the use of IC testing program is different, the battery needs to have at least three to four outside the terminal.

VCC and BAT pins will even to the battery voltage, so that for, C power and the battery voltage measurement. The battery is connected a grounding resistance smaller detection resistors, let capacity check meter high impedance SRP and SRN input can monitor sensor resistance on both ends of the voltage. Through testing the current flows through a resistor can be used to judge the battery or release the amount of electricity. Designers choose detection resistance value must be considered when resistance on both ends of the voltage can't more than 100 mV, low resistance may be more hours in current errors. Circuit board layout must ensure that SRP and SRN to testing from as close as possible to the connection of the resistor sensor resistance end; In other words, they should be the Kelvin attachment.

HDQ pin need external and resistors, this resistance should be located the host or the main application, such capacity check plan to the battery and portable devices when sleep function enable connection broken. Advice and resistance choose 10 k Ω.

battery identification. A low cost WeiMao batteries are getting more and more serious, these cells may not contain OEM requirements of security protection circuit. So, genuine battery may contain figure 4 (a) shows the appraisal circuit. When to identify the battery, the host to contain IC (bq26150, the function is cyclic redundancy check (CRC)) issued the battery packs a ask value (challenge), the CRC will contain battery according to this inquiry value and, in the building of the IC in CRC polynomial calculation the CRC value. CRC is based on the host of command and IC secret in the query of the definition of the CRC polynomial completed, the host in CRC values calculated with the calculation result of well battery comparison to identify the appraisal success.

Once the battery through the appraisal, bq26150 will issue commands to ensure that the host and quantity test plan of material lines between normal communication. When the battery connection interruption or to connect, the whole the identification process will be repeated again.

double the battery application. Figure 4 (b) for use bq26500 support double the typical application of lithium ion battery circuit. In order to support more battery, and this circuit is adding a adjustable regulators. Capacity check millions of BAT pin and the bottom of a battery anode linked to complete the variable voltage measurement of the battery.

Host to be able to read capacity check plan of variable voltage measurement battery, to make sure the end of discharging threshold and charging terminate threshold. As for the remaining state power (RemainingStateofCapacity), do not need to read can use directly.

The above bq2650x and bq27x00 etc capacity check plan provides the battery manufacturer a simple to use options, this scheme L [just measuring battery voltage to be precise, so these capacity check plan can be applied to various battery framework, and can support the battery identification and double the battery application '

3.2 power detection algorithm is an example of applications another, can apply to all kinds of general voltmeter new IC.

Today's many manufacturers can provide a variety of voltmeter IC,, the user can choose the suitable function device, to optimize the product price. Use voltmeter measurement of storage battery parameters, the separate architecture allows users in the host custom power measurement algorithm within. Eliminating embedded processor battery cost. On this to Dallase semicconductor company called cases of DS2762 chip for typical analysis. A new separate voltmeter IC, its structure see chart 5 (a) below.

DS2762 application characteristics

DS2762 is a single quarter of lithium battery voltmeter and protection circuit, integrated into a tiny 2.46 mm x 2.74 mm inversion of packaging. Due to internal integration for power detection of high precise resistance, this device is very save a space. It is the small size and incomparable high level of integration, for mobile phone battery and other similar handheld products, such as PDA, etc, are all very ideal. Integrated protection circuit continuously monitoring the battery voltage, over voltage and flow fault (charging or discharge period). Different from the independent protection IC, DS2762 allow main processor surveillance/control protection FET conduction state, such, can DS2762 through the protection of the power system and the control circuit implementation. DS2762 can also charge a battery consumption has depth, when the battery voltage within three V, provide a limit of the charging current recovery path.

DS2762 accurate monitoring battery current, voltage and temperature, the dynamic range and resolution of common satisfy any mobile communication product testing standards. The measurement of current for internally generated when the integral, realize the power measurement. Through the real-time, continuous automatic disorders correct, the precision of power measurement can be increased. The built-in measuring resistance due to eliminate manufacturing process and temperature and cause resistance change, further improve the precision of the voltmeter. Important data stored in 32 bytes, can add the lock EEPROM; 16 bytes of SRAM are used to keep dynamic data. And DS2762 all communication all through the 1-Wire, more communication interface node, minimize the battery and the connection to the host. Its main features for; Single quarter of lithium battery protector; High precision current (power measurement), voltage and temperature measurement; Optional integrated 25 m Ω measuring resistance, each DS2762 after fine-tuning alone; 0 V battery restore charge; 32 bytes can lock EEPROM, 16 bytes SRAM, 64 a ROM;

1-Wire, node, digital communication interface; Support more battery power management, and through the protection system control FET power; Dormancy mode power supply current only 2 µ A (most); Work mode power supply current for 90 µ A (most); 2.46 mm x 2.74 mm inversion of packaging or 16 feet SSOP package led, and both are can choose with or without detection resistance; After has with e

2011-09-21

[][]

ソフトバージョンアップなどの際に

インストール先を変更した場合の関連付けの変更方法です

1.レジストリエディタを起動する

2.HKEY_CLASSES_ROOT\Applications\[実行ファイル名]\shell\open\command

3.(規定)の値にプログラムパスがあるので修正する

注意 Applicationsですapplicationという似た名前があるので混同しないように!

2011-04-02

play on tumblr 動いてる?

via http://coderepos.org/share/browser/lang/javascript/userscripts/playontumblr.user.js?rev=38679 | text post image open : http://gyazo.com/0722c749cb50c704d4e9923bdd6b6fce.png -> http://gyazo.com/e8f082af69a038e0ea58775c2cec7ad5.png — Gist

最新はこれでいいんですか?

誰も話題にしてないので俺だけかな

reblogcount しか動いてなかったので自力で直そうと頑張ってみたが、

よくわからないのでぐっちゃぐちゃになってしまった

プログラミング素人ですすみません

一応動画再生画像の拡大2種の3つに関しては動くようにできた

likeは使ってないのでとくに見てませんすみません

ここがわからない
if (img[n].style.display != 'none') {
  click($X('./a', img[n])[0]);
  return stdin;
}
else{
  click($X('./preceding-sibling::a[1]', img[n])[0]);
  return stdin;
}

および

if (mov[n].style.display != 'none') {
  click($X('.//a', mov[n])[0]);
  return stdin;
}

これは何をしてるんでしょうか?

したままだとどうもうまくいかなかったので丸ごと削ってしまった

クリックすべき要素を直接XPath指定、にしたんだけどマズイ?

以下patchです

@include に www.tumblr.com/queue* も勝手に足してしまいました

どなたかまともにしてくださいm(__)m

--- 20101127_play_on_tumblr.user.js
+++ 20110402_play_on_tumblr.user.js
@@ -6,6 +6,7 @@
 // @include        http://www.tumblr.com/show/*
 // @include        http://www.tumblr.com/tumblelog/*
 // @include        http://www.tumblr.com/tagged/*
+// @include        http://www.tumblr.com/queue*
 // ==/UserScript==
 
 (function() {
@@ -43,25 +44,15 @@
         command: function(stdin) {
           try {
             if (!stdin.length) stdin = execute('current-node');
-            var img = $X('.//div[starts-with(@id, "highres_photo")]', stdin[0]);
+            var img = $X('.//img[contains(@id, "thumbnail_photo_")]', stdin[0]);
             for (var n = 0; n < img.length; n++) {
-              if (img[n].style.display != 'none') {
-                click($X('./a', img[n])[0]);
-                return stdin;
+                click(img[n]);
               }
-              else{
-                click($X('./preceding-sibling::a[1]', img[n])[0]);
-                return stdin;
-              }
-            }
-            var mov = $X('.//div[contains(@id,"watch_") and .//a]', stdin[0]);
+            var mov = $X('.//img[contains(@id,"video_thumbnail_")]', stdin[0]);
             for (var n = 0; n < mov.length; n++) {
-              if (mov[n].style.display != 'none') {
-                click($X('.//a', mov[n])[0]);
-                return stdin;
+                click(mov[n]);
               }
-            }
-            var timg = $X('.//img[contains(@src,"tumblr.com/tumblr_")]|.//img[@class="inline_external_image"]', stdin[0]);
+            var timg = $X('.//img[contains(@class, "inline_external_image")]', stdin[0]);
             for (var n = 0; n < timg.length; n++) {
               click(timg[n]);
             }

2009-04-30

[]

9.0.4入れてみた

解像度が800*600になっちゃう・・・

sudo displayconfig-gtk

sudo dpkg-reconfigure xserver-xorg

どっちもcommand not foundって、どうすりゃいいんじゃ!?八方塞がりッスよ・・・

2009-03-11

[][][][][][]

Deploy Merb, Sinatra, or any Rack App to Heroku

http://blog.heroku.com/archives/2009/3/5/32_deploy_merb_sinatra_or_any_rack_app_to_heroku/

http://heroku.com/pages/quickstart

http://heroku.com/docs

http://heroku.com/


HerokuをGit経由で使ってみる

http://d.hatena.ne.jp/aki-s-119/20081110/1226335713

http://github.com/guides/using-git-and-github-for-the-windows-for-newbies

Windows から Git を使う方法

http://d.hatena.ne.jp/kusakari/20080715/1216091060


msysgit - Google Code

http://code.google.com/p/msysgit/


PuTTYssh2プロトコルを使ってssh接続

http://net-newbie.com/putty.html


>heroku help
=== General Commands

 help                         # show this usage

 list                         # list your apps
 create [<name&gt;]              # create a new app

 keys                         # show your user's public keys
 keys:add [<path to keyfile&gt;] # add a public key
 keys:remove <keyname&gt;        # remove a key by name (user@host)
 keys:clear                   # remove all keys

=== App Commands (execute inside a checkout directory)

 info                         # show app info, like web url and git repo
 open                         # open the app in a web browser
 rename <newname&gt;             # rename the app

 sharing:add <email&gt;          # add a collaborator
 sharing:remove <email&gt;       # remove a collaborator

 domains:add <domain&gt;         # add a custom domain name
 domains:remove <domain&gt;      # remove a custom domain name
 domains:clear                # remove all custom domains

 rake <command&gt;               # remotely execute a rake command
 console <command&gt;            # remotely execute a single console command
 console                      # start an interactive console to the remote

 restart                      # restart app servers
 logs                         # fetch recent log output for debugging
 logs:cron                    # fetch cron log output

 bundles                      # list bundles for the app
 bundles:capture [<bundle&gt;]   # capture a bundle of the app's code and dat
 bundles:download             # download most recent app bundle as a tarba
 bundles:download <bundle&gt;    # download the named bundle
 bundles:animate <bundle&gt;     # animate a bundle into a new app
 bundles:destroy <bundle&gt;     # destroy the named bundle

 destroy                      # destroy the app permanently

=== Example story:

 rails myapp
 cd myapp
 (...make edits...)
 git init
 git add .
 git commit -m "my new app"
 heroku create myapp
 git remote add heroku git@heroku.com:myapp.git
 git push heroku master

2009-01-11

MacOS Xウィルス感染しにくいは本当かを考えてみた

素人なりに考えてみた。

※悪意あるアプリメール添付

MacOS X の実行形式は*.app。だけどメールに添付するにしても実際はフォルダなので相手に送ることすらできない

・圧縮して送ればいいんじゃね?→でも受け取った側は、解凍して*.appをわざわざ実行しなければ意味がない。そこまでして感染したらもはや自己責任

普通ファイル画像と見せかけたシェルスクリプトはどうか?しかし、メールで送るとただの実行形式シェルスクリプトもただのテキストファイルになるので意味がない。

・そのファイルをダウンしてchmod +x hogehoge なんてする方も...以下略

※外部からのアタックセキュリティーホールを突く?)

・鵜呑みにする自分アレだけど2ch系書き込みによれば、BSD基盤でそのレイヤ存在する殆どのセキュリティーホールは対策されている

デフォルトではfirewallによって殆どのポートがふさがれている

自動実行系

・AUTORUN.iniっぽくメディアを突っ込んだら勝手に起動しちゃう系。でもアプリインストールは必ず管理者権限のパネルが表示されるので、

 普通なら悪意あるアプリだと気づいてしまう

・*.commandターミナルが起動させて実行するか否かを確認しにくる。とにかくMacOS Xインストーラとかスクリプト実行形は必ず問い合わせに来る。

アプリバグ

SafariとかMail.appなどのセキュリティホールにより意図しないコードが実行されちゃうよ系。これは確かにあるな。

Appleさんには頑張ってもらうしかない。

・しかし、仮に画像意図しないスクリプトが埋め込まれてあったとしても、上述の通り勝手に実行されてしまう危険性は少ないのではないか?


※もしもキンタマウィルスMacOS X 版があったら

Windowsのような感染経路、方法は現実的なのだろうか。。。考えてみようにもスキルが足りないので挫折w


WindowsXPではリターンキーを押しただけで*.exeや*.comが実行できちゃうぐらい感染経路・手段が沢山ある。

デフォルトではとてつもなくキケンOSになっていると言わざる得ないのでは。だから対策ソフトを入れておくわけだが。

MacOS X は少なくともXPと同じ感染経路・手段では感染しにくいのではないだろうか。

シェアが少ないからウィルス作る側も相手しねぇんだよ」的な論調をみて強くギモンに思ったので考えてみたのでした。

素人が考えただけなので、思い切り間違っているところがあるだろうから、そこはやさしく突っ込んでください。


#ちなみに、自分WindowsMacOS Xノートンを入れてますけど、幸いにもどちらのOSでもウィルス感染などといった警告に一度も出会ったことがないです

2008-10-18

http://anond.hatelabo.jp/20081018072817 の続きだよ

これでおしまいだよ

elisp

sangels.el
(require 'cl)				; for cl-seq

(defvar sangels-movies-dir nil)
(defvar sangels-player "c:/Program Files/GRETECH/GomPlayer/GOM.exe")
(defvar sangels-sort-by 'sangels-sort-by-rate)
(defvar sangels-rate-file "~/.emacs.d/.sangels/rate")
(defvar sangels-buffer "*sangels*")
(defvar sangels-thumbnail "00_thumbnail.jpg")
(defvar sangels-m3u "00_movies.m3u")
(defface sangels-name '((t (:family "fixed" :weight bold :height 3.0)))
  "")
(defface sangels-rate '((t (:family "fixed" :weight bold :height 1.5)))
  "")
(defvar sangels-mode-map
  (let ((map (make-sparse-keymap)))
    (define-key map "n" 'next-line)
    (define-key map "p" 'previous-line)
    (define-key map (kbd "RET") 'sangels-select)
    (define-key map (kbd "SPC") 'sangels-select)
    (define-key map "q" 'sangels-quit)
    (define-key map "+" 'sangels-rate-plus)
    (define-key map "-" 'sangels-rate-minus)
    map))
(defvar sangels-mode-hook nil)
(defvar sangels-highlight-overlay nil)
(defvar sangels-rate-alist nil)

(defconst sangels-rate-max 6)

(defun sangels-insert-movies ()
  (save-excursion
    (let* ((inhibit-read-only t)
           (files (remove-if-not
                   (lambda (x)
                     (and (not (member (file-name-nondirectory x) '("." "..")))
                          (file-directory-p x)
                          (member sangels-thumbnail (directory-files x))))
                   (directory-files sangels-movies-dir t)))
           (ids (mapcar 'file-name-nondirectory files)))
      (erase-buffer)
      (setq ids (sangels-sort-ids ids))
      (dolist (id ids)
        (let ((file (expand-file-name id sangels-movies-dir))
              (pos (point)))
          (insert-image-file (expand-file-name sangels-thumbnail file))
          (end-of-line)
          (insert (propertize (format "%-15s " id)
                              'face 'sangels-name))
          (sangels-insert-rate id)
          (insert "\n")
          (put-text-property pos (point) 'sangels-id id))))))

(defun sangels-sort-by-name (a b)
  (string< a b))

(defun sangels-sort-by-rate (a b)
  (or (> (sangels-rate a) (sangels-rate b))
      (sangels-sort-by-name a b)))

(defun sangels-sort-ids (ids)
  (sort ids
        (or sangels-sort-by
            'sangels-sort-by-name)))
(defun sangels-insert-rate (id)
  (let ((rate (sangels-rate id)))
    (insert (propertize (concat
                         (make-string rate ?★)
                         (make-string (- sangels-rate-max rate) ?☆))
                        'sangels-rate t
                        'face 'sangels-rate))))

(defun sangels-current-id ()
  (get-text-property (point) 'sangels-id))

(defun sangels-play-movie (movie)
  (let ((explicit-shell-file-name "cmdproxy")
        (shell-file-name "cmdproxy"))
    (apply
     'call-process-shell-command
     "start" nil "*tmp*" nil
     (mapcar (lambda (x) (concat "\"" x "\""))
             (list sangels-player
                   (unix-to-dos-filename movie))))))

(defun sangels-select ()
  (interactive)
  (let ((id (sangels-current-id)))
    (when id
      (sangels-play-movie (expand-file-name
                           sangels-m3u
                           (expand-file-name id sangels-movies-dir))))))

(defun sangels-quit ()
  (interactive)
  (kill-buffer sangels-buffer))

(defun sangels-rate (id)
  (or (cdr (assoc id sangels-rate-alist)) (/ sangels-rate-max 2)))

(defun sangels-rate-save ()
  (interactive)
  (let ((dir (file-name-directory sangels-rate-file)))
    (unless (file-exists-p dir)
      (make-directory dir t)))
  (with-temp-file sangels-rate-file
    (insert (pp-to-string sangels-rate-alist))))

(defun sangels-rate-load ()
  (interactive)
  (when (file-exists-p sangels-rate-file)
    (with-temp-buffer
      (insert-file-contents sangels-rate-file)
      (goto-char (point-min))
      (setq sangels-rate-alist (read (current-buffer))))))

(defun sangels-rate-plus (&amp;optional n)
  (interactive "p")
  (setq n (or n 1))
  (let* ((id (sangels-current-id))
         (cell (assoc id sangels-rate-alist)))
    (unless cell
      (setq cell (cons id (sangels-rate id)))
      (setq sangels-rate-alist (cons cell sangels-rate-alist)))
    (setcdr cell (+ (cdr cell) n))
    (save-excursion
      (let ((inhibit-read-only t))
        (beginning-of-line)
        (goto-char (next-single-property-change (point) 'sangels-rate))
        (delete-region (point)
                       (next-single-property-change (point) 'sangels-rate))
        (sangels-insert-rate id)))
    (sangels-rate-save)))

(defun sangels-rate-minus (&amp;optional n)
  (interactive "p")
  (setq n (or n -1))
  (sangels-rate-plus (- n)))

(defun sangels-post-command-hook ()
  (save-excursion
    (move-overlay
     sangels-highlight-overlay
     (progn
       (move-beginning-of-line 1)
       (point))
     (progn
       (move-end-of-line 1)
       (forward-line)
       (point))
     (current-buffer))))

(defun sangels-mode ()
  (interactive)
  (kill-all-local-variables)
  (use-local-map sangels-mode-map)
  (setq sangels-highlight-overlay (make-overlay 0 0))
  (overlay-put sangels-highlight-overlay 'face 'highlight)
  (overlay-put sangels-highlight-overlay 'evaporate t)
  (make-local-variable 'post-command-hook)
  (add-hook 'post-command-hook 'sangels-post-command-hook nil t)
  (setq major-mode 'sangels-mode)
  (setq mode-name "Sangels")
  (run-mode-hooks 'sangels-mode-hook)
  (set-buffer-modified-p nil)
  (setq buffer-read-only t))

(defun sangels (&amp;optional arg)
  (interactive "P")
  (when (or arg (not sangels-movies-dir))
    (setq sangels-movies-dir (read-directory-name "movies dir: ")))
  (sangels-rate-load)
  (switch-to-buffer (get-buffer-create sangels-buffer))
  (sangels-insert-movies)
  (sangels-mode))

(provide 'sangels)

2008-10-12

[][]Grass

Table of Contents: ||||||

オープンソースソフトウェアGIS Open Source software and GIS Open Source software and GIS 1 (6)
オープンソース概念 Open Source concept 1 (2)
オープンソースGISとしてのGRASS GRASS as an Open Source GIS 3 (2)
ノースカロライナサンプルデータセット The North Carolina sample data set 5 (1)
この本の読み方 How to read this book 5 (2)
GIS概念 GIS concepts GIS concepts 7 (14)
一般的なGIS原理 General GIS principles 7 (6)
地理空間データモデル Geospatial data models 7 (4)
GISデータシステムの構成 Organization of GIS data and system 11 (2)
機能 functionality
地図投影法と座標系 Map projections and coordinate systems 13 (8)
地図投影原理 Map projection principles 13 (3)
一般的な座標系とdatums Common coordinate systems and datums 16 (5)
GRASSをはじめよう Getting started with GRASS Getting started with GRASS 21 (32)
第一歩 First steps 21 (16)
GRASSダウンロードインストール Download and install GRASS 21 (2)
データベースコマンド構造 Database and command structure 23 (3)
GRASS6のためのグラフィカルユーザインタフェイス: Graphical User Interfaces for GRASS 6: 26 (1)
QGISgis.m QGIS and gis.m
ノースカロライナを用いてGRASSを開始 Starting GRASS with the North Carolina 27 (3)
データセット data set
GRASSデータディスプレイ3D可視化 GRASS data display and 3D visualization 30 (4)
プロジェクトデータ管理 Project data management 34 (3)
新しいプロジェクトGRASSを開始 Starting GRASS with a new project 37 (7)
aのための座標系の定義 Defining the coordinate system for a 40 (4)
新しいプロジェクト new project
空間投影されていないxy座標系 Non-georeferenced xy coordinate system 44 (1)
座標系の変換 Coordinate system transformations 44 (9)
座標系のリスト Coordinate lists 45 (2)
ラスタベクトル地図投影 Projection of raster and vector maps 47 (1)
GDAL/OGRツールで、再投影 Reprojecting with GDAL/OGR tools 48 (5)
GRASSデータモデルデータの交換 GRASS data models and data exchange 53 (30)
ラスタデータ Raster data 54 (16)
GRASS2Dの、3Dラスタデータモデル GRASS 2D and 3D raster data models 54 (2)
領域の統合と境界 Managing regions and boundaries raster map resolution
ジオコードされたラスタデータインポート Import of georeferenced raster data 58 (8)
スキャンされた歴史地図インポートとジオコーディング Import and geocoding of a scanned 66 (3)
ラスタデータエクスポート Raster data export 69 (1)
ベクトルデータ Vector data 70 (13)
GRASSベクトルデータモデル GRASS vector data model 70 (3)
ベクトルデータインポート Import of vector data 73 (5)
xy CAD描画のための座標変換 Coordinate transformation for xy CAD drawings 78 (2)
ベクトルデータエクスポート Export of vector data 80 (3)
ラスタデータを使う Working with raster data 83 (86)
ラスタ地図を表示、管理 Viewing and managing raster maps 83 (22)
ラスタデータの表示と、カラーテーブルの割り当て Displaying raster data and assigning a color table 83 (3)
ラスタ地図に関するメタデータを管理 Managing metadata of raster maps 86 (2)
ラスタ地図クエリプロファイル Raster map queries and profiles 88 (2)
ラスタ地図統計 Raster map statistics 90 (1)
ラスタ地図ズームと、部分集合の生成 Zooming and generating subsets from 91 (1)
簡単なラスタ地図の生成 Generating simple raster maps 92 (2)
再分類と再スケーリング Reclassification and rescaling of 94 (3)
ラスタ地図 raster maps
ラスタ地図タイプの記録と値の置換 Recoding of raster map types and value replacements 97 (2)
カテゴリベルの割り当て Assigning category labels 99 (4)
マスキングとノーデータ値の取り扱い Masking and handling of no-data values 103(2)
ラスタ地図の計算 Raster map algebra 105(10)
整数と浮動小数点データ Integer and floating point data 107(1)
基本的な計算 Basic calculations 108(1)
“if"状態を使う Working with ``if'' conditions 109(1)
r.mapcalcのNULL値の取り扱い Handling of NULL values in r.mapcalc 110(1)
r.mapcalcでMASKを作成 Creating a MASK with r.mapcalc 111(1)
特別なグラフ演算子 Special graph operators 112(1)
相対的座標での近傍演算 Neighborhood operations with relative coordinates 113(2)
ラスタデータの変換と内挿 Raster data transformation and interpolation 115(11)
離散的ラスタデータ自動ベクトル Automated vectorization of discrete raster data 115(3)
連続フィールドの等値線の描画を生成 Generating isolines representing continuous fields 118(1)
ラスタデータのリサンプリングと内挿 Resampling and interpolation of raster data 119(5)
ラスタ地図オーバーレイマージ Overlaying and merging raster maps 124(2)
ラスタデータの空間分析 Spatial analysis with raster data 126(29)
近傍分析とクロスカテゴリー統計 Neighborhood analysis and cross-category statistics 126(7)
ラスタフィーチャのバッファリング Buffering of raster features 133(2)
コストサーフェイス Cost surfaces 135(5)
地勢と分水界分析 Terrain and watershed analysis 140(13)
ランドスケープ構造解析 Landscape structure analysis 153(2)
ランドスケーププロセスモデリング Landscape process modeling 155(11)
文学的、地下水モデル Hydrologic and groundwater modeling 155(3)
浸食と宣誓証言モデル Erosion and deposition modeling 158(8)
ラスタベースモデルと解析に関するまとめ Final note on raster-based modeling and analysis 166(1)
ボクセルデータを使う Working with voxel data 166(3)
ベクトルデータを使う Working with vector data 169(94)
地図の表示とメタデータ管理 Map viewing and metadata management 169(4)
ベクトル地図を表示 Displaying vector maps 169(3)
ベクトル地図メタデータ維持 Vector map metadata maintenance 172(1)
ベクトル地図属性管理とSQLサポート Vector map attribute management and SQL support 173(14)
GRASS6でのSQLサポート SQL support in GRASS 6 174(7)
サンプルSQLクエリ属性変更 Sample SQL queries and attribute modifications 181(4)
地図再分類 Map reclassification 185(1)
複数の属性があるベクトル地図 Vector map with multiple attribute tables: layers 186(1)
ベクトルデータデジタル Digitizing vector data 187(5)
位相データデジタル化の一般原理 General principles for digitizing topological data 187(2)
GRASSでの対話的なデジタイジン Interactive digitizing in GRASS 189(3)
ベクトル地図クエリ統計 Vector map queries and statistics 192(4)
地図クエリ Map queries 192(2)
ベクトルオブジェクトに基づくラスタ地図統計 Raster map statistics based on vector objects 194(2)
ポイントベクトル地図統計 Point vector map statistics 196(1)
幾何学操作 Geometry operations 196(20)
位相的な操作 Topological operations 197(6)
バッファリング Buffering 203(1)
フィーチャの抽出と境界のディゾルブ Feature extraction and boundary dissolving 204(1)
ベクトル地図を修理 Patching vector maps 205(1)
ベクトル地図インターセクディングとクリッピング Intersecting and clipping vector maps 206(3)
ベクトル幾何の変換と3Dベクトルの作成 Transforming vector geometry and creating 3D vectors 209(2)
点からのコンベックスハルとトライアンギュレーション Convex hull and triangulation from points 211(1)
同じ位置の掘り出し物の複数のポイント Find multiple points in same location 212(2)
一般的な多角形境界の長さ Length of common polygon boundaries 214(2)
ベクトルネットワーク分析 Vector network analysis 216(11)
ネットワーク分析 Network analysis 216(5)
直線的な参照システム(LRS) Linear reference system (LRS) 221(6)
ラスタへのベクトルデータ変化 Vector data transformations to raster 227(3)
空間的な内挿と近似 Spatial interpolation and approximation 230(19)
内挿方法を選択 Selecting an interpolation method 230(5)
RSTによる内挿と近似 Interpolation and approximation with RST 235(2)
RSTパラメタの調整: テンションスムージング Tuning the RST parameters: tension and smoothing 237(4)
RSTの精度を評価 Estimating RST accuracy 241(3)
セグメント化処理 Segmented processing 244(3)
RSTとのトポグラフィー分析 Topographic analysis with RST 247(2)
ライダーポイントクラウドデータを使う Working with lidar point cloud data 249(8)
ボリュームに基づくは内挿 Volume based interpolation 257(6)
3番目の変数の追加: 高度のある降水量 Adding third variable: precipitation with elevation 258(3)
ボリュームとボリューム-時間内挿 Volume and volume-temporal interpolation 261(1)
地球統計学とスプライ Geostatistics and splines 262(1)

2008-07-18

vimperator最高

ほんとにもう最高。

楽したい人間+ハマり性な人間には、こーゆーカスタマイズがしがし出来るツールが最高なのよ。

オレ流ブラウザ環境整備できるのももうタマラン。


エディタならvimemacsでもいいけど、あんまり詳しくない。

他のツールはカスタマイズ性で見劣りする。


こだわりのない人間にはどんなツールでもオッケーなんだろうね。

オレはこだわるところはこだわる。

ちょっとした不便に気づかないか気づいても甘受してしまうような人間と、今はクリアできなくともなんとか今後の課題にしたいと考える人間。

そこの違いだね。

どっちが得かというのはわからんけどね。

優劣とか損得の問題じゃなく、ただオレはそういう人種だってこと。




追記

ブクマありがとう

vimperatorrcねえ。特筆すべき点はないけど、あえて一部抜粋すれば、こんな感じ。

inoremap <C-1> <Esc>1gt
inoremap <C-2> <Esc>2gt
inoremap <C-3> <Esc>3gt
inoremap <C-4> <Esc>4gt
inoremap <C-5> <Esc>5gt
inoremap <C-6> <Esc>6gt
inoremap <C-7> <Esc>7gt
inoremap <C-8> <Esc>8gt
inoremap <C-9> <Esc>9gt
noremap <BS> H
noremap <S-BS> L
noremap ,b <Esc>:bmarks -tags=
noremap u :o<Space> " ldrc+ldrでoで:open出来ない問題を解決
" wildoptions=auto時に一瞬補完が表示されてウザいmapがある - Dis Communication - 符号無し
" http://unsigned.g.hatena.ne.jp/Trapezoid/20080620/1213961754
javascript <<EOM
[
    [',a',':dialog addbookmark'],
    [',c',':viewSBMComments -t h'],
    [',C',':viewSBMComments -t hdl'],
    [',d',':pindownload'],
    [',ld',':set ldrc'],
    [',p',':mb clear-pin'],
    [',q',':toggleldrc'],
    [',R',':so ~/_vimperatorrc'], 
    [',r',':res'],
    [',v',':!vim ~/_vimperatorrc'], 
    ['\\s',':scrapbook'],
    ['\\S',':scrap'],
    ['\\f',':firebug'],
    ['\\d',':dialog downloads'],
    ['\\p',':tabopen chrome://browser/content/places/places.xul'],
    ['!',':set invum'],
    ['B',':ls!'],
    ['\\a',':addons'],
    ['\\e',':errorconsole'],
    ['\\F',':firebugwindow'],
    ['\\d',':dialog downloads'],
    ['\\g',':oepnGMpanel'],
    ['\\G',':toggleGM'],
    ['e',':note'],
    ['<F11>',':fullscreen'],
    ['\\P',':placesnewwin'],
    ['\\H',':historynewwin'],
    ['<C-j>',':togglebookmarksidebar'],
    ['<C-k>',':togglehistorysidebar'],
    ['<C-l>',':addtoldr'],
    ['<C-S-Right>',':removerighttabs'],
    ['<C-S-Tab>',':previousfirebugtab'],
    [',o',':openselectedlinks'],
    [',3',':copy titleAndURL'],
    [',ig',':imageGet'],
    [',io',':imageOpen'],
    ['w',':submit'],
    [',lo',':logout'],
    // nicontroller.js
    [',ni',':nicoinfo'],
    [',np',':nicopause'],
    [',nm',':nicomute'],
    [',nv',':nicommentvisible'],
    [',nz',':nicosize'],
    [',ns',':nicoseek'],
].forEach(function([key,command]){
    liberator.mappings.addUserMap([liberator.modes.NORMAL], [key], "User defined mapping",
        function () { liberator.execute(command); }, {rhs: key, noremap: true});
});
EOM

javascript <<EOM
[
    ['<C-j>',':togglebookmarksidebar'],
    ['<C-k>',':togglehistorysidebar'],
].forEach(function([key,command]){
    liberator.mappings.addUserMap([liberator.modes.INSERT], [key], "User defined mapping",
        function () { liberator.execute(command); }, {rhs: key, noremap: true});
});
EOM
javascript <<EOM
// nicontroller.js plugin
// [N]-
// N 秒前にシークする。
// 指定なしの場合 10 秒前。
liberator.mappings.addUserMap(
    [liberator.modes.NORMAL],
    ['-'],
    'seek by count backward',
    function(count) {
        if(count === -1) count = 10;
        liberator.execute(':nicoseek! ' + '-' + count);
    },
    { flags: liberator.Mappings.flags.COUNT }
);

// [N]+
// N 秒後にシークする。
// 指定なしの場合 10 秒後。
liberator.mappings.addUserMap(
    [liberator.modes.NORMAL],
    ['+'],
    'seek by count forward',
    function(count) {
        if(count === -1) count = 10;
        liberator.execute(':nicoseek! ' + count);
    },
    { flags: liberator.Mappings.flags.COUNT }
);
EOM

Vimperatorで;bでリンクを新しいバックグラウンドのタブに開くようにする。

http://anond.hatelabo.jp/20080709195527

も俺の仕業なんだけど、これvimperator本体に実装してくれないかな。


気になる点・これからの課題

窓の杜 - 【NEWSFirefox 3のスマートロケーションバーに対応した「XUL/Migemo

http://www.forest.impress.co.jp/article/2008/07/07/xulmigemo0105.html



余談

Index of /

http://vimperator.driftaway.org/

に上がるのはたいてい朝の07:30になっているので、いつからかチェックするのが朝の習慣になった。

2008-04-17

VistaHTML エディタを変更するまで

今回の Windows では関連付けが関連付けしか出来なくなるなどカスタマイズ周辺機能の劣化が甚大この上なく、レジストリを直接変更する他に手がないらしい。

ですので、 regedit で HKEY_CLASSES_ROOT\htmlfile\shell\Edit\command の既定値を編集。 "full path" "%1" で、full path部分にはエディタのフルパスを書くとよいですね。


また、 Ver7 にもなってソース表示エディタに notepad を採用しているブラウザ改善する為にも、インターネットオプションHTML エディタを変更します。

該当するレジストリキーが無いなどの理由(推測)でなぜか変更されない場合は HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\View Source Editor\Editor Name の既定値を "full path" にします。よかったですね。

2008-03-27

マウスの人はショートカットキーどうするの?

右利きで左マウスっていう人時々いるけど、ショートカットキーはどうしているんだろう。

左手でCtrl(MacならCommand)とA,Z,X,C,V,S,F辺りのコンビネーションを使うから、

マウスはとてもやってられない。

いちいち右クリックとかメニューバーからやるのは面倒。


まあ、右手で打てなくもないかもしれないけど、

それなら携帯電話左手で使えばいい。

ポテトチップスだって左手で食べれる。(PCの前で食べるのはおすすめできないが)

2008-03-15

[][]PythonからSWIG経由でVisual Studio 2005を使って困ったこと

以上のような組み合わせで出くわした困ったことと、その解決策をメモしておきます。

setup.py を実行するとエラーが表示された!

Python was built with Visual Studio 2003;

extensions must be built with a compiler than can generate compatible binaries.

Visual Studio 2003 was not found on this system. If you have Cygwin installed,

you can try compiling with MingW32, by passing "-c mingw32" to setup.py.

setup.pyに.iファイルとか.cppファイルを記述して実行すると、こんな感じのエラーメッセージが表示されました。うーん、困った!

http://labs.cybozu.co.jp/blog/mitsunari/2007/08/vc2005boostpython.html

上記のページを参考にして、"%Pythonインストールしたフォルダ%/Lib/distutils/msvcompiler.py"を以下のように修正してみたら解決できました。ありがとうありがとう

--- msvccompiler.py    2007-04-04 17:17:12.000000000 +0900
+++ 
@@ -126,7 +126,7 @@
         self.set_macro("FrameworkDir", net, "installroot")
         try:
             if version > 7.0:
-                self.set_macro("FrameworkSDKDir", net, "sdkinstallrootv1.1")
+                self.set_macro("FrameworkSDKDir", net, "sdkinstallrootv2.0")
             else:
                 self.set_macro("FrameworkSDKDir", net, "sdkinstallroot")
         except KeyError, exc: #
@@ -252,7 +252,10 @@

     def initialize(self):
         self.__paths = []
-        if os.environ.has_key("DISTUTILS_USE_SDK") and os.environ.has_key("MSSdk") and self.find_exe("cl.exe"):
+        if self.__version >= 7.1 or (
+            os.environ.has_key("DISTUTILS_USE_SDK") and
+            os.environ.has_key("MSSdk") and
+            self.find_exe("cl.exe")):
             # Assume that the SDK set up everything alright; don't try to be
             # smarter
             self.cc = "cl.exe"
@@ -288,10 +291,16 @@

         self.preprocess_options = None
         if self.__arch == "Intel":
-            self.compile_options = [ '/nologo', '/Ox', '/MD', '/W3', '/GX' ,
-                                     '/DNDEBUG']
-            self.compile_options_debug = ['/nologo', '/Od', '/MDd', '/W3', '/GX',
-                                          '/Z7', '/D_DEBUG']
+            if self.__version >= 7.1:
+                self.compile_options = [
+                    '/nologo', '/Ox', '/MD',  '/W3', '/EHsc', '/DNDEBUG']
+                self.compile_options_debug = [
+                    '/nologo', '/Od', '/MDd', '/W3', '/EHsc', '/Z7', '/D_DEBUG']
+            else:
+                self.compile_options = [
+                    '/nologo', '/Ox', '/MD',  '/W3', '/GX',  '/DNDEBUG']
+                self.compile_options_debug = [
+                    '/nologo', '/Od', '/MDd', '/W3', '/GX', '/Z7', '/D_DEBUG']
         else:
             # Win64

cl.exeが見つからないと言われた!

setup.pyを実行するとcl.exeが見つからないみたいなエラーが表示されました。これは、アレだ。「パス通せ!」ということですね。bashを起動するときのバッチファイル(たぶん"cygwin.bat"とか)で、以下のような行を入れてやれば解決しました。

call "%VS80COMNTOOLS%vsvars32.bat"

setup.pyを実行したときに"basetsd.h"が開けないと言われた!

d:\python25\include\pyconfig.h(189) : fatal error C1083: include ファイルを開けません。'basetsd.h': No such file or directory

error: command 'cl.exe' failed with exit status 2

setup.pyを実行すると、上のようなエラーが表示されました。

http://d.hatena.ne.jp/ousttrue/20070531/1180556273

上記のサイトを見るとインクルードパスが通っていない場所に"basetsd.h"があるのが原因なので、"cygwin.bat"にインクルードパスの設定をしておきました。

call "%VS80COMNTOOLS%vsvars32.bat"
set INCLUDE=C:\Program Files\Microsoft Platform SDK\Include;%INCLUDE%

setup.pyを実行したときのリンク時にエラーが発生した!

link: extra operand `/INCREMENTAL:NO'

詳しくは `link --help' を実行して下さい.

error: command 'link.exe' failed with exit status 1

これは、cygwinのほうのlink.exeが実行されてるのが原因でした。スマートな解決策ではありませんが、cygwinのほうのlink.exeをリネームして解決。パスの設定順序とかでどうにかできるといいんだけど、どうすればいいんかな。

MSVCR80.dllが見つからないと言われた!

MSVCR80.dllが見つからなかったため、このアプリケーションを開始できませんでした。アプリケーションインストールし直すとこの問題は解決される場合があります。

SWIGが生成した.pyファイルをimportしたら、こんな感じのエラーダイアログが表示されたよ。うーん、困った!

http://d.hatena.ne.jp/moriyoshi/20070525

上記のページを参考にして、"%Pythonインストールしたフォルダ%/python.exe.manifest"として以下のようなファイルを新しく作ったら、解決できました。ありがとうありがとう

あとこれ、bashから実行したらエラーダイアログが表示されず、importするモジュールが見つからないみたいなエラーメッセージが出力されるだけだったよ。

<?xml version='1.0' encoding='UTF-8' standalone='yes'?>
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
  <dependency>
    <dependentAssembly>
      <assemblyIdentity type='win32' name='Microsoft.VC80.CRT' version='8.0.50608.0' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b' />
    </dependentAssembly>
  </dependency>
</assembly>

2007-05-18

http://anond.hatelabo.jp/20070518100549

少なくともCommand+Oの方は統一されてるんじゃないかな。

基本的には「このアプリに外部からファイルを読み込む」コマンドFinderの場合はそれ自身が何かファイルを読むわけじゃないから、デフォルトアプリに渡すようになってるけど。

で、ファイルオープンの挙動が統一されているからこそEnterには決まった役割が振られてない。要するに「決定」ボタンなわけだけど、それが何を決定するのかが問題。

まあFinderの「名前を変える」に割り振られた状態が良いかどうかはともかく、他二つは矛盾ないよね?

http://anond.hatelabo.jp/20070518100021

OSXではShift+Command+Nになってて泣きそうでした。

Winの新規フォルダの作り方はちょっともったいぶりすぎてるよね。

[]MacFinderのEnterキーの挙動について

http://anond.hatelabo.jp/20070518054913

不合理っつーか「Winとは違う」だけだろそれは。いつからEnterキーが「ファイルを開く」って意味になったんだ。

Macではマウスを使わないとファイルを開けません」なら問題だが、そうじゃない。単に操作方法が違うだけ。

それなら全体的に統一してほしいよな。

Enterキーの挙動

Finder - 選択されたファイルの名前変更

iTunes - 選択されたファイル再生

Safari - リンクが選択されていればそれをを開く

Command+Oの挙動

Finder - 選択されたファイルオープン

iTunes - ライブラリに追加ダイアログを出す

Safari - ファイルを開くダイアログを出す


俺には明らかにMacFinderは他のアプリと操作が統一されていなくておかしいと思えるんだが、

Mac信者はそうは思わないんだろうか。


http://anond.hatelabo.jp/20070518100021

Windowsの新規フォルダはALT+F+W+Fで作ってたが確かに面倒だ…

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