Database migrations done right - Michael Brunton-Spall



Database migrations done right - Michael Brunton-Spall

These patterns often break the change into multiple database and application deployments. For example, the pattern of adding a non-nullable column to a database schema could require:

  1. schema change to add a nullable column
  2. update the software to write to the nullable column and handle nulls on read
  3. perform data migration to update the null columns to have the correct data
  4. execute a schema change to set the column to not-nullable
  5. remove the null-handling code from the app

If you can execute schema changes or deploy code around once a week or fortnight, then executing that process could take you two months. If you can make these changes hours or minutes apart, then this is a couple of days work for a developer at most.

The application of these patterns requires understanding that you need to make very small changes, each released to live as fast as possible and with as quick feedback as you can get.

We can apply all of the database refactoring patterns by following one pretty simple principle:

Every change you make must be backward compatible with the rest of the system

So looking back at our add non-null column change we can identify it like this:

  1. Add nullable column to database – System keeps adding rows, nulls are fine, reads ignore the null
  2. Code change to write correct value to new rows, and handle reading unexpected nulls – Database doesn't change, now we have some null rows and some rows with data
  3. Run data migration to fill the other columns – This might be a script, or a bit of code in the application, either way your app doesn't care about any row, it handles data and nulls just fine
  4. Add the non-null constraint – The database now has no nulls and your new code is writing the correct data.
  5. Remove the code that handles the null case – it won't happen anymore.


Read full article from Database migrations done right - Michael Brunton-Spall


U.S. shale's message for OPEC: above $40, we are coming back | Reuters



U.S. shale's message for OPEC: above $40, we are coming back | Reuters

Mon Feb 29, 2016 | 2:28 PM EST U.S. shale's message for OPEC: above $40, we are coming back The logo of the Organization of the Petroleum Exporting Countries (OPEC) is pictured at its headquarters in Vienna, Austria, August 21, 2015. Reuters/Heinz-Peter Bader By Devika Krishna Kumar NEW YORK (Reuters) - For leading U.S. shale oil producers, $40 is the new $70. Less than a year ago major shale firms were saying they needed oil above $60 a barrel to produce more; now some say they will settle for far less in deciding whether to crank up output after the worst oil price crash in a generation. Their latest comments highlight the industry's remarkable resilience, but also serve as a warning to rivals and traders: a retreat in U.S. oil production that would help ease global oversupply and let prices recover may prove shorter than some may have expected. Continental Resources Inc (CLR.N), led by billionaire wildcatter Harold Hamm, is prepared to increase capital spending if U.S.

Read full article from U.S. shale's message for OPEC: above $40, we are coming back | Reuters





Read full article from


Trump, Clinton dominant as Super Tuesday looms - CNNPolitics.com



Trump, Clinton dominant as Super Tuesday looms - CNNPolitics.com

Trump, Clinton dominant as Super Tuesday looms Jennifer Agiesta, CNN Polling Director Updated 10:39 AM ET, Mon February 29, 2016 JUST WATCHED Story highlights Donald Trump and Hillary Clinton are poised to lead the nation's two major parties in this fall's presidential election A new nationwide CNN/ORC poll finding each well ahead of their closest competitors (CNN) Donald Trump and Hillary Clinton are poised to lead the nation's two major parties in this fall's presidential election, with a new nationwide CNN/ORC poll finding each well ahead of their closest competitors just as the race expands to a national stage. Trump has expanded his lead over the diminished field to capture the support of nearly half of Republican voters, while Clinton tops Sanders by nearly 20 points. On the Republican side, the new survey finds Trump's lead is dominant, and his support tops that of his four remaining opponents combined. The businessman tops his nearest competitor by more than 30 points:

Read full article from Trump, Clinton dominant as Super Tuesday looms - CNNPolitics.com


功成名就的大公司也有不为人知的黑暗史_网易科技



功成名就的大公司也有不为人知的黑暗史_网易科技

像LinkedIn、Reddit还有Airbnb这样的知名企业都曾因为采用"非正常手段增加网站或产品运营数据"(即科技初创公司采用的市场营销专用术语Growth Hacking)而一时间臭名远扬。我们喜爱的一些企业在早期发展阶段都可谓是无所不用其极。他们欺骗过你、给你发送垃圾邮件并且恶意中伤自己的竞争对手。还有一些公司甚至曾经被起诉过

严格来说,大部分采取非正常手段来增加网站或产品运营数据的公司都是合法的,但却濒临道德底线。一些采用Growth Hacking策略的公司成功了,企业价值达到数十亿美元。而有些公司则因此失去了用户的信任,很快淡出了科技公司的舞台。

下面是一些通过欺骗手段才到达如今地位的公司。但在我们深入了解之前,我要解释一下"草率之举"和"应急之策"这两者的区别,我会用这两个词来区分下面这些公司的所作所为。当然,这一点仁者见仁智者见智,大家可以保留自己的看法。

草率之举=有害的、不值得信任的、可疑的甚至提不上台面的。

应急之策=利用有限资源来达成目标、未损害他人利益、略微变通了一些规则。

全球最大的公共论坛Reddit曾创建了马甲号并用这些账号在自己的论坛上发言。 这就让团队决定了Reddit未来的发展方向。随着真实用户的增加,公司朝着最初的方向继续发展,此时马甲号就可以功成身退啦。

在Alexa世界排名中,Reddit名列全球网站流量的前100名。

从市场的角度看,Reddit需要为早期用户提供价值。没有用户,那平台就是无用的。最终,在没有影响其他人利益的情况下,Reddit采取了最有成效的行动。

所以,这是应急之策。

Paypal

在线支付先驱PayPal写了一个机器人,让其在eBay上进行购物,然后用PayPal付款。当PayPal成为通用付款方式之后,eBay以15亿美元收购了PayPal。

公司需要向eBay证明自己的价值,而上述行为恰恰满足这一要求。在没有损害任何用户利益的情况下,PayPal采取了非常手段,略微违反了规则。

这是应急之策。

Tinder

像Tinder一样的约会网站也会创建马甲号来迎合用户需求。这为Tinder带来了首批1000名用户。不到四年时间,Tinder公司估值已经达到50亿美元。

和Reddit一样,你需要用户来证明Tinder在市场上的价值。但Tinder创建的这些虚假账号,对于那些渴望交友的大学生来说无异于是欺骗性行为,这让他们以为自己是和现实中的帅哥美女聊天。尽管严格意义上,Tinder这一举措并不违反任何"规则",但光从公司为了用户增长而用创建马甲号欺骗用户这一点而言,我认为这一举措多多少少还是有些不道德的。

所以,草率之举。

Airbnb

共享经济下的租房服务Airbnb写了一个机器人。它可以自动检测发布到其竞争对手Craigslist的新招租信息,然后模拟成客户给屋主"留言",推荐Airbnb的服务。他们将从Craigslist那里窃取的用户变成自己网站的用户,这就导致了Airbnb早期疯狂的业务增长。在最初的爆炸式增长之后,Airbnb现在的估值大约在240亿美元。

Airbnb窃取竞争对手用户的行为可谓是非常不道德,但它并没有伤害其他人的利益或是欺骗自己的用户。

这介乎草率之举与应急之策之间。

Facebook

Facebook拥有哈佛所有学生的电子邮箱,并利用垃圾邮件向学生大力宣传Facebook。该平台很快传播到了不同的大学,最终为Facebook带来了12亿用户。

尽管我认为Facebook是全球最具价值的网站之一,但未经用户允许就发送垃圾邮件这一点实在是太损。没有人喜欢收到垃圾邮件。这一点无一例外。

Facebook真正要做的是获得顾客允许,而不是顾客的原谅。

所以,草率之举。

现今已经倒闭的社交网站MySpace曾向1亿个电子邮件地址发送垃圾邮件,宣布MySpace社交平台的推出。

和Facebook一样,没有人喜欢收到垃圾邮件。

所以,草率之举。

Glide

实时视频信息应用Glide给用户的联系人发送垃圾短信,诱使他们下载这款应用。

这也是我讨厌下载消费者应用的主要原因。我几乎不怎么使用Glide,但它未经我的允许,就给我通讯录上的所有人发送了短信。

这是草率之举。赶紧删除这款应用。

BitTorrent

Bram Cohen(他编写了软件BitTorrent)收集了一批免费的色情文件,用其来吸引BitTorrent的最后测试者。在这之后,文件分享软件BitTorrent才正式推出。

「草率之举or应急之策?」

年轻男性对女性裸体向来没有抵抗力,但BitTorrent的这一行为实在是让我有些不耻提起。

草率之举。

YouTube

YouTube的创始人开发了一个功能,可以让视频观看者向朋友的邮箱发送关于视频的垃圾邮件。早期,YouTube也曾因为侵犯版权和采用盗版视频的问题而"声名远扬"。

发送垃圾邮件=草率之举

Salesforce

云计算公司Salesforce雇佣水军去扰乱他们最大竞争对手的会议。接着,创始人包下会场附近所有的出租宣传自家产品。

Salesforce并没有辜负任何人的信任,并且采用了智取的方式战胜其竞争对手。不过他们这种人为破坏确实有些提不上台面。

姑且算作是草率之举与应急之策兼而有之吧。

LinkedIn

职业社交网站LinkedIn从用户那里骗取到了联系人信息并邀请联系人加入此平台。不过用户们可不买账,甚至发起了声势浩大的起诉。

尽管公司估值降低了110亿美元,但LinkedIn仍是最具影响力的职业社交网站,拥有4亿用户。

即便法律允许,LinkedIn的这一行为也实在是太过轻率。最让我闹心的事情是我的同事收到了一封来自我发送的垃圾邮件邀请,但我却对此毫不知情。

草率之举。

Amazon

亚马逊的首席执行官Jeff Bezos想从经销商那里买一本书,不过经销商却要求十本起售。但Jeff Bezos成功发现了一个漏洞:他选择购买一本客户订购的书,外加九本没有任何一个经销商可以提供相关书籍。于是经销商只能乖乖运送那一本客户想要的书,并且要对无法提供另外的书这件事表示歉意。

这也许是本文中最清白的行为了。Bezos设法获得了自己想要的东西,并且不触犯法律。如果我将这件事告诉我母亲,她很有可能会被逗乐。

所以,应急之策。

必应

微软的必应偷窃 Google 的搜索结果,据为己有并且否认一切。

微软起先抄袭苹果,如今他们又试图对谷歌"如法炮制"?拜托,谷歌的团队一直以来都致力于搜索服务。如今,你窃取别人的成果并且还被抓包了,赶紧自动承认、别丢人了。

窃取和撒谎实在有些不道德。

这是草率之举。

Oracle将他们的第一代软件重命名为"Version 2",这是因为他们觉得顾客更喜欢购买"改善版"的产品。Oracle如今价值2000亿美元。

这也是无害之举。他们并没有侵犯其他人的利益,不过这却有些欺骗顾客。

这是应急之策。

Zenefits

在线人力资源软件公司Zenefits曾采用了一种欺诈性的软件程序帮助想要成为保险代理人的销售人员完成52小时的法律规定培训时长。用户使用这款程序就可以直接跳过强制完成的培训课程,直接进入证书签发环节。

确实,强制培训的52小时也许可以被用来做更有用的事情。如果这些课程不是那么无聊,我想雇员也会认真上课的。所以我并不责怪团队的所作所为,但这确实对于那些信任Zenefits人力资源政策的用户造成了伤害。

这是草率之举。

Rap Genius

歌词众包网站Rap Genius采用了饱受争议的SEO策略。这种老的SEO(搜索引擎优化)技巧是这样的:Rap Genius想成为用户搜索歌词的第一门户网站,为提高其搜索排名,它需要在私人博客上建立Rap Genius流行歌曲页面的链接。如果一个博客只是根据字面意思将这些链接放在文章末尾,没有上下文衔接,不与相关文章关联,这种链接就被称为"不自然的"。不自然链接违反了谷歌的链接政策。

在谷歌网络垃圾负责人Matt Cutts调查了Rap Genius的所作所为之后,将其从所有搜索结果中删除了。


Read full article from 功成名就的大公司也有不为人知的黑暗史_网易科技


What Makes A Great Programmer? - Treehouse Blog



What Makes A Great Programmer? - Treehouse Blog

I remember it like it was yesterday. It was the year 2000, Dr. Pargas was standing at the front of our data structures class talking about some data structure-y topic while an SSH session was projected on the wall in front of us. Someone asked a question, and he said something along the lines of "Well, if you want to be a real computer scientist you need to start using vi". I think he was smiling as he said it, and in hindsight his statement wasn't even slightly true, but being young and easily influenced like I was I went back to my dorm room and immediately took up training myself how to use vi. It was rough going for quite a while, but once I started to get the hang of things I realized that I could work really quickly in vi.

Flash forward 6 years, and I was enamored with TextMate. I was working a job doing Java development, but at the same time learning Rails and working on Rails projects in my spare time. It felt like every article I read and screencast I watched was demonstrating how to accomplish text editing zen with TextMate. The fact that I was using Eclipse every day was filling me with nerd rage. So I bought a Mac and within 10 minutes of turning it on had purchased TextMate.


Read full article from What Makes A Great Programmer? - Treehouse Blog


优秀程序员之道:深入理解你的代码 �C 码农网



优秀程序员之道:深入理解你的代码 �C 码农网

首先,你得知道理解代码的能力取决于三个方面:

  1. 知识――解决问题所需要的模块
  2. 链接――模块之间的胶水
  3. 假设――形成链接的工具

所以很显然,提高编程能力需要更全面的方法途径。

1.获取更多的一般知识

既然理解代码的能力依赖于现有知识与问题之间的匹配数量,那么由此我们可以推出,掌握的知识越多,成功的可能性越大。

作为程序员,我们很有必要花费大量的时间来获取新知识。并且我们需要关注的,更多的是原理而不是技术。

考虑到这一点,让我们来看看我们需要囊括其中的一些知识:

语言的具体知识

语言的具体知识是许多开发人员关注的重点。

了解语言和框架的底细。去了解API和语言结构,寻找陌生语言的不同之处,知道内部的工作原理。

通常有很多课程和信息有助于我们掌握这方面的知识。

这类知识的问题是,不断地会有新知识出现。新框架、语言的新版本……并且,时间越久,这方面的知识就越不值钱。


Read full article from 优秀程序员之道:深入理解你的代码 �C 码农网


How to Pass Back from sovrn to AdSense



How to Pass Back from sovrn to AdSense

One question we often hear from publishers is, "How can I use sovrn while still using AdSense?"

Our answer? Have sovrn pass back to AdSense. That way you can leverage sovrn's premium, high-CPM campaigns while using AdSense to fill 100% of the remaining inventory.

You can set up an AdSense passback the same way you would with any network. Here is a step by step guide for anyone who hasn't installed a passback before.


Read full article from How to Pass Back from sovrn to AdSense


Recent incidents like Dallas rape cases raise question: Which is safer, Uber or taxi? | | Dallas Morning News



Recent incidents like Dallas rape cases raise question: Which is safer, Uber or taxi? | | Dallas Morning News

The Scoop Blog Recent incidents like Dallas rape cases raise question: Which is safer, Uber or taxi? From wire and staff reports The deadly shooting rampage in Kalamazoo, Mich., renews the question that has dogged Uber and other taxi competitors: Their rides may be cheaper and more convenient than cabs', but are they as safe? It's not just whether Uber's part-time drivers are better or worse than cabbies behind the wheel. It's a matter of whether riders fear they may fall victim to crimes. Last summer, a Dallas woman accused an Uber driver of raping her after he drove her to her home in west Oak Cliff. A few months later, Dallas police arrested a driver with Lyft — another app-based ride-sharing service — for allegedly raping a woman he picked up in Uptown. In the Dallas Uber case, the company has said that it "mistakenly" issued driver's privileges to rape suspect Talal Ali Chammout.

Read full article from Recent incidents like Dallas rape cases raise question: Which is safer, Uber or taxi? | | Dallas Morning News


Congresswoman quits Democratic National Committee, endorses Bernie Sanders | Reuters



Congresswoman quits Democratic National Committee, endorses Bernie Sanders | Reuters

Congresswoman quits Democratic National Committee, endorses Bernie Sanders U.S. Representative Tulsi Gabbard (D-HI) speaks after being awarded a Frontier Award during a ceremony at the Kennedy School of Government at Harvard University in Cambridge, Massachusetts November 25, 2013. Reuters/Brian Snyder + Democratic U.S. presidential candidate Bernie Sanders speaks to supporters at a campaign rally in Rochester, Minnesota February 27, 2016. Reuters/Brian Snyder + WASHINGTON (Reuters) - Democratic National Committee Vice Chair Tulsi Gabbard resigned from her post on Sunday to endorse Democratic presidential candidate Bernie Sanders, following months of rising tensions within the group. "I think it's most important for us, as we look at our choices as to who our next commander in chief will be, is to recognize the necessity to have a commander in chief who has foresight, who exercises good judgment," Gabbard, a U.S. representative for Hawaii, said on NBC's "Meet the Press." Gabbard,

Read full article from Congresswoman quits Democratic National Committee, endorses Bernie Sanders | Reuters


Wow! These 25 Celebs Are Aging Horribly - WorldLifestyle



Wow! These 25 Celebs Are Aging Horribly - WorldLifestyle


Read full article from Wow! These 25 Celebs Are Aging Horribly - WorldLifestyle


The Walking Dead Season 6 Episode 11: Knots Untie | Comicbook.com



The Walking Dead Season 6 Episode 11: Knots Untie | Comicbook.com

or sign in with your ComicBook ID: Email Password Login Brandon Davis The Walking Dead airs its latest episode tonight, the tenth of season six, titled, "Knots Untie." The official synopsis for Knots Untie reads, "After Rick comes to the realization that Alexandria might not be as safe as he thought, decisions must be made about where to go from here." Last week, we left off with Rick and Michonne being startled in bed together by their captive, Paul "Jesus" Rovia freeing himself and marching right in. This week, Jesus will lead Rick's group outside of the Alexandria Safe-Zone in the direction of his community, but there's no telling if he is a man of his word or one of Negan's men, similar to those Daryl, Abraham, and Sasha encountered earlier (unless you read the comics). Do you think Jesus is a good guy who is really here to help or is he luring Rick and the group into a trap? The Walking Dead airs Sundays at 9 PM ET on AMC. Author Sign in with your Comicbook.

Read full article from The Walking Dead Season 6 Episode 11: Knots Untie | Comicbook.com


Baidu Browser Found to be Leaking Personal User Data



Baidu Browser Found to be Leaking Personal User Data

Click "Add Devices" to add your devices for quick access here! Baidu Browser found to be Leaking Personal User Data – What it means for you You've probably heard of Baidu before. Known somewhat as China's Google (though that may change if  Google finally decides to re-enter the market this year) , the mammoth search engine giant /advertising platform/ online encyclopedia  has dabbled in developing numerous applications designed around its service ecosystem for both Android  and Windows  (much like Google). These apps have millions of users, most of whom are located in China, but as evidenced by the  install count  of Baidu Browser and other apps on the Play Store, there are a lot of users outside of China as well. Which makes a recent report from Toronto's Citizen Lab  all the more worrying. According to the group, Baidu Browser has been caught leaking sensitive personal information from its users.

Read full article from Baidu Browser Found to be Leaking Personal User Data


Code Review中的几个提示 | 酷 壳 - CoolShell.cn



Code Review中的几个提示 | 酷 壳 - CoolShell.cn

  1. Code reviews 中,可以通过大家的建议增进代码的质量。
  2. Code reviews  是一个传递知识的手段,可以让其它并不熟悉代码的人知道作者的意图和想法,从而可以在以后轻松维护代码。
  3. Code reviews 也鼓励程序员们相互学习对方的长处和优点。
  4. Code reviews 也可以被用来确认自己的设计和实现是一个清楚和简单的。

你也许注意到了在上面的Code Reivew中的诸多用处中,我们没有提到可以帮助找到程序的bug和保证代码风格和编码标准。这是因为我们认为:

  1. Code reviews 不应该承担发现代码错误的职责。Code Review主要是审核代码的质量,如可读性,可维护性,以及程序的逻辑和对需求和设计的实现。代码中的bug和错误应该由单元测试,功能测试,性能测试,回归测试来保证的(其中主要是单元测试,因为那是最接近Bug,也是Bug没有扩散的地方)
  2. Code reviews 不应该成为保证代码风格和编码标准的手段。编码风格和代码规范都属于死的东西,每个程序员在把自己的代码提交团队Review的时候,代码就应该是符合规范的,这是默认值,属于每个人自己的事情,不应该交由团队来完成,否则只会浪费大家本来就不够的时间。我个人认为"meeting"是奢侈的,因为那需要大家在同一时刻都挤出时间,所以应该用在最需要的地方。代码规范比起程序的逻辑和对需求设计的实现来说,太不值得让大家都来了。

10年前,上面这两件事会是理所当然的(10年前的中国的软件开发还没有Code Reivew呢),今天,在中国的很多公司上面这两件事依然被认为是Code Reivew最重要的事,所以,我能够看到很多开发Team抱怨Code Review就是一个形式,费时费力不说,发现的问题还不如测试,而评审者们除了在代码风格上有些见术,别的也就没什么用了,长而久之,大家都会开始厌烦这个事了。

所以,在今天,请不要把上面的那两件事分散了Code Review的注意力,取而代之的是,对于Bug,程序的作者要在Review前提交自己的单元测试报告(如:XUnit的测试结果),对于代码规范,这是程序作者自己需要保证的,而且,有一些工具是可以帮你来检查代码规范的。


Read full article from Code Review中的几个提示 | 酷 壳 - CoolShell.cn


Airbnb的数据基础架构 | 36大数据



Airbnb的数据基础架构 | 36大数据

第1部分:数据基础设施的背后哲学 了解我们数据基础设施的一些非正式理念: 确保它能够扩展:我们发现数据与业务不是线性增长,但随着技术员工建立新的产品和在业务采取新方式后,将超线性增长。 留有一定的余量:我们超额认购资源如集群,促进探索的文化。对基础设施团队实现资源利用最大化还高兴的太早,但我们的假设是,在存储中发现了一个新的商业机会将抵消了这些额外的机器费用。 第2部分:基础设施概况 这里数据源包含用户的活动事件数据和快照源数据,发送到"金"集群存储,并开始运行我们的提取,转换和加载(ETL)。在此步骤中,我们针对业务逻辑,汇总表格,并执行数据质量检查。 在上面的图中,有"金"和"银"两个独立集群,我们将在后面详细描述。分离原因是保证计算和存储资源的隔离,如果一个挂了可以做灾难恢复。这种架构提供了一个理想环境,最重要的工作严格保障SLA(服务保证协议),避免资源密集型即席查询的影响。我们把'银'集群作为一个生产环境,但是放宽保证,可以承受资源密集型查询。 通过两个集群我们获得隔离力量,在管理大量的数据复制并维持动态系统之间有同步的成本。"金"是我们的真正来源,我们将复制"金"数据的每一位到"银"。"银"集群上生成的数据不会被复制回"金",所以你可以认为这是"银"作为一个超集集群,是单向复制方案。因为我们的很多分析和报告从"银"簇发,当"金"有新数据产生,我们尽快复制它到"银",去保证其他工作刻不容缓运行。更关键的是,如果我们更新预先存在的"金"集群上的数据,我们必须小心的更新并同步传播给"银"。这种复制优化问题并没有一个开源的很好解决方案,所以我们建立了一套新的工具,我们会以后更详细地介绍。 我们改进HDFS已经取得了很大效果,并更准确地用Hive管理表,作为我们中心源的数据。仓库的质量和完整性取决于数据不变的,继承数据可通过重新推导计算的 �C 使用分区Hive表对这个目标非常重要。此外,我们不鼓励数据系统的扩散,不希望维护单独的基础设施,比如我们的源数据和我们终端用户报告。根据我们的经验,这些中间系统混淆真理的来源,增加ETL的管理负担,难以跟踪从原始数据一路上来自的迭代指标。我们不跑Oracle,Teradata,Vertica,Redshift等,而是使用Presto对所有Hive管理的表做即席查询。我们都希望在不久的将来,联通Presto和Tableau。

Read full article from Airbnb的数据基础架构 | 36大数据


Friday Box Office: 'Deadpool' Tops 'Captain America 2' As 'Star Wars' Falls Out Of Top 10



Friday Box Office: 'Deadpool' Tops 'Captain America 2' As 'Star Wars' Falls Out Of Top 10


Read full article from Friday Box Office: 'Deadpool' Tops 'Captain America 2' As 'Star Wars' Falls Out Of Top 10


Forbes Welcome



Forbes Welcome


Read full article from Forbes Welcome


Manifesto for Software Craftsmanship 软件匠艺宣言 >> Topics >> 中国软件匠艺小组



Manifesto for Software Craftsmanship 软件匠艺宣言 » Topics » 中国软件匠艺小组

As aspiring Software Craftsmen we are raising the bar of professional software development by practicing it and helping others learn the craft.
作为有理想的软件工匠,我们一直身体力行,提升专业软件开发的标准,并帮助他人学习此工艺。

Through this work we have come to value:
通过这些工作,我们建立了如下价值观:

Not only working software, but also well-crafted software
不仅要让软件工作,更要 精益求精

Not only responding to change, but also steadily adding value
不仅要响应变化,更要 稳步增加价值

Not only individuals and interactions, but also a community of professionals
不仅要有个体与交互,更要 形成专业人员的社区

Not only customer collaboration, but also productive partnerships
不仅要与客户合作,更要 建立卓有成效的伙伴关系

That is, in pursuit of the items on the left we have found the items on the right to be indispensable.
也就是说,左项固然值得追求,右项同样不可或缺。


Read full article from Manifesto for Software Craftsmanship 软件匠艺宣言 » Topics » 中国软件匠艺小组


Code Reviews Can Make or Break Your Team -- The Startup -- Medium



Code Reviews Can Make or Break Your Team — The Startup — Medium

“Ugh, another code review” ~ Alice

First, she has to set up a meeting. At the meeting, everyone sits around a table. Bob points out that Alice’s variable names are 1 char too long for the naming convention. Jake says Alice needs to use a 2 space not 3 space tab stop. Heather points out that there are 3 spelling mistakes in the code comments and she shouldn’t be ending her sentences with a preposition. No one notices that Alice is passing unsanitized SQL straight to the database.

Many people fear reviews because of this

I recently wrote a surprisingly popular article on a method I’ve used to eliminate bad tech hires. [TL;DR pay candidates to do a simple, self contained project and then do a review of the project as if they were a team member]. Most of the questions about it revolved around 2 central themes : what the review process should be, and the mechanics of administering the problem.

In this article I’m going to tackle the review process by discussing what a good code review should look like. I’ll be mostly discussing the internal review process. Since you should be using the same process for the coding challenge review, the rules apply to both.


Read full article from Code Reviews Can Make or Break Your Team — The Startup — Medium


How to Land the Right Tech Job for You



How to Land the Right Tech Job for You

I think there's something to the saying that "the best jobs aren't advertised". That said, most tech companies want to hire great talent. They tend to leave job postings up even when they're not looking, just in case someone comes along.

Sites I've used:

  • Hacker News - Who's Hiring?: Posted on the first of each month. I like that it gives you a direct line to someone who works at the company. It feels more personal than most job postings.
  • Glassdoor: Glassdoor also lets you read reviews from employees at different companies. As with all internet reviews, take what you read with a grain of salt.
  • Angel List: Mostly for startups. I applied to a few companies through here but did not find any good fits.
  • Stack Overflow Careers: Pretty good and easy to browse. It's how Stack Overflow supports itself, so worth a look I think.
  • Triplebyte: A startup / recruiting company. If you pass their interviews, they'll help you apply to YCombinator startups. That currently means you can bypass the application and initial phone screen. I think it's good to practice for technical interviews and this offers a low-risk way to do that.

If you'd like to work remote:

Look into local options

Larger companies have satellite branches that may be an option for you, if you'd prefer not to move. For example, Microsoft and Google have satellite branches in Los Angeles. Companies such as Snapchat, Tinder, and Riot Games have their headquarters in LA as well. You may find some surprises if you look around.

Configure LinkedIn to work for you

Coworkers may notice changes to your job description or personal details if LinkedIn broadcasts them. You'll want to turn off your activity notifications.

If you'd like to move, set your city to the place you'd like to go. Recruiters tend to search in the company's local area for talent. I worked with someone that did this and it led him to a new job. He didn't get help with relocation but many companies offer that as well.

Finally, review what you have on your profile and see if it reflects the kind of job you want next. Do you list QA-related skills but want to build web application APIs? Reorganizing your profile can help present a clear picture of where you want to go. In addition, it may attract opportunities that better fit your goals.

Attend local meetups

Whatever your interest in tech, you can find a local Meetup group for it. Attending them has several positives:

  • It's a great way to find other places to apply. Companies host meetups to attract candidates, foster good will, and promote their engineering culture. As a job seeker, those all work in your favor.

  • You can talk with other developers in your community, which has its own benefits. It exposes you to different technical perspectives. Other people may also be willing to share what it's like to work at their company. Finally, I've made a few good friends through meetups.

  • You may pick up new ideas from meetup presenters, which you can discuss in interviews.

  • If you'd like to improve your public speaking skills, meetups allow you to practice. Presenting at meetups can make you feel like you're an expert in some area and deepen your knowledge. During interviews, I felt more comfortable talking about topics I presented.

Application Preparation

Let's say you found a few places to apply. What's next?

Update your resume

Organize your resume to what you want to do, as with your LinkedIn profile earlier. Keep it short. Focus it on what you achieved at previous positions rather than your responsibilities. For example:

  • "Responsible for database management with MySQL and Percona." - ok
  • "Optimized query times for 10 most common queries yielding 30% improvement in MySQL performance." - better

This article has a set of recommendations in it as well.

I once applied for a tech job at a company that serves the film industry. I had experience as a film colorist and left it on my resume because I felt it would be relevant. I got questioned about it at every single interview. It usually went like this:

Them: "Are you sure you don't want to be a colorist?"

Me: "Yes, that's why I'm applying here!"

Them: "You mean you don't want to work in the film indstry?"

Me: -places face in palm-

I hope that does not happen to you. If you craft your resume so that you're putting the most relevant skills on it, I think you'll do fine.

If you have questions about your resume, you can send it to me and I'll offer some feedback as well.


Read full article from How to Land the Right Tech Job for You


MIT经典计算机课程:计算思维及数据科学导论| 编程派 | Coding Python



MIT经典计算机课程:计算思维及数据科学导论| 编程派 | Coding Python

昨天,我们在农民自制黑科技:无人驾驶拖拉机一文中提到,一位农民通过学习MIT的计算机网络课程6.00.1x,成功开发出了无人驾驶拖拉机的故事。今天,我与大家分享这套课程的第二部分,也就是6.00.2x,课程名称叫作《计算思维及数据科学导论》,使用的授课语言同样是Python。

在6.00.2x这门课中,你将学会如何使用计算,来完成一系列不同的任务。想要轻松跟上这门课程,你需要对Python编程语言和计算复杂度(computational complexity)有一定的了解。

这门课比较注重实战,你会跟着授课老师一起编写程序,实现课程中所讲的那些概念。举个例子,你需要学习开发一个模拟吸尘器机器人程序。


Read full article from MIT经典计算机课程:计算思维及数据科学导论| 编程派 | Coding Python


极分享:高质分享+专业互助=没有难做的软件+没有不得已的加班



极分享:高质分享+专业互助=没有难做的软件+没有不得已的加班

  Black Duck 在 2015 年的一项调查发现,78% 的企业组织使用开源软件,这个比例几乎是 2010 年时候的两倍。此外,88% 的企业表示,它们预计在今后几年,会加大为开源项目贡献代码的力度,66% 表示在考虑专有软件之前先考虑开源软件。

  这回,我们介绍了最受科技公司青睐的一些开源项目。这些主要是面向企业的应用软件,涵盖大数据、云计算、开发工具、系统管理和版本控制等几大类别。

  与往常一样,如果你知道另外哪些工具应该添加到这份名单,欢迎留言交流。

  大数据

  1. Hadoop

  • Apache 主持的这个项目是最广为人知的大数据工具。众多公司为 Hadoop 提供相关产品或商业支持,包括亚马逊网络服务、Cloudera、Hortonworks、IBM、Pivotal、Syncsort 和 VMware。知名用户包括:阿里巴巴、美国在线、电子港湾、Facebook、谷歌、Hulu、领英、Spotify、推特和雅虎。
  • 支持的操作系统:Windows、Linux 和 OS X
  • 相关网站:http://hadoop.apache.org

  2. Hypertable

  • Hypertable 在互联网公司当中非常流行,它由谷歌开发,用来提高数据库的可扩展性。用户包括百度、电子港湾、Groupon 和 Yelp。它与 Hadoop 兼容,提供商业支持和培训。
  • 支持的操作系统:Linux 和 OS X
  • 相关网站:http://www.hypertable.com

  3. Mesos

  • Apache Mesos 是一种资源抽象工具,有了它,企业就可以鼗整个数据中心当成一个资源池,它在又在运行 Hadoop、Spark 及类似应用程序的公司当中很流行。使用它的企业组织包括:Airbnb、欧洲原子核研究组织(CERN)、思科、Coursera、Foursquare、Groupon、网飞(Netflix)、推特和优步。
  • 支持的操作系统:Linux 和 OS X
  • 相关网站:http://mesos.apache.org

  4. Presto

  • Presto 由 Facebook 开发,自称是"一款开源分布式 SQL 查询引擎,用于对大大小小(从 GB 级到 PB 级)的数据源运行交互式分析查询。"Facebook 表示,它将 Presto 用于对 300PB 大小的数据仓库执行查询,其他用户包括 Airbnb 和 Dropbox。
  • 支持的操作系统:Linux
  • 相关网站:https://prestodb.io

  5. Solr

  • 这种"快若闪电"的企业搜索平台声称高度可靠、扩展和容错。使用它的公司包括:AT&T、Ticketmaster、康卡斯特、Instagram、网飞、IBM、Adobe 和 SAP Hybris。
  • 支持的操作系统:与操作系统无关
  • 相关网站:http://lucene.apache.org/solr/

  6. Spark

  • Apache Spark 声称,"它在内存中运行程序的速度比 Hadoop MapReduce 最多快 100 倍,在磁盘上快 10 倍。"Spark"支持"的企业组织包括:亚马逊、百度、Groupon、日立解决方案、IBM、MyFitnessPal、诺基亚和雅虎。
  • 支持的操作系统:Windows、Linux 和 OS X
  • 相关网站:http://spark.apache.org

  7. Storm

  • 正如 Hadoop 用来处理批量数据,Apache Storm 用来处理实时数据。官方网站上显示用户包括:天气频道、推特、雅虎、WebMD、Spotify、威瑞信(Verisign)、Flipboard 和 Klout。
  • 支持的操作系统:Linux
  • 相关网站:https://storm.apache.org

  云计算

  8. Cloud Foundry

  • Cloud Foundry 提供用于构建平台即服务的开源工具。它声称"由行业领袖为行业领袖构建",其支持者包括 IBM、 Pivotal、惠普企业、VMware、英特尔、SAP 和 EMC。
  • 支持的操作系统:Linux
  • 相关网站:https://www.cloudfoundry.org

  9. CloudStack

  • 这个交钥匙 IaaS 解决方案构成了许多公共云和私有云的基础。它的用户极多,包括阿尔卡特-朗讯、苹果、Autodesk、英国电信、冠群科技、思杰、Cloudera、戴尔、富士通、SAP 和韦里逊。
  • 支持的操作系统:与操作系统无关
  • 相关网站:http://cloudstack.apache.org

  10. OpenStack

  • 这种很受欢迎的云计算平台声称,"世界上成百上千个大品牌"每天依赖它。支持者包括:AT&T、Ubuntu、惠普企业、IBM、英特尔、Rackspace、红帽、SUSE、思科、戴尔、EMC、赛门铁克及另外许多知名科技公司。
  • 支持的操作系统:与操作系统无关
  • 相关网站:http://www.openstack.org

  11. Scalr

  • 这种云管理平台备受市场研究公司的好评,它简化了管理多个云环境的过程。知名用户包括 Expedia、三星、美国宇航局喷气推进实验室、埃森哲、索尼和 Autodesk。
  • 支持的操作系统:Linux
  • 相关网站:http://www.scalr.com

  容器

  12. Docker

  • Docker 在相对新兴的容器领域迅速确立起了主导平台这一地位。科技界的许多大牌公司在构建或提供扩展或使用 Docker 技术的产品,包括亚马逊、微软、IBM、惠普企业、红帽、Rackspace 和 Canonical。
  • 支持的操作系统:Windows、Linux 和 OS X
  • 相关网站:https://www.docker.com

  内容管理

  13. DNN

  • 这款内容管理解决方案之前名为 DotNetNuke,承诺构建丰富的交互式网站时,只要花较少的精力,就能收到显著的成效。用户包括佳能、时代华纳有线电视、德州仪器和美国银行。
  • 支持的操作系统:Windows
  • 相关网站:http://www.dnnsoftware.com

  14. Drupal

  • Drupal 声称,98000 多个开发人员在为这个极其流行的内容管理系统积极贡献代码。支持者包括微软、Zend、Fastly 和 New Relic,其内容市场有数百家公司参与其中,它们提供了相关的产品和服务。
  • 支持的操作系统:与操作系统无关
  • 相关网站:https://www.drupal.org

  15. Joomla

  • Joomla 为数百万个网站提供平台,其下载量超过了 5000 万人次。许多用户当中就有这些公司:电子港湾、巴诺书店、MTV 和标致。
  • 支持的操作系统:与操作系统无关
  • 相关网站:https://www.joomla.org

  16. MediaWiki

  • MediaWiki 以维基百科使用的软件而出名,它还为百度、Vistaprint、Novell、英特尔和美国宇航局支持网站。它是构建可编辑网页的不错选择,许多企业组织用它来构建内部知识库。
  • 支持的操作系统:Windows、Linux/Unix 和 OS X
  • 相关网站:https://www.mediawiki.org/wiki/MediaWiki

  数据库

  17. Cassandra

  • 这种 NoSQL 数据库由 Facebook 开发,其用户包括苹果、欧洲原子核研究组织(CERN)、康卡斯特、电子港湾、GitHub、GoDaddy、Hulu、Instagram、Intuit、网飞、Reddit 及其他科技公司。它支持极其庞大的数据集,声称拥有非常高的性能和出色的耐用性和弹性。可通过第三方获得支持。
  • 支持的操作系统:与操作系统无关
  • 相关网站:http://cassandra.apache.org

  18. CouchDB

  • CouchDB 为 Web 而开发,这种 NoSQL 数据库将数据存储在 JSON 文档中,这类文档可通过 HTTP 来加以查询,并用 JavaScript 来处理。Cloudant 现在归 IBM 所有,它提供一款专业人员支持的软件版本,用户包括:三星、Akamai、Expedia、微软游戏工作室及其他公司。
  • 支持的操作系统:Windows、Linux、OS X 和安卓
  • 相关网站:http://couchdb.apache.org

  19. MongoDB

  • MongoDB 是一种 NoSQL 数据库,声称"针对关键任务型部署环境进行了优化",用户包括 Foursquare、《福布斯》、Pebble、Adobe、领英、eHarmony 及其他公司。提供收费的专业版和企业版。
  • 支持的操作系统:Windows、Linux、OS X 和 Solaris
  • 相关网站:http://www.mongodb.org

  20. MySQL

  • MySQL 自称是"世界上最流行的开源数据库",备受众多互联网公司的青睐,比如 YouTube、贝宝、谷歌、Facebook、推特、电子港湾、领英、优步和亚马逊。除了免费社区版外,它还有多款收费版。最新更新版声称速度比老版本快三倍。
  • 支持的操作系统:Windows、Linux、Unix 和 OS X
  • 相关网站:http://www.mysql.com


Read full article from 极分享:高质分享+专业互助=没有难做的软件+没有不得已的加班


A Few Tips for Novice Programmers - DZone Agile



A Few Tips for Novice Programmers - DZone Agile

Whatever You Do, You Might as Well Do It the Best You Can

Otherwise you may miss some important lessons to learn.

Look for Patterns

Look for patterns in coding, solving problems, working with others, etc. The more patterns you can recorgnize and handle, the more complex problems you'll be able to solve in the less amount of time

Maximize for Learning

Whenever I decide to take another job, nowdays I always look for opportunities where I can learn new skills and benefit my employer/client with skills I learnt previously.

Practice

The really successful programmers spend time with programming outside their work hours. They contribute to open-source projects, do part-time freelancing, work on startup ideas, read books, answer questions on stack-overflow, write blog posts, etc. Always look for opportunities to improve your skills and get more experience.

I don't have much details about your current situation, but I hope you found at least one useful thought in my email.


Read full article from A Few Tips for Novice Programmers - DZone Agile


做 10 万+ 新闻?月独立访客 8000 万的新闻网站 Buzzfeed 用的是这些方法 | 爱范儿



做 10 万+ 新闻?月独立访客 8000 万的新闻网站 Buzzfeed 用的是这些方法 | 爱范儿

"数字+吸引眼球"的关键词为新闻标题、包罗万有,配有大量图片的内容、无处不在的分享按钮、配合社交媒体所做的不同形式内容……这样的新闻网站有人觉得是标题党、看起来浪费时间,也有评论认为它年轻化、接地气。但暂不评价它的内容质量,这个创立于 2006 的社交新闻网站――Buzzfeed――获得的成功确实是巨大的:

目前 Buzzfeed 团队遍布 11 个国家,发布的内容发表于 30 个平台,语言多达 7 种;另外它在 Alexa 排名中名列 129 位,每月来自美国的独立访客达到 8000 万(官方称它在全球达到的真实数据是其 5 倍以上),目前估值 15 亿美元,在 2014 年的收入达到 1 亿美元。

不过在今天这个新闻内容泛滥、同质化严重、竞争又如此激烈的情况下,这个以"社交时代的媒体公司"为标语的媒体类创业公司,到底是如何突围而出,成为如此一个流量和收入巨人的?


Read full article from 做 10 万+ 新闻?月独立访客 8000 万的新闻网站 Buzzfeed 用的是这些方法 | 爱范儿


How to Do Effective Peer Code Reviews - Dice Insights



How to Do Effective Peer Code Reviews - Dice Insights

  • I go away and write some code, including tests for that code.
  • I run all the tests and tweak until I'm happy with the work. It functions, it's structured properly, it conforms to all of our style requirements, and it's got a really clever solution to that sorting problem.
  • I commit the code to my feature or developer branch. It's not in mainline code yet, and won't ship (this is important!).
  • I ask for review. If we're working in Git, then I do it by creating a pull request. If we're using some other source code management system, then I just ask for it based on the commit number, or create a patch.
  • Someone else on the teamworking in Git—might be the senior engineer, might be the intern—takes a look at the code. They look for bugs, structural problems, unintentional duplications, or any of the mistakes we developers commonly make.
  • I fix any problems brought up in the code review, or talk with the reviewer about why I did it that way. Repeat until we're both happy.
  • One of us merges the code and checks it in.


Read full article from How to Do Effective Peer Code Reviews - Dice Insights


Code rant: What I look for in a Code Review



Code rant: What I look for in a Code Review

I recently put this bullet point list together for the team I'm currently working with.

Naming Conventions

General Principles

  • The core imperative is to organise complexity.
  • Clarity and readability is central. "Intention Revealing"
  • Do not prematurely optimise for performance.
  • Do not repeat yourself. Never copy-and-paste code.
  • Decouple.
  • Always try to leave the code you work on in a better state than before you started (the 'boy scout' principle)

Keep the source clean

  • Always delete unused code. Including variables and using statements
  • Don't comment out code, delete it. We have source control to manage change.

Naming things

  • The name should accurately describe what the thing does.
  • Do not use shortenings, only use well understood abbreviations.
  • If the name looks awkward, the code is probably awkward.

Namespaces

  • Namespaces should match the project name + path inside the project. This is what VS will give you by default.
  • Classes that together provide similar functions should be grouped in a single namespace.
  • Avoid namespace dependency cycles.

Variables

  • Use constants where possible. Avoid magic strings.
  • Use readonly where possible
  • Avoid many temporary variables.
  • Never use a single variable for two different puposes.
  • Keep scope as narrow as possible. (declaration close to use)

Methods

  • The name should accurately describe what the method does.
  • It should only do one thing.
  • It should be small (more than 10 lines of code is questionable).
  • The number of parameters should be small.
  • Public methods should validate all parameters.
  • Assert expectations and throw an appropriate error if invalid.
  • Avoid deep nesting of loops and conditionals. (Cyclomatic complexity).

Read full article from Code rant: What I look for in a Code Review


Bernie Sanders is right: Bill Clinton’s welfare law doubled extreme poverty - The Washington Post



Bernie Sanders is right: Bill Clinton's welfare law doubled extreme poverty - The Washington Post

The inside track on Washington politics. Be the first to know about new stories from PowerPost. Sign up to follow, and we'll e-mail you free updates as they're published. You'll receive free e-mail news updates each time a new story is published. You're all set! The inside track on Washington politics. Be the first to know about new stories from PowerPost. Sign up to follow, and we'll e-mail you free updates as they're published. You'll receive free e-mail news updates each time a new story is published. You're all set! Too busy to read this now? Sign in or create an account so we can save this story to your Reading List. You'll be able to access the story from your Reading List on any computer, tablet or smartphone. Sign in to your account to save this article. Bernie Sanders seeks to broaden his appeal among voters of color ahead of imminent primaries in several Southern states. (Sean Rayford/Getty Images) After 20 years,

Read full article from Bernie Sanders is right: Bill Clinton's welfare law doubled extreme poverty - The Washington Post


Square: The CEO Dilemma - Square, Inc. (NYSE:SQ) | Seeking Alpha



Square: The CEO Dilemma - Square, Inc. (NYSE:SQ) | Seeking Alpha

| Summary At the moment, I don't see any opportunities in Square and won't recommend its stock. Lack of communication between the executive branch is the main reason why the company is underperforming. This results in poor financial performance inside the company and doesn't create any shareholder value. Since its IPO in late 2015, Square (NYSE: SQ ) shares have quickly depreciated in value. Management fails to provide its shareholders with a reasonable explanation of how it will improve the situation and when the profits will pour in. Also, a lack of communication between the executive branch is causing even more trouble for which Square's investors pay. Until the top management is replaced, I don't see any opportunities in Square and won't recommend its stock. Here are the main reasons behind my thinking: Red Flag #1 Currently Square has an operating margin of -13.96% and a net-margin of -14.66%. It makes a substantial amount of revenue, but fails to produce profits.

Read full article from Square: The CEO Dilemma - Square, Inc. (NYSE:SQ) | Seeking Alpha


Effective Code Reviews - 9 Tips from a Converted Skeptic - Fog Creek Blog



Effective Code Reviews – 9 Tips from a Converted Skeptic - Fog Creek Blog

I knew the theory. Code reviews help to:

  • Catch bugs
  • Ensure code is readable and maintainable
  • Spread knowledge of the code base throughout the team
  • Get new people up to speed with the ways of working
  • Expose everyone to different approaches

Or, they’re just a giant waste of time. At least, that was my first impression of code reviews.

I was the new guy, a recent grad, developing plugins for a software company in London.

Over time I had to submit blocks of identical or similar code. They would get reviewed by the same poor, put upon guy (“he’s the best at it” my manager told me. No good deed…). Yet each review would come back picking at something different. It seemed needlessly picky and arbitrary.

Worse still, reviews would take days, if not weeks. By the time I got my code back I could hardly remember writing it. It wasn’t the guy’s fault. He’d asked for a senior dev, but had gotten me. He was sick of dealing with the issues every inexperienced developer makes, and code reviews were his way of exorcising that frustration.


Read full article from Effective Code Reviews – 9 Tips from a Converted Skeptic - Fog Creek Blog


The 4 Things We Look For in a Code Review | Big Nerd Ranch



The 4 Things We Look For in a Code Review | Big Nerd Ranch

Here are a few of the things in Highgroove's Code Review tool-belt, that we look for:

  • Tests - This is a given - Ruby on Rails ships with a great test framework. Your app needs tests. The default suite will do! Many developer teams will even upgrade the testing suite, adding RSpec and Cucumber, Selenium for in-browser testing, rcov for code coverage, and FactoryGirl for fixtures and test data. Without tests, you're bound to regress ("Jim fixed a bug, but looks like he added a few more…"). Bottom line: Tests = Quality.

  • Idiomatic Ruby and Rails - Did the developers use standard plugins, or did they re-invent pagination? Did they use a search plugin or did they write their own fancy-pancy algorithm for search? Are they using helpers, or just copy-pasting code all over the place? This can tell a lot about a code-base and how easy to maintain it is and will be long-term.


Read full article from The 4 Things We Look For in a Code Review | Big Nerd Ranch


(14) What are the best code review tools? - Quora



(14) What are the best code review tools? - Quora

This is a bit longer answer to the question - tool recommendations are in the end.

First some background. I've written Master's thesis about conducting efficient code reviews in small software companies, which was partly based on a case study which I made with our own projects in small (10 employees) software company producing apps for Mac and iOS.

During the last 6-7 years I've evaluated various code review tools, including:
  • Atlassian Crucible (SVN, CVS and Perforce)
  • Google Gerrit (for Git)
  • Facebook Phabricator Differential (Git, Hg, SVN)
  • SmartBear Code Collaborator (supports pretty much anything)
  • Bitbucket code comments
  • Github code comments
At some point I've also just manually reviewed patches which were e-mailed after each commit/push.

I've tried many variations of the code review process:
  • pre-commit vs. post-commit
  • collecting various metrics & continuously trying to optimize the process vs. keeping it as simple as possible
  • making code review required for every line vs. letting developers to decide what to review
  • using checklists vs. relying on developers' experience-based intuition
Based on my experience with the code review process itself and the tools mentioned above, within the context of a small software company, I would make the following three points about code reviews:

  1. Code reviews are very useful and should be conducted even in software which may not be very "mission critical". The list of benefits is too long to discuss here in detail, but short version: supplementing testing/QA by ensuring quality and reducing rework, sharing knowledge about code, architecture and best practices, ensuring consistency, increasing "bus count". It's well worth the price of 10-20% of each developer's time.
  2. Code reviews shouldn't require use of a complex tool (some of which require maintenance by their own) or a time-consuming process. Preferably, no external tool at all.
  3. Code reviews should be natural part of development process of each and every feature.

Based on those points, I would recommend the following process & tools:
  1. Use Bitbucket or Github for your source control
  2. Use hgflow/gitflow (or similar) process for your product development
  3. The author creates Pull Request for a feature branch when it's ready for review. The author describes the Pull Request to the reviewer either in PR comments (with prose, diagrams etc) or directly face-to-face.
  4. The reviewer reviews the Pull Request in Bitbucket/Github. A discussion can be had as Github/Bitbucket comments on PR level, on code level, face-to-face or combining all of those.
  5. When the review is done, feature branch is merged in.
  6. Every feature goes through the same process

So, my recommended tools are the same you should be using for your source code control:
  • Bitbucket Pull Requests
  • Github Pull Requests
  • Atlassian Stash Pull Requests (if you need to keep the code in-house)

Read full article from (14) What are the best code review tools? - Quora


What to look for in a Code Review: Security | Upsource Blog



What to look for in a Code Review: Security | Upsource Blog

This is just a tiny subset of the sorts of security issues you can be checking in a code review. Security is a very big topic, big enough that your company may hire technical security experts, or at least devote some time or resources to this area. However, like other non-coding activities such as getting to know the business and having a decent grasp of how to test the system, understanding the security requirements of our application, or at least of the feature or defect we're working on right now, is another facet of our job as a developer.

We can enlist the help of security experts if we have them, for example inviting them to the code review, or inviting them to pair with us while we review. Or if this isn't an option, we can learn enough about the environment of our system to understand what sort of security requirements we have (internal-facing enterprise apps will have a different profile to customer-facing web applications, for example), so we can get a better understanding of what we should be looking for in a code review.

And like many other things we're tempted to look for in code reviews, many security checks can also be automated, and should be run in our continuous integration environment. As a team, you need to discuss which things are important to you, whether checking these can be automated, and which things you should be looking for in a code review.


Read full article from What to look for in a Code Review: Security | Upsource Blog


YouTube CEO says 'we're listening' to growing criticisms of complaint system | The Verge



YouTube CEO says 'we're listening' to growing criticisms of complaint system | The Verge

February 26, 2016 February 25, 2016 In an attempt to assuage those concerns, YouTube is assembling a team "dedicated to minimizing mistakes and improving the quality of our actions," an employee wrote on  the site's help forums . "The feedback you've raised in comments and videos on YouTube and beyond is having an impact. It's caused us to look closely at our policies and helped us identify areas where we can get better." Further, YouTube will be rolling out unspecified initiatives over the next few months to strengthen the relationship between support staff and the people making all those videos with millions of views. "We'll also make improvements to increase transparency into the status of monetization claims." We'll email you a reset link. If you signed up using a 3rd party account like Facebook or Twitter, please login with it instead. Forgot username? We'll email it to you. If you signed up using a 3rd party account like Facebook or Twitter, please login with it instead.

Read full article from YouTube CEO says 'we're listening' to growing criticisms of complaint system | The Verge


Principle of least astonishment - Wikipedia, the free encyclopedia



Principle of least astonishment - Wikipedia, the free encyclopedia

The principle of least astonishment (POLA), sometimes also referred to as Principle of Least Surprise, applies to user interface and software design, from the ergonomics standpoint.[1] It is alternatively referred to as the law or rule of least astonishment, or of least surprise.[2][3] The principle can be stated as "if a necessary feature has a high astonishment factor, it may be necessary to redesign the feature."[4] In general engineering design contexts, the principle may be taken to mean that a component of a system should behave in a manner consistent with how users of that component are likely to expect it to behave.


Read full article from Principle of least astonishment - Wikipedia, the free encyclopedia


Printing a cross with given word | Letuscode



Printing a cross with given word | Letuscode


Read full article from Printing a cross with given word | Letuscode


Apple's $120M patent victory over Samsung overturned on appeal



Apple's $120M patent victory over Samsung overturned on appeal

51m ago 1h ago 3h ago 13h ago Apple's $120M patent victory over Samsung overturned on appeal A 2014 jury ruling in favor of Apple is no more. Share Tweet Share Save The never-ending Apple vs. Samsung patent wars just had another chapter written today, long after most of us stopped caring. A US appeals court overturned the $120 million jury-appointed verdict that was awarded to Apple way back in May of 2014 . Specifically, the court said that a variety of older Samsung phones (including the Admire, Galaxy Nexus, Galaxy Note, Galaxy Note 2, a host of Galaxy S II variants and the Galaxy S3) didn't infringe upon three Apple patents. The patents in question covered swipe to unlock, auto-correct and a quick link feature that lets links in one app open up another app. As noted by Reuters , the quick link feature made up $99 million of the $120 million in damages awarded to Apple -- the jury decided that all 10 Samsung devices in question infringed upon that particular feature.

Read full article from Apple's $120M patent victory over Samsung overturned on appeal


How to Pass Back from sovrn to AdSense



How to Pass Back from sovrn to AdSense

No more guesswork. × Learn more about our digital advertising services and publisher tools Company we are sovrn. We exist to foster an ecosystem where independent and influential publishers can thrive. Name Email* × Download: How to Pass Back from sovrn to AdSense, and Why Using Both Makes You More Money One question we often hear from publishers is, "How can I use sovrn while still using AdSense?" Our answer? Have sovrn pass back to AdSense. That way you can leverage sovrn's premium, high-CPM campaigns while using AdSense to fill 100% of the remaining inventory. You can set up an AdSense passback the same way you would with any network. Here is a step by step guide for anyone who hasn't installed a passback before. How to Pass Back from sovrn to AdSense 1. Login to your AdSense dashboard. Select "My Ads" in the top menu bar, and click "+ New ad unit". 2. Choose your ad size. Pick the same ad size you are planning to use with sovrn. 3. Create the ad tag. Next copy the entire ad code,

Read full article from How to Pass Back from sovrn to AdSense


So what's DirectRev (Gunggo), anyway? | | BoxOfAds Blog



So what’s DirectRev (Gunggo), anyway?   | | BoxOfAds Blog

DirectRev is an ad delivery system, which in itself  is pretty clear. It is operated by a Canadian CPM, CPC and CPA based internet advertising company in operation since 2006, offering access to more than 600 million unique monthly users and the ability to display over 4.15 billion ad views per month. DirectRev isn’t always in the spotlight; even though it is used in different contexts, the way to identify it sometimes leads through looking at the source code of the ads.

Which ad formats does DirectRev offer?

 

DirectRev offers (aside from pop-ups) various types of ads.

Banners are available in a expandable variant. Thanks to this they offer more space and can accommodate any type of media and text a regular website offer. The 160×600 pixels banner expands to a size of 600×600. The 728×90 pixels size expands into 728×315 pixels, and the 300×250 pixels one expand into either 600×260 or 300×500.


Read full article from So what’s DirectRev (Gunggo), anyway?   | | BoxOfAds Blog


What to look for in a Code Review: Tests | Upsource Blog



What to look for in a Code Review: Tests | Upsource Blog

There are many advantages to performing a code review, no matter how you approach the process in your organisation. It's possible to use code reviews to find potential problems with the code before it is integrated into the main code base, while it's still inexpensive to fix and the context is still in the developer's head.

As a code reviewer, you should be checking that the original developer has put some thought into the ways his or her code could be used, under which conditions it might break, and dealt with edge cases, possibly "documenting" the expected behaviour (both under normal use and exceptional circumstances) with automated tests.

If the reviewer looks for the existence of tests and checks the correctness of the tests, as a team you can have pretty high confidence that the code works. Moreover, if these tests are run regularly in a CI environment, you can see that the code continues to work – they provide automated regression checking. If code reviewers place a high value on having good quality tests for the code they are reviewing, the value of this code review continues long after the reviewer presses the "Accept" button.


Read full article from What to look for in a Code Review: Tests | Upsource Blog


Setting Up Source Control with Eclipse Force.com IDE - Appirio



Setting Up Source Control with Eclipse Force.com IDE - Appirio

As a Salesforce.com developer, I often use Eclipse and the Force.com IDE as my main workbench.  For source control, I use a git repository.  I currently use Bitbucket because they give you free private repositories that you can share with up to 5 team members.You may have heard of eGit, or other plugins for Eclipse that help with managing your code.  I have found these plugins to be confusing and not helpful.  Instead, I have found that it is easier to manage my source control in a separate tool.  For this walkthrough, I use SourceTree, a free app for the Mac, but you may substitute any other tool that you prefer, including command-line.


Read full article from Setting Up Source Control with Eclipse Force.com IDE - Appirio


Tribal Fusion (Exponential) Advertising Network Review, Payment Proof



Tribal Fusion (Exponential) Advertising Network Review, Payment Proof

Tribal Fusion is a popular CPM ad network which is a division of Exponential. Tribal Fusion has huge number of premium advertisers and they serve one of the best CPM rates. The fill rate is up to 75% and to get that fill rate you need to have huge amount of traffic. Publishers often say that it is easy to get the approval from Adsense, but it is not so easy with Tribal Fusion. Tribal Fusion publisher requirements are pretty high. They need minimum traffic of about 500,000 unique visitors per month. That amount of traffic is just not that easy  to create though. Your website should be attractive and professional to be approved from them. Their CPM rate starts with $0.2 and can range up to $10. Their minimum payout is $50 and they on NET 45 basis. Other thing about Tribal Fusion is that they only pay 55% to you, remaining 45% they keep for themselves. But, if you have lots of traffic and quality content, you can make nice money from them.


Read full article from Tribal Fusion (Exponential) Advertising Network Review, Payment Proof


Google Docs Blog: Type, edit and format with your voice in Docs--no keyboard needed!



Google Docs Blog: Type, edit and format with your voice in Docs—no keyboard needed!

We launched Voice typing in Docs to help you capture ideas, compose a letter, or even write the next great novel—all without touching your keyboard. Starting today, you can also edit and format your documents with your voice.

To get started, select "Voice typing" in the "Tools" menu when you’re using Docs in Chrome. Say what comes to mind—then start editing and formatting with commands like “copy,” “insert table,” and “highlight.”

Read full article from Google Docs Blog: Type, edit and format with your voice in Docs—no keyboard needed!


Forget Keyboards: We Dictated This Story on Google Docs - Digits - WSJ



Forget Keyboards: We Dictated This Story on Google Docs - Digits - WSJ
Google now offers a voice-dictation tool on its Google Docs app, the latest move by Silicon Valley to make keyboards obsolete.
We tested the new service by dictating this story. See that version below, complete with typos.
Users can now speak to their computers to compose memos, messages and reports in Google Docs. The application previously supported third-party voice-dictation tools, but in September the Alphabet Inc.GOOGL -0.58% unit unveiled a new “voice-typing” tool. This week, Google enables users to also edit and format documents with voice commands, and it started prompting users to try the new tool.
Voice dictation has grown in popularity in recent years as its accuracy improved. Fueling its growth are advances in artificial intelligence that help computers decipher what people are saying.
Voice dictation is the primary way to interact with many virtual assistants on smartphones, such as Google Now and Apple Inc.'sAAPL +0.16% Siri. Google’s speech-recognition technology has gotten so good at recognizing words that it now automatically generates captions for YouTube videos.
While the technology can be a major help for disabled users, Silicon Valley’s larger goal is to get consumers to interact with computers more naturally. That means talking to them — like another person — rather than typing on a keyboard.


Mark Zuckerberg Tells Facebook Staff To Stop Crossing Out 'Black Lives Matter' : All Tech Considered : NPR



Mark Zuckerberg Tells Facebook Staff To Stop Crossing Out 'Black Lives Matter' : All Tech Considered : NPR

Zuckerberg Tells Facebook Staff To Stop Crossing Out 'Black Lives Matter' Updated February 26, 20168:22 PM ET Published February 26, 201612:18 PM ET toggle caption Jeff Chiu/AP Employees and visitors can leave messages on walls like this on the Facebook campus in Menlo Park, Calif. Jeff Chiu/AP Facebook CEO Mark Zuckerberg is scolding employees for what he calls "several recent instances" of people crossing out "black lives matter" on signature walls at the company's headquarters and writing "all lives matter" instead. In a note posted to employees on a company announcement page, published by Gizmodo , Zuckerberg says he and several other leaders at the company have previously warned employees against doing this. "I was already very disappointed by this disrespectful behavior before, but after my communication, I now consider this malicious as well," Zuckerberg writes. " 'Black lives matter' doesn't mean other lives don't.

Read full article from Mark Zuckerberg Tells Facebook Staff To Stop Crossing Out 'Black Lives Matter' : All Tech Considered : NPR


How to Grow a Blog into a Profitable Company | Ajaxsurf



How to Grow a Blog into a Profitable Company | Ajaxsurf

Looking at well known bloggers like Pete Cashmore, you will notice the hard contribution they had put to bring the best quality blogs. Working hard to produce quality materials and posts has been a challenge for me recently until I started to set myself a publishing schedule to improve the quality of my posting. you cannot overcome your blog competition unless you dedicate yourself into blogging because there are so many blogs out there and competition is getting tougher everyday.

I will recommend bloggers to work smart in order to outrun the blog competition

Its Not Only About The Money
Thats is the biggest mistake that many bloggers make out there, they start blogging with the purpose of making some easy cash which will result in their blogs failing to survive as they may lack traffic or interest. I make a lot of money from blogging and trading the currency market but that has not stopped me from wanting to increase my networth or revenue and to speak the truth I am not driven by money but I just want to achieve a lot more in life. I have been blogging for money and instead I have lost a lot until I started blogging professionally without being driven by greed or anything related.

Blogging should be done with the purpose of increasing the readership and the value of the blog and trust me your blog will grow into being a giant. Its that easy, Just forget the crap you see all over the internet about blogging and start blogging the smart way and you will notice some great growth in your blog.

Read full article from How to Grow a Blog into a Profitable Company | Ajaxsurf


Cannot save after moving gadget in Layout tab - Google Product Forums



Cannot save after moving gadget in Layout tab - Google Product Forums

i solved my problem, in my case i added one widget that visible mobile='only' when i remove this code its working..
make sure you haven't deleted any compulsory widgets like attribution tag..

Read full article from Cannot save after moving gadget in Layout tab - Google Product Forums


Eclipse Tips & Tricks: Detail Formatter « Robert Wloch



Eclipse Tips & Tricks: Detail Formatter « Robert Wloch

You find yourself debugging a Java app with Eclipse and you’re stepping through the code in the Debug perspective. You have the Variables view open and for most of the selected types you can see a reasonable toString() output below the variables list.

However, many types don’t have a type specific implementation of toString(). E.g., consider an array of objects. There’s no toString() on arrays. That’s why the variables view prints you some meaningless default text with a hashcode for such variables.

But did you know that you can change that by defining a custom toString() implementation that’s used by the variables view at runtime? Let me introduce you to the concept of Detail Formatters and learn about the Display view along the way, too.


Read full article from Eclipse Tips & Tricks: Detail Formatter « Robert Wloch


Wikimedia head resigns after leak exposed search engine plans | The Verge



Wikimedia head resigns after leak exposed search engine plans | The Verge

February 26, 2016 February 25, 2016 (Asa Mathat / Recode) Wikimedia tried to justify the documents in a blog post The documents appeared to show that Wikimedia sought $250,000 to develop "the Knowledge Engine," a project it said would result in "the internet's first transparent search engine," that was "completely free of commercial interest." News of the secret project rankled with many of Wikipedia's contributors, who would normally be consulted before the nonprofit Wikimedia Foundation embarked on something so big, but the nonprofit group denied that it ever intended to make a search engine. "We're not building a global crawler search engine," Tretikov and vice president of product Wes Morgan wrote in a blog post , apparently counter to the documents widely seen. "We're not building another, separate Wikimedia project. We're committed to our mission of helping the world access and interact with free knowledge." Community members reacted skeptically to the post,

Read full article from Wikimedia head resigns after leak exposed search engine plans | The Verge


Poll: Nearly 40 Percent of Florida Voters Think Ted Cruz Might Be the Zodiac Killer



Poll: Nearly 40 Percent of Florida Voters Think Ted Cruz Might Be the Zodiac Killer

Public Policy Polling, which had previously asked Republican voters if they support bombing… Read more Read more PPP surveyed over 1,000 registered voters total, and of those people, an alarming number were not just suspicious but confident that man with too much skin Ted Cruz was, in fact, the Zodiac Killer. Advertisement Unfortunately for Cruz, it looks like voters aren't too keen on electing a cryptogram-loving mass murderer President. Of the remaining Republican lineup, Cruz gets a mere 10 percent of the vote while Trump takes home a remarkable 45 percent of the vote. Is that 10 percent who voted for Cruz the same 10 percent that believe him to be the Zodiac Killer? It's impossible to say for sure—but yes, probably. Florida is a terrible place. Sponsored On the Democratic side, things aren't looking to great for Bernie Sanders.

Read full article from Poll: Nearly 40 Percent of Florida Voters Think Ted Cruz Might Be the Zodiac Killer


java - Merging Two JSON Documents Using Jackson - Stack Overflow



java - Merging Two JSON Documents Using Jackson - Stack Overflow

One way is to use ObjectReader like so:

MyBean defaults = objectMapper.readValue(defaultJson, MyBean.class);  ObjectReader updater = objectMapper.readerForUpdating(defaults);  MyBean merged = updater.readValue(overridesJson);

which will combine data from two sources. This only makes a shallow copy, i.e. does not do recursive merge on contained objects (there is a feature request for doing that, not yet implemented).

Otherwise you may need to just read JSON as a tree (JsonNode), loop over contents and merge manually. This often makes sense anyway since rules of merging are not trivial, and everyone has their own ideas of how merging should work.


Read full article from java - Merging Two JSON Documents Using Jackson - Stack Overflow


Project Shield: Google opens DDoS bomb shelter for all news publishers | ZDNet



Project Shield: Google opens DDoS bomb shelter for all news publishers | ZDNet

This web site uses cookies to improve your experience. By viewing our content, you are accepting the use of cookies. To find out more and change your cookie settings, please view our cookie policy . Project Shield: Google opens DDoS bomb shelter for all news publishers Google opens up Project Shield as a free service to protect websites from traffic attacks aimed at censoring news. The Project Shield service relies on a reverse proxy hosted on Google's Cloud Platform to take the sting out of distributed denial-of-service attacks. Image: iStock Google is inviting all the world's publishers to fend off junk traffic onslaughts with Project Shield, a service designed to frustrate distributed denial-of-service (DDoS) attacks on the web. Certain publishers in Europe might fear Google but those same publishers could soon be seeking cover provided by the search giant if they come under a DDoS attack, which these days can reach 500Gbps .

Read full article from Project Shield: Google opens DDoS bomb shelter for all news publishers | ZDNet


Ben Carson: 'Can somebody attack me please?'



Ben Carson: 'Can somebody attack me please?'

Cancel Set Share This Story! Let friends in your social network know what you are reading about Post to Facebook {# #} A link has been sent to your friend's email address. Posted! 22 Join the Nation's Conversation To find out more about Facebook commenting please read the Conversation Guidelines and FAQs Cooper Allen , USA TODAY 12:20 a.m. EST February 26, 2016 3.6k Shares In an attempt to get more speaking time during the 10th GOP debate, Ben Carson resulted to asking the other candidates to attack him. It's well-known to anyone who's watched debates that, when a candidate is attacked by name, they're given a chance to respond. Donald Trump was attacked somewhere between 5 and 275 times Thursday night during the Houston debate, giving him ample speaking time. At one point he even complained that he was being asked questions first too often. That was not the issue with Ben Carson. At one point when he was called on, he complained: "I'm going to whine,

Read full article from Ben Carson: 'Can somebody attack me please?'


AT&T files lawsuit to hinder Google Fiber in Louisville - SlashGear



AT&T files lawsuit to hinder Google Fiber in Louisville - SlashGear

The people of Louisville, Kentucky have no doubt been excited at the prospect of getting Google Fiber in their city. Last September, Google announced that they were in talks to bring their gigabit internet speeds to the city, along with two others. Unfortunately, AT&T isn't happy about one of the agreements that the city has made, and has filed a lawsuit against them. The nature of the lawsuit surrounds the use of the AT&T's utility poles, for Google's high-speed internet service. Interestingly enough, their lawsuit isn't against Google, but the city of Louisville. They say that a recent ordinance passed to allow Google to use their poles was outside of the city's jurisdiction. The ordinance in question is called "One Touch Make Ready." The ordinance states that if Google requests that the owner of the utility pole (in this case, AT&T appears to own the majority of them) to make room for their lines and they either deny the request, or don't respond within 30 days,

Read full article from AT&T files lawsuit to hinder Google Fiber in Louisville - SlashGear


My Top 10 Tips on how to be more productive with the Eclipse IDE « EclipseSource Blog



My Top 10 Tips on how to be more productive with the Eclipse IDE « EclipseSource Blog

I’ve met many programmers over the years who had just started using Eclipse or already had “some experience” — but they used Eclipse just as a text editor or handled it in a very cumbersome way. The main problem was that they hadn’t yet learned about Eclipse’s capabilities and how to leverage its powerful features.


Read full article from My Top 10 Tips on how to be more productive with the Eclipse IDE « EclipseSource Blog


Dozer - Spring Framework Integration



Dozer - Spring Framework Integration

Add the DozerBeanMapperFactoryBean to your Spring configuration file. The mappingFiles property is where you should specify any custom dozer mapping files that you have created. This list can be empty if you don't have any custom mappings. It is also possible to set custom event listeners and bean factories.

Note that this Factory Bean supports Spring Resources, which means that you could load mapping Xml files by classpath mask for example.


Read full article from Dozer - Spring Framework Integration


How To Find Lost Phone: Google search locates Android phone | BGR



How To Find Lost Phone: Google search locates Android phone | BGR

By Zach Epstein on Feb 26, 2016 at 9:43 AM We regularly share hidden iPhone features with readers for one simple reason: there's so much functionality packed into Apple's iPhone that it's impossible for anyone to remember it all. The same can be said of Google's search product, which is why we also dive into Google search tips all the time. For example, check out this post covering  20 search tricks that will change the way you use Google . There's one Google search trick in particular that every single Android user needs to know about, and we'll explain how it works in this post. Google is a brilliant company that always finds smart ways to tie its various products in together. This is a great strategy for several reasons but since Google's core business is advertising, it can target ads much better to people who use many Google services as opposed to people who use just one or two.

Read full article from How To Find Lost Phone: Google search locates Android phone | BGR


程序员的七大坏毛病 | 程序师



程序员的七大坏毛病 | 程序师


Read full article from 程序员的七大坏毛病 | 程序师


程序员的七大坏毛病 | 程序师



程序员的七大坏毛病 | 程序师


Read full article from 程序员的七大坏毛病 | 程序师


Top 8 Best-Paying Mobile Ad Networks You Should Try



Top 8 Best-Paying Mobile Ad Networks You Should Try

StartApp allows you to implement interstitial advertising, which means that between two pages or sections of your website or mobile application, an advertisement momentarily takes over the screen.

It is considered to be a more intrusive form of advertising compared to traditional banner advertising, but some have achieved far higher revenue rates using interstitial advertising.


Read full article from Top 8 Best-Paying Mobile Ad Networks You Should Try


The Top 10 new features of Eclipse Mars - JAXenter



The Top 10 new features of Eclipse Mars - JAXenter

6. Eclipse Mars goes the way towards Git now more than ever. Almost all download packages integrate with Git charged to the former CVS. In addition, there are numerous extensions in projects such as EGit, JGit: hook support, import changed projects, extended stash support, etc.

7. Automated Error Reporting: Bugs in the IDE are automatically sent from Mars to eclipse.org where they can be processed and converted into Bugzilla entries. It's based on a rather unique concept of troubleshooting through crowdsourcing, rather than relying on the commitment of a few.

8. Eclipse Marketplace: Until now, different versions of plug-ins listed on the Eclipse Marketplace were done so separately. These multiple search responses have been omitted in favour of a Eclipse Mars version-dependent display of plug-ins. Moreover, a distinction between necessary and optional components is made, making the Marketplace a whole lot easier to use.

9. In the popular Xtext project, whitespace sensitive languages ​​are now supported, such as using Python indentation instead of clamps for block-marking. There's also news from the programming language Xtend, being that Java source code can now be used in Eclipse to automatically convert Xtend.

10. Maven integration: The M2e project has undergone some useful improvements, such as an automatic update mechanism. Manual updates to the project configuration after an "Out of Date Project" warning are now a thing of the past.


Read full article from The Top 10 new features of Eclipse Mars - JAXenter


Top 10 Eclipse Mars Features



Top 10 Eclipse Mars Features

Top 10 Eclipse Mars Features

Eclipse Mars is here! 10 years ago I became an Eclipse Committer and I've had the privilege of working with some of the best Software Developers in our industry. For 10 years I've watched the Eclipse team ship high quality software on-time and on-budget. Eclipse Mars contains 79 different Eclipse projects, 65 million lines of code, developed by 380 committers and 352 contributors.

Since 2007 I've been counting down the 10 most New and Noteworthy features of each release. These articles highlight the features I'm most excited about. Here is my list for 2015.

10. Mac Layout

While 10 years is a long time, some Eclipse feature requests last longer than that. In fact, since before I was a committer, since before I went to my first EclipseCon, and since before YouTube had its first video, the Eclipse community has been requesting a proper Mac Application for Eclipse.

This year the Eclipse team finally delivered, shipping the MacOS version as a proper Mac application. This means that Eclipse can be unzipped and dragged directly in your Application folder. With this change, installing Eclipse becomes much easier on Mac, and features like "open with" now work as expected.


Read full article from Top 10 Eclipse Mars Features


Labels

Algorithm (219) Lucene (130) LeetCode (97) Database (36) Data Structure (33) text mining (28) Solr (27) java (27) Mathematical Algorithm (26) Difficult Algorithm (25) Logic Thinking (23) Puzzles (23) Bit Algorithms (22) Math (21) List (20) Dynamic Programming (19) Linux (19) Tree (18) Machine Learning (15) EPI (11) Queue (11) Smart Algorithm (11) Operating System (9) Java Basic (8) Recursive Algorithm (8) Stack (8) Eclipse (7) Scala (7) Tika (7) J2EE (6) Monitoring (6) Trie (6) Concurrency (5) Geometry Algorithm (5) Greedy Algorithm (5) Mahout (5) MySQL (5) xpost (5) C (4) Interview (4) Vi (4) regular expression (4) to-do (4) C++ (3) Chrome (3) Divide and Conquer (3) Graph Algorithm (3) Permutation (3) Powershell (3) Random (3) Segment Tree (3) UIMA (3) Union-Find (3) Video (3) Virtualization (3) Windows (3) XML (3) Advanced Data Structure (2) Android (2) Bash (2) Classic Algorithm (2) Debugging (2) Design Pattern (2) Google (2) Hadoop (2) Java Collections (2) Markov Chains (2) Probabilities (2) Shell (2) Site (2) Web Development (2) Workplace (2) angularjs (2) .Net (1) Amazon Interview (1) Android Studio (1) Array (1) Boilerpipe (1) Book Notes (1) ChromeOS (1) Chromebook (1) Codility (1) Desgin (1) Design (1) Divide and Conqure (1) GAE (1) Google Interview (1) Great Stuff (1) Hash (1) High Tech Companies (1) Improving (1) LifeTips (1) Maven (1) Network (1) Performance (1) Programming (1) Resources (1) Sampling (1) Sed (1) Smart Thinking (1) Sort (1) Spark (1) Stanford NLP (1) System Design (1) Trove (1) VIP (1) tools (1)

Popular Posts