月度归档:2013年03月

如何打磨设计能力? 9位创始人为初创企业支招

在越来越拥挤的初创企业世界里,视觉设计的重要性往往可以与杀手级用户体验比肩。在许多情况下,尤其对于 Web 初创企业而言,这两者都是不可或缺的。前不久我们在《右脑革命:别学编程了,学艺术吧》中也曾发出过重视设计的呼吁。如何才能提高初创企业的设计能力呢?以下是 9 位创始人的体会。

1.找到自己的方式

如果你是做设计的,要想提高技能可以去设计博客和展示好设计的网站如D-lists看看。如果不是,首先就得学习一些基本的设计原则(平衡、比例等),然后严格运用到项目当中。

2.画草图

画草图是我日常工作之外的一个爱好。我喜欢用草图把界面绘制出来,展示给某些客户看看他们是否认同。这是强化自己设计能力的一种简单易行的方式。

3.读《Design for Hackers》

David Kadavy 的《Design for
Hackers
》是一本极佳的设计入门读物,该书正是为左脑思考者(如程序员)而写。Kadavy 在书中重温了设计基础,并帮助你形成自己的判断思路。这不是一本可以一口气读完的书,但是他可以让你成为更好的设计师。

4.委派

我不是设计师。我可以就我的需求跟设计师扯上几个小时,但是我没办法从技术的角度或理论角度把想法复制出来。所以要么你得雇一位有经验的设计师,要么就得花大价钱找一位既能设计项目,又能照顾好用户体验的人。

5.用Adobe Illustrator和Lynda.com

装个 Adobe
Illustrator,然后到Lynda.com培训自己一个月。实践是让自己变得更好的最好方式。通过基本的是错法,我已经可以设计我们的销售材料、网站、Facebook 页面等。

6.学习行话

如果既不能把握又懂欣赏设计语言的话,是很难改进设计技能的。花点时间去了解一下线框和网站地图。了解“全局”和“第三级(tertiary)”导航栏的区别。知道什么时候使用矢量图形。对设计术语的了解有助于你改进技能以及更好地与设计师沟通。

7.逛逛设计博客

光是看看业界领袖的设计,读读他们写的文章就能够学会很多了。知道设计不好是一回事。但是能够弄明白为什么这种字体不行、为什么蓝色要更深一点则需要更多的技能。如果你希望与好的设计师一起工作,你就得学会沟通你的设计目标与反对理由。

8.学习,然后幕后指导

所有初创企业都需要好的设计师,创始人不要指望自己能担当这一角色。不过,你应该学会成为一名好的艺术总监。像其他学科一样学习设计—成为细节的奴隶,仔细研究其他成功网站,学会解释你的创意,然后很好地与自己的设计师沟通。

9.重视设计与创意

归根到底,你得重视设计和创意。如果你不重视这两样东西,自然也看不到发展这些技能的需要。仅仅因为你看不到它的价值,并不意味着你不需要做这些事情!

http://www.36kr.com/p/202269.html

研发周报:神奇!1KB JavaScript代码编写的3D蜜蜂

http://www.csdn.net/article/2013-03-29/2814706-3D-BEE-1KB-JavaScript

摘要:忙碌的一周总算过去,闲暇时不妨来细细品味我们精心为你呈现的这份技术大餐。本期热点:神奇!1KB JavaScript代码编写的3D蜜蜂;魔兽之父专访:今年游戏产业会出现一场革命;回顾:那些被平台方封杀的第三方应用。

我们挑选了本周研发频道的精华文章,推荐给您的绝对“有料”,闲暇时不妨来细细品味我们精心为你呈现的这份技术大餐,或许有您意想不到的收获。本期热点:神奇!1KB JavaScript代码编写的3D蜜蜂;魔兽之父专访:今年游戏产业会出现一场革命;回顾:那些被平台方封杀的第三方应用。

本期热点回放:

1.神奇!1KB JavaScript代码编写的3D蜜蜂

相信很多网友都还记得去年CSDN报道过同样是1KB JavaScript代码所编写的 3D玫瑰,或者2010年的 3D圣诞树。细心的网友可能注意到了,这两个神奇的作品都是以为西班牙开发者 Román Cortés在JS1K大赛上的投稿作品,今年他又带来了同样神奇的3D蜜蜂——长着触角、系着领带。

 

左、右分别是做过动作模糊化处理前、后的样子

由于 JS1K规则限制,该作品仅支持Firefox 18、Chrome 24以及Opera 12、13。如果你已安装以上浏览器,可以选择观看 线上演示

该作品的实现使用到了很多算法和渲染技术,作者在自己的 博客上详细地 解释了其技术原理。源代码如下(经过压缩):

 

1
_="G=[V,j=WV,-j]];jX=83,(+3+KD37Uji&32?70:,-80Y2]b=a[j]=c.cloneNode(LEb.getContext('2d'bAb;x=8# 8-x,6+x(j<17X7;<xeH@x*@x*y,.07$OsetIntervalcLE5;a e#73D-=7$7<ZaH0#-i$Q,-8Oj++;ZE8Q/((i+)%3095W0-e*5,6-e#*5#OG.sortreturn -eV]}OG.map=L^)/-[,=+]V];y=^X^)(X/6)+;x=0Y8Q;~~F2]W-@x-~F4]/1*^5+/F3]-@yL;!F2]&&Z_beginPath(_moJa(_bezierCurJ))})},j=4OjLj?cA1Q:9Q;z=x=*yZj|(z+1)%.5<.1&&(z*(191+(E527368,xB9+Ui3*e,(59525-y*(5188+(+(280*,yB8-(j&2]j||abs(E8-i%)<54-D&&YD2e4#+e*/|[1$4$,,$,8$][~~(D48+e/3)W90+D8,i])cos(>>j*4&15)sin(i(function(b#){F0])*--;)F1] StylE'hsla('+[for(`,j+y,Math.iG.push([),_drawImage(a[270+'%',.fill(j&15K(y=))/8`/2,y501660j/.height=1]+')',i(.5+.5#,e$,1@30+A.width=B*(10*Di/Ee=Fb[HRect(JveTo(Yi*Li=O);Qe3UPI*V[0W],X+Y-KZi^_a.`+x+";for(Y=0;$="`_^ZYXWVUQOLKJHFEDBA@$#    "[Y++];)with(_.split($))_=join(pop());eval(_)

相关作品: 

 

 

更新:

  1. 之前的版本在最新版Chrome和Firefox Nightly中存在无法显示翅膀的bug,已修复,线上演示地址并没有改变。
  2. 有网友提到另一个JS1K作品——Strange crystals(无尽的隧道)也非常神奇,3D蜜蜂的作者Román Cortés已将两者合而为一,并且仍然小于1KB。
  3. 应网友要求,笔者已将“3D蜜蜂”源代码以及“隧道里的3D蜜蜂”源代码打包上传,可以点击这里下载。

 

2.魔兽之父专访:今年游戏产业会出现一场革命

通过一次偶然的机会,krisviceral.com博主对魔兽之父Patrick Wyatt(Pat)进行了专访。在采访中Pat表示,相比与Warcraft和StarCraft,他更为Guild War感到骄傲,因为这款游戏的开发并没有像前两者那样拼命加班,而且也成功地锻炼了很多新人开发者。

Patrick Wyatt(Pat)曾任Blizzard开发&搜索副总裁,参与过Warcraft、StarCraft、Diablo、battle.net、Guild Wars等产品的开发,CSDN之前也对他所写的Warcraft、StarCraft开发历程相关博文进行了 编译、报道。本文译自krisviceral.com博主Kviceral对Pat的专访,Pat对游戏、AI、软件开发等方面都发表了自己的观点。

 

魔兽之父Patrick Wyatt

你曾参与过很多广受好评的游戏开发工作,其中最令你骄傲的是哪款?

Pat:这是一个很难回答的问题,因为每个游戏都倾注了我的心血。真的要算起来应该是Guild War,这是我们以小团队努力的成功。

我们从Blizzard离职后创立了一个新公司(ArenaNet),从零开始打造出了这款极具创新的游戏,甚至没有拼命地去加班工作,但是最终我们成功了。

在ArenaNet,我们招聘了很多刚毕业的学生,所以他们中很多人并不知道Guild War的开发流程与“传统”游戏开发有多少不同,但我很高兴他们没有和行业中大多数人一样常年crunching。

 

Guild War刚开发出来时,我们是唯一一个放弃订阅模式(通过支付每月的订阅费无限玩游戏)的商业MMORPG(大型多人在线角色扮演游戏),你在购买了这款游戏之后就可以无限制地玩。

 

在过去2-3年里,你最喜欢的游戏是什么?

Pat:我很享受DayZ这款僵尸题材的生存游戏,我也很惊讶自己竟会喜欢这款游戏,在地面上匍匐前进10分钟听起来可没什么意思,但是这款游戏的背景会让你为此着迷!我偶尔也玩League of Legends,同样很喜欢Kindom Rush(iPhone/iPad)这款深受Warcraft和StarCraft影响的塔防游戏,我和我的孩子都很爱玩。最近我还发现了AirMech,都是不错的游戏。

你认为过去5年里游戏界最大的创新是什么?

毫无疑问是“免费游戏”这种商业模式在西方市场的巨大成功——它改变了游戏的开发方式。设计师需要更致力于创造迷人的体验,以保持对用户的长期粘性;但负面的影响在于,有的设计师把他们的创造力用在了让用户沉迷于游戏或者是其它“黑暗技巧”,而非增加游戏的趣味性。 我希望使用“心理操纵”等“黑暗技巧”的游戏会越来越少。

另外一处在于移动游戏。创造有趣但是低成本的游戏非常值得赞赏!最近,我发现自己玩移动游戏的时间要远高于PC/主机游戏。相信随着游戏设计师更精于利用移动设备小屏幕的优势,能为我们带来更多优秀的作品。 >>查看原文

3.回顾:那些被平台方封杀的第三方应用

一款应用从萌芽状态到最后真正的上线,期间要经历种种磨难,好不容易推出了,然而还要遭到平台方的百般刁难。倘若你的应用不符合平台方的开发者协议,那么将会遭到封杀。那么之前所做的努力岂不功亏一篑?本文例举了部分被平台方封杀应用的典型案例,仅供参考。

NO.1 Adblock浏览器插件遭谷歌封杀

事件回放:2013年3月,谷歌把一款非常流行的应用Adblock Plus从它的应用商店Google Play里删除了,遭此毒手的还有其它几个跟屏蔽广告相关的应用。

官方理由:Adblock应用违反了“开发者部署协议”里 4.4 节的内容:“使用未经批准的方式妨碍用户对其它服务或产品的访问”。

开发者申诉:Adblock Plus的创始人Till Faida称:“我们知道广告收入对谷歌来说十分重要,但Adblock Plus并不是自动屏蔽所有的广告;而是让用户自由选择屏蔽还是不屏蔽”。

评论:谷歌是通告广告挣钱的,而Adblock Plus插件可屏蔽广告。坦率地说,谷歌拖到现在才对这样的应用下手才是让人意外的地方。

 

  • NO.2 Vintage Camera遭到Facebook扼杀
  • NO.3  第三方图片托管服务Twitpic、yfrog遭Twitter删除
  • NO.4  第三方支付遭Google Play封杀
  • NO.5  Dropbox SDK应用被苹果下架
  • NO.6  Fawave、微博通等新浪微博第三方应用遭封杀
  • NO.7  Emoti for Facebook被Facebook莫名删除

 

如同一位网友所说:没有真正的开放,也没有真正的公平竞争。平台方永远拥有一票否决权。那么,开发者如何才能在举步维艰中继续前行,绝处逢生呢?怎样才能避免遭到平台方的“不待见”呢?

笔者认为,平台方与开发者发生“摩擦”无非是侵权或是分红不均导致的。究竟该如何画这条“红线”,淘宝VP王文彬的回答很有代表性,此前他在接受 CSDN记者专访谈到如何看待平台方跟开发者逐利的问题表示:定义哪些是官方基础工具,哪些是第三方工具,很难画出一条明显的界限,会有一些模糊地带。有一点需要强调,淘宝不会为了跟开发者争夺利润去铲除第三方应用。淘宝更关心的是平台上用户数据的安全性和隐私能否得到保障,用户体验能否提高,淘宝希望看到平台上的第三方厂商做大做强。

4.飞信正面迎战微信,用户能否买账?

 

一份意外泄露的中移动内部PPT不仅搅皱了通信和互联网行业的一池春水,也搅乱了相关公司的心。中国移动欲重构飞信正面迎接微信,发改委称要对微信进行收费,那么用户能买账吗?

飞信是中国移动于2007年5月推出的一款综合通信服务,即融合语音(IVR)、GPRS、短信等多种通信方式,覆盖三种不同形态(完全实时的语音服务、准实时的文字和小数据量通信服务、非实时的通信服务)的客户通信需求,实现互联网和移动网间的无缝通信服务。

微信是腾讯公司于2011年1月21日推出的一款通过网络快速发送语音短信、视频、图片和文字,支持多人群聊的手机聊天软件。用户可以通过微信与好友进行形式上更加丰富的类似于短信、彩信等方式的联系。微信软件本身完全免费,使用任何功能都不会收取费用,微信时产生的上网流量费由网络运营商收取。微信是一种更快速的即时通讯工具,与传统的短信沟通方式相比,更灵活、智能,且节省资费。

2007年中国移动推出的聊天工具,至今已有6年光景的飞信软件,因与短信业务连通而广受关注,但目前处境并不乐观。据统计,如今飞信的用户量还不到腾讯QQ的五分之一,月均使用时间不足后者的四十五分之一。更让飞信感到恐惧的是,在2012中国互联网大会上,腾讯CEO马化腾在微博中宣布,微信用户人数已高达2亿,截至2013年01月注册用户量已经突破3亿。这个诞生仅2年多的手机聊天软件,发展如此迅猛,使业内人士颇为震惊。

微信因其操作简便,能广交好友,成为年轻人的交友工具。最初微信以文字通讯、手机图片分享为卖点,在后期开发过程中以发现“查看附近的人”和“摇一摇”功能更受用户欢迎。微信日新增用户以数十万数量级增长,确立了它在移动APP市场的绝对优势地位。

5.Web框架排行榜 Netty、Servlet和Vert.x位列前三一个框架对网站性能会产生多大影响呢?答案或许会让你大吃一惊。本文数据由自称CTO外包公司的TechEmpower测试所得:

框架排行榜:

 

令人惊讶地是,排在前三的是Netty、Vert.x和Java Servelet。那么它们比Ruby、Django到底快多少呢?一开始我们猜测可能会4倍差异,但在Vert.x和Ruby on Rails之间竟相差40倍,真让人瞠目结舌。

在此次测试中,我们根据精确的文档和社区意见进行配置和部署,尽可能按照真实的生产运行环境来配置和部署。关于每个框架的测试环境是如何搭建和测试的,我们都进行了详细的描述,大家可以 点击查看每个框架的测试详情

开源系列:

 

6.腾讯开源基于HTML5技术的专业级图像处理引擎 AlloyImage

腾讯Web前端 AlloyTeam又推出了最新的开源项目,一个基于HTML5技术的专业级图像处理引擎——AlloyImage(简称AI)以及一个在线Web图像处理平台—— AlloyPhoto(简称AP)。这预示着腾讯的Web前端团队将在底层基础技术层面做深入研究,并将更多的为业界提供基础技术服务,同时也将与HTML5梦工场一起推动HTML5技术在业界的广泛深入的应用。

AlloyImage是一个使用Javascript语言开发的,基于Web的在线图像处理引擎,除了核心底层图像处理引擎,还同时集成了一些方便快捷的图像处理API,您可以将它简单快捷的引用到您的Web网页中,做出与PhotoShop一样的优美效果。甚至,你可以用AlloyImage来开发一个Web在线图像处理软件,如:Web版的PhotoShop—— AlloyPhoto

 

AlloyPhoto简约版主界面

AlloyImage主要使用HTML5的canvas技术,并在多图层(layer)处理方面做了创新性的尝试,不仅如此,在技术实现层面,其架构方便扩展,使用者可以很容易写出现一个AlloyImage的滤镜插件,很多API支持重载,参数传递灵活。

目前,AlloyPhoto有 简约版和 专业版两个版本,其 源码托管在GitHub上。后续AlloyImage将会持续更新,将更多的处理效果与工具加入到其中,并且会在性能方面做出一些优化与尝试,AlloyImage将力求做一个开放、开源的强大的JS图像库。

7.Polycode:免费、开源的跨平台(游戏和APP)开发工具

Polycode是一款免费、开源的跨平台游戏和APP开发工具,遵循MIT协议,其核心采用C++编写,支持Mac OS、Windows、Linux,即将支持iOS和Android。

开发者可以把Ploycode当做C++库,也可以在其IDE里编写Lua脚本。Ploycode API的设计理念是“用更少的代码做更多的工作”。它使用scenegraph管理系统执行渲染和更新操作,也可以自定义渲染和更新。

在IDE里编写的代码可以直接发布到所支持的平台上,如果只是编写Lua脚本,那么IDE会自动创建“ployapp”应用程序格式,其中包含了所有的代码和资源,并且把它们封装到一个特定平台层上。

在GitHub上托管地址: https://github.com/ivansafrin/Polycode

此外,类似的C++跨平台开源游戏引擎和开发工具有: Moai:其主要面向PC、手机、及基于云端的游戏开发; Cocos2d-x:跨平台的开源移动2D游戏框架,易学易用; Cinder、 Unity3D以及GarageGames开源的Torque 3D游戏引擎

8.Linux容器运行时Docker开源

Docker是一个云计算平台,它利用Linux的LXC、AUFU、Go语言、cgroup实现了资源的独立,可以很轻松的实现文件、资源、网络等隔离,其最终的目标是实现类似PaaS平台的应用隔离。

值得关注的特性:

 

  • 文件系统隔离:每个进程容器运行在一个完全独立的根文件系统里。
  • 资源隔离:系统资源,像CPU和内存等可以分配到不同的容器中,使用cgroup。
  • 网络隔离:每个进程容器运行在自己的网络空间,虚拟接口和IP地址。
  • 日志:收集和记录标准流(stdout/stderr/stdin)里的每个进程容器,用于实时和批量检索。
  • 变更管理:被修改的容器文件系统会被提交到一个新的image,留着重用来创造更多的容器,无需模板或手动配置。
  • 交互式shell

前往官网查看更多详细介绍:http://docker.io/
 

源码托管地址:https://github.com/dotcloud/docker/

往期回顾:

研发周报:王淮给技术创业团队的十点建议

10步让你成为更优秀的程序员

作者: Paul Firth  来源: 外刊IT评论  发布时间: 2013-01-01 20:29  阅读: 11031 次  推荐: 89   原文链接   [收藏]  

  英文原文:10 steps to becoming a better programmer

这篇文章要介绍的,是我作为专业程序员这些年来学到的能真正提高我的代码质量和整体工作效率的 10 件事情。

1. 永远不要复制代码

不惜任何代价避免重复的代码。如果一个常用的代码片段出现在了程序中的几个不同地方,重构它,把它放到一个自己的函数里。重复的代码会导致你的同事在读你的代码时产生困惑。而重复的代码如果在一个地方修改,在另外一个地方忘记修改,就会产生到处是 bug,它还会使你的代码体积变得臃肿。现代的编程语言提供了很好的方法来解决这些问题,例如,下面这个问题在以前很难解决,而如今使用 lambda 却很好实现:

/// <summary>
/// 一些函数含有部分重复代码
/// </summary>
void OriginalA()
{
    DoThingsA();
    // unique code
    DoThingsB();
}
/// <summary>
/// 另外一个含有部分重复代码的函数
/// </summary>
void OriginalB()
{
    DoThingsA();
    // 没有重复的代码
    DoThingsB();
}

现在我们重构含有部分相同代码的函数,用 delegate 模式重写它们:

/// <summary>
/// Encapsulate shared functionality
/// </summary>
/// <param name="action">User defined action</param>
void UniqueWrapper(Action action)
{
    DoThingsA();
    action();
    DoThingsB();
}
/// <summary>
/// New implmentation of A
/// </summary>
void NewA()
{
    UniqueWrapper(() =>
    {
        // unique code
    });
}
/// <summary>
/// New implementation of B
/// </summary>
void NewB()
{
    UniqueWrapper(() =>
    {
        // unique code
    });
}

2. 留意你开始分心的时候

当你发现自己在浏览 facebook 或微博,而不是在解决问题,这通常是一种你需要短暂休息的信号。离开办公桌,去喝一杯咖啡,或去跟同事聊 5 分钟。尽管这样做看起来有点反直觉,但长久去看,它会提高你的工作效率。

3. 不要匆忙赶任务而放弃原则

当带着压力去解决一个问题或修改一个 bug,你很容易失去自制,发现自己匆匆忙忙,甚至完全忘了一直坚持的重要的测试过程。这通常会导致更多的问题,会让你在老板或同事眼里显得很不专业。

4. 测试你完成的代码

你知道你的代码能做什么,而且试了一下,它确实好用,但你实际上需要充分的验证它。分析所有可能的边界情况,测试在所有可能的条件下它都能如期的工作。如果有参数,传递一些预期范围外的值。传递一个 null 值。如果可能,让同事看看你的代码,问他们能否弄坏它。单元测试是到达这种目的的常规方法。

5. 代码审查

提交你的代码之前,找个同事一起坐下来,向他解释你做了哪些修改。通常,这样做的过程中你就能发现代码中的错误,而不需要同事说一句话。这比自己审查自己的代码要有效的多得多。

6. 让代码更少

如果你发现写了大量的代码来解决一个简单的问题,你很可能做错了。下面的 boolean 用法是一个很好的例子:

if (numMines > 0)
{
   enabled=true;
}
else
{
   enabled=false;
}

这时你应该写成这样:

enabled = numMines > 0;

代码越少越好。这会使 bug 更少,重构可能性更小,出错的几率更小。要适度。可读性同等重要,你可不能这样做而使代码丧失可读性。

7. 为优雅的代码而努力

优雅的代码非常的易读,只用手边很少的代码、让机器做很少的运算就能解决问题。在各种环境中都做到代码优雅是很难的,但经过一段时间的编程,你会对优雅的代码是个什么样子有个初步的感觉。优雅的代码不会通过重构来获得。当你看到优雅的代码是会很高兴。你会为它自豪。例如,下面就是一个我认为是优雅的方式来计算多边形面积的方法:

static public double GetConvexPolygonArea (Vector2[] vertices)
{
    double area = 0;
    for (int i = 0; i < vertices.Length; i++)
    {
        Vector2 P0 = vertices[i];
        Vector2 P1 = vertices[(i + 1) % vertices.Length];
        area += P0.Wedge (P1);
    }
    return area / 2;
}

8. 编写不言自明的代码

勿庸置疑,注释是编程中很重要的一部分,但能够不言自明的代码更胜一筹,因为它能让你在看代码时就能理解它。函数名变量名要慎重选择,好的变量/方法名字放到语言语义环境中时,不懂编程的人都能看懂。例如:

void DamagePlayer (Player player, int damageAmount)
{
    if (!player.m_IsInvincible && !player.m_IsDead)
    {
        player.InflictDamage ( damageAmount );
    }
}

能自我说明的代码不能代替注释。注释是用来解释“为什么”的,而自我说明的代码是来描述“是什么”的。

9. 不要使用纯数字

直接把数字嵌入代码中是一种恶习,因为无法说明它们是代表什么的。当有重复时更糟糕——相同的数字在代码的多个地方出现。如果只修改了一个,而忘记了其它的。这就导致 bug。一定要用一个命名常量来代表你要表达的数字,即使它在代码里只出现一次。

10. 不要做手工劳动

当做一系列动作时,人类总是喜欢犯错误。如果你在做部署工作,并且不是一步能完成的,那你就是在做错事。尽量的让工作能自动化的完成,减少人为错误。当做工作量很大的任务时,这尤其重要。

11. 避免过早优化

当你要去优化一个已经好用的功能代码时,你很有可能会改坏它。优化只能发生在有性能分析报告指示需要优化的时候,通常是在一个项目开发的最后阶段。性能分析之前的优化活动纯属浪费时间,并且会导致 bug 出现。

好吧,我说是 10 个,但你却得到了额外赠送的一个!

这些就是我要说的,我希望它们能帮助你改进编程开发过程。

下次再见!祝快乐!

Cheers, Paul.

摘自:http://kb.cnblogs.com/page/168183/

你真想到了50岁还靠编程来养家糊口吗?

摘自:http://kb.cnblogs.com/page/161488/

发布时间: 2013-01-11 12:05  阅读: 13736 次  推荐: 44   原文链接   [收藏]

will-code-html-for-food

英文原文:Do you really want to be making this much money when you’re 50?

老实说,我在 20 岁时可没打算这样。我编程就是为了挣钱。只要编程还能挣钱,我就愿意一直这样挣下去,差不多就是这样。

到了 50 岁时你觉得你还能做什么?你能找出一个远离编程但符合下列要求的职业吗?:

  • 需要很少或不需要任何的教育程度
  • 报酬高——即使是水平一般的人
  • 无数的岗位需求
  • 不需体力劳动
  • 没有健康安全或违法的风险

编程挣钱很容易。编程这个行业门槛低,但却极难退出。什么行业能替代?

我有 3 个律师同事——两个后来成为了程序员,一个成为了项目经理。我还没有遇到过有程序员变成律师的。我知道一个工程师——不是程序员——他后来变成了专利律师(据说的原因:“一定程度上,你会非常讨厌那些跟你的孩子年岁相仿的经理”)。你想在你 50 岁时做一名专利律师吗?

我认识一个经理,他说他更想当一名学校教师,认为这样的工作对社会更有价值。但他干了 8 个月后就辞职了,在主流报纸采访他的告别会上他说:“有时候我甚至想带一挺机关枪进教室,端起来扫射”。他现在给韩国三星工作,他感觉他的在智能手机摄影技术上的贡献已经充分的长久的使社会受益了。

我的一位同事近来一直在学习大量的知识。他有心理学和一种叫做虚拟剧院(Visual Theater)的学位。他业余时间一直在编程,靠编程来补济他的学费。他的编程工作也成了他的视觉效果工作的一部分(跟电脑声效相关)。他的编程最终也可能会资助他的艺术工作。我不能想象他某一天会退出编程。

我曾看到过很多人的“退出”,有的是学习物理的,有的是学习哲学的,他们最终转向了编程工作。金钱是有吸引力的。当然,除了钱,编程还能让你获得很多其它的满足——这就是为什么我要无偿的开办这个博客网站——但是,大部分的这些满足都是有源动力的——直接或非直接的,大部分的还是和金钱相关的。“开发有用的东西”和“挣钱”是密切相关的。

当然,你也许会有一个不用发愁的财务来源。但如果没有,编程就成了你的B计划。对于物质财富,有一点我要提醒——它是很容易被拿走的。我经过了苏联时代,所以我说的会显得有些夸张——但实际上,财产很容易被没收,钞票一夜间变成废纸,并非在苏联是这样,美国在相似的时期也有过没收公民黄金的事情。而职业能力是不能没收的。程序员在这个时候仍然能通过自己的努力来保持良好的生计。

有人说职业编程压力太大。同样,要看跟什么相比。跟医生?律师?接听暴跳如雷的客户的电话时还要留神你的回复会被录音用作以后的检视?

什么压力?真正能编程的程序员——比如,能正确的打印出二叉树结构——是非常稀缺的。这种稀缺情况下一个真正的程序员不会任人随意摆布的。你也许能胁迫他们没有报酬的加班,但很快他们就会认识到:这是买方市场,你在虚张声势。你找不到可以替代他们的人。

在这种供不应求的局面下,每个人都能在编程职业里找到自己的空间。相较于金融/投资银行类的工作来说,编程行业竞争并不是那么激烈。 程序员通常还会有“隔离带”来防止客户和高层管理人员的侵扰——这些人永远都是对的,这使得跟这些人的交流索然无味。

工期压力?不错,这是存在的,但每个人身上都会发生。我承认,我们经常会逾期完不成任务,但这不是很有压力的事,除非自己给自己制造压力。如果你被分配了一个不可能完成的任务计划,而你也尽力了,但还是没按时完成,你可以深深自责,或者保持平和心态。事实上,你的肉体绝不会因为贻误工期而受到危险, 所以,你的反应完全取决于你自己。

有人说,程序员无法完全的把握事情的进展,无法完全的了解所有的 API,技术层面等东西。如果你不能理解自己身处的环境,这就是压力,这可不好玩。 说的很好;但是,又有谁能比一个程序员对此了解到更多呢?钻研病人内脏的大夫?翻阅法律文案的律师?监管一二十个程序员的老板?面对所有这些人为造成的复杂情况,我们仍然是境遇最好的。

事实上,超过 50 岁的程序员并不是很多。这意味着编程不是一个长久的活儿吗?更可能的原因是,这只是发展的结果。30 年前——相对于 10 年前—— 20 多岁的程序员是很少的。因此,如今 50 多岁的程序员要要比 30 多岁的程序员少的多。一定程度上编程世界的发展在慢下来,往后 20 年,事情又会变的不同。

所以,我没打算退出编程,并不是单因为它本身能带来很多乐趣,也是因为它比起其它行业来要理想的多。也许这不是最“热情的”词藻——即使热情耗尽, 贪婪永不停息。如果你打算退出编程行业,我怀疑你能找到什么更好的职业。而且,当你数年后再次回到编程领域时,我一点儿都不会惊讶。

  你真想到了 50 岁还靠编程来养家糊口吗?

BEYOND-PARADISE

词 黄贯中. 曲 黄贯中. 主唱 黄贯中.
远方 有一个地方
那里种有我们的梦想
某天 也许会相遇
相遇在这个好地方
不要太担心 只因为我相信
终会走过这条遥远的道路
OH PARA PARADISE
是否那么重要
你是否那么地遥远
OH PARA PARADISE
是否那么重要
你是否那么地遥远
可惜 我们的故乡
放不下我们的理想
好吗 想问你一下
告诉我外面的世界
不要太担心 只因为我相信
终会走过这条遥远的道路
OH PARA PARADISE
是否那么重要
你是否那么地遥远
OH PARA PARADISE
是否那么重要
你是否那么地遥远
OH PARA PARADISE
是否那么重要
你是否那么地遥远
OH PARA PARADISE
是否那么重要
你是否那么地遥远
OH PARA PARADISE
是否那么重要
你是否那么地遥远
OH PARA PARADISE
是否那么重要
你是否那么地遥远

 

我是个卢瑟,我要逆袭

编者注:HN是一个很赞的社区。有一个快30岁才破釜沉舟来创业的人,在这儿发了个帖子求祝福,下面出来个家伙逐句给以回复。原帖精彩更多,有兴趣的朋友请看这里

我一直是个梦想家。只是直到去年我才明白过来,还得感谢 HN 这个可爱的社区。我很少去尝试,就算去试了,也没能坚持。从我记事起就想着能做一笔生意或者开一家公司,但是我从来没试过——直到去年试了下,输的一塌糊涂。我总是很会想新的点子,但是从没实现过哪怕一个。

我从 17 岁开始就开始编程,不幸的是,我最开始学的是 C++。学到指针那一块时,我就决定编程还是让那些聪明人来做吧。虽然几年之后我又绕了回来继续编程,但是从来没把自己变成专家。我挺会研究一些基本层面的道理,阅读代码,折腾命令行上的代码片段,但是从来没做出过什么有价值的东西。

我的青春已然所剩无几,30 将至,这是我最后的机会来实现梦想了。 通常我都会换个小号上来发帖,但这次我不想这么做,我要对自己诚实。我要从自己的小世界中爆出来。(没错我不单是个卢瑟,还是个不合群的家伙)。

各位 HN 的朋友啊,我叫 Stefan Kueng,今年 30 岁,住在瑞士。不管怎样,这是我最后的机会了。如果有人能看到这篇帖子,祝我好运吧。

下面就是网友的逐行批注了…

我一直是个梦想家。只是直到去年我才明白过来,还得感谢 HN 这个可爱的社区。

真好!敢做梦是成功的必须条件,但是单会做梦还不够。很高兴你是我们的人。

我很少去尝试,就算去试了,也没能坚持。从我记事起就想着能做一笔生意或者开一家公司,但是我从来没试过——直到去年试了下,输的一塌糊涂。我总是很会想新的点子,但是从没实现过哪怕一个。

之所以你会卡在某个地方无法前进,是因为你太关注自己。记住了,It’s not about you. It’s about others.(做生意要关注的是别人而不是你自己)

构建伟大的产品是为了帮助别人实现他们的目标,而不是为了自己变得有多有钱或者有名,或者有谁会喜欢你,或者做出来的东西会多有趣。(好吧最后一条还是沾点边的)如果你找不到真正需要这个产品的人,当事情开始难办时你总会选择撒手不干了。找到这个人,不管他是用户或者消费者,然后去做一个他一定需要的东西。如果有人如此的需要你依赖你,你是不会让他失望的。相信我,按你现在的处境,如果能做到这点将会有很大不同。

我从 17 岁开始就开始编程,不幸的是,我最开始学的是 C++。学到指针那一块时,我就决定编程还是让那些聪明人来做吧。

总会有比你聪明的人,虽然如此你还是得去构建需要构建的产品

虽然几年之后我又绕了回来继续编程,但是从来没把自己变成专家。我挺会研究一些基本层面的道理,阅读代码,折腾命令行上的代码片段,但是从来没做出过什么有价值的东西。

别读代码了,找到该干的事情开始做吧。相信自己,也相信创造的过程。当你需要什么东西时你就知道自己需要什么了。

我的青春已然所剩无几,30 将至。

毛线。我 32 岁才开始创业。如果你是程序员,黄金时间是二十年后。

这是我最后的机会来实现梦想了。

很好,但是这绝不是你最后的机会,不过很高兴你有这份决心。

通常我都会换个小号上来发帖,但这次我不想这么做,我要对自己诚实。

很好,永远做自己吧,你还想做谁呢?

我要从自己的小世界中爆出来。(没错我不单是个卢瑟,还是个不合群的家伙)。

你不是卢瑟,把这个念头从你脑中永远的湮灭掉。真正的卢瑟绝不会像你这样完全放开。如果你是个不合群的家伙,也不算什么,挺正常的,甚至对你还有好处。最好的软件通常都是一个人写的,所以孤独不苦。

各位 HN 的朋友啊,我叫 Stefan
Kueng,今年 30 岁,住在瑞士。不管怎样,这是我最后的机会了。如果有人能看到这篇帖子,祝我好运吧。

去他奶奶的好运。别想了,去干吧。我知道你想动手去做,要不然你也不会来这。

对了,Stefan,真心祝福你。放手去做吧,记得来告诉我们最新动态,如果有什么不爽的不要灰心,来这儿重新找找灵感、鼓励和指引,我们永远在这儿。

摘自 http://www.36kr.com/p/201960.html

拯救异地恋!台湾公司Winzz推虚拟性爱用具LovePalz


情侣相处异地难免空虚寂寞。肿么办呢?现代人真是会想办法。这不,台湾的一家叫 Winzz 的创业公司就把性爱用具和移动应用联系到了一块。一个假阳具给女方,一个假阴道给男方,施与的力道和感受则通过 app 连接传递给对方的性爱用具。再配上双方视频,几乎和真实性爱没太大差别了。

为了模拟真实性爱,Winzz 公司的性爱用具 LovePalz 算得上是质量上乘。假阳具和假阴道都有一个希腊名字分别叫 Hera 和 Zeus。两者铝合金外壳做保护,里面是硅胶材质。另外两者还都配置了多个压力和速度传感器,方便将其所受的冲撞精确的传递给对方。更妙的一点是,Hera 还有一个充气泵,能够根据男方的冲撞力道变得越来越大。而 Zeus 也由于充气泵能够越缩越紧。可以说能想到的法子 Winzz 都使上了。

冲撞和被冲撞的感受是如何传递给对方呢?目前是通过用户在LovePalz网站上进行设置,匹配设备号。而不久之后相应的 iOS 应用也会上架。

LovePalz 的预售始于去年 9 月,当时是打折价格,一套 94.95 美元。预售开始两个月之后,Winzz 公司就表示已经接到了 5000 个订单。而截至到今年 2 月 28 日为止,LovePalz 已经卖出 1800 套。现在预售打折已经结束,LovePals 的每套售价调整为 189 美元,预计 3 月 29 日正式发售。

当然,LovePalz 除了是为异地情侣准备之外,我想还有一大群用户必定是网络约炮用户。性爱需求人人都有,你情我愿也无可厚非。除了 LovePalz 之外,最早的远程网络性爱用具要数 2007 年推出的Virtual Hole and Stick。另外HighJoyRealTouch也是类似产品。

摘自  http://www.36kr.com/p/201974.html

五月天 – 星空

摸不到的颜色 是否叫彩虹

看不到的拥抱 是否叫做微风
一个人 想着一个人 是否就叫寂寞

命运偷走如果 只留下结果
时间偷走初衷 只留下了苦衷
你来过 然后你走后 只留下星空

那一年我们望着星空
有那么多的灿烂的梦
以为快乐会永久 像不变星空 陪着我

猎户 天狼 织女光年外沉默
回忆 青春 梦想何时偷偷陨落
我爱过 然后我沉默 人海里漂流

那一年我们望着星空
未来的未来从没想过
当故事失去美梦 美梦失去线索
而我们失去联络

这一片无言无语星空
为什么静静看我泪流
如果你在的时候 会不会伸手 拥抱我

细数繁星闪烁 细数此生奔波
原来所有 所得 所获 不如一夜的星空
空气中的温柔 回忆你的笑容
彷佛只要伸手 就能触摸

摸不到的颜色 是否叫彩虹
看不到的拥抱 是否叫做微风
一个人 习惯一个人

这一刻独自望着星空
从前的从前从没变过
寂寞可以是忍受 也可以是享受
享受仅有的拥有

那一年我们望着星空
有那么多的灿烂的梦
至少回忆会永久 像不变星空 陪着我
最后只剩下星空 像不变回忆 陪着我

王杰-是否我真的一无所有

 

天上飞过是谁的心
海上漂流的是谁的遭遇
受伤的心不想言语
过去未来都像一场梦境
痛苦和美丽留给孤独的自己
未知的旋律又响起
是否我~真的一无所有
黑暗之中沉默地探索你的手
是否我~真的一无所有
明天的我又要到哪里停泊

多少冷漠我都尝尽
多少回忆藏在我的眼底
遥远的你是否愿意
为我轻轻点起一丝暖意
痛苦和美丽留给孤独的自己
未知的旋律又响起
是否我~真的一无所有
黑暗之中沉默地探索你的手
是否我~真的一无所有
明天的我又要到哪里停泊

是否我~真的一无所有
心中的火再没有一点光和热
是否我~真的一无所有
昨夜的梦会永远留在心中
是否我~真的一无所有
心中的火再没有一点光和热
是否我~真的一无所有
昨夜的梦会永远留在心中

 

王杰-冰冷长街

作词:王杰 作曲:Johann Ziller&Claus Lessmann
编曲:Ricky Ho
黑夜晚风 悲伤的梦
晨曦的细雨一再滴痛我
红色的眼角 渐渐积满泪水
夜间的一班车 似是痛诉
曾独个走过这冰冷长街
无奈的感叹 却想起你
淡淡的一句说话
请记住我 不要忘记
憔悴的身影 这身躯经已醉
曾试过放弃一切想独离去
但远方声音 给我深深的碎
我鼓起勇气
回头伸手想轻轻安慰
始终是艰难 眼泪落下
曾独个走过这冰冷长街
无奈的感叹 却想起你
淡淡的一句说话
请记住我 不要忘记
憔悴的身影 这身躯经已醉
曾试过放弃一切想独离去
但远方声音 给我深深的碎
我鼓起勇气
回头伸手想轻轻安慰
始终是艰难 眼泪落下
我鼓起勇气
回头伸手想轻轻安慰
始终是难过 眼泪落下
我鼓起勇气
回头伸手想轻轻安慰
始终是艰难 眼泪落下
我鼓起勇气
回头伸手想轻轻安慰
始终是难过 眼泪落下