Good good study, day day up

aleung的学习笔记, aleung的idea

以前都用Photoshop来处理照片,刚开始用Aperture,还真不太适应,用了几天兼阅读了help,慢慢有些了解了。对于照片的后期处理,其实用什么工具都大同小异,基本上就是几板斧。没拍好的照片也没有必要费心去调,直接删除就得了。

基本原则:使用RAW格式拍摄

RAW记录了拍摄时的原始信息,而jpg是已经经过相机处理之后的图像。用RAW格式提供了后期处理的更多可能性,例如曝光的增减(当然是小范围内了),白平衡的重新设定。

基本调整

阅读全文 »

 

Temperature Typical Sources
1000K Candles, oil lamps
2000K Very early sunrise, low effect tungsten lamps
2500K Household light bulbs(2680K - 40 W incandescent lamp)
3000K Studio lights (continuous), 200 W incandescent lamp, (**3200K - Sunrise/sunset;**3400K - 1 hour from dusk/dawn, Tungsten lamp)
4000K Clear flashbulbs (now obsolete),Fluorescent
5000K Typical average daylight, electronic flash
5500K The sun at noon, (5500~6000K - vertical daylight)
6000K Bright sunshine with clear sky
7000K Slightly overcast sky
8000K Hazy sky
9000K Open shade on clear day
10,000K Heavily overcast sky
11,000K Sunless blue skies
20,000+K Open shade in mountains on a really clear day
阅读全文 »

A typical way of adopting Maven to manage artifacts in an organization is to setup a repository manager locally. The repository manager proxies opensource repositories like Maven central from Internet, and hosts release and snapshot repositories for internal artifacts. It works fine in most cases, but when the team locales geographically in more than one site, and the bandwitdth between the sites is limited, or the artifacts are huge in size, the build performance will decrease, because uploading and downloading artifacts to/from the remove repository takes time.

Solution 1: Pubish to master repository, download from local repository

Suppose on site A there is already a repository manager A, now site B is setup, what we need is a repository manager on site B that proxies both external repositories and internal repositories. Sonatype Nexus has the capability to aggregate serveral repositories / mirrories and provides download access from a single URL.

By this solution, pom.xml of existing projects aren’t required to be modified. Simply add a section with value set to * into Maven setting.xml for all developers who work in site B. But the publishing of artifacts from site B is still cross sites over slow connection, so mvn deploy is not fully optimized though the download of dependencies is speeded up by cache on local repository manager.

阅读全文 »

在我们的工作中,不时需要评估工作任务的优先级:例如下个版本的软件应该加入的功能,又或者对之前工作回顾列出的一大堆改进项目,在一轮头脑风暴之后,发现需要做的事情是如此之多,而能投入的资源显得如此至少,怎么挑选出最有价值的事情来做就成了头痛的事。

过往,我们常做的方法是,召集一个会议,大家一起来为每个任务评分:分别评估出任务的工作量级和重要性(1、2、3… 最重要为1),然后将两者相乘得到一个分数,根据这个分数对任务排序。这种做法是期望能找出重要性比较高,但是又不太难完成的任务。但很不幸,越是重要的任务往往工作量越大—-如果有重要而简单的任务,我们早就把它做了,不需要等到这个会议的召开—-得到的分数差距不大。印象中,我参加过的评估会,都没有得出什么有用的结论,最终做的决策似乎跟评估没有太多的关系。

你可能会指出,这个评估模型根本就是不对的,工作量和重要性两者相乘得不出有意义的数字。但我们都不够聪明,没有想到一个足够简单而直观的方法。(回过头来看,应该是我们谁都没有花心思去想过。为什么?为什么?为什么?!)

今天读”More Joel on Software“,第36节介绍了他们用的方法,值得借鉴。

首先评估每项任务的工作量(成本),得到一个数字,其实这个数字是什么单位无所谓,story point也好,$也好,在例子里用的是$,金额。

阅读全文 »

I didn’t expect that implementing a drag and drop list view on Android is so difficult. It took me more than one week to get it work.

Android SDK doesn’t provide too much support on drag and drop, at least there is no out of box API that can be used till Android 3.0 Honeycomb. It’s said that drag and drop support is improved in Android 3.0 SDK, I didn’t learn it yet because Android 3.0 hasn’t come to mobile device.

At first I looked for open source implementation of drag and drop list view. After searching on Internet I did find some examples and library, e.g. CWAC TouchListView , they all derives from source code of Android music application. However they don’t fit for my application: First, they require to specify the height of item view in code or in layout file, that also implicitly force all item views in the same height. In my application the list view has two item view types, which differ in height. Even if item views are in same height, I don’t like the way that specifying exact value of height, I perfer to set layout_height to wrap_content and let it automatically calculates the value. Second, by those implementation, on each list item view there must be a “grabber” element. User moves an item by putting finger on the grabber then drag. I want to keep UI of my application as clean as it can, I would like to active item dragging by long press on an item, instead of drag a grabber. So I implement my version of drag and drop list view, the source code is at GitHub: DraggableListView. It isn’t perfect yet, still has large room for improvement.

A ListView shows items in a vertically scrolling list. The items can be refered by their position in the list. When there are a lot of items, only portion of them are visible. A visible item view can be retrieved by calling ListView.getChildAt(). Please be noticed that child view index is different to item position. In the code you will find these two values need to be converted between each other.

listview

阅读全文 »

上一篇blog里面列出了我个人对任务管理工具的需求以及对比较热门的工具的分析。由于现有工具没有那款能够满足我的几点主要需求,于是就产生了自己做一个的想法。前几天,功能性原型完成,已经正式用了起来,下一步要做的工作是界面设计和交互设计。

目前做的是Android手机应用,web端还没有考虑。一方面是手机几乎不离身,保证了随时可用,另一方面是web端使用现有的服务已经勉强可以满足要求,下面我会说明。

从功能定位上,主要是受了StayUsefulTeuxDeux的影响,目标是要做成简洁、轻量级的任务列表,强调对任务进行计划安排,专注于当天以及最近几天的任务。

  • 单日任务列表:在一个页面里列出一天的所有任务。只显示计划在此一天执行的任务,保证专注性。缺省的页面是当天,可快速导航到最近几天。
  • 用简单的操作可更改任务的执行日期。
  • 过去没有完成的任务自动放到”今天”,要么马上去完成它,要么重新安排执行日期。
  • 任务可设置due date,对于有due date的任务,会显示出剩余天数或者过期天数。
  • 任务不设优先级,但可以加星。单日任务列表中,任务可以拖放排序。
  • 数据与云端同步。

因为目标要做到数据与云端同步,这自己从零开始实现工作量太大了,所以一开始就计划基于网上现有的服务基础之上开发。最初物色的对象是Google Tasks,但发现Google Tasks尚未开放API,虽然已经有Android应用可以做到与Google Tasks同步,但它们是靠hack Google的网页前端与后端通信接口来实现的,实现起来既麻烦也不可靠。接下来发现Google Calendar是一个更好的选择:

阅读全文 »

IMG_20110315_220911

今天在公司休息区看到了一本政府出版物,《2010年Brabant可持续发展与平衡报告书》,Brabant是荷兰南部的一个省份。

我对这本册子相当感兴趣,关心的主要有几点:

  1. 政府如何进行信息公开;
  2. 如何达致可持续发展,怎样维持经济、文化与生态的平衡;
  3. 民众关心哪些方面的指标;
  4. 怎样对政府的成绩进行评定;
  5. 怎样通过图表、文字、数据和颜色将信息清晰的展现出来,让普通民众都能读懂。

全书共238页,分成三大部分:经济、社会文化、生态。每部分有多个关注点,每个关注点下有4~8个指标。

阅读全文 »

因为有些tweet没有同步到新浪微博,查看了 TwitterSinaSync 的运行日志,发现了这样的记录:

前一个tweet(绿色框)正常同步到了新浪微博,而接下来一个就失败(红色框),错误信息是黑名单用户。显然是tweet中的某些内容触发了黑名单机制,在这里估计是”twitter”。

一旦用户被列入了黑名单,接下来对这个用户的操作都会失败。看下面的例子,第一条是成功的,第二个失败后,接下来的tweet的同步都失败了,即使内容看起来绝无敏感词。其实我也猜不出第二条tweet中哪个词触发了加入黑名单,是”境外”?还是”mranti”?

sina_blacklist_1

阅读全文 »