星期六, 九月 23, 2006

3Tera Brings Utility Computing To Web Apps - Mozilla Firefox

[webnote]
[software]
 
September 19, 2006 / 7 comments

3tera3Tera, a company based in California, has announced what it calls a breakthrough technology - "disposable infrastructure". This technology is the foundation of their product AppLogic, which they say is the "first grid operating system that runs and scales existing web applications." It almost takes a Comp Sci PhD from Stanford to read 3Tera's press release, but in a nutshell what AppLogic does is allow Web companies to manage - and scale - all their applications, servers and storage with just a browser. Here's more from the press release:

"The system enables existing software to be packaged into completely self-contained, portable applications that can be easily deployed and scaled to dozens of servers on demand on any AppLogic grid, anywhere in the world. As a result, open source developers, Web 2.0 and SaaS companies can rapidly deploy Web applications without owning and operating hardware infrastructure, and pay only for the resources they actually use."

The term for this is 'utility computing', aka 'on-demand computing'. It means that a service provider makes available computer resources to their clients and charges them for the usage rather than the hardware. Kind of like a public utility such as your electricity company. Read/WriteWeb contributer Alex Iskold called this 'Compute Services' in his recent Web Platform Primer post.

Scaling Web apps

applogic

This extract from 3Tera's About page gives some background on the problems of scaling:

"Successful online services have millions of users. Serving that many users means scaling the application to hundreds and often thousands of servers. But scaling online applications is an enormously difficult problem. It took companies like Google, Yahoo, eBay and Amazon 10 years to learn how to do this well. This knowledge is among their most closely guarded secrets. It is not by accident thatGoogle has more patents on load balancing than on search.

3Tera has solved this problem. Our product, AppLogic, is the first grid operating system that runs and scales existing real-world web applications on grids of commodity servers. The breakthrough technology that enables this is called disposable infrastructure."

Dispose of your servers

So what do they mean by 'disposable infrastructure'? In the press release Vlad Miloushev, president & CEO, notes:

"3Tera is working with hosting providers to offer reliable self-serve utility computing services that make Web applications easy to deploy, manage and scale. In the next decade, only the largest enterprises will be able to justify owning and operating their own servers."
(emphasis mine)

Interesting comment that in the near future only "the largest enterprises" will own and operate their own servers. I imagine in the future specialist companies like 3Tera, along with the big Internet companies like Google, Microsoft and Amazon, will operate 'server farms' that become too cost efficient for other companies not to utilize.

3Tera - a company to watch

3Tera strikes me as a company to keep an eye on - they're tackling a complex problem and they have a lot of potential customers out there. Look at all the 'web 2.0' startups that have popped up over the past year or so - most of them have big dreams of scaling up to hundreds of thousands, or millions, of users. 3Tera could be just the solution they turn to.

TrackBack

TrackBack URL for this entry:
http://www.readwriteweb.com/movabletype/mt-tb.cgi/578

Comments

# 1

Richard: I totally agree with this vision, actually you can already see it from the traction that Amazon's S3 and EC2 are getting. I think I know what it means to manage a web infrastructure from the point of view of the minimum effort, expertise and expense needed. To me, a grid where I and my clients can securely deploy and scale storage and services is a dream come true. Let's see how the other big players will respond to Amazon.

Posted by: Cristian Vidmar | September 19, 2006 06:39 AM

# 2

Why are those links going to SiteKreator.com?

Posted by: Jeffrey | September 19, 2006 08:09 AM

# 3

Jeffrey,

SiteKreator is a service offered by a partner of ours, Netclime. It's a website authoring and hosting service. SiteKreator is quite innovative and we're using it both to make posting our information simple as well as to help them stress the system so they can learn where enhancement is needed.

Bert Armijo,
3tera

Posted by: Bert Armijo | September 19, 2006 09:25 AM

# 4

>>>3Tera strikes me as a company to keep an eye on

Yes indeed 100%. I almost fell out of my chair reading their site. I can state first hand that it only takes one person to create and run a Web service, but as soon as you start to grow - the hardware, network and load issues become huge obstacles.

1. you need cash
2. you need hardware
3. you need network/harware skills
4. you need bandwidth
5. you need more people or you stop sleeping

If 3Tera can offer a solution that addresses those needs as an affordable and dependable service, then they will do very well. According to the information on their site, it seems this is exactly what they are addressing.

One thing I didn't see in Richard's initial blog post, was a mention on how the service is going to be offered. After digging around their site a bit, I found that they've recently changed their strategic direction - here's a quote from Bert on their site:

[quote]
"We've decided upon a change of strategic direction and will be working with hosting providers to offer online access to AppLogic instead of offering it directly ourselves.


The first provider to go live was UtilityServe in San Francisco. They're at www.utilityserve.com."
[/quote]

When you hit Utilityserver.com - you can see the pricing: http://www.utilityserve.com/packages.htm

Thanks for the info Richard,

Gideon
http://gideonmarken.com
http://www.artistserver.com

Posted by: Gideon Marken | September 19, 2006 10:20 AM

# 5

Amazon is definitely a player in this too. There are alternatives if you want to own the infrastructure: http://www.datasynapse.com with their FabricServer product.

Disclaimer: I was the Chief Architect of the first version of fabric server.

Alex

Posted by: Alex Iskold | September 19, 2006 02:25 PM

# 6

Thanks for the extra info Gideon!

Posted by: Richard MacManus | September 19, 2006 04:48 PM

# 7

I would like to clarify the 3Tera business model. Unlike Amazon, Sun, etc. we believe that existing hosting providers already have all the hardware they need to offer utility computing for everyone - all they need is the software that ties a bunch of commodity servers into a grid that can run and scale we apps. We are currently working with several large hosting providers; expect to see AppLogic widely available in 3-4 months.

For those who already own the servers, but are fed up with managing, provisioning, configuring, clustering and all other black arts of running a datacenter, you can get AppLogic and use it on your existing hardware. Get in touch with Bert Armijo at 3Tera and he will make it happen.

Posted by: Vlad Miloushev | September 22, 2006 08:51 PM

雾都孤儿 Oliver Twist

[webnote]
[movie] 
 
中文名称:雾都孤儿
英文名称:Oliver Twist
资源类型:HDTVRip
版本:3CD/AC3
发行时间:2005年09月30日
电影导演罗曼・波兰斯基 Roman Polanski
电影演员本・金斯利 Ben Kingsley .... Fagin
     Barney Clarke .... Oliver Twist
     杰米・福尔曼 Jamie Foreman .... Bill Sykes
     Harry Eden .... The Artful Dodger
     Leanne Rowe .... Nancy
     Lewis Chase .... Charley Bates
地区:法国,英国,意大利,捷克
语言:英语
制作团队TLF
简介
post-336384-1137131245.jpg

转自TLF

【中文译名】雾都孤儿
【英文片名】Oliver Twist
【导  演】罗曼・波兰斯基 Roman Polanski
【主  演】本・金斯利 Ben Kingsley .... Fagin
Barney Clarke .... Oliver Twist
杰米・福尔曼 Jamie Foreman .... Bill Sykes
Harry Eden .... The Artful Dodger
Leanne Rowe .... Nancy
Lewis Chase .... Charley Bates


【国 家】英国/法国/捷克/意大利
【类 别】剧情/家庭
【上 映】2005年9月30日
【语 言】英语
【字 幕】未知
【片 长】130min
【IMDB 评分】7.0/10 (3,538 votes)
【IMDB 链接】http://imdb.com/title/tt0380599/
【官 方 网 站】http://www.sonypictures.com/movies/olivertwist/


【简  介】

故事发生在19世纪30年代的英国,在一个寒风料峭的深夜,一个男婴刚在贫民区里呱呱坠地,苦命的母亲便撒手人寰。谁也不知道产妇的身份,男婴由此成了无名孤儿。后来他被当地教会收养,抚养他的女管事给他起名奥利弗?忒斯特。

  奥利弗(巴尼?克拉克饰)9岁时,由于没人供养他上学读书,于是进了济贫院的童工作坊,每天从事繁重的体力劳动。因为奥利弗既不会耍滑偷懒,也不会阿谀奉承,所以经常受到管事的打骂。这些正在发育的孩子们终日衣不遮体、食不裹腹,万般无奈下,他们决定抽签选定提出加粥的人选,结果抽中的正是奥利弗。晚餐时,奥利弗如实提出了要求,大惊失色的管事决定撵走这个造反的隐患。

  不过幸运的是,奥利弗终于没能成为打扫烟囱的小工,而是被殡仪馆老板索尔比利相中,成了他用五英镑买来的学徒。循规蹈矩的奥利弗很快得到老板夫妇的器重,却也遭到了年长学徒诺尔的嫉妒。诺尔取笑奥利弗死去的母亲,奥利弗忍无可忍大打出手,后来却被老板误解,遭到毒打。一气之下,奥利弗含恨出走,奔向远方的雾都伦敦。

  在伦敦郊区,饥寒交迫的奥利弗遇到了阿特福,阿特福不仅为他提供了栖身之处,还将他引荐给一个叫费金的人(本?金斯利饰)。天真无邪的奥利弗还蒙在鼓里,他住的地方其实是个贼窝,这些孩子都被当作犯罪工具,而费金正是他们的"教父"。

  一天,奥利弗和阿特福等人一起上街,阿特福行窃时意外败露,混乱中,奥利弗被人当作小偷抓进了警局。幸亏一位书店老板证明了奥利弗的无辜,而被偷的富翁布朗罗也心生爱怜,于是将奥利弗接到了家中。

  费金和同伙西克(杰米?福尔曼饰)并未善罢甘休,趁奥利弗外出买书之际将其绑架,而布朗罗则误以为小男孩携款潜逃,心中失望不已。又回到贼巢的的奥利弗在费金的哄骗下道出了布朗罗家的境况,并被西克胁迫前去抢劫。虽然抢劫被成功阻止,但奥利弗却被冷枪击中,正当西克准备将他抛进河中之际,同行的托比救下了奥利弗。

  险恶叵测的西克依然鼓动费金除掉奥利弗以绝后患,而他的女友南茜则试图保护奥利弗,并和布朗罗取得联系,希望帮无辜的奥利弗逃出魔窟。孰料,南茜的意图已被费金察觉,不久便被西克残忍的杀害。

  警方很快对西克和费金展开抓捕,逃跑中,西克不慎丧命,费金最终被绳之以法。不久,布朗罗带着奥利弗探望狱中的费金,尽管经历了种种费金造就的不幸,而善良的奥利弗却仍在心底默默为他祈祷……


幕后故事:影坛大师罗曼?波兰斯基

作为一位蜚声世界的影坛巨匠,波兰斯基的每一部作品都充满独特之处,就像他那典型的犹太人鼻子和多舛的命运一样引人注目。幼年时期,他的父母被关进犹太人集中营,身怀六甲的母亲惨死在纳粹的毒气室。波兰斯基到处漂泊,多次险遭德国人的毒手,童年的经历造成他孤僻、忧郁和狂放不羁的性格,也使他日后的作品带有一种与众不同的冷漠和残酷的风格。

  二战结束后,波兰斯基回到父亲身边,一边在技工学校学习,一边萌生了自己的电影梦想。从50年代开始,他陆续自编自导自演了一些短片,随后进入波兰罗兹电影学院,从崭露头角时起,便获得了源源不断的好评和奖项。

  波兰斯基对现实生活始终具有一种奇特的关怀,他不但关心人与人之间隔膜、冷漠和虚伪,还关心人类的未来。成名作《水中刀》关心的是无奈的成长,《罗斯玛丽的婴儿》则凸现了他对人类命运的关注。不过,这部在美国为他赢得声望的《罗斯玛丽的婴儿》也为他招致了厄运,他怀孕的妻子和几个朋友在好莱坞的家中被邪教教徒杀害。噩梦还不仅如此,在他以一部《唐人街》再次于好莱坞屡获殊荣的四年后,竟因被指控强奸幼女而被逐出美国。

  尽管如此,波兰斯基仍然抱定信念,命运的跌宕丝毫阻止不了艺术的成就,随后创作了《苔丝》、《苦月亮》和《钢琴师》等一系列堪称经典的电影。


拍摄花絮:送给孩子们的精美礼物

现年72岁的波兰斯基在提到拍摄本片的创作动机时说,在《钢琴师》之后,很难决定下部作品的范畴,经过再三考虑,他觉得一直亏欠孩子们一部电影,虽然这听上去与自己以往的作品题材大相径庭。也许是他刚作父亲不长时间,一双儿女尚未小学毕业,往常晦涩阴暗的视角渐渐多出几分童贞,于是他最后选定了自己童年时印象深刻的狄更斯的《雾都孤儿》。

  波兰斯基找来曾凭他的《钢琴师》而获得奥斯卡最佳编剧奖的罗纳德?哈伍德,请他将《雾都孤儿》的小说改编成波兰斯基风格的剧本。而选定扮演奥利弗的小演员也是煞费苦心,在布拉格的试镜其间,11岁的巴尼?克拉克以其机灵而不做作,聪慧中而不乏忧郁的气质契合了波兰斯基对奥利弗的人物设计,从众多候选者中脱颖而出,在此之前,巴尼曾出演屡次获奖的独立影片《放纵的心》。小演员在导演的建议下观看了两部以《雾都孤儿》为蓝本的电影,在这部影片中,导演要求巴尼塑造出比以往更勇敢的奥利弗。

  为还原出19世纪30年代英国伦敦的风貌,剧组人员研究了大量当时的伦敦地图和版画,甚至一些穷街陋巷都严格遵从当时的记载搭建。影片的主要部分在布拉格拍摄,外景地由五条大街、大量的市场和小巷组成,总面积超过4万平米。仅搭建时间就花费了3个月,另外的精雕细刻则又用了3周,甚至建筑物上的一砖一瓦都是从伦敦取模,再回到布拉格复制完成。

点评:升级后的雾都孤儿

无疑,这部再次重拍的《雾都孤儿》以波兰斯基的名气招揽了不少人气,此前,曾有包括动画片、音乐剧等在内20多个版本的《雾都孤儿》被搬上银幕和舞台,不过能够受到如此关注的却是凤毛麟角。即便如此,在美国的首映式上依然见不到波兰斯基的身影,因为尽管当年审判他的法官已经作古,但罪名依然成立,美国至今仍是波兰斯基渴望不可及的国度,所以这位名导依旧无缘于美国观众。

  可能不幸的命运的确为波兰斯基的作品平添了与众不同的独特风格,在这部《雾都孤儿》中,导演对奥利弗的人物形象拿捏得相当到位,也许这种深层理解和演绎也得益于童年的坎坷经历,正如他的影迷所说,本片中的奥利弗最贴近于小说中的原型。影片的画面如同古香古色的英国油画,而演员们的对白中明显带有19世纪的英国口音,服装和道具都堪称颇具匠心,尽管原着中的一些人物和情节未能悉数展现,但影片未尝不可称为狄更斯小说的再创作,一部所谓"升级"后的《雾都孤儿》,一次对原作的成功呈现和领悟。再加之演员可圈可点的精心表演、张驰有度的叙事节奏和精细得仿佛时光倒流的历史再现,实为不可小觑的大师级佳作。

注:刚看到这部片子时,我马上想到我国的古代名剧《赵氏孤儿》,记得好像有欧洲的几个大文豪改编过。刚才查资料才发现我记错了。《雾都孤儿》是查尔斯・狄更斯(英)的作品,而改编《赵氏孤儿》的是18世纪时法国的伏尔泰和德国的歌德。
因为对《双城记》的印象不好,我倒有兴趣看看《雾都孤儿》到底如何。


CODE
HDSOURCE.....1080i ts              ???哌哌哌哌哌哌哌哌哌????    
 ?DIVX RELEASE.....09.23.06              ?苘?哪 Install Notes哪?圮??    
 ?    SUPPLIER.....TEAM TLF              ?苘苘苘苘苘苘苘苘苘苘苘苘苘??    
 ?      RIPPER.....VawaV                 ?                            ?    
 ?   IMDB RATE......7.0                        Unrar all the files,     ?    
 ?  FRAME RATE.....23.976fps                Enjoy this nice Movie!     ?    
    VIDEO CODEC.....XVID 1.20 1858kbps       Be sure to install the     ?    
    AUDIO CODEC.....AC3     384kbps          latest version of ffdshow  ?    
   ASPECT RATIO.....1.85:1                   VodSub is necessary,       ?    
     RESOLUTION.....800 X 432                if u want to watch the     ?    
        RUNTIME.....130MiN                   subtitles.                 ?    
         GENERE.....Drama / Family                                      ?    
       LANGUAGE.....English                                                  
      SUBSTITLE.....N/A                                                    
     MOVIE SIZE.....CD1  49 X 15MB CD2  49 X 15MB  CD3  49 X 15MB                            
                                                                               
      iMDB LiNK: http://imdb.com/title/tt0380599/

引用此页 (Trackback) (?)

网管平台选购的关键指标

[webnote]
[software] 
 
网络世界报文章:网管平台选购的关键指标

于天雷

   

  网络管理系统多种多样,对于产品的使用者而言,重要的是选择适用的工具,切记网管产品的选择不仅取决于价格和用户喜好,还取决于其功能性。

 

  Cisco的一份培训文件这样描绘网络管理系统:"在一些案例中,网络管理涉及一位使用过时的协议分析器监测网络活动的孤独的网络咨询师。而在另一些案例中,网络管理涉及分布式数据库、自动轮询网络设备和实时以图形方式显示网络拓扑变化与传输流的高端工作站。"

  网络管理系统多种多样,从OpenNMS这样的开源工具到昂贵的HP OpenView。它们的功能可能极其强大和先进。通过分析一些重点特性并衡量它们与您的网络管理计划是否吻合,可以最终得到一张不长的候选网管工具清单。而下面就是任何网络管理系统都必须具有的通用关键特性。

 

简单的界面

  您需要看到的所有东西应当很容易得到,不必在不同的屏幕间来回切换。建议采用可以为不同管理员进行定制的基于Web的网络管理系统。

 

设置基线的能力

  若想报告错误和安全相关事件,网络管理系统必须能够通过设置的基线识别正常的网络操作。区分正常和异常事件的功能可以大幅减少故障误报。

 

报告可审计的信息

  简单来说,如果您的网络管理系统可以向您报告事件,它还应当提供根据这一信息采取行动的工具。如果系统显示异常流量激增,同一个屏幕还应该会显示出处理该问题的信息或工具。

  下面列出的另一些针对性更强,面向不同网络的特性。请注意,其中的一些特性在小型网络中也可以部署,具体情况由网络管理员根据个性化需要做出决定。

 

自动发现

  这种特性无须人工输入就可以发现IT基础设施中的计算机和组件。它向网络上的不同设备发送数据包,当数据包被接收时,管理系统中就产生了一个事件。某些系统强化了这种特性,它们以可视化的方式绘制网络中所有组件的地图,或者能输出数据到Excel电子报表或XML中,还可以从Excel或XML输入数据。

 

配置输入与分析

  配置和优化网络可能需要用数百个小时,一个错误的设置可能让您之前的工作前功尽弃。输入和分析特性使您可以无缝地将已有的配置和设备策略集成到自己的网络中。它还应该能够将配置恢复为最初的设置。

 

基于策略的配置与部署

  有效的网络管理系统应该可以通过自动化的配置节省大量的时间。通过编写应用于多台设备的策略,用户可以将节省下来的时间和资源用在其他任务上。

  利用已有模板编写策略的功能也非常有用。而设置策略后,不中断运行就可以升级和修改让它们更有价值。一些工具还允许管理者立即更新网络上所有指定设备的策略。另外,设定具体更新时间的能力也很重要,因为您可以将更新时间设置在网络流量相对较低的时段。

 

基于策略的审计

  审计流程会定期验证所有配置是否符合为网络设置的标准。它还能够检测网络上发生的错误和矛盾。将报警发送到电子邮件或手机上的能力是一种很好的特性。

 

实时数据采集与报告

  连续采集数据并向网络管理员报告的能力,是健康网络所不可缺少的内容。通过主动监测网络来发现性能相关问题、并将它们与其他网络事件建立联系,可以帮助您迅速确定网络问题的根源。这类报告可用于评估网络问题给业务流程造成的影响,及时通知相关人员。此外,实时采集数据的能力可被用于确定网络问题的发展趋势,让管理者可以采取主动的预防措施。

 

三款产品点评

  在分析不同的网络管理系统时,重要的是准确了解这种工具能够完成哪些任务。人们很容易盲目地去购买软件,去选择一家宣称能够提供先进技术和诸多花里胡哨功能的厂商,结果却往往是后悔莫及。我们从市场上甄选出高中低档三种网络管理平台,对其功能特性进行了详细分析。

  ■ HP OpenView

  运行在Windows或Unix环境中,提供很多大型网络所需要的关键特性。可供OpenView使用的工具集可能是市场上最全面的。其自动发现特性可按照不同的分类(比如网段和状态)绘制局域网和广域网上的TCP/IP、IPX和二层设备拓扑图。事件历史和数据分析保证了主动式网络管理的实现,使管理员可以在故障发生前采取行动。

  ■ SolarWinds

  同OpenView一样,SolarWinds提供庞大的工具集,而且可以在需要时添加更多的工具。关键特性包括自动发现工具、跟踪DHCP可用性和不同地址,以及设备使用细节的IP地址管理工具。与OpenView 不同的是,SolarWinds只能运行在Windows环境下。

  ■ OpenNMS

  并不是所有的网管系统都贴着昂贵的价签,也有一些系统分文不取。OpenNMS是一款提供完成基本网络管理任务的丰富工具的开源网管系统。OpenNMS的三种关键特性是查询、采集性能数据和事件通知。与商用产品不一样的是,OpenNMS不提供技术支持。支持软件包及培训可以从OpenNMS购买。另外,OpenNMS只能运行在Solaris和Linux系统上。

Protara

[webnote]
[software] 
 
Protara > Simply create

Introducing Protara version 1.0

A new and simpler way to write applications for Windows™ desktop or mobile platforms.

Try it for yourself!

Download a free copy.

PDAs Well Supported

Built from the ground up for compatibility with Windows CE (2.12 and higher) devices all the Protara user interface elements and script API are accessible on mobile devices without any restrictions in functionality.

Integrated Debugger

Seamlessly switch from editing to debugging your applications with a single keypress. Mobile applications can also be debugged using the built-in device simulator.

Web Services Spoken Here

Use the Web Services Wizard to easily connect your Protara application to any SOAP standard Web Service

Supports Console and Service Applications

As well as creating standard Windows applications for desktop and mobile devices Protara supports the creation of standard console and Windows services applications.

Integrated Help

Use the Library Panel to quickly get context sensitive help for any of the hundreds of available API functions and objects.

« previous | next »
 

Coding Horror: The Programmer's Bill of Rights - Mozilla Firefox

[webnote]
 
 
 
I <3 Steve McConnell* Coding Horror
.NET and human factors
by Jeff Atwood
 

August 24, 2006

The Programmer's Bill of Rights

It's unbelievable to me that a company would pay a developer $60-$100k in salary, yet cripple him or her with terrible working conditions and crusty hand-me-down hardware. This makes no business sense whatsoever. And yet I see it all the time. It's shocking how many companies still don't provide software developers with the essential things they need to succeed.

I propose we adopt a Programmer's Bill of Rights, protecting the rights of programmers by preventing companies from denying them the fundamentals they need to be successful.

The Bill of Rights

  1. Every programmer shall have two monitors

    With the crashing prices of LCDs and the ubiquity of dual-output video cards, you'd be crazy to limit your developers to a single screen. The productivity benefits of doubling your desktop are well documented by now. If you want to maximize developer productivity, make sure each developer has two monitors.

  2. Every programmer shall have a fast PC

    Developers are required to run a lot of software to get their jobs done: development environments, database engines, web servers, virtual machines, and so forth. Running all this software requires a fast PC with lots of memory. The faster a developer's PC is, the faster they can cycle through debug and compile cycles. You'd be foolish to pay the extortionist prices for the extreme top of the current performance heap-- but always make sure you're buying near the top end. Outfit your developers with fast PCs that have lots of memory. Time spent staring at a progress bar is wasted time.

  3. Every programmer shall have their choice of mouse and keyboard

    In college, I ran a painting business. Every painter I hired had to buy their own brushes. This was one of the first things I learned. Throwing a standard brush at new painters didn't work. The "company" brushes were quickly neglected and degenerated into a state of disrepair. But painters who bought their own brushes took care of them. Painters who bought their own brushes learned to appreciate the difference between the professional $20 brush they owned and cheap disposable dollar store brushes. Having their own brush engendered a sense of enduring responsibility and craftsmanship. Programmers should have the same relationship with their mouse and keyboard-- they are the essential, workaday tools we use to practice our craft and should be treated as such.

  4. Every programmer shall have a comfortable chair

    Let's face it. We make our livings largely by sitting on our butts for 8 hours a day. Why not spend that 8 hours in a comfortable, well-designed chair? Give developers chairs that make sitting for 8 hours not just tolerable, but enjoyable. Sure, you hire developers primarily for their giant brains, but don't forget your developers' other assets.

  5. Every programmer shall have a fast internet connection

    Good programmers never write what they can steal. And the internet is the best conduit for stolen material ever invented. I'm all for books, but it's hard to imagine getting any work done without fast, responsive internet searches at my fingertips.

  6. Every programmer shall have quiet working conditions

    Programming requires focused mental concentration. Programmers cannot work effectively in an interrupt-driven environment. Make sure your working environment protects your programmers' flow state, otherwise they'll waste most of their time bouncing back and forth between distractions.

The few basic rights we're asking for are easy. They aren't extravagant demands. They're fundamental to the quality of work life for a software developer. If the company you work for isn't getting it right, making it right is neither expensive nor difficult. Demand your rights as a programmer! And remember: you can either change your company, or you can change your company.

Posted by Jeff Atwood at August 24, 2006 11:59 PM | TrackBack

Comments

That is fantastic. This should be on a t-shirt or something. :)

I like how the URL for this post ends in "/000666.html". I wonder what the meaning of that is.

Petro Verkhogliad on August 25, 2006 01:51 PM

Is there any reason that this list should be limited to programmers and not everyone else also who works with code and computers?

mike on August 25, 2006 02:01 PM

There was a day when unlimited smokes and coffee would have made this list, but I date myself.

doug on August 25, 2006 02:05 PM

7. (proposed) Every programmer shall have the power to do the job right.

8. (proposed) Every programmer shall have the most powerful tools available for the chosen environment, and for that matter some say in the environment used.

9. (proposed) Every programmer shall have access to reasonable support tools (including but not limited to: source control, automated unit testing, nightly build scripts, etc.)

Joshua Volz on August 25, 2006 02:22 PM

I agree 100%

Jonas on August 25, 2006 02:25 PM

A great list, but I must challenge #6 - quiet working conditions drive me crazy. I have to have music going or it freaks me out.

I must also have stuff to play with in my office space or, again, it drives me nuts. We all need a good recess every several hours. Myself, I prefer LEGOs.
http://www.morningtoast.com/feature/home_away_from_home/

But thankfully, my employer seems to believe in the Programmer Bill of Rights. I have two screen, a fast PC, speedy internet, I got to pick my keyword+mouse, and I sit in a nice comfy chair.

Brian on August 25, 2006 02:29 PM

>Every programmer shall have a fast PC

Sometimes I wonder about this one. As I watch Visual Studio 2005 take a dog's age to launch on my PC, I wonder if MS shouldn't have given their developers SLOWER machines.

Kevin Dente on August 25, 2006 02:45 PM

Brian, I think he means "the choice of quiet working conditions". I too love the headphones blaring most of the time, but having the control over it when I need to really cut off my external inputs is important to me too.

Sometimes at work I wear my headphones with no music just to keep the distractions to a minimum and deaden any conversations around me.

Andre Torrez on August 25, 2006 02:45 PM

re:
8. (proposed)

i'd settle for being allowed to use the editor of my choice: vi. i do despise most IDEs.

Buggy Fun Bunny on August 25, 2006 02:48 PM

I think a lot of the proposed additions could be summarized thusly:

8: Every program shall have access to the right tools.

Jason on August 25, 2006 02:53 PM

Another proposal:

Every programmer shall not be subjected to the requirements of the corporate uniform.

or to put it another way:

Every programmer shall be allowed to wear comfortable clothing of their choice.

Chris Lively on August 25, 2006 03:10 PM

Some of these could be summarized in a "one rule pack" that reads:

Every programmer should be able to work anywhere in the world, though a fast VPN, and not in cubicles.. ;)

Martin Marconcini on August 25, 2006 03:30 PM

Don't forget good development tools... It surprises me how many companies are still using gdb for debugging, when there are much better commercial tools out there.

Jason on August 25, 2006 03:38 PM

I prefer these bills of rights:
http://c2.com/cgi/wiki?DeveloperBillOfRights
http://c2.com/cgi/wiki?CustomerBillOfRights

Jeremy Dunck on August 25, 2006 03:58 PM

Jeremy, those are great links, but they're very different animals.

My "Bill of Rights" is about basic working conditions *only*. That's why it could apply to OSX, Linux, or Windows developers working in any language, using *any* methodology, not just agile.

> Don't forget good development tools

This is also why I didn't comment on tools; the choice of software development tools is not only a religious issue, it's clearly higher level than having the core BASICS: a fast internet connection, a fast pc, and a quiet workspace.

Jeff Atwood on August 25, 2006 04:07 PM

Since almost all companies have little idea on what makes a great environment for a programmer, you are better off watching the movie "Office Space" and then figuring out what you'd do if you had a million dollars.

Steve on August 25, 2006 04:09 PM

(proposed) Every programmer should be given EXACT specifications of what he is expected to deliver.

ToMaHaWk on August 25, 2006 04:38 PM

I must disagree on the fast computer. It has been like 20 years since compiling an app took more than a minute or so. I say give the programmer the same computer the average user will have, I bet the performance of the apps they write will be a heck of a lot better if they have to feel their user's pain.

John F on August 25, 2006 06:27 PM

I agree with tis bill of programmers rights, and even though I may not be a programmer in the literal sense, I still do debigging, and testing of certain software, as well as play games on my computer, and I enjoy things much better when I get to choose my own stuff. That being said, however, not all companies are going to allow this to happen, nor will they be willing to allow it, speaking froma realists point of view. The only way that this bill of programmers rights will be used in The everyday work environment, is if the poeple who use computers, not just the programmers try to push to get this bill of rights recognized by governement, not just eh american government, but all governments, no matter what country, or location on the globe. Well tat is my 50 cents worth, if anyone else feels the same way, then please go forward and make a big stink of this on the news, on the internet, and in your local, and national newspapers, as this should be called the common everydays workers bill of rights.

Crash Override on August 25, 2006 08:13 PM

I concur with your "Bill of Programmers Rights". However, I believe that they should apply to ALL people in the IT industry. Maybe the "Bill of IT Workers Rights"?

Bald.Guy on August 25, 2006 08:33 PM

#0:
No programmer shall be made to report to ex-operators (who can't think in symbolic logic, but still want to leapfrog the hard work & climb up the corporate ladder).

DrillBit on August 25, 2006 10:49 PM

How about the right to a have great IT business analyst? One who can write clear requirements for the programmer?

Puddles on August 26, 2006 04:09 AM

Get over yourselves. The vast majority of you are not writing operating systems, or programming in ML! You are programming business logic in garbage collected languages. You get a paycheck. If you don't like the conditions where you work, work somewhere else.

atlscrog on August 26, 2006 04:17 AM

wow, I'm spoiled
..I have 4 monitors
..a fast computer that I spec'ed out
..ordered my own mouse + keyboard
..comfortable chair
..T3 connection (firewalled out the wasu, though)
..use Yahoo video/radio for music to my headphones
..wear jeans and T shirts to work
..have toys on my desk
..have spare (normal user) PC to test application speed

My only downside is I am analyst, developer, project manager, leader, tester...and my direct report has no clue what I do (ex-Datacenter manager).

Brad V on August 26, 2006 06:17 AM

I'd forgo the fast computer for two monitors and a good Dev server and automated builds and testing.

vm370 on August 26, 2006 07:05 AM

Programmers shouldn't be given fast computers. Fast computers let programmers write dog-slow code. If the people writing gnome or KDE (or Windows, for that matter) had been on slower machines with less memory, the desktops would be much, much more lightweight.

grendelkhan on August 26, 2006 07:36 AM

John F, grendelkhan: This only works if the company is dogfooding. Generally, it would be better to put any internal users (sales, QA) on the lousy hardware, so that *they* feel the pain, and report it to the devs.

At any rate, if you're developing webapps, there's no excuse for slow hardware.

Mike Purvis on August 26, 2006 08:07 AM

I am all for this bill of rights! I am still in college, but I think these are a must for a programmer. As for the fast PC, it would be nice, but if I can have a second one to run as a server, I am happy.

chiefbutz on August 26, 2006 08:24 AM

John F: maybe incremental builds are less than a minute, but then you change a common header and have to rebuild the project -- forget about it -- a lot of application development projects are not going to do a clean build in under a minute. More like 20-30.

With that kind of delay, devs either work around putting the code in the "right" place in order to avoid the downtime (leading to shoddy code), or they'll wander off (physically and mentally) and lose their place, and probably not notice when it's done, adding even more down time.

I think there's a magic cutoff where if the compile/link/rerun time takes more than say 30 seconds, the dev will get bored/distracted and downtime goes exponential.

Features and performance are constraints applied by management/marketing. Optimization comes at the end, no need to make devs suffer with a slow machine all along the way, just during the final polishing.

Ethan on August 26, 2006 08:35 AM

My employer believes in all of the above things... except for the paying us 60k-100k part. What would you rather have, decent pay, or a good work environment?

anonie-mouse on August 26, 2006 09:19 AM

I think Programmer should have the right to refuse writing documentation ;). Just kidding :)

Zaid

Zaid Omar on August 26, 2006 09:36 AM

Bullshit.

> 1. Every programmer shall have two monitors

No. Every programm shall have a large monitor. That's all. For debugging, they should have an additional remote PC, not a remote monitor. (You ain't never crashed a kernel, or driver obviously)

> 2. Every programmer shall have a fast PC

*ONLY* for compiling. The target PC for the application must, in fact, be the absolutely slowest computer available on the market, and barely have any disk space at all. The faster the PC the programmer targets, the more bloatware they write.

> 3. Every programmer shall have their choice of mouse and keyboard

This one I agree with. Also through in the text editor.

> 4. Every programmer shall have a comfortable chair

Yeah, whatever.

> 5. Every programmer shall have a fast internet connection

What has a fast connection got to do with anything? Krugle, and sourceforge doesn't go any faster just because you have XDSL.

> 6. Every programmer shall have quiet working conditions

So buy headphones.

Paul Hsieh on August 26, 2006 09:55 AM

I can't understand why people don't understand #6, which basically means that the programmer should work in an environment that doesn't have people coming and going and interrupting their work all the time.
Also, #3 sounds like I'm supposed to bring my own equipment o_O

Chris Lively - I wonder how the army would implement your suggestion :)

Omer van Kloeten on August 26, 2006 10:09 AM

> So buy headphones.

My company even banned headphones (on grounds of 'professionalism').

tim on August 26, 2006 11:36 AM

I'm not convinced by #2, unless there's a rider for testing to be done on mediocre machines. I'd hate for the programmer's bill of rights to take away from the end user's experience by assuming everyone will use fast machines with loads of memory.

Otherwise, good list.

Josh Peters on August 26, 2006 12:41 PM

Why limit it to 2 monitors? I have three and love it. Code on one, form on another, reference material on a third.

A programmer should have as many monitors as they want. Personally I find three to be the limit I would be comfortable with--I can't see how to place a 4th that wouldn't involve too much head turning.

Loren Pechtel on August 26, 2006 01:57 PM

"Every painter I hired had to buy their own brushes."

for consistency sake, you should apply this analogy to the entire programmer's toolbox you have listed above, including chair. this is a standard way of doing business for men who make their living as mechanics. when you come to the job, you bring your own tools, and when you leave, you take them with you. the same should go for programmers.

Proton Soup on August 26, 2006 02:36 PM

One 15" LCD.

That's all I get. :(

Quite irritating, b/c lines wrap in vi and it drives me crazy. I'll probably buy a bigger LCD for myself some day.

david on August 26, 2006 04:26 PM

Finally... i think is time to get something back...
we are humans... or not?...

Juan Diego on August 26, 2006 05:33 PM

Add to this...

"Every programmer shall have the right to install and configure all software on his PC"

As in, not be forced to work on a locked down PC where the software was slapped on as a default install by a teenager who has "IT experience" (ie: has played a computer game or two) on temporary contract to an outsourcer for whom maintaining control over the desktop is more important than having the desktop used to accomplish something and where 'lockdown' is being used as a poor substiture for security.

Paul Coddington on August 26, 2006 10:35 PM

"I can't understand why people don't understand #6, which basically means that the programmer should work in an environment that doesn't have people coming and going and interrupting their work all the time."

Some programmers don't understand it either - but then quite often they are the ones not doing anything clever enough to be concentrating on the task on hand (people who produce bad code that does not work well and isn't worth the paper its printed on do not care in the least about point #6).

Likewise for some managers (and I really have seen some who take the attitude that nervous breakdown due to environmental problems simply means "time to find another contractor and put this one out on the street, no notice required").

Paul Coddington on August 26, 2006 10:50 PM

Wahoo! Score, I've got them all! Well, I could use a new chair on Monday.. hehe

Matt on August 26, 2006 11:26 PM

Hey! I've made a translation to italian here:

http://www.napolux.com/2006/08/27/carta-dei-diritti-dei-programmatori/

What about a worldwide campaign for translation in many languages?

;)

P.s.
Of course I gave you credits!!!

Napolux on August 27, 2006 02:26 AM

My additions:

7. Every programmer shall attend a development conference once a year.

8. Every programmer shall be supplied with technical books of his choice.

I run my own company and practice this. Works very well and increases my efficiency.

Vagif Abilov on August 27, 2006 04:45 AM

Completely agree!!!

Napolux on August 27, 2006 04:58 AM

6. Every programmer shall have quiet working conditions
hehe what if he is working with sound effects in his game

Saurabh on August 27, 2006 07:27 AM

Proposed:

If you want a programmer to work more than 40 hours a week, you need to pay them for more than 40 hours a week.

Just because the boss was once an Arthur Android, and gets a heroin-like endorphin rush from working from 4AM to 10PM doesn't mean everybody else in the industry does, or should. The practice of the "exempt" employee, paid for a week's work, but continuously worked for double shifts because of artificially-skewed deadlines, poor specs, feature creep, and salesman's disease (of course it can display your data in Klingon! It'll be in the demo next Thursday!) should be banned outright. It burns out more programmers than any other practice, bar none.

My favorite poster: "A lack of planning on your part does not constitute an emergency on my part."

---Gwen (who still has nightmares of being chased by androids)

Gwen Patton on August 27, 2006 07:30 AM

I earn roughly $7500 per year, which is an average yearly salary in my country. I should be able to buy my own apartment in roughly 142 years.

My chair is about 20 years old; I brought a pillow from home to sit on and to make me more comfortable.

The PC I work on is kind of okay, except that I had to jump through hoops to get a total of 512 MB of RAM, and the curved 17" monitor is freaking me out. I do have admin rights, though, but my right wrist and my left shoulder are starting to hurt badly, so admin rights don't make me happy.

My copy of Visual Studio is illegal.

Nobody really knows *WHAT* I should do, so I regularly rewrite my apps from scratch and spend time migrating DB data as good ol' management thinks of new, incompatible things.

I work in a room with no windows and air conditioning that smells, so we prefer to have it turned off until it gets REALLY hot. There wasn't a week in the past two years that I have felt okay - I'm ill most of the time. But the noise of 10 servers near me doesn't let me think about my health conditions much.

My company spends 50 times as much on crap outsourced developers, who produce code that takes 4-5 DAYS to churn out a WEEKLY report.

If I demand anything, I'm going to get fired, which isn't very nice considering that I have to support my parents. And if I change my company, I'll have to travel at least 4 hours each day (I don't have a car, and I don't think I'll be able to afford one in the next 40 years).

So... What do you people think I should do? (BTW, I have the lowest salary in my department, but I regularly spend time teaching "senior" developers about the very basics of HTML and programming.)

AC on August 27, 2006 10:12 AM

I agree
we are humans,
not only brains or ideas
as arm's slaves

Stefano Zaglio on August 27, 2006 05:34 PM

> I earn roughly $7500 per year, which is an average yearly salary in my country.

Wow, that is a sobering tale.

I'm beginning to see why people would want to emigrate to a different country with more favorable working conditions..

Jeff Atwood on August 27, 2006 06:19 PM

#4 is the one that *really* matters. Dual monitors are nice, but being able to walk is better.

Rob Agar on August 27, 2006 10:31 PM

Every developer should have a machine in there office/cubicle/whatever that is the same spec as the 'minimum required' as displayed on the final product. once the program actually works this machine (which will be reimaged back to a default state at will) will have the application installed on it and fired up...

1, to make sure it actually works

2, its actually usable.

I'm all for developers have the latest & greatest to work with, they do actually need it. but the result should work on more down to earth hardware.

i.e. no GUI widgets that take more cpu power than the core of the application.

I mean my old 8Mhz ST (512Mb ram, no HDD) had a nice little desktop called 'teradesk' availbile for it. frankly apart from a lack of colour i'm hard pressed to see what my XP desktop does (that I actually need/use) that teradesk didn't.

i'd add a rule that no GUI widget shall be added unless its actually needed. *until the program works* _then_ add the stuff to make it look nice, but make it configurable. if the user wants speed let them turn the fluff off...

windows itself is actually a good example of this, if only it was easy to de-install the stuff you don't use.

claire rand on August 28, 2006 12:52 AM

(ironic mode)

Every programmer shall have a BOFH so close !!

;-)

marbella lawyers on August 28, 2006 04:43 AM

@Brian

>>Myself, I prefer LEGOs.

Me too. Unfortunately, I can't bring them in to work. But they do exist in a large quantity in my home office.

I think I need to post this Bill or Rights on a certain door here... :)

Eric D. Burdo on August 28, 2006 06:08 AM

AC:

"So... What do you people think I should do? "

start your own business. save up as much money as possible enough to last a few months (rent, food, etc.). find out what kinds of licences / fees your government requires for starting a business.

try to build up a client list before you quit. use your current working conditions as incentive & inspiration to motivate you.

david on August 28, 2006 06:12 AM


(Proposed)

x. Every programmer shall have a substantial dry erase board for doodling and diagramming.

Andy on August 28, 2006 06:59 AM

>>Every programmer shall have two monitors

I had to fight and claw to get my second monitor. And so now I've got one nice LCD, and one piece of junk CRT. *sigh*


>>Every programmer shall have a fast PC

My PC is generally pretty quick but I've only got 512 MB of RAM. Try running Visual Studio 2005 (bloated as hell) and SQL Server Management Studio (2005) (beyond bloated as hell) at the same time. Yeah, I spend a LOT of time looking at an hour glass.

>>Every programmer shall have their choice of mouse and keyboard

I do have this. Whew.

>>Every programmer shall have a comfortable chair

I can barely move at the end of an 8 hour day. My legs hurt, my lower back hurts and my neck hurts. This is AFTER I swapped chairs for the one that was "more comfortable." Also you might want to add to this something about a nice working environment. Here, they keep it cranked up to about 90 degrees in the office during the summer. By the end of the day, I'm so hot and sweaty that productivity drops dramatically from about 2:00 PM to 5:00.

>>Every programmer shall have a fast internet connection

Got this.


>>Every programmer shall have quiet working conditions

I dream about the days when I used to have an office. Now I'm in a cubical and get interrupted about once every 5 minutes or less. The article you did about being in the zone was spot on: I'm only ever able to get into the zone maybe once a week if I'm lucky here.


I usually disagree with a lot of your posts, Jeff but this one was spot on.

Jeremy on August 28, 2006 07:29 AM

"So... What do you people think I should do? (BTW, I have the lowest salary in my department, but I regularly spend time teaching "senior" developers about the very basics of HTML and programming.)"


AC: Move out of New York and come to Seattle.

Scott on August 28, 2006 08:05 AM

I´m agree with most comments.

Should add this:

"Each developer must have a comfortable desk as well". We´re currently using these "came from china", small, without space desks. matter is that if you put in an external HD you don´t have space to move your arm, (hell of work when i try with a speaker!).

And what about free tools - every developer should have the right to choose which tools can use (if these are free or not license is required) - IT always bothers you :@

And PLEASE!! if you cannot provide even a division or a cubicle for each, please give us a monitor filter or something. Is quite annoying to be moving the monitor to left or right when people next to you want to see what you´re doing :|

No one on August 28, 2006 10:31 AM

Isn't this whole thing just what a developer needs to negotiate with their boss? If they can't negotiate what they want, what makes sense to both parties, then either bite the bullet or change job.

QAZ on August 28, 2006 10:32 AM

More specifically, the "Bill of Rights" should address fundamental and measurable rights that don't need periodic revisions. For example, why two monitors and not a personal IMAX monitor? So similar to "freedom of speech", why not "freedom of getting an ergonomically correct physical working environment"? This should cover all monitors, keyboards, mouse, chairs, desk hight, foot-rests, and etc.

The requirement of development tools is especially hard to measure. Is one tool really fit for a particular development task? Who's the judge on that? With whose money? And what if it's really expensive and you really don't have the budget? Who's going to decide that you can live with the workarounds or you absolutely need to quit the job?

On the "quiet working condition" front: sometimes putting a team in the same room (inheritly more noisy) actually improves productivity and team morale. Before Lego-cubicles becomes a reality, I think some flexibility in shared and private space would be nice (where one can easily move between the two kinds of working spaces).

There are so many things that can impact job satisfaction and being a programmer fundamentally is not too much different from being in a different occupation, in the sense that you need some things to get some other things done. It's hard sell to recognize them as "rights" because at the end of the day, they are still negotiable... It might be more helpful to recognize good and bad people/project management practices...

QAZ on August 28, 2006 11:16 AM

AC, you should start a revolution. Burn down the bastards that hold you back. Take what you deserve.

Armen on August 28, 2006 11:31 AM

I agree with you all the way!
They should make this bill.

Brian Sheridan on August 28, 2006 11:54 AM

Having a single high-resolution monitor, or multiple average-resolution monitors are both acceptable.

Philihp Busby on August 28, 2006 12:52 PM

I think every developer should have their own development server with an external facing IP. With the world of virtualization at our finger tips, companies can purchase one beefy server and provide each of their developers with a virtual machine that they're free to mess with and break as much as they like.

P.S. I love that quote:
"A lack of planning on your part does not constitute an emergency on my part"

Ryan on August 28, 2006 01:05 PM

Ha, at least you get PC's.

Here, we have these HP thin client things, and we run VS 2005 on a terminal server shared with 5 other developers. Everything lags dreadfully, even simple tasks like dragging and dropping are painful. Even browsing the web sucks on these things. And the VS debugger? Bwhahahaha. But hey, developers don't need to debug code! They should write it properly to begin with.

Also only have a single 17" LCD, and it's not even that great, a standard HP keyboard (probably the best bit of equipment on my desk), and a no name mouse with a broken wheel.

And flexible hours? HA! I can't wait until summertime, when we start an hour earlier, at 7am.

BA on August 28, 2006 05:55 PM

fantastic

Uday on August 29, 2006 01:30 AM

@AC

"I earn roughly $7500 per year, which is an average yearly salary in my country. I should be able to buy my own apartment in roughly 142 years."

Do you live in Poland too?

"So... What do you people think I should do? (BTW, I have the lowest salary in my department, but I regularly spend time teaching "senior" developers about the very basics of HTML and programming.)"

Move to Ireland as I did

PW on August 29, 2006 02:22 AM

Workspace Nirvana...

http://blogs.microsoft.co.il/blogs/kim/archive/2006/07/05/1215.aspx

Kim on August 29, 2006 02:29 AM

I do not see any problems having one monitor, but when your manager doesn't keep you motivated and interested in what you do, it really sucks. Every person has to be motivated to make his work good. Why are there so many people with no management skills whose work is to manage human resources?

JCurtis on August 29, 2006 07:10 AM

What about a bill of rights for the programmers customers (ie: the folks with the problem to solve)?

Right to engage developer in a dialog about the problem to solve, rather that demand detailed concise requirements.... Work together to build requirements. Developers have a better clue as to what a requirement really is (versus having the customer tell you how to code it)!

Right to know the progress of some project at reasonable intervals. Customer doesn't need to know status every hour, or even every day (perhaps), but not hearing from the developer until weeks later is far too late to find out that the developer and customer are disconnected.

Eric on August 29, 2006 07:35 AM

A nice collection of items that, no doubt, would improve the overall *effectiveness* of a developer.

However, do we believe these rights to be *inalienable*. From whence do these rights flow? I am not against Better Conditions, but rights implies either a vaguely disguised threat - or plea. If these rights come from the Great Developer in the Sky, so be it.

As for the "developer should be on the slowest machine" nonsense (yes, nonsense): This argument has been picked up, touted, and reasonably knocked down for decades now. Is no one listening - or do they believe that all the work in software development processes: agile, RUP, etc is just to make the Developer *better*? No - the cost of the "development" hour is the single, largest, expense in the creation of new software.

So, if you have no economical sense: Go ahead! Give them slow computers. And watch your budget EATEN alive as developers lean back in those New Comfy Chairs and stretch while the current compile/test/debug goes on and on.

The only addition I have, and it isn't exactly a right is this:

Developers ARE business people.

Okay, just a statement and not a right. However, allowing the old stereotype of the "developer who don't know nothing but code" never really existed but it does allow the non-technical to look down their collective noses at Developers - even though that same group is the group IMPLEMENTING their business rules.

Slow computers for Developers. Think Business!

Dan

Dan Lundy on August 29, 2006 07:41 AM

Regarding #1: Personally, I like 3 monitors. It's a good consistent plane, puts a monitor directly in front of you, and popup dialogs always seem to work better on 3. (On 2, some split the desktop instead of being on one or the other)

One really big monitor would be ok as well, but you get a lot more real estate from two or more for the same price, I've seen.

Regarding #3: The statement is right, but the reasoning is wrong, I think. Pride of ownership isn't what makes a keyboard and mouse better, it's comfort. Plus, they become an extension of you, your input into your working environment, and as such should be something that you feel comfortable with.

#4: Heck yeah...

#6: Maybe it should be a "workspace free of distractions" I work with headphones on when I'm at the office, and every time the phone rings, I have to look to see if it's for me, or the main line. Hard on the concentration. Plus, I can't get my boss to leave me to focus on anything to get it done.

Chris Szurgot on August 29, 2006 12:25 PM

I have a concern about #5. I apperciate the idea of grabbing some else's lines to help with your project, but the ethics bother me. I propose that you should add a comment saying where you got that line from. But then again, if someone of higher power sees that comment...hmm...I'd have to think about this so more.

Daniel Nunan on August 29, 2006 02:09 PM

I agree with Chris Szurgot - I don't mind too much whether the workplace is silent or has a lot of background noise, but I don't see that anyone can work productively if they're faced with constant distractions.

What we need is a big sign.

GO AWAY
(No, really - I mean it)

Simon Geard on August 29, 2006 07:02 PM

Oh, and regarding fast machines, I agree with the point that developers need two machines - a high-spec box for coding and building, and a testing machine with similar spec to what a customer will use.

Although testing on a customer-spec box may not help if the developer isn't testing with customer-level data. A UI might be fine on the small volume the developer tested with, but fail miserably when put into production with a thousand times the volume.

Simon Geard on August 29, 2006 07:12 PM

If you agreed to a salary, you already sold your rights and soul away. The only one that in the long run matters is that you have a right to code for yourself instead of building an asset for someone else.

older_than_you on August 30, 2006 08:11 AM

Quick PC - depends. If you're running VMs, or server part of an app, then yes (you have to get something done!), otherwise, then no (you should suffer like the users).

The two rights I'd add would be:

The right to work late when you're on a roll (I know, it seems wrong, but I can't and it's frustrating).

The right to do something else when you've been focussed on a problem for two long. A pinball machine or pool table would be ideal.

(All my best ideas come when I'm not thinking about the problem itself)

Andy on August 30, 2006 09:38 AM

I don't have a frickin' chance of getting these fulfilled when our employer won't even provide legal copies of Visual Studio to us.

djork on August 30, 2006 03:36 PM

I would add an unlimited supply of caffeine (pick your flavor) to this list. I see a huge difference after I have had a few cups of coffee in the morning, or after sucking back a Coke in the afternoon when the day is starting to drag on.

Brandon on August 30, 2006 06:49 PM

Quote : '(proposed) Every programmer should be given EXACT specifications of what he is expected to deliver.'


This one is my favorite LOL. I hate running off and trying to do a project with nothing but a general idea of whats going on. A GOOD systems analysis is a must!

Polymorpher on August 30, 2006 07:03 PM

//Error: I'm big, but my nick is Brasil Import//
//I from Brasil, i'm a recent programer//
Wow, if
______i find (a job) with
______these: conditions;
________then
_________i will be happyfully;
_________and
___________i gotoxy(lots of money);
___________for
_____________ever;
___________end;
______end;
end.

Error: Brasil Import on August 30, 2006 11:41 PM

Put things into perspective..... You missed the most important one ... "A bolnde under the desk!"

Sin City on August 31, 2006 06:29 AM

yes
i vote it ^^

Copy-Right-Killer on August 31, 2006 08:25 AM

Good list. They are all necessary for a programmer to be productive.

Yan on August 31, 2006 09:10 AM

This post is really really nice!

> 1. Every programmer shall have two monitors

I don't have. I wish I have. RIght now I have a LCD. that's it.


> 2. Every programmer shall have a fast PC

Well, i have a 2.8GHZ Intel Pentium with 1GB memory. The PC unit is unbrand though but it is still fast.


> 3. Every programmer shall have their choice of mouse and keyboard

I was allowed to pick from several left-over keyboard hahaa.. my boss bought a special mouse for me though.


> 4. Every programmer shall have a comfortable chair

I need a more confy chair.

> 5. Every programmer shall have a fast internet connection

Amen to this! Luckily I have but i'm kind'a pissed off when one of our designers visits youtube and watch anime!!!! draining all of our bandwidth!


> 6. Every programmer shall have quiet working conditions

So far, yes quite but i usually received requests from client via e-mail.. multiple projects, multiple clients.. It makes me crazy sometimes.

Jun on September 1, 2006 03:30 AM

fair point but if it bothers you so much, why not change things themselves, as you know buying an LCD screen is cheaper, even cheaper if you get a second hand old style monitor, so that sorts the monitor problem. A keyboard and mouse, they're cheap as well and you can also bring a good chair in.

I know it should be provided, but if someone else won't do it why not immediately solve the problem, on a computer programmers salary these items are affordable.

As for your PC, you can point out that the cost of a new one would be a fraction of your wages and would be value considering the boost in productivity this would achieve.

A broadband connection should surely be supplied as standard, you can't be using dial up?

Surely that's quick enough to get source code.

Quiet working environment? Put your ear plugs in (or industrial strenght ear protectors id it's that bad), put your phone on vibrate, you only need to take them off if you need to talk to other people.

If you can take direct action such as this, why wait for someone who knows what the problems are but hasn't lifted a finger and probably has no intention of doing so to do something about the situation, when you can do something quicker which could make your life a little more comfy?

finestcuts on September 5, 2006 11:52 AM

Someone mentioned free coffee and unlimited smokes. Yes I remember those days too. Now I solve the problem of the uncomfy chair by going out for a smoke. Gets the circulation going (in the legs at least) and as someone else observed, getting away from the problem often helps. Indeed it does, especially when one is enjoying a fine smoke and the superb eye-candy of midtown Manhattan. Ciao tutti!

Braso on September 7, 2006 01:55 PM

yo de acuerdo

papa on September 7, 2006 03:09 PM

That's awesome. It will improve everyone's working effeciency. And If I were a programmer, it would allow me to secretly play the most hardware demanding games of today x)

UltraSonicSite on September 8, 2006 08:31 PM

really a nice suggetion for a good and skilled programmer. i want to add one thing that, every programmer have the right to think free. so he can take any short of innovative and advantageble step in the field of programming.

Chandra Mohan on September 13, 2006 06:07 AM

Boss told me that she wouldn't buy the guy next cube over a silent keyboard. This guy is loud, and when he gets on instant messaging, he loves to hear himself type. I don't. Boss said to ket some headphones. So .. . .it took a while to adjust to the million radio stations that stream their music over the internet. Found a "world music" program that is killier. I have fallen in love with Lila Downs (www.liladowns.com). I also love www.hawaiianrainbow.com. Hawaiian music all day, lots of good guitar. www.Pandora.com is cool because I can design my own radio stations. Got one on Bob Dylan and also a swing one. I just click on the song I really like and put it on my wish list and someday I will be a $30 swing dj (.99 per song) with only hits I like on a CD. I guess I better stop now. Got a noisy place where I work. Boss doesn't get it.

Just John on September 22, 2006 11:20 PM









(no HTML)




Content (c) 2006 Jeff Atwood. Logo image used with permission of the author. (c) 1993 Steven C. McConnell. All Rights Reserved.

用Google图片搜索做成的元素周期表

[webnote]
 
 

用Google图片搜索做成的元素周期表

由. Ken Wong 将文章归档于 G事八卦

google-periodic-tables.JPG

点击这里看大图

  没错,上面的确是一个元素周期表,不过有点特殊。它是由Joey deVilla(via digg)在Google图片搜索里逐一搜索元素名称,然后把位在第一位的图片取出来做成的元素周期表,独一无二。大家看看里面有几个美女?

固定链接: 用Google图片搜索做成的元素周期表
标语: Google  image  search  搜索  图片  元素周期表 

引用: http://www.creative-weblogging.com/cgi-bin/mt-tb.pl/37066

google站内搜索

Google