Search

5/30/2012

Songify - Google Play Android 應用程式

Songify - Google Play Android 應用程式

Songify 自動將言語轉成音樂! 只是對您的Android裝置講話. Songify會奇蹟般地將您的言語轉變分類中翻譯音樂。 加入全球超過八百萬癮上Songify的人! Songify是格雷戈里兄弟的官方應用程序,他們是YouTube"自動調諧新聞​​"系列的創作者,也是其它非常流行的視頻的創作者,像" 夜襲者之歌"、"不能擁抱每隻貓"、 "雙重彩虹"、"勝利!"等。

Favicons Next To External Links | CSS-Tricks

Favicons Next To External Links | CSS-Tricks

google's favicon service http://www.google.com/s2/u/0/favicons?domain=css-tricks.com g.etfv.co http://g.etfv.co/http://www.css-tricks.com favicon sprite http://favicon.yandex.net/favicon/google.com/yandex.ru/css-tricks.com

Re: [問卦] 有沒有除了華仔之外比較不會被噓的藝人

http://disp.cc/b/163-3HOm

36歲該年,父親去世,父親臨走前還留下手稿給他 成功是給堅持到底的人, 希望是給時刻積極的人, 機會是給準備完全的人, 使命是給願意承擔的人

Twitter Engineering: Improving performance on twitter.com

Twitter Engineering: Improving performance on twitter.com

No more #! The first thing that you might notice is that permalink URLs are now simpler: they no longer use the hashbang (#!). While hashbang-style URLs have a handful of limitations, our primary reason for this change is to improve initial page-load performance. When you come to twitter.com, we want you to see content as soon as possible. With hashbang URLs, the browser needs to download an HTML page, download and execute some JavaScript, recognize the hashbang path (which is only visible to the browser), then fetch and render the content for that URL. By removing the need to handle routing on the client, we remove many of these steps and reduce the time it takes for you to find out what’s happening on twitter.com. Loading only what we need To do this, we opted to arrange all our code as CommonJS modules, delivered via AMD. This means that each piece of our code explicitly declares what it needs to execute which, firstly, is a win for developer productivity. When working on any one module, we can easily understand what dependencies it relies on, rather than the typical browser JavaScript situation in which code depends on an implicit load order and globally accessible properties. Modules let us separate the loading and the evaluation of our code. This means that we can bundle our code in the most efficient manner for delivery and leave the evaluation order up to the dependency loader. We can tune how we bundle our code, lazily load parts of it, download pieces in parallel, separate it into any number of files, and more — all without the author of the code having to know or care about this. Our JavaScript bundles are built programmatically by a tool, similar to the RequireJS optimizer, that crawls each file to build a dependency tree. This dependency tree lets us design how we bundle our code, and rather than downloading the kitchen sink every time, we only download the code we need — and then only execute that code when required by the application.

5/21/2012

不落於文字的智慧

不落於文字的智慧

這讓我想起了小王子拜訪了其中一個星球,上面住著一位地理學家。這位地理學家從來不出去探險,他只負責在他的書房裡接見來自世界各地的探險家,對他們提出問題,並且記下他們的回憶。許多的時候,我也發現,人們如同地理學家一樣,渴望得到一個立即馬上的答案,聽完之後,也如同地理學家一般地飽足了。這就好像,我去爬了一座山,人家問我,你覺得那座山如何?我回答著,風景還不錯,空氣也很好。但是這或許並不能滿足他們,他們要一個明確的答案。所以,如果我說,空氣聞起來就像香草一般芬芳,天空就像今天這般湛藍,風吹來時,大概跟我們室內的冷氣的溫度差不多,或許,我再配上一些相片或是影片的解說之後,他們就心滿意足了。因為,在他們的想象中,他們也認為他們爬過了那座山,而他們覺得沒必要再去爬那座山了。但是,實際上,無論我怎麼描述,這些的經驗還是我自己的,一個獨一無二的經驗,一個不落於文字的經驗;不是不願意落於文字,而是中間的細膩的感觸,是無法落於文字的,而這些東西,才是形成智慧真正的東西。 我們看了一百部日劇後,我們並不會真正地愛人了,除非我們真得愛上了一個人;我們閱讀了各式各樣的管理書籍後,並不代表着我們就會經營一家公司,除非我們真正地創業了;我們熟讀了一百篇論文之後,並不代表我們就真得會做研究了,除非你真正開始做研究;我們看過了各種生死老病之後,並不代表我們就真得知道生死老病是甚麼,除非我們經歷了這一切。落於文字的知識,幫助我們可以快速預覽智慧的本體,但是無論這些文字再怎麼搭建,都不會形成通往智慧的橋梁。如果用譬喻來說,文字就像望遠鏡,但是望遠鏡再怎麼望,也不會把你直接送到對岸。 不落於文字的智慧,是活在當下的智慧,是實踐的智慧。脫離了情境的知識,就如同風乾的標本一般; 你可以拍下當下的風景,但是你拍不下當下的微風。智慧是別人無法從你身上取走的東西,是你無法給予別人的東西,它是如此的獨特,卻又無所不在,只要你用心實踐。

5/17/2012

台灣菁英人才的困境 – MMDays

台灣菁英人才的困境

不是有沒有競爭力的問題,而是不知道自己有多小 從小接受零和教育, 打敗同儕就是勝利 從小我們被教導要考第一名, 成績要比其他的小朋友好, 才有機會上好的明星學校, 邁向光明的前程, 台灣教育從小到大都不注重團隊觀念的培養, 老師和父母教導的, 全部都是零和的思想, 別人贏了, 就是你輸了, 別人第一名, 你就是第二名以後, 一翻兩瞪眼. 卻完全忽略其實這個世界有許多共創雙贏, 共創價值的機會, 並非所有事情都是你死我活. 這種深值人心的零和概念, 造成了許多台灣人才非常難以根除的一些刻板想法. 比如說, 台灣的菁英人才在選擇工作上, 最害怕的事情就是: 當別人問他在哪裡工作時, 他回答的是對方沒有聽過的一家小公司. 這對於很多菁英人才來說, 直接就是一個自尊心的打擊, 他們說出口的時候, 真的連自己都會覺得有點不好意思. 因為深植心中的零和思想, 讓他們覺得自己 “輸了”, 輸給那些在喊得出名字的大公司裡面工作的朋友同學. 所以幾乎所有台灣的頂尖人才, 都往最好的大公司去擠, 無論是本土或是外商, 一定要叫得出名字, 親戚朋友要聽過, 露出敬佩的表情, 才是好公司, 才代表我 “贏了” 同儕. 所以當新興產業逐漸成熟飽和時, 這些人才面臨了下一步該往哪裡去的困境, 以軟體業為例, Yahoo! 在全球裁員, HTC 被美國和 Samsung 扁得頭昏腦脹, Cyberlink 狀況不好, 這些公司的人才總是會想著下一步要去哪裡, 深怕一旦離開大公司, 自己就開始 “輸了”. 所以選來選去, 履歷表還是丟到這幾家公司, 但是這些頂尖的人才會發現自己的選擇越來越少, 因為台灣的狀況並不好, 而且這些頂尖人才自己並不願意發揮帶頭的作用, 出來做點事情: “別人不入地獄, 我幹嘛入地獄?” 菁英人才最怕的就是犯錯, 好像人生就是單選題一樣, 只有一個答案, 選錯了, 就是零分, 所以他們非常懼怕失敗. “大部分的人是來撿天下的, 不是來打天下的” 台灣大部分的人, 覺得小公司 = 不安全, 大公司 = 安全, 自己出來創業? 那更是匪夷所思. 許多台灣人的父母, 喜歡教導自己的子女, 要選擇安穩安全的路走, 要考第一名, 要進好公司, 父母才有面子, 生活才穩定, 要選擇在一個大的機構裡面一步一步穩穩的往上爬, 要在不同公司之間安排好跳槽的規畫, 每跳一次, 往上爬一層; 不要 “輸給” 別人. 所以別說是出來發揮帶頭作用, 加入小公司對於台灣的菁英人才來說, 都是不太可能的選項. 對於這些人來說, 一定要等到確定一家公司安全了, 看起來發展還不錯了, 才會小心翼翼地考慮加入. 因此台灣菁英大部分是風險趨避者, 這些菁英人才的心中, 想的都是 “安全”, “大公司”, 以及 “應該拿比同儕多的報酬” 等等關鍵字. 於是台灣就漸漸失去了創新, 還有創造的機會, 因為最好的一批人, 心中第一個關鍵字都是 “現在市面上最好的大公司”. 問題是, 這些大公司當初是怎麼來的? 萬丈高樓平地起, 所有公司都是從一兩個人開始, 然後逐漸成長茁壯. 哪一家公司一開始就有好幾千個人? 而且, 大公司 = 安全 這種想法, 在現在的時空背景下, 是一種非常不理性的想法, 因為在科技業, 大公司也因為激烈的競爭, 跟不上時代, 裁員一波接一波, 哪一家公司是保證安全的? 唯一安全的, 就是台灣的公務機關, 因為公務機關缺乏有效的淘汰機制, 還是一個最穩的鐵飯碗, 所以大家可以看到, 台灣報考公務員的人數一年比一年多, 畢竟, 最安全的, 就是給國家養了, 於是大家聚集在同一個地方沒有效率地運作著, 希望國家有一天會突然自己好起來. 問題是, 要是國家也開始出問題了呢? 人才流失, 資金及產業外移, 國家開始缺錢, 這些鐵飯碗, 難道沒有摔破的可能性? 資本市場規則早已經改變 全世界熱錢橫流, 台灣亞洲都不例外, 但是貧富差距卻越來越大, 社會呈現兩極化的發展. 在台灣, 因為近幾年遺產稅降低的關係, 大量資金從海外回流, 但是這些錢, 因為找不到適合的地方放, 適合的產業和標的投資, 所以被放到房地產, 結果造成台灣房價破表, 台灣一般民眾的薪水怎麼樣也跟不上房價的漲幅, 一輩子都買不起房子, 被沉重的房貸壓得喘不過氣, 於是更形成了惡性循環, 這些背著房貸的人才們, 更不敢出來帶頭創業, 配偶和父母不會允許自己這種自殺式的行為. 但是事實是, 台灣的薪資過去幾年毫無成長, 即使是在大公司, 菁英人才能夠拿到的報酬也一年不如一年, 根本跟不上房價的成長速度. 一個人一生的財產, 會有超過 80% 是放在房子上面, 所以比起房價, 這些人拿到的, 等於都是貶值過的貨幣. 所以重點不在於等政府打房讓我們買得起房子, 而在於每個台灣人都要想辦法創造新的產業, 為台灣帶來新的價值, 讓這些擺在房子上面的熱錢, 可以投入到這些新的地方, 不僅創造台灣的新價值, 連房價問題也可以一起解決. 要不然打房的結果, 課徵重稅的結果, 只會讓台灣的資金越來越少, 直接流入其他開放租稅和人才的國家, 像是韓國和新加坡, 政府有計劃地培育產業和人才, 形成磁吸的效應, 搶走台灣的人才和資金, 這一點不僅政府要負責任, 台灣的精英人才也應該有為國家創造價值的使命感.

5/16/2012

在 iPad, iPhone 中設定同步 Google 帳號中多個日曆之作法 @ 生活數位化,生活行動化 :: 痞客邦 PIXNET ::

在 iPad, iPhone 中設定同步 Google 帳號中多個日曆之作法 @ 生活數位化,生活行動化 :: 痞客邦 PIXNET ::

CalDAV: CalDAV 日曆同步功能 提供給有使用Google 日曆的朋友參考,原則上採行【設定一】即可。 如果您在 Google 日曆中除了預設的一個之外,仍有數個自己自行定義的日曆,在 iPhone/ iPad 的內建日曆中,即便您已設定同步 Gmail 行事曆了,但是仍是在內建的行事曆中僅看到預設的那一個之外,其餘的都沒得選擇時,請參考下列設定,一定會成功的喔! 【設定一】僅設定同步 Gmail 電子郵件帳號,但記得要將行事曆項目打勾。 根據預設,您的裝置只會與主要日曆同步。如果要同步處理其他日曆,請使用任何一種瀏覽器造訪下方網頁: https://www.google.com/calendar/iphoneselect (「Google 應用服務」使用者可以前往 https://www.google.com/calendar/hosted/your_domain/iphoneselect,使用您的實際網域名稱取代「'your_domain」。) 選取您要同步的日曆,然後按一下 [儲存]。您選取的日曆會在下一次同步時顯示在裝置上。 【設定二】設定 CalDAV: 將「Google 日曆」與 Apple 裝置 (包括 iPhone、iPad 和 iPod touch) 同步處理,讓您隨時都能輕鬆掌握行程。 注意:您也可以使用 Google Sync 來同步處理您的「日曆」和「通訊錄」。CalDAV 同步功能和 Google Sync 是可以同時執行的。 系統需求 透過 CalDAV 進行同步處理,僅適用於執行軟體為 3.0 或更高版本的 Apple 裝置。深入瞭解如何檢查裝置的軟體版本。 開始設定 如要與您的裝置進行同步,請遵循下列步驟: 開啟裝置主畫面上的 [設定] 應用程式。 開啟 [電子郵件/聯絡資訊/行事曆]。 選取 [加入帳號...]。 選取 [其他]。 選取 [加入 CalDAV 帳號...]。 輸入您的帳戶資訊: 在 [伺服器] 欄位中,輸入 [ google.com ] 在 [使用者名稱] 欄位中,輸入完整的「Google 帳戶」或「Google 應用服務」電子郵件地址。 在 [密碼] 欄位中,輸入您的「Google 帳戶」或「Google 應用服務」密碼。 在 [描述] 欄位中,輸入您想在帳戶中顯示的名稱。 選取畫面上方的 [下一步]。 設定完成之後,請開啟您裝置上的 [日曆] 應用程式,系統將自動開始同步。

5/15/2012

視差滾動(Parallax Scrolling)技術在網頁中應用的精美案例 - - 香港矽谷

視差滾動(Parallax Scrolling)技術在網頁中應用的精美案例 - - 香港矽谷

視差滾動(Parallax Scrolling)是一種獨特的網頁內容表現形式,其基本原理是讓多層背景以不同的速度移動,形成立體的運動效果,帶來出色的視覺體驗。作為今年網頁設計的熱點趨勢,越來越多的網站應用了這項技術。今天這篇文章向大家分享視差滾動的網頁設計中應用的精美案例,一起欣賞(以拖動滾動條方式瀏覽效果更佳)。 Parallax Scrolling in Web Design

CommonJS Modules implementation

CommonJS Modules implementation
CommonJS Modules 1.0 specification
test suite: http://www.commonjs.org/specs/modules/1.0/
demo: http://chunghe.googlecode.com/svn/trunk/project/requirejs/test.htm

annotated source:

/*
 * An implementation of the CommonJS Modules 1.0
 * Copyright (c) 2009 by David Flanagan
 */
var require = function require(id) {
    var origid = id, filename;

    // If the module id is relative, convert it to a toplevel id
    // The normalize function is below.
    if (id.substring(0,2) == "./" || id.substring(0,3) == "../")
        id = normalize(require._current_module_dir, id);

    // Now resolve the toplevel id relative to require.dir
    filename = require.dir + id + ".js";
    console.log('require.dir', require.dir); // ''
    console.log('id', id); //math
    console.log('filename', filename); // math.js

    // Only load the module if it is not already cached.
    if (!require._cache.hasOwnProperty(filename)) {

        // Remember the directory we're loading this module from
        var olddir = require._current_module_dir;
        console.log('olddir', olddir); // ''
        require._current_module_dir = id.substring(0, id.lastIndexOf('/')+1);
        console.log('require._current_module_dir', require._current_module_dir); // ''

        
        try {
            // Load the text of the module
            var modtext = gettext(filename);
            /*
            exports.add = function() {
                var sum = 0, i = 0, args = arguments, l = args.length;
                while (i < l) {
                    sum += args[i++];
                }
                return sum;
            };
            */
            // Wrap it in a function
            var f = new Function("require", "exports", "module", modtext);
            /* 
            function anonymous(require,exports,module) {
              exports.add = function() {
                  var sum = 0, i = 0, args = arguments, l = args.length;
                  while (i < l) {
                      sum += args[i++];
                  }
                  return sum;
              };
            }
            */
            // Prepare function arguments
            var context = {};                            // Invoke on empty obj
            var exports = require._cache[filename] = {}; // API goes here
            var module = { id: id, uri: filename };      // For Modules 1.1
            console.log('module', module); // id: 'math', filename: math.js
            f.call(context, require, exports, module);   // Execute the module
            // execute
            /*
            function anonymous(require,exports,module) {
              exports.add = function() {
                  var sum = 0, i = 0, args = arguments, l = args.length;
                  while (i < l) {
                      sum += args[i++];
                  }
                  return sum;
              };
            } (require, exports, module)
            */
            // after execution, exports = require._cache[filename] is an object contains method 'add'
        }
        catch(x) {
            throw new Error("Can't load module " + origid + ": " + x);
        }
        finally { // Restore the directory we saved above
            require._current_module_dir = olddir;
        }
    }
    return require._cache[filename];  // Return the module API from the cache

    /* Return the text of the specified url, script element or file */
    function gettext(url) {
        if (typeof XMLHttpRequest !== "undefined") { // Running in a browser
            var req = new XMLHttpRequest();
            req.open("GET", url, false);             // Note synchronous get
            req.send(null);
            if (req.status && req.status != 200) throw req.statusText;
            return req.responseText;
        }
        else if (typeof readUrl == "function") return readUrl("file:" + url);
        else if (typeof snarf == "function") return snarf(url); // Tracemonkey
        else if (typeof read == "function") return read(url);   // V8
        else throw "No mechanism to load module text";
    }

    function normalize(dir, file) {
        console.log('function: normalize');
        for(;;) {
            if (file.substring(0,2) == "./")
                file = file.substring(2);
            else if (file.substring(0,3) == "../") {
                file = file.substring(3);
                dir = up(dir);
            }
            else break;
        }
        return dir+file;
        
        function up(dir) { // Return the parent directory of dir
            if (dir == "") throw "Can't go up from ''";
            if (dir.charAt(dir.length-1) != "/") throw "dir doesn't end in /";
            return dir.substring(0, dir.lastIndexOf('/', dir.length-2)+1);
        }
    }
};

// Set require.dir to point to the directory from which modules should be
// loaded.  It must be an empty string or a string that ends with "/".
require.dir = "";
require._cache = {};               // So we only load modules once
require._current_module_dir = "";  // For relative module names

Pusher | HTML5 WebSocket Powered Realtime Messaging Service

Pusher | HTML5 WebSocket Powered Realtime Messaging Service

Pusher is a hosted API for quickly, easily and securely adding scalable realtime functionality to web and mobile apps.
via: How To Build A Real-Time Commenting System | Smashing Coding

5/14/2012

RunKeeper - Google Play Android 應用程式

RunKeeper - Google Play Android 應用程式

Track, measure, and improve your fitness. RunKeeper uses GPS to track your fitness activities, including distance, time, pace, calories, heart rate, and path traveled on a map. RunKeeper also provides audio cues, customized interval workouts, manual entry for treadmill and other cardio equipment, integrated RunKeeper FitnessClasses and no advertising.

cinemagraph, 移軸

Cinemagraph Tutorial - fernandojbaez.com
How I Made a Cinemagraph
用 Flixel App 輕鬆 DIY 會動的照片 | DIGIPHOTO-用鏡頭享受生命
移軸效果
移軸效果 × 梵谷 :Serena Malyon 重新賦予畫作新生命 Tilt-Shift photo effect in Canvas

商業周刊-專欄部落格-哈佛之後的人生-請帶著頭腦出社會 (2/2)(選擇,哲學,技術)

商業周刊-專欄部落格-哈佛之後的人生-請帶著頭腦出社會 (2/2)(選擇,哲學,技術)

我相信多數在台灣或是亞洲念書的人都會遇到,有朋友有類似的心態,或甚至自己也做過類似的決定。如同上面兩個例子所述,在念了15、6年書之後,我們多數人會對這兩種完全不同的問題感到困惑,並用同樣的方法去處理。 對多數人而言,問題不應該是我能否當公務員,而是我應不應該考慮去當公務員。 亞洲教育把所有事情都弄顛倒了。只強調技術:用功念書,拿高分,但完全不管更重要的另外一半教育:我為什麼念書?什麼是我的目標?我是怎樣的人,我該如何獨立找到我自己人生的道路?在考了15年試、教學生單單把目標放在分數上之後,我們已經喪失了在真實人生中用健全邏輯來做決定的能力。 我們99%的人總是想著「我能不能考上醫科?」但我們很少停下來想想「醫科是不是我正確的選擇?」每個人都認為技術性「考上」是最難的部份。那部分是很難沒錯,也不是每個人都可以上,但現實中對多數人而言,真正最困難且重要的挑戰是確定「我是誰,這是我想的嗎?」的哲學性這部份。 但當遇到哲學性問題時呢?我們給學生關於人生、興趣和不安全感最常見的答案是什麼? 別想太多,用功念書。 不覺得很奇怪怎麼年復一年的教育心態都還是一樣?這讓多數亞洲公司都還是以製造出名,台灣、中國和多數亞洲公司還是專注在代工;亞洲的蘋果、Google和Facebook在那?注重創意、品牌管理和自覺的業界領袖在那?很多亞洲國際學生都分佈在工程或是資訊科學領域,沒錯這些領域亞洲人都很擅長,但是多數畢業生什麼時候才會不再只是幫別人工作,完成別人的夢想?不覺得很納悶許多父母都會說這樣的話: 「對我孩子來說最好的工作是當老師、醫生或是公務員。」 我們的文化和教育心態永遠都是不要冒險、穩定和簡單生活。努力工作完成目標是沒錯,但是除此之外生活不是應該還有更多事情嘛?我們不也應該訓練我們下一代年輕人有邏輯去判斷事情並能分析去問問題? 用商業的角度來說吧: 作為一個高階主管,我常常需要決定是否要透過併購來擴張我的企業。 但在我決定是否該花1億美金買下一個競爭對手之前,第一個邏輯問題應該是: 我應該買這個對手嗎?這對我未來策略是好的選擇嗎? 如果你是執行長,先去想技術性的「如何買」而不是想哲學性「為什麼買」,這不是一個很荒謬且沒有邏輯的想法嗎? 在未來日子的每一天,在每一個商務決策和個人人生選擇中,記得: 停下來、思考,並且避免做沒有邏輯的決定。

是女友還是室友? - 密絲 飄 - 無名小站

是女友還是室友? - 密絲 飄 - 無名小站

文/密絲飄 一個朋友曾經和一個整天打電動的宅男交往。 其實一開始她不覺得宅有什麼不好,畢竟她自己也挺宅的,她和男生因為玩同一個線上遊戲認識,網公網婆當久了,一時興起約出來見面,沒想到見面之後,她們發現彼此的外表都符合對方期待、也覺得對方的言行舉止跟遊戲裡的那個角色沒有太大落差,兩個人就順理成章的交往起來。 前三個月,一切都順利的不可思議。 男人有穩定工作、也並不花心,雖然不夠浪漫,但她喜歡的正是踏實的男人,交往的第三個月,她們決定同居,原以為可能會遇到的問題是生活習慣的不同,但她怎麼都沒想到,最讓她受不了的,是她們從此之後,就再也沒有約會了! 每天晚上,兩個人就各自對著各自的螢幕打電動,透過網路進行的對話竟然比真人對話還要多,以前週末至少會為了見面而出遊,現在反正每天見得著,乾脆連約會都省下來了,同居一個月,兩個人一起出門的次數用手指都數得出來,而且,目的地都是吃飯! 「我們禮拜六去看電影好不好?」她終於忍不住這麼說。 「好啊,妳想看什麼?」男人的態度無可無不可的。 「我剛剛看了這週上映的新片簡介,好像也沒甚麼特別好看的,但是……」 男人打斷她:「既然沒什麽好看的,幹嘛要去看電影?」 這真是個好問題:既然沒什麼好看的,幹嘛要去看電影? 女人的目的是約會,男人卻堅持約會要有目的,於是男人覺得女人在無理取鬧,女人卻覺得男人根本不在乎自己。女人吵著要出去,男人卻懶懶宅在家,吵到後來遲早有一個人會做出「分開行動」的決定,原本完美的結合就開始有了裂縫——但問題是,女人真的有那麼愛往外跑嗎?男人真的有那麼恨出門嗎?還是這完完全全是溝通不良的結果? 就像我那個熱愛打電動的朋友,其實,她也是個宅女阿! 她其實也覺得和男友窩在家裡看DVD就好了,何必去電影院人擠人,可是她希望感受到的是「哇我們都一樣討厭人潮、都一樣喜歡在家裡放鬆,想法相同真是天生一對阿」而不是「出門好麻煩,即使是為了妳,我也不願意」; 她其實也覺得在路邊攤吃麵又熱又無聊,不如買回家還可以邊吃邊看電視,可是她希望聽到的是「我們買回家吃可以慢慢享受,一邊吃一邊分享彼此的今天」,而不是「和妳一塊吃飯,沒有電視就會無聊」; 這不是哪一種生活型態比較好、哪一種生活態度比較對的問題,對女人而言,真正惹她生氣的是,你不願意為她稍作改變! 於是,她就開始「歡」了。 她會逼問你是不是不想讓人看到妳們在一起,否則為什麼都窩在家裡; 她會逼問你是不是覺得和她走在一起很丟臉,要不然為什麼人多的地方就不去; 她會逼問你是不是只把她當工具,需要時拿出來用,不需要時扔在牆角…… 你覺得她無理取鬧,她確實也知道自己是在無理取鬧,因為,如果她不這麼鬧騰,你會把目光從電腦轉移到她身上嗎? 女人其實沒那麼討厭宅。 女人只是懷疑,當愛情宅在家裡,究竟自己對男人而言,是室友、還是女友? 重點不是地點、重點也不是行程,重點是女人只希望有一個專程為了談戀愛而進行的約會!因為戀愛,就是需要一種「為約會而約會」的盲目,因為戀愛,就是需要一種「沒行程也要成行」的堅持。說穿了,女人只是希望在男人眼裡看見「我想和妳在一起,無論做什麼或去哪裡」的決心,然後,她才能安心,她才能安份,她才能心甘情願的,哪裡都不去。

Re : [請益] 請問那個什麼"沒有人願意幫我說話了"的 … : 看板 PublicServan : 批踢踢實業坊

Re : [請益] 請問那個什麼"沒有人願意幫我說話了"的 … : 看板 PublicServan : 批踢踢實業坊

很多人都會想:「我會以為事情跟我們沒有關係...」 請讓我引用一段話,這是在波士頓猶太人大屠殺紀念碑的一段文章。 是德國的牧師馬丁‧尼莫拉所說的。 當納粹黨來抓共產黨的時候,我沒有站出來為他們說話,因為我不是共產黨; 當納粹黨來抓猶太人的時候,我沒有站出來為他們說話,因為我不是猶太人; 當納粹黨來抓工會的人的時候,我沒有站出來為他們說話,因為我不是工會的人; 當納粹黨來抓天主教徒的時候,我沒有站出來為他們說話,因為我是基督徒, 不是天主教徒; 當納粹黨來抓我的時候,已經沒有人站出來為我說話,因為他們都被抓走了。 另外一種翻譯法比較好 ?Als die Nazis die Kommunisten holten, habe ich geschwiegen, ich war ja kein Kommunist. 當納粹抓走了共產黨員,我沒說話,因為我又不是共產黨員 Als sie die Gewerkschafter holten, habe ich geschwiegen, ich war ja kein Gewerkschafter. 當他們抓走了工會成員,我沒說話,因為我也不是工會成員 Als sie die Sozialisten einsperrten, habe ich geschwiegen, ich war ja kein Sozialist. 當他們把社會主義者關起來時,我沒說話,因為我也不是社會主義者 Als sie die Juden einsperrten, habe ich geschwiegen, ich war ja kein Jude. 當他們把猶太人關起來時,我還是沒說話,因為我也不是猶太人 Als sie mich holten, gab es keinen mehr, der protestieren konnte.“ 直到他們把我抓起來了,已經沒有任何人,能幫我提出抗議!

5/08/2012

background-size

CSS3 background-size property

background-size:
cover: Scale the image to the smallest size such that both its width and its height can fit inside the content area
contain: Scale the image to the largest size such that both its width and its height can fit inside the content area
CSS background-attachment property
scroll: The background image scrolls with the rest of the page. This is default
fixed: The background image is fixed
Perfect Full Page Background Image | CSS-Tricks
html {
 background: url(images/bg.jpg) no-repeat center center fixed;
 -webkit-background-size: cover;
 -moz-background-size: cover;
 -o-background-size: cover;
 background-size: cover;
}
demo:
http://chunghe.googlecode.com/svn/trunk/experiment/css3/background-size.htm

5/03/2012

How I Work: Yahoo!’s Doug Crockford On JavaScript

How I Work: Yahoo!’s Doug Crockford On JavaScript

WHAT WERE THE TRAITS OF THE WEAK PROGRAMMERS YOU’VE SEEN OVER YOUR CAREER?

That’s an easy one—lack of curiosity. They were so satisfied with the work that they were doing was good enough (without an understanding of what ‘good’ was) that they didn’t push themselves. I’m much more impressed with people that are always learning. The brilliant programmers I’ve been around are always learning. You see so many people get into one language and spend their entire career in that language, and as a result aren’t that great as programmers.

IN CODERS AT WORK, YOU STRESS THE IMPORTANCE OF DOING CODE READINGS WITH TEAMS. WHY DO YOU FEEL IT’S IMPORTANT TO PRESENT YOUR CODE IN FRONT OF OTHER PEOPLE?

Well, over the years I noticed that there are some terrific programmers out there that are completely content to sit in their cave all day long writing brilliant code. But they don’t interact much with their team, which means it’s a lost opportunity for mentoring other members. As you know, a lot of coders aren’t the most socially adept animals either. So, my idea with code reading sessions is to provide a forum where people can come together and read for each other to get them out of their caves. The masters read for the beginners, and vice versa, as a team-building exercise. The trick for success is to set up rules ahead of time so that nobody is going to get spanked and everyone is respectful in their feedback. It has to be a good learning experience for everyone. You have to be careful with a dysfunctional team, because it can quickly tear apart the group. But I always call the game before it gets that far. The rules are that it’s about improving the quality of the code that we’re all responsible for, improving the quality of our team, and improving our individual capabilities. Some people see this as a terrible time sink. Yet, I’ve found by doing this exercise, bugs are caught way ahead of time and you can prevent a team member from going off the tracks. But again, that’s not the goal, it’s about team building. Over time the masters help pull up the beginners and the overall output from the team gets better.