Search

5/31/2009

Mobile01 (D I Y ) 衛星電視來我家

Mobile01 (D I Y ) 衛星電視來我家

1...器材需要有天線盤...LNB天線...衛星接收機,器材費用看你要裝幾星的,像我是裝128C 天線盤就要用180CM的,然後外掛138KU..146KU在旁邊,當初想自己DIY所以器材花費大約11張小朋友,但是後來
因為自己的能力不足所以請師父來收尾,又多花了3張小朋友

2...收視費用就看你的賣家如何跟你算,從600~1200/年都有以幾星算的越多星越貴

3...頻道部份..緯來不建議裝因為他是在88C的衛星上,而這顆衛星大多是國外頻道中文只有8台而已如果只為了看緯來而多花600我覺得不划算,日本台只有JET跟國興其他的都沒有,其他的八大-K台..八大1台..八大娛樂
八大戲劇,三立台灣...都會..新聞..國際..,中天娛樂..中天新聞,JET,東森新聞..東森電影,年代新聞,民視
民視新聞,大愛,全日通,人間,這些都在128C,夠我看了其他不足部分都是用138跟146補

146 ku搜尋結果- Yahoo!奇摩拍賣
DM500S

5/27/2009

YQL Execute page builder

YQL Execute page builder
community contributed yql tables
http://github.com/spullara/yql-tables/tree/master



Examples of Open Data Tables with JavaScript - YDN

<?xml version="1.0" encoding="UTF-8" ?>
<table xmlns="http://query.yahooapis.com/v1/schema/table.xsd">
<meta>
<sampleQuery>select * from {table} where url="www.yahoo.com" and css="#news a"</sampleQuery>
</meta>
<bindings>
<select itemPath="" produces="XML">
<urls>
<url></url>
</urls>
<inputs>
<key id="url" type="xs:string" paramType="variable" required="true" />
<key id="css" type="xs:string" paramType="variable" />
</inputs>
<execute><![CDATA[
//include css to xpath convert function
y.include("http://james.padolsey.com/scripts/javascript/css2xpath.js");
var query = null;
if (css) {
var xpath = CSS2XPATH(css);
y.log("xpath "+xpath);
query = y.query("select * from html where url=@url and xpath=\""+xpath+"\"",{url:url});
} else {
query = y.query("select * from html where url=@url",{url:url});
}
response.object = query.results;
]]></execute>
</select>
</bindings>
</table>

Slides from JSConf / phpied.com

Slides from JSConf / phpied.com


Cleanup after yourself
property you no longer need

var myApp = {
prop: huge
};
delete myApp.prop

DOM elements you no longer need

var el = $('mydiv');
el.parentNode.removeChild(el);

instead of ...

function myEvent(el, type, fn) {
if (window.addEventListener) {
el.addEventListener(type, fn, false);
} else if (window.attachEvent) {
el.attachEvent('on'+type, fn);
} else {..}
}

Do ...

if (window.addEventListener) {
var myEvent = function (el, type, fn) {
el.addEventListener(type, fn, false);
} else if (window.attachEvent) {
var myEvent = function (el, type, fn) {
el.attachEvent('on' + type, fn);
}
}
}

Memoization


function myFunc (param) {
if (!myFunc.cache) {
myFunc.cache = {};
}
if (!myFunc.cache[param]) {
var result = {}; // ...
myFunc.cache[param] = result;
}
return myFunc.cache[param];
}

204 No Content / phpied.com

204 No Content / phpied.com

Now (after we relax a bit)... instead of having your server send a blank GIF, however small, can you just send.. nothing? Yep, you can. Your server can respond with a "204 No content" header. Cool, eh, especially when you want to squeeze every bit of network traffic?

Another application of 204s I was thinking could be favicons. If you don't want to deal with favicons, but you don't want to respond with a 404 Not Found either, you can just configure Apache to send 204 to favicon requests. Could be useful when your application generates subdomains for your users, since the browser will request the favicon from each subdomian (unless you have a link-ed favicon).

5/26/2009

array flatten


Array.prototype.flatten=function(){
return this.reduce(
function(a,b){
if(b instanceof Array){
return a.concat(b.flatten());
} else {
return a.concat(b);
}
}
,[]);
}

console.log(['a', ['b', 'c']].flatten());
// ['a', 'b', 'c']

via Arrayを拡張(flatten,max,min,sum,uniq,first,last) - 素人がプログラミングを勉強するブログ

5/21/2009

宏碁Aspire Timeline系列筆電台灣上市發表會

宏碁Aspire Timeline系列筆電台灣上市發表會

目前共有3款尺寸,分別為13.3吋的3810T與3410T、14.1吋4810T的與15.6吋的5810T,這次發表的共有7款,其中有獨立顯卡與光碟機機種,比較特別的是鍵盤手感(官方稱為FineTip keyboard)與顯卡可在開機時切換(電池模式用Intel GMA,接AC就會問要用獨顯還是內建顯卡),外殼為鎂鋁合金,厚度約1吋(2.54公分)左右並且都搭載杜比音效,價位從台幣24900元到38900 元。
型號:Aspire Timeline 3410T

處理器:Intel Celeron,時脈1.2GHz
尺寸:13.3吋,1366 × 768解析度,亮度200 nit、8ms反應時間、LED背光
晶片組:Intel GS45
GPU:Intel GMA 4500MHD
記憶體:吃DDR3,預載2GB,最大可到4GB(2 slot)
硬碟:320GB SATA 5400轉
無線:WiFi(802.11a/b/g/n)、藍牙2.0+EDR
作業系統:Windows Vista Home Basic
連結埠:USB × 3、VGA Out × 1
電池:6 Cell
重量:1.67公斤

建議售價:台幣24900元


型號:Aspire Timeline 3810T

處理器:Intel SU3500,時脈1.4GHz,3MB L2快取
尺寸:13.3吋,1366 × 768解析度,亮度200 nit、8ms反應時間
晶片組:Intel GS45
GPU:Intel GMA 4500MHD / ATi Mobilty Radeon HD4330(顯示記憶體512MB)
記憶體:吃DDR3,預載2GB,最大可到4GB(2 slot)
硬碟:320GB SATA 5400轉
無線:WiFi(802.11a/b/g/n)、藍牙2.0+EDR
作業系統:Windows Vista Home Basic / Premium
連結埠:USB × 3、ExpressCard × 1、eSATA × 1、VGA Out × 1(HDMI Out × 1)
電池:6 Cell
重量:1.67公斤

建議售價:台幣27500元 / 29500元(含電池)

★沾美西餐廳 @ Leddy生活雜記 :: 痞客邦 PIXNET ::

★沾美西餐廳 @ Leddy生活雜記 :: 痞客邦 PIXNET ::

沾美西餐廳
02-27117750
台北市大安區仁愛路4段77號B1樓

中午是歐式自助餐吃到飽 $580+10% 不算太貴
Ireneの美食鋪子 - 【沾美西餐廳】歷久不衰的美味~

5/18/2009

AOL page test

AOL page test

* IE Integration. Pagetest was built for IE6 and IE7, which represent over 94% of traffic across AOL's web properties. Optimizing for Internet Explorer is a must, and Pagetest runs quietly outside of it in the background, sniffing packets and HTTP requests.
* Waterfall Timeline Charts. Unlike any other tool on the market, Pagetest includes a timeline in its waterfall charts, and numbers the objects to make object performance analysis something easy to talk about and act upon. Check out our sample screen shots, we hope you will agree they're fantastic.
* Optimization Checklist. There are several best practices that we call "standards" at AOL; techniques that should always be implemented on every page of every web site with few exceptions. We designed a simple checklist for quickly seeing how each object stacks up to the test.
* Optimization Report. A companion to the checklist, the Optimization Report is text based and lists every asset that failed (or almost failed) to implement a standard optimization technique. This list makes for a quick punch list of "things to fix" immediately.
* Object Detail Report. Included in pagetest is a machine readable object report that further details each transaction that occurred in the browser, and many other statistics such as DNS Lookups, # of Requests and Bytes sent, etc.

iPhone Lego Mindstorms NXT Robot Demo

5/12/2009

Common HTML Validation Problems

Common HTML Validation Problems

Ampersands (&'s) in URLs
Another common error occurs when including a URL which contains an ampersand ("&"):

<!-- This is invalid! --> <a href="foo.cgi?chapter=1&section=2&copy=3&lang=en">...</a>

This example generates an error for "unknown entity section" because the "&" is assumed to begin an entity reference. Browsers often recover safely from this kind of error, but real problems do occur in some cases. In this example, many browsers correctly convert &copy=3 to ©=3, which may cause the link to fail. Since &lang; is the HTML entity for the left-pointing angle bracket, some browsers also convert &lang=en to 〈=en. And one old browser even finds the entity &sect;, converting &section=2 to §ion=2.

To avoid problems with both validators and browsers, always use &amp; in place of & when writing URLs in HTML:

<a href="foo.cgi?chapter=1&amp;section=2&amp;copy=3&amp;lang=en">...</a>

Note that replacing & with &amp; is only done when writing the URL in HTML, where "&" is a special character (along with "<" and ">"). When writing the same URL in a plain text email message or in the location bar of your browser, you would use "&" and not "&amp;". With HTML, the browser translates "&amp;" to "&" so the Web server would only see "&" and not "&amp;" in the query string of the request.

JSCoverage - code coverage for JavaScript

JSCoverage - code coverage for JavaScript

JSCoverage is a tool that measures code coverage for JavaScript programs.

Code coverage statistics show which lines of a program have been executed (and which have been missed). This information is useful for constructing comprehensive test suites (hence, it is often called test coverage).

JSCoverage works by instrumenting the JavaScript code used in web pages. Code coverage statistics are collected while the instrumented JavaScript code is executed in a web browser.

JSCoverage supports the complete language syntax described in the ECMAScript Language Specification (ECMA-262, 3rd edition). JSCoverage works with any modern standards-compliant web browser - including Internet Explorer (IE 6 and IE 7), Firefox (FF 2 and FF 3), Opera, Safari, and Google Chrome - on Microsoft Windows and GNU/Linux.

JSCoverage is free software, distributed under the GNU General Public License version 2.

HTML COLS, ROWS - HTML Code Tutorial

HTML COLS, ROWS - HTML Code Tutorial
COLS indicates how many characters (not pixels) wide the text area should be. ROWS indicates how many rows should be in the text area. Both attributes are required in the <TEXTAREA ...> tag. These attributes do not set any limit on how much can be typed in, just how much of the textarea is visible.

While the values you choose depend on the situation, we usually find that COLS and ROWS ( <TEXTAREA NAME="some" COLS=50 ROWS=5></TEXTAREA> ) give a nice typing space without taking up too much page.

HTML Components ( HTC ) Reference

HTC Reference
Curved corner (border-radius) cross browser | HTML Remix


.curved {
-moz-border-radius:10px;
-webkit-border-radius:10px;
behavior:url(border-radius.htc);
}


--Do not remove this if you are using--
Auther : Remiz Rahnas
Auther URL : http://www.htmlremix.com
Published date : 2008/09/24

A List Apart: Articles: Validating a Custom DTD

A List Apart: Articles: Validating a Custom DTD
Don't use “custom DTDs”!
Specifying the attributes


#IMPLIED means optional, #REQUIRED means required,
common types are NUMBER, CDATA
<!ATTLIST TEXTAREA
name CDATA #IMPLIED
rows NUMBER #REQUIRED
....
>

add maxlength property to texarea
<!ATTLIST textarea maxlength CDATA #IMPLIED>

add 'required' property to textarea, which value may be 'true' or false
<!ATTLIST textarea required (true|false) #IMPLIED>
<!ATTLIST INPUT
checked (checked) #IMPLIED -- for radio buttons and check boxes --
disabled (disabled) #IMPLIED -- unavailable in this context --
readonly (readonly) #IMPLIED -- for text and passwd --
>


Placing the attributes
The very best place to put them would be as the internal subset directly in your document:

<!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
[
<!ATTLIST textarea maxlength CDATA #IMPLIED>
<!ATTLIST textarea required (true|false) #IMPLIED>
<!ATTLIST input required (true|false) #IMPLIED>
<!ATTLIST select required (true|false) #IMPLIED>
]>

Unfortunately, when you display the file in a browser, the ]> shows up on the screen. There’s no way around this bug, so this approach is right out.

5/08/2009

960 Grids & tools

960 Grid System
Variable Grid System :: SprySoft :: Cardiff based website design & development
960 Gridder - Lay out websites with ease.
demo

Inline Multiscale Image Replacement — RTFM / Daniel Gasienica

http://gasi.ch/blog/inline-multiscale-image-replacement/ - 讓有 flash 的使用者 progressive progressive 成可以縮放,cool concept,不過實用性有待觀察。
Inline Multiscale Image Replacement

jQuery implementations

GalleryView 2.0: A jQuery Content Gallery Plugin — Space for a Name
Default Settings
tag: photo album

TextboxList « Devthought
TextboxList turns normal textboxes into a widget which can be navigated with the keyboard, effectively turning your input into a “list” of items that can be easily deleted. It comes with an Autocomplete plugin.
TextboxList

CompareNetworks jQuery'd Bread Crumb - jBreadCrumb


Simple scalable CSS based breadcrumbs | Veerle's blog

A List Apart: Articles: In Defense of Eye Candy

A List Apart: Articles: In Defense of Eye Candy

According to a 2002 study, the “appeal of the overall visual design of a site, including layout, typography, font size, and color schemes,” is the number one factor we use to evaluate a website’s credibility.

This makes sense. Think about how our personal appearance (our personal aesthetic) affects how people perceive us; or how product packaging influences our perception of the product inside.

Widerbug: Widescreen Firebug | Command-Tab

Widerbug: Widescreen Firebug | Command-Tab

Widerbug preview

If you do any amount of web developing with CSS and JavaScript, it’s probably a safe bet that you use the Firefox and Firebug combo to test ideas, tweak appearance and behavior of pages, and debug problems when they crop up. You might also use a widescreen monitor to provide more screen real estate to flip between your code and the rendered output. In an arrangement like this, the open Firebug panel takes up precious vertical space, while spare pixels on the side go unused.

After a few trivial changes to Firebug, I’ve modified it to open on the right side of the browser as a sidebar. With the stock plugin, you can achieve a similar layout by detaching Firebug from the current tab and moving its window in the same position, but this has a generally unwelcome side effect: the separate window doesn’t update when you switch tabs. With Widerbug, you can open the Firebug sidebar, and it will keep up with you as you switch tabs and maintain its width.

Continuous Integration

Continuous Integration

Building a Feature with Continuous Integration

The easiest way for me to explain what CI is and how it works is to show a quick example of how it works with the development of a small feature. Let's assume I have to do something to a piece of software, it doesn't really matter what the task is, for the moment I'll assume it's small and can be done in a few hours. (We'll explore longer tasks, and other issues later on.)

I begin by taking a copy of the current integrated source onto my local development machine. I do this by using a source code management system by checking out a working copy from the mainline.

The above paragraph will make sense to people who use source code control systems, but be gibberish to those who don't. So let me quickly explain that for the latter. A source code control system keeps all of a project's source code in a repository. The current state of the system is usually referred to as the 'mainline'. At any time a developer can make a controlled copy of the mainline onto their own machine, this is called 'checking out'. The copy on the developer's machine is called a 'working copy'. (Most of the time you actually update your working copy to the mainline - in practice it's the same thing.)

Now I take my working copy and do whatever I need to do to complete my task. This will consist of both altering the production code, and also adding or changing automated tests. Continuous Integration assumes a high degree of tests which are automated into the software: a facility I call self-testing code. Often these use a version of the popular XUnit testing frameworks.

Once I'm done (and usually at various points when I'm working) I carry out an automated build on my development machine. This takes the source code in my working copy, compiles and links it into an executable, and runs the automated tests. Only if it all builds and tests without errors is the overall build considered to be good.

With a good build, I can then think about committing my changes into the repository. The twist, of course, is that other people may, and usually have, made changes to the mainline before I get chance to commit. So first I update my working copy with their changes and rebuild. If their changes clash with my changes, it will manifest as a failure either in the compilation or in the tests. In this case it's my responsibility to fix this and repeat until I can build a working copy that is properly synchronized with the mainline.

Once I have made my own build of a properly synchronized working copy I can then finally commit my changes into the mainline, which then updates the repository.

However my commit doesn't finish my work. At this point we build again, but this time on an integration machine based on the mainline code. Only when this build succeeds can we say that my changes are done. There is always a chance that I missed something on my machine and the repository wasn't properly updated. Only when my committed changes build successfully on the integration is my job done. This integration build can be executed manually by me, or done automatically by Cruise.

If a clash occurs between two developers, it is usually caught when the second developer to commit builds their updated working copy. If not the integration build should fail. Either way the error is detected rapidly. At this point the most important task is to fix it, and get the build working properly again. In a Continuous Integration environment you should never have a failed integration build stay failed for long. A good team should have many correct builds a day. Bad builds do occur from time to time, but should be quickly fixed.

The result of doing this is that there is a stable piece of software that works properly and contains few bugs. Everybody develops off that shared stable base and never gets so far away from that base that it takes very long to integrate back with it. Less time is spent trying to find bugs because they show up quickly.
# Practices of Continuous Integration

* Maintain a Single Source Repository.
* Automate the Build
* Make Your Build Self-Testing
* Everyone Commits Every Day
* Every Commit Should Build the Mainline on an Integration Machine
* Keep the Build Fast
* Test in a Clone of the Production Environment
* Make it Easy for Anyone to Get the Latest Executable
* Everyone can see what's happening
* Automate Deployment

5/07/2009

{|ihower.idv.tw| blog } | Git 版本控制系統 (1)

{|ihower.idv.tw| blog } | Git 版本控制系統 (1)

我的主要教材的是 Pragmatic Version Control Using Git 一書和 Git Internals PDF,前者很容易閱讀,後者比較概括性一些甚至開頭就先介紹了內部的運作。除了官方的說明文件,其他推薦的 Git 學習網頁有:

* http://git-scm.com
* http://github.com/guides
* http://learn.github.com/
* http://www.gitready.com/
* http://gitcasts.com/

Ajaxian » No love for the module pattern?

Ajaxian » No love for the module pattern? - for this kind of topic, comments are always worth of reading.

Avoiding the Module Pattern makes debugging easier.
When it comes to troubleshooting a particular troublesome page, I like to crank open Firebug’s console and play around willy-nilly. The ability to reshape objects lets me test theories before putting them into practice with real code. It also allows me to inspect things to make sure they’re working as they should.

Make extending easier
Another frustration I have with it is the difficulty in being able to extend your objects. You can’t just add additional functions onto it because you won’t have access to the properties defined within.

JavaScript should be malleable
One of the features that attracts me to developing in JavaScript is the ability to manipulate objects so readily. As a result, the module pattern is something I try to avoid.

5/05/2009

Mozilla Webdev » Blog Archive » CSS Spriting Tips

Mozilla Webdev » Blog Archive » CSS Spriting Tips

Don’t wait until you are done slicing to begin spriting.
Arrange images opposite of how they will be displayed
Avoid ‘bottom’ or ‘right’ in CSS when positioning
Give each image plenty of space
Don’t worry about sprite pixel size

Emblematiq :: Vertical Align with CSS

Emblematiq :: Vertical Align with CSS
Vertical Align Middle

5/01/2009

When to use IMG vs. CSS background-image?

When to use IMG vs. CSS background-image?

PRO
1. Use IMG plus alt attribute if the image is part of the content such as a logo or diagram or person (real person, not stock photo people). —sanchothefat
2. Use IMG if you intend to have people print your page and you want the image to be included by default. —JayTee
3. Use IMG (with alt text) when the image has an important semantic meaning, such as a warning icon. This ensures that the meaning of the image can be communicated in all user-agents, including screen readers.
4. Use IMG if you rely on browser scaling to render an image in proportion to text size.
5. Use IMG for multiple overlay images in IE6.
6. Use IMG with a z-index in order to stretch a background image to fill its entire window.
7. Using img instead of background-image can dramatically improve performance of animations over a background.

CON
1. Use CSS background images if the image is not part of the content. —sanchothefat
2. Use CSS background images when doing image-replacement of text eg. paragraphs/headers. —sanchothefat
3. Use background-image if you intend to have people print your page and you do not want the image to be included by default. —JayTee
4. Use background-image if you need to improve download times, as with CSS sprites.
5. Use background-image if you need for only a portion of the image to be visible, as with CSS sprites.