Sunday, July 30, 2006
Fancy Frontier 8
在台大體育館舉辦的「Fancy Frontier 8」開拓動漫祭
老實說我會出現在這種場合實在是蠻奇怪
平常根本就沒看什麼漫畫
更不用說是著迷
純粹是因為我想要多加磨練我的攝影技巧
所以拉著大炮跟我一起去
看著路上的cosplayer
心中真是感到莫名的驚喜(驚佔大多數)
大炮快要開始玩SLR
所以早上先讓他嚐嚐一個專業攝影師的滋味
感覺上幫人照相跟去搭訕其實還蠻類似的
有一個cosplay太七tifa的女生完全不鳥大炮找她照相實在是很好笑
室內都用開放光圈加上閃燈
閃燈我都把那個擴散光的板子拉上
大多的照片效果都還不錯
少部分的用photoshop調exposure也很漂亮
難搞的是在室外照
昨天陽光特別強
為了補光我用了閃燈後
快門最快只能到250
所以很多照片都過曝
我也沒帶反光板(就算有帶誰會幫我拿...)
不知道這種情況該怎麼辦比較好?
同人誌活動還蠻有趣的
看到這麼多奇裝異服、反串、勁爆打扮的人
覺得世界真奇妙呀!
Sunday, July 23, 2006
外拍 - 小翼@228
- 相簿名稱:小翼@228
- 主辦單位:DCView 數位視野 (活動連結)
- 時間:2006-07-22 14:00~16:30
- 地點:228公園
- Model:小翼
- 使用器材:30D、Tamron 17-50mm、Tamron 18-200mm、580EX
第一次參加外拍活動
感覺有點怕怕的
雖然之前看了一些如何照人像的書
也看了很多別人的作品
但實際照起來還是感覺很難照出令人讚嘆的照片
地點是在228公園
原本我還怕會跑到什麼山上海邊很遠的地方
還好因為有些其他的攝影師特地從中南部上來
為了方便起見選了交通方便的228
從高中開始我就常經過228
大學時更是有事沒事就從228走到天瓏、車站、補習班
對這個點簡直是超熟
但到昨天我才發現在裡面照相還蠻好看的
咖啡館外、健康步道、紀念碑、露天表演台
景色幽美,都是不錯的點
之前比較沒有這種感覺
這次的Model是小翼
可愛而且文靜
不管怎麼拍都好看
結果兩個多小時拍下來
照了四百多張RAW檔回家
也是我第一次全部用RAW來存
以往都是JPEG,用Photoshop來修
如果弄過份一點很多色階資訊都會loss掉
可是RAW檔修起來比較沒有這種問題
先用Camera Raw調整,再用Photoshop裁圖、修改
唯一的問題就是要花更多的時間 :(
外拍是個蠻有趣的經驗
路人都會對我們投以異樣的眼光
感覺自己就像是專業攝影師
下面列出一些我自己還滿意的照片
請大家多多指教囉 :)
Labels: beauty, photo, photography, 外拍, 小翼, 正妹, 美女
Thursday, July 20, 2006
How to disable sound in Firefox?
我已經忍很久了
對於那些embed在網頁中
而且好死不死還會自動播放的音樂
尤其是當我用Bloglines看feed
逛到一些無名小站的相簿或是blog時
習慣性滑鼠滾輪鍵一個一個標題給它按下去
一個一個Tab跑出來
如果那個好心人有在相簿或是blog分享音樂的話
就會有下列慘事發生:
- Firefox在一瞬間無法動彈,為了載入播放embed音樂的player
- Firefox開始動,開始下載每個頁面的音樂
- 第一個音樂開始播放
- 隨後第二、第三個、...、第n個音樂開始播放,n等於你有幾個Tab裡面的頁面有embed音樂
- 因為很吵所以開始不爽
- 先把自己在放的音樂關掉(這個步驟因為我用FoxyTunes所以比較輕鬆)
- 去一個一個Tab中,尋找有embed音樂的頁面並關掉音樂
- 繼續放自己的音樂
所以我用google找了一個解法
這個「How to disable sound in Firefox?」網頁中列出一些做法
最完善、最有彈性的就是用Adblock這個外掛
如果你像我一樣只想要disable掉無名小站的embed mp3音樂
其實只要加入「http://*.wretch.cc/*.mp3*
」這個filter就好
寫在comment中還有一個作法
就是加一個userContent.css
感覺又太暴力、而且有點麻煩,不建議使用
Adblock本來是拿來擋廣告的
但在Firefox有內建一些擋廣告機制後
我覺得沒啥用處就沒有再用它
現在發現了這個好用的功能後
對無名小站的embed音樂攻擊就再也不用害怕
從此以後終於可以放心的開Tab啦! :)
Tuesday, July 18, 2006
2006台北國際電信暨網路展覽會正妹集
請看我的flickr set
前天拎著我的30D跑去世貿電信展不是為了想換手機
(但其實我一直都想把我的Nokia 6600換掉...)
而是冒充專業攝影師照了很多正妹的照片
隨著DSLR的平價化
跟我一樣拿著個大砲筒晃來晃去的人還挺多的
到處都要卡位才能找到不錯的位置照
第一次拿相機專門去展場練習照人像
我用的鏡頭是TAMRON AF 18-200mm F/3.5-6.3 XR Di II
18-200mm雖然照起來構圖很方便
但成像的品質感覺不是很好
用100%放大看都有點糊糊的
而且光圈不大
在室內都要把ISO調很高
最近想要再去敗一支Tamron AF 17-50mm f/2.8 SP XR Di II
看了一些資料覺得還蠻不賴的
跟Canon原廠L鏡比起來便宜很多
看來我已經墜入玩攝影敗家的深淵了
不過跟Forth比起來我還算是小咖吧 :P
Sunday, July 16, 2006
Userscripts.org repository for Greasemonkey
由於昨天玩Greasemonkey玩得很開心
所以後來就想再去找一些有趣的script掛上Flickr玩玩
就找到了這個Userscripts.org
裡面有超多別人寫好的Greasemonkey script
雖然有些好像不能用
可能是因為firefox版本的關係
又或是掛上去的網站內容有變
但我還是找了一些蠻有趣的script掛上flickr
以下列出我有裝的script:
- flickrInspector Helper:看某特定user的使用狀況
- Flickr All Sizes Menu:方便看某圖的各種size
- Flickr Camera Images:看到對方所使用的相機(從Amazon抓來的圖)
- Flickr Exif Info:直接在照片頁面看到你想看到的Exif資訊,對學攝影的人來說蠻有用的
- Flickr dpreview Linker:對方使用相機在dpreview的評論(dpreview是我目前看到資料最完整的評論網站)
- FlickrFavMagnifier:可以直接在Favorites頁面看到完整的照片
- Flickr Group Display:算一些照片fav的統計資訊
- Flickr - Link Original Image:直接再照片上放一個icon連到完整的照片圖,有點醜所以平常我都disable掉
- Flickr More Home:讓你Home顯示多一點資料
- Flickr more menus:讓你Menu裡面的選單可以分得更細
我是直接去改它的source code才動起來的
雖然我不會JavaScript...
但是多次對照HTML code之後改一改字串處理的code也算弄好了
蠻久之前我就聽說這個Greasemonkey功能強大
有人用它在Amazon裡面顯示該商品在所有拍賣網站中的價格
連Google的Gmail都禁止你在Gmail頁面中放script (用了Gmail會把你停權到你不用)
但我覺得這東西要用的好
也必須是網站要提供十分完整強大的API讓你用
就可以進行一些跨網站之間的整合
很顯然Javascript在web application稱霸的現在是蠻有用的
有機會要好好學一學
最後
如果有人還有找到什麼好script要跟我分享一下喔 :)
Saturday, July 15, 2006
flickrInspectorHelper - Greasemonkey Script
這個flickrInspector很有意思
可以在短短時間內讓你看透一個flickr user的使用狀況
還有他Interestingness程度最高的幾張圖片
這個連結是我的:swanky's flickr score: 1238
另外如果再加上這個Greasemonkey Script就更方便了
就像是flickr新增了這個功能一樣
有興趣的話來玩玩看分享一下吧 :)
Thursday, July 13, 2006
Notes for 「Aspect-Oriented Programming: What is it good for?」
原文:Aspect-Oriented Programming: What is it good for?
A review of AOP concepts是個蠻簡潔的AOP介紹
描述AOP主要去解決的問題:
Aspects are concerns that are crosscutting. That is, they are not easily encapsulated in a single class. Yet, if we strictly follow the object-oriented paradigm, we need to represent such concerns in a uniform, maintainable manner. This often involves delegating the crosscutting responsibility to a separate helper class and relying on every class that requires the functionality expressed by the concern to include calls to the delegate at the appropriate places.另外作者用「A query of your code that returns a set of join points.」來比喻pointcut
感覺起來還蠻容易理解的,以後我會記住這個譬喻
接下來講了一個在The AspectJTM Programming Guide裡面的Execution tracing例子
這個例子其實如果你的Eclipse有灌AJDT的話
在File→New裡面就可以找到了
根據這個例子,作者所提出AOP的優點為:
- You have all of your source code pertaining to the tracing concern in one (two aspects) place.
- It is easy to insert and remove the tracing code. You simply remove the aspects from the build configuration.
- The trace code is everywhere you want it, even if you add new methods to the target classes. This eliminates human error. You also know that all trace code is removed, and you haven't overlooked anything when you remove the aspect from your build configuration.
- You have a reusable aspect that can be applied and enhanced.
作者提到了Design by Contract的概念:
This principle asserts that the designer of a class and the user of that class share assumptions about the class implementation. The contract includes invariants, preconditions, and post conditions. Design by Contract lets the class designer concentrate on the logic that implements the class functionality without worrying about the validity of arguments. This is, of course, if the contract states the preconditions for the arguments. Design by Contract avoids extra code and improves performance, as long as all clients of a class abide by the contract.
而defensive programming也可以用AOP來實踐
文中作者就舉了一個argument checking的例子
也提出了對於這類應用的結論:
In a large project where you have many classes and expose several interfaces, you might organize your code with a separate directory for the aspects that implement argument checking. I can imagine several ways of organizing the aspects so they are easily identifiable and maintainable. When you build the system for internal use, you use an internal build configuration, and when you build it for external use, you use a configuration that includes the aspects. The Eclipse AJDT makes the creation of new build configurations simple.
再來就是相對於Object Oriented Design Patterns (OODP)的Aspect Oriented Design Patterns (AODP)了
作者簡單說明了一個Adapter的例子
我想這主題其實大到可以出一本書
事實上許多AOP、AspectJ的書裡面或多或少都會有一部份這樣的內容
有興趣研究的還是上Aspect-Oriented Design Pattern Implementations這個網站
抓一些paper與source code看看吧
最後作者說AOP遲早會成為軟體開發者的一種工具
AspectJ 5、Eclipse+AJDT就是目前想要深入AOP領域的首選
AOP、AODP都還有很大的研究空間
還有作者最後一個Notes很有意思:
If any of the readers are using AOP and are willing to talk to me about their experiences, and possibly provide input for a research study I'm working on to develop AOP metrics, please contact me.
這句話我學起來了 :P
Tuesday, July 11, 2006
My JUnit Presentation
下載投影片
先用Eclipse以TDD的方式來個小DEMO
然後開始講投影片
講完再用Eclipse 3.2來DEMO JUnit 3.8與JUnit 4
Eclipse 3.2已經支援撰寫JUnit 4
現在JUnit 4把所有跟JUnit有關程式碼的關連性降到最低
不用繼承TestCase、method不用為testXxx()形式
全都改為使用annotation來加入與JUnit的關連
換句話說
你現在可以不用另外為每個class寫一個測試用的class
要寫在原本的class裡也可以
之前JUnit裡面的setUp()、tearDown()就有AOP的感覺
在JUnit 4裡面就直接改用AOP的名詞:@Before、@After
更加入了@BeforeClass、@AfterClass等等新東西
有興趣的話
我的舊文章裡面有個連結可以去看看
或是直接去JUnit.org看看裡面的新文件
老實說我testing的功力還蠻差的
常常不知道要測什麼東西
像是之前我寫的概念圖繪製工具
用滑鼠來操作圖形化介面
都是mouse event、java 2D的東西
我到現在還是不知道要怎麼樣測那種功能...
這次的投影片是用Office 2007 Beta版弄出來的
PowerPoint 2007多了很多新的字型與版面layout
預設的字型比以前好看多了
還有超愛那個新的定寬字:Consolas
我的程式碼都是用那種字型
用起來很漂亮
不會像Courier New那樣太細、太寬
還有很多新的字型效果可以用
簡直就是快要把一個PhotoImapct弄進去一樣
還可以直接輸出成PDF檔
不過很多字型效果在PDF檔裡面就會簡化或自行消失 :(
還沒用過的可以去試試看囉~
Monday, July 10, 2006
Java 2006 活動議程出來了
這次的活動議程看起來蠻精采的
以下是我可能會去聽的場次:
8/8 下午
8/9 上午
- How can a distributed in-memory cache system increase your application performance?─王文彬
- 深入 Java EE 5─李日貴
8/9 下午
- IKVM:深入敵營的 Java─王建興
- Java Puzzlers' Greatest Hits ( Java 解題精選 )─Google
- The Continuing Adventures of Java Puzzlers - Tiger Traps ( Java 解題的後續旅程 – 老虎陷阱「Tiger Traps」)─Google
koji的mustang場之前user group有分享過了
所以去聽侯大師的undo/redo場
還有雖然我對AJAX還蠻有興趣的
不過剛好都有更想去聽的場
所以只好先錯過piggy、tempo的AJAX場啦~ :P
反正應該有錄音光碟吧? (去年我忘記有沒有了 @@)
想要更瞭解議程內容的請參考:
Friday, July 07, 2006
2006台北國際玩具創作大展
2006台北國際玩具創作大展在我家對面的京華城開始了
這是上個禮拜舅舅跟我說的消息
舅舅非常喜歡收集這種公仔玩具
今天早上我就跟舅舅還有舅媽去看
大早人就超多在排隊
因為前一百位可以拿到一隻限量的公仔
真不好意思因為我京華城太熟了
跟逛我家的廚房一樣熟
工作人員一開放進去
我就去搭一個很快的電梯上去
很幸運排到第51號拿到了一個可愛的小公仔
那些展出的公仔真的是好漂亮、好可愛
但我並沒有興趣花大錢去買
所以照照相過癮一下就可以了
有興趣的可以先來看看我今天照的照片囉~ :)
Wednesday, July 05, 2006
Work
開始動工
建立一個系統
系統中可以執行約3~5個workflow
每個workflow大約有7~10個activity
可以找像是請假、出貨、入帳...等等常見且性質較為類似的
以提升reuse的程度
實際上要寫兩套功能相同的系統
我想先以OOP實作完成
再從中找出可分離的crosscutting concern來以AOP實作
或是同時進行
反正就是要有OO與OO+AP的系統來做個比較
Tools Note
- AOP:AspectJ (Eclipse、AJDT)
- IoC:Spring
- Persistence:Hibernate
- Test:JUnit
- Logging:log4j
- View:Struts?、Spring MVC?、Wicket? (應該都是參考用)
- Build:Ant
- Database:MySQL
- ...?
Others
- 接學長的東西
- OODP與AODP
- Refactoring
- Subversion
每次開始計畫都會計畫很多
但通常做到的是少之又少... Orz
希望這次能拼一點!
Tuesday, July 04, 2006
Recently
雖然已經放暑假一陣子
但我還沒有閒下來的感覺
下學期我當了助教
是我們老闆開的Programming Language Structure
師大的學生比我唸大學時苦多了
我以前根本就沒有學過這門課
其他像是組合語言之類的課也是沒有
因為學校沒有開
但重點是這門課有44個人修
期中考、期末考老師都出了20題
期中考2面、期末考4面
都讓我改到快要吐出來
之前在改的時候看到考卷就會有一種反感
整疊拿起來分外沉重
有的大二學生字實在是相當飄逸
我想他書法草書應該是寫得不賴
有的字像是藏文、有的不知道在寫什麼
我最愛的就是哪種寫了題號然後完全空白的
直接順手撇下去一個爽快
更愛的是哪種寫「第一到四題跳過」
可惜這麼豪爽的學生畢竟是少數
接下來還剩下要看一下同學們的期末專題
是用Java寫一個Iterator出來
我看Head First Design Patterns裡面的例子出的題目
我想他們應該不知道design pattern是什麼
應該再一兩天就可以開始弄自己的東西了
當助教雖然一個月有多一些收入
不過其實是蠻花時間的
但同時也學了不少以前沒有想過的東西
只是以後如果要再當這麼累的助教我還是要考慮一下吧~
Saturday, July 01, 2006
AJDT 1.4 for Eclipse 3.2 Released
隨著Eclipse 3.2與Callisto正式release
新版的AJDT 1.4也release了
這一版的AJDT搭配AspectJ 1.5.2
又加入了一些好用的新功能
其中Drag and Drop Aspects這個方便的功能其實大家都想要很久了吧!
Eclipse Callisto Released
Eclipse Callisto挾帶著新版的Eclipse 3.2正式release了
Callisto不是一個新的project,也不是一個新的IDE
Callisto官方網站上就有說明:
Callisto is about improving the productivity of the developers working on top of Eclipse frameworks by providing a more transparent and predictable development cycle. By releasing 10 projects at the same time, the goal is to eliminate uncertainty about version compatibility and make it easier to incorporate multiple projects into your environment.
While Callisto is about the simultaneous release of ten projects, it is not a unification of the projects - each project remains a separate open source project operating with its own project leadership, its own committers, and its own project plan.
也就是當你想要額外裝一些plugin時
只要與往常一樣使用Install/Update Manager
改連到Callisto的URL
它就會列出來那些整理好可以安裝的plugin
並且會幫你檢查那些plugin的相依性
就不用像以往有些plugin沒有裝或是版本不相容
需要自己檢查
算是個蠻方便的創新功能
如果你還不熟悉Eclipse
可以參考下列網站中所列出的常用應用裡面右邊的教學
- Eclipse for Java and Web Developers
- Eclipse for Plug-in and RCP Developers
- Eclipse for C/C++ Developers
- Customize Your Callisto Experience
Callisto所包含的project:
- Business Intelligence and Reporting Tools (BIRT) Project
- C/C++ IDE (CDT)
- Data Tools Platform (DTP)
- Eclipse Modeling Framework (EMF)
- Graphical Editing Framework (GEF)
- Graphical Modeling Framework (GMF)
- Eclipse Project
- Eclipse Test and Performance Tools Platform Project (TPTP)
- Eclipse Web Tools Platform Project (WTP)
- Visual Editor (VE)
Callisto是木星的一個衛星
為什麼會取名Callisto呢?
因為Callisto會造成的eclipse比較大的關係嗎? @@