React on ES6+ - <AUTHOR> http://babeljs.io/blog/2015/06/07/react-on-es6-plus/ <comment><USER2> This might be a silly question, but was there ever any thought put towards using ES6 Template Strings rather than the JSX syntax additions? For example:

        class OuterComponent extends React.Component {
          render() {
            return (
              <MixinComponent>
                <InnerComponent />
              </MixinComponent>
            );
          }
        }

Being replaced by something more like:

        class OuterComponent extends React.Component {
          render() {
            return JSX`
              <MixinComponent>
                <InnerComponent />
              </MixinComponent>
            `;
          }
        }

<comment><USER3> Would you be able to use template strings inside the template if this was the case?

<comment><USER2> Yes, template strings can be nested (well, they can using Babel).

<comment><USER4> This works for me in the latest Chrome too:

        `${`test`}`

</comment></comment></comment></comment><comment><USER5> I understand the interest in new Javascript standards in the browser however I've been doing a lot of React+CoffeeScript (without JSX) work lately and it can do all of what is mentioned in the article in a more expressive and (imho) more beautiful syntax.

I'm genuinely curious about all the ES6/ES7 articles. Is the interest driven from the eventual native support in future browsers and being able to drop transpiler dependencies?

<comment><USER6> Whats the state on coffeescript+jsx these days? I had a horrible time getting it transpile correctly (with gulp) about a year ago.

<comment><USER5> I stopped using JSX with React+CoffeeScript. I think the following looks a lot cleaner and removes the jsx dependency:

        {div, a} = React.DOM
        ...
        render: ->
          (div {},
            (a {href: 'foo'}, 'bar')
          )

The only downside is having to extract the tags from React.DOM.

<comment><USER7> You could omit the parenthesis and it starts to look a lot like HAML :-)

<comment><USER5> The parens help to make sure CoffeeScript parses it correctly. Plus it looks kind of Lispy which is good right?

<comment><USER7> "looks kind of Lispy which is good right?" :D, you sound not sure :)

I haven't had any issues without the parens, but then again I've only just fooled around.

You probably know better.

</comment></comment></comment></comment></comment></comment><comment><USER8> What's the status of mixins? How could I do something similar in terms of functionality in ES6?

<comment><USER9> You have 3 options if you want mixin behaviour:

\- Use old syntax or explicitly add mixin to prototype \- Use composition. A bit annoying, because you have to make an extra class

        class OuterComponent extends React.Component {
          render() {
            return (
              <MixinComponent>
                <InnerComponent />
              </MixinComponent>
            );
          }
        }

        class InnerComponent extends React.Component{}

\- wait for decorators (?)

<comment><USER10> You can at least try decorators with babel using[1]

      $ babel --optional es7.decorators

or

      babel.transform("code", { optional: ["es7.decorators"] });

Here[2] is an article that describes how to use it for mixins

[1] [https://babeljs.io/docs/usage/experimental](https://babeljs.io/docs/usage/experimental)

[2] [http://raganwald.com/2015/06/26/decorators-in- es7.html](http://raganwald.com/2015/06/26/decorators-in-es7.html)

</comment></comment></comment><comment><USER11> Does anyone have an example of an open source project that uses babel for react + es6? Usually for me the hardest part is setting up the project organization and plumbing to make everything work.

<comment><USER12> This one looks pretty reasonable: [http://jmfurlott.com/tutorial-setting-up-a- single-page-react...](http://jmfurlott.com/tutorial-setting-up-a-single-page- react-web-app-with-react-router-and-webpack/)

I recommend avoiding gulp and grunt and any other build systems. They're completely unnecessary. npm and webpack are sufficient. npm works well as a simple task runner, and there are webpack plugins to do pretty much anything you'd ever do with grunt or gulp.

<comment><USER11> Cheers! this looks very helpful.

</comment></comment></comment><comment><USER13> I'm using React in ES6 with Rails (the react-rails gem now uses Babel as its transpiler). What I've found is that I've had to choose between using ES6 and getting prerendering working correctly. I also couldn't get the ES6 modules working without RequireJS or CommonJS. If anyone has this figured out, I'd love to hear it.

<comment><USER14> I have it figured out. A long-winded explanation:

Honestly I hate the react-rails gem. Whoever was maintaining it kept doing things at the whims of issue requestors. I remember one instance where they broke our apps with an upgrade because someone decided it would be a good idea to shim a definition for `window` into server prerenders. All because an issue creator who didn't really know what they were doing supposedly "needed" that to get browserify-rails working.

So we made this: [https://github.com/revelrylabs/execjs- rails](https://github.com/revelrylabs/execjs-rails). That handles the server- side rendering for us. We only use react-rails for its assets, never for its helpers.

And here's our own (always-evolving) layer on top of execjs-rails: [http://toolkit.revelry.co/pages/core](http://toolkit.revelry.co/pages/core).

Examples are written in dusty JavaScript, but we've successfully used revelry_core with sprockets-es6 several times now.

EDIT: Still no modules yet. It doesn't help that Josh Peek deleted the old sprockets-es6 repo and all its issues before passing off maintenance to someone else.)

<comment><USER13> Wow! Thanks for this. I've been wrestling with getting ES6, React, and Rails to play nicely for some time. How stable is execjs-rails?

<comment><USER14> Very, actually. It's about time I add more tests, maybe remove its opinion about what view context to dump to JavaScript (leave that to the end dev), and version it as 1.0. I think it's had one significant bug in almost a year and no problem issues in the past 6 months.

</comment></comment></comment></comment><comment><USER15> Looks to be a nice improvement. The only thing that really bothers me is if they deprecate componentDidMount. I think it's a lot more verbose than using the constructor method, especially given the corresponding componentDidUnmount method still exists. Is there a destructor syntax for ES6?

<comment><USER16> The constructor takes the place of componentWillMount. I believe componentDidMount is still used.

<comment><USER17> Looks like getInitialState is absorbed by the constructor as well.

</comment></comment></comment><comment><USER7> I haven't found any information on how to use libraries that depend on mixins for ES6.

Say React-router, how would you use that if you're extending a class in ES6 and need to rely on that mixin?

<comment><USER18> Since mixins are not supported in combination with classes[1] there is no way. I just fall back to React.createClass when I need mixins (afaik this is also what Facebook does).

A lot of libraries, including react-router, are considering decorators as an alternative.[2]

[1] [http://facebook.github.io/react/blog/2015/01/27/react-v0.13....](http://facebook.github.io/react/blog/2015/01/27/react-v0.13.0-beta-1.html#mixins)

[2] [https://github.com/rackt/react- router/issues/1173](https://github.com/rackt/react-router/issues/1173)

<comment><USER7> Thanks! I suspected so, but I wasn't sure. I've found that you get a lot of messy variations when doing ES6 compared to sticking with ES5 or CoffeeScript.

Not to mention the issues with all the god damn different build tools, it gets hard to get something standardised and good.

</comment></comment></comment><comment><USER19> The react-starter-kit is a great way to dive head first into ES6 and React. Just clone the repo, npm install and go. It's fully up to date with all recent React and ES2015/2016 goodness.

[https://github.com/kriasoft/react-starter- kit](https://github.com/kriasoft/react-starter-kit)

</comment><comment><USER20> More Javascript `this` juggling. I really want to write a wrapper around `createClass` which just passes things as normal arguments.

</comment><comment><USER21> These new syntactic sugar additions are great for lazy fat-prone people like me :)

</comment><comment><USER22> where is the outrage over jsx syntax? why isnt anyone screaming for json now? is the bandwagon late?

</comment><comment><USER20> C'mon.

> Right away, you'll notice a subtle difference – a more terse syntax is > available to you when defining classes:

        // The ES5 way
        var Photo = React.createClass({
          handleDoubleTap(e) { … },
          render() { … },
        });

        // The ES6+ way
        class Photo extends React.Component {
          handleDoubleTap(e) { … }
          render() { … }
        }

It may or may not be more terse in longer examples, but ES6 already supports things to make the class syntax _less_ terse here by about the same margin the article claims.

<comment><USER23> While it doesn't add up to a terribly large amount of extra characters, you are missing the function keyword (ie. `handleDoubleTap: function(e)`) in the ES5 example.

<comment><USER20> Ah, now I think I understand what they were trying to argue—full ES5 versus ES6 where I took it to be ES6 versus ES6-using-class.</comment></comment></comment>


In 1993 Autodesk almost died - <AUTHOR> http://blog.dustincurtis.com/in-1993-autodesk-almost-died

<comment><USER2> I have been through it all, at two companies I was at early on in my career, the executive team lied to the employees until the day the doors closed and those who stuck around did not get their last weeks pay or severance. I have also been at a company that handled the matter just like Autodesk did. Basically telling everyone we are in the shit, if you want to leave now is the time to do so, but if you stick around and we succeed the rewards will be great. They made sure everyone knew when we where out of capital and that the doors would be closing on that day. I was amazed at the effect this had, the rats left the ship almost immediately when the "whats in it for me" was gone. This lifted some of the financial burden on the company and ended up giving the "doers" more runway. We ended up pivoting the product and selling the tech to a customer that made it an in house product. While it was not riches, fortune and adventure, all the stuck it out did receive far more than their pay and offers where extended for employment at the company that bought the tech. The moral is that I was surprised to see the best of the best stick it out, they did so because they know they could get a new job tomorrow and where unconcerned with the prospect of their employment ending, many of us felt secure in that fact that we knew when that end would come and could time our exit. Conversely at the other two companies I saw the talent leaving as soon as their was a hint as to the writing being on the wall. When you lie to people you establish a relationship where their is no loyalty and in a situation like a company on the ropes loyalty can mean the difference between survival and bankruptcy court.

</comment><comment><USER3> > June 21, 1983</comment>


Home secretary faces calls to relax palliative drug rules - <AUTHOR> https://www.ft.com/content/eedbe1cc-5773-4e07-b9a3-76177f9ad7f1 <comment><AUTHOR> > ... the head of the Royal College of General Practitioners, Martin Marshall, > said the regulations should be changed for the duration of the Covid-19 > crisis to facilitate the "more efficient and ethical supply" of drugs such > as morphine, that help sufferers die with dignity.</comment>


Benjamin Pierce – Software Foundations - <AUTHOR> https://www.youtube.com/watch?v=KKrD4JcfW90&list=PLGCr8P_YncjUT7gXUVJWSoefQ40gTOz89

<comment><USER2> His book, "Software Foundations" is here:

[http://www.cis.upenn.edu/~bcpierce/sf/](http://www.cis.upenn.edu/~bcpierce/sf/)

And there's a discussion about the book from a year ago:

[https://news.ycombinator.com/item?id=7824793](https://news.ycombinator.com/item?id=7824793)

<comment><AUTHOR> Thanks for the discussion link.</comment></comment>


The iPhone is dead - <AUTHOR> https://hackernoon.com/the-iphone-is-dead-766bc536caab <comment><USER2> I also think that Apple design and quality has plummeted. However: Android is a Google product. Google makes their money selling data on me. Apple makes money on hardware. It's an easy choice.

<comment><USER3> You really think Apple isn't selling your data?

[http://www.slate.com/blogs/future_tense/2017/11/02/apple_pla...](http://www.slate.com/blogs/future_tense/2017/11/02/apple_plans_to_share_some_iphone_x_face_id_data_uh_oh.html)

<comment><USER2> Well, not so far. Perhaps that will change.

</comment></comment></comment><comment><USER4> YMMV writ large.

I've got an iPhone 5, works just fine for what I need it to do, take pictures and video, notes, basic smart phone stuff, be a phone.

I don't need any fancy bells and whistles. I've learned fancy bells and whistles come with their own costs, like, they're annoying after a while. In fact I've got a backup phone of the same model and I'm considering getting a few more, just in case.</comment>


Tell HN: Apparent AWS Issues - <AUTHOR> FWIW, there are two separate threads [0] [1] on the outages mailing list [2] (starting at ~1719 UTC) discussing AWS issues.
status.aws.amazon.com [3] reports everything is normal, however.
There's also been reports of more widespread issues, affecting Youtube, Reddit, and Twitter.
[0]: https://puck.nether.net/pipermail/outages/2016-April/008942.html
[1]: https://puck.nether.net/pipermail/outages/2016-April/008943.html
[2]: https://puck.nether.net/mailman/listinfo/outages
[3]: http://status.aws.amazon.com/ <comment><AUTHOR> Sorry, clickable links:

[0]: [https://puck.nether.net/pipermail/outages/2016-April/008942....](https://puck.nether.net/pipermail/outages/2016-April/008942.html)

[1]: [https://puck.nether.net/pipermail/outages/2016-April/008943....](https://puck.nether.net/pipermail/outages/2016-April/008943.html)

[2]: [https://puck.nether.net/mailman/listinfo/outages](https://puck.nether.net/mailman/listinfo/outages)

[3]: [http://status.aws.amazon.com/](http://status.aws.amazon.com/)

</comment><comment><AUTHOR> FYI, looks like AS200759 leaked routes to Hurricane Electric and that's what caused the transient connectivity issues:

[https://linode.statuspage.io/incidents/d20rq8qhh8v7](https://linode.statuspage.io/incidents/d20rq8qhh8v7)</comment>


Kanye West is sharing all his contracts - <AUTHOR> https://twitter.com/kanyewest/media <comment><USER2> A couple of interesting tweets:

[https://twitter.com/kanyewest/status/1305977929180966913](https://twitter.com/kanyewest/status/1305977929180966913)

When I spoke to Katie Jacobs who is on the board of Vivendi we decided to create a "Y combinator" for the music industry so artist have the power and transparency to to be in control of our future ... no more shady contracts ... no more life long deals

[https://twitter.com/kanyewest/status/1306020451286544384](https://twitter.com/kanyewest/status/1306020451286544384)

The Y Combinator started companies like Dropbox and Airbnb. For the first time, it cleaned up contracts and made venture capital transparent. It empowered start ups with the tools to succeed and grow their businesses. It changed the Silicon Valley game.</comment>


Vitamin D supplements don't help bone health, major study concludes - <AUTHOR> https://www.theguardian.com/society/2018/oct/04/vitamin-d-supplements-dont-help-bone-health-major-study-concludes <comment><USER2> It's not clear to me which populations were studied.

But this is a telling point:

> They were also very clear, she said, that people who were never exposed to > the sun ...

So I'll keep taking the pills because here in Norway there really isn't much sun from now until March, or at least it is too cold to expose much skin to it.</comment>


Apple Awards Tim Cook 1,000,000 Shares of Stock as CEO Bonus to Stay Until 2021 - <AUTHOR> http://www.macrumors.com/2011/08/26/apple-awards-tim-cook-1000000-shares-of-stock-as-ceo-bonus/ <comment><USER2> It's the principal-agent problem - <http://en.wikipedia.org/wiki/Principal- agent_problem>

You could find a lot of capable people willing to do the job for a lot less.

But if you pay them a fixed salary, even $1m, that isn't directly linked to the performance you're looking for, then the game is to avoid anything too risky, even if the expected value is very high, if it might endanger the CEO's job. The game would be to take the minimum risk and do well enough to not get fired, and that's it.

If Tim Cook manages to double the stock price, he'll have $700m. If it drops to $100, he'll have $100m. It's a big difference, and his interests and risks are aligned with the shareholders.

Anyway, that's the theory. Give too much stock, and you're impoverishing the shareholders for little benefit. Don't give enough, and a superstar might decide he'd rather do a startup or an incubator LOL, or he may not want to pursue the same kind of risk-reward as the people who hire him.

$100m is still a great deal of money. I guess going to $700m, it's the difference between superrich for life, and a legacy of being a great leader and dynastic wealth LOL. Nice work if you can get it.

<comment><USER3> What does "LOL" mean in this context?

I've googled it, but it's hard to find the appropriate meaning, since search results seem to focus on the "laughing out loud" sense... "Limit of Liability" was the closest meaning I could find on the Wikipedia disambiguation page ( <http://en.wikipedia.org/wiki/LOL_(disambiguation)> ), but it doesn't seem to fit in this context.

<comment><USER4> Best translation I can think of: "ha ha only serious"

He is using it as the word that the Laughing Out Loud initialism became, which has slightly different usage and meaning. (e.g. in the common phrase "I did it for the lulz.")

<comment><USER3> Oh ok. I'm not a native English speaker, and I thought from the context that it was an abbreviation related to business / investing which I didn't know about. Thanks!

</comment></comment></comment></comment><comment><USER5> I'm sorry, but the comments on here stating "$58m is more than enough to retire upon" are naive when talking about the CEO of one of the largest (market cap) corporations in the world.

Is it a lot overall? Yes. Is it comparable to the same position in similar companies? Probably, I haven't done the comparison. I know a lot of banking CEOs have been making much more for nearly wrecking the economy.

I generally think the C-class officers to average employee salary is way out of whack. But, I think, given the job Tim Cook has been doing and the contribution to the valley and economy that has resulted due to Apple's success, I feel is is more than merited this generous plan.

If Apple were bleeding or just average? That would be one thing, they have been running on all cylinders and Tim Cook has been instrumental in that.

</comment><comment><USER6> Wow, 58 million dollars a year. What's the incentive to work for more than one year?

58 million dollars is more than I'll ever make in my entire life.

<comment><USER7> Normal people would just take 58 million dollars for the first year and retire. Then again, normal people don't earn 58 million dollars a year.

</comment></comment><comment><USER8> I somewhere read that Tim Cook's salary was 800K and though - wow that's really not that much for a COO (and CEO-to-be) of the biggest corporation (by market cap) in the world. But then I found that total comp is more like 60M (<http://people.forbes.com/profile/timothy-d-cook/6607>) which looks more like I though it should be.

My point being, in 2010 Tim Cook already got 52M of restricted stock awards, so this number spread out through the years is nothing out of ordinary for him.

<comment><USER9> "which looks more like I though it should be."

Did you mean should? Or would?

<comment><USER10> Why shouldn't it be _should_? He's done an amazing job and deserves to be compensated fairly. At the scale Apple's at, the number will be huge to most.

<comment><USER11> That's the parent's point.

"More than I thought it _would_ be" connotes that he was surprised.

"More than I thought it _should_ be" connotes that he thinks it's too much.

<comment><USER12> "More _like_ I thought it should be"

Not "more _than_ ".

<comment><USER11> You're right, my mistake. Rest assured that the irony here does not escape me :)

</comment></comment></comment></comment></comment></comment><comment><USER13> The more important the person, the bigger the golden handcuffs need to be.

</comment><comment><USER14> Add this amount ($380 million or so at current Apple stock price) to the extrapolated salary for Cook over the next decade, and he will earn right around an even billion dollars in the next 10 years.

Nice work, if you can get it!

<comment><USER15> Not sure he will be getting this every year. The first 50% vests in 5 years and the next 50% vests 5 years after. This seems like a large deferred bonus to encourage Cook to maintain or increase the stock price for the long term.

<comment><USER16> I read that as the 380 million in 10 years deferred CEO bonus, in addition to his current 60 million/year total compensation, would total to around 1 billion at the end of 10 years. I'm going to go out on a limb and guess it will be well north of 1 billion, once stock price appreciation is accounted for. Hope he considers taking the <http://givingpledge.org/> :)

</comment></comment></comment><comment><USER17> If Tim Cook and Apple without Steve Jobs can continue innovating at the same pace, shareholders will see it as a small investment in Apple's future. And it seems like this was geared to appease the markets.

</comment><comment><USER18> Folks seem to be mentally linking this news to Warren Buffett's comments about income tax disparity. Keep in mind that RSU's are taxed as earned income, valued on the day that they vest. Any appreciation above and beyond that would indeed be taxed at capital gains rates (15% if held longer than a year after vesting), but the core value will be taxed at his marginal rate of 35%.

Buffett's tax rate hovers around 15%, because the lion's share of his income comes from cap gains and qualified dividends. Cook will be paying more than double that on his income from this deal.

<comment><USER19> If the shares don't change in value, that will be an approximately $67M tax bill (vs $28M if it were taxed at 15%). A good problem to have I suppose.

</comment></comment><comment><USER20> "In contrast, Steve Jobs earned a $1 annual salary every year since he rejoined Apple in 1997. While many $1-a-year CEOs reap big back-end stock and options packages, Jobs was almost a financial ascetic: He collected no stock awards most years, no cash bonuses and no perks, even turning down a 401(k) match from Apple."

From [http://money.cnn.com/2011/08/26/technology/tim_cook_stock_bo...](http://money.cnn.com/2011/08/26/technology/tim_cook_stock_bonus/index.htm?source=cnn_bin&hpt=hp_bn3)

<comment><USER21> Apart from the 10 million share options he got that the article mentions...

</comment></comment><comment><USER22> I'm not sure it bodes well for Apple that the board feels like it has to incentivize Tim Cook with golden handcuffs. They gave Steve a lot in terms of stocks and gifts(like the free plane for example) but I can't ever rememberer him getting restricted stock to remain with Apple(except perhaps when he first came back and the company was on the verge of insolvency). Just having the ability to lead Apple always seemed like incentive enough for him.

<comment><USER23> They probably feel the need to demonstrate the incentives to the investors, not the guy who's been at Apple for the last 13 years.

</comment></comment><comment><USER24> I wonder if he too will adopt the $1/year salary Jobs was known for?

</comment><comment><USER25> Is Tim Cook really worth as much as 580 regular Apple employees? Really?

Tim Cook alone is taking home 5% of all the money Apple spends on employee compensation worldwide. If you cut down Cook's compensation a little bit, everyone else at Apple could get a couple percent raise.

Which one would REALLY be better for the company: paying every single Apple employee a couple percent more enabling Apple to hire better people across the board, or paying it all to the CEO?

People need to recognize how grotesque it is that you have a CEO making $160,000 per day, every day.

<comment><USER26> > People need to recognize how grotesque it is that you have a CEO making > $160,000 per day, every day.

People need to recognize how grotesque it is that you have a CEO barely being taxed on their income compared to what they would've been taxed during the greatest economic boom of the past twenty years.

I'm an AAPL shareholder, and I support the board's largesse. Pay him more for all I care, as long as he delivers and my stock appreciates. I would _love_ it if the US government would, relative to the current situation, tax the shit out of me and Tim, both.

> enabling Apple to hire better people across the board

I'll make an assertion of my own: I don't think this is true for a second.

<comment><USER27> Totally agree. I'm guessing that those options are spread over the 10 years, so we're talking roughly $37m a year if the stock remains at the same price. It's just paper money until those options become liquid, and he's working at a big discount when compared to Jobs' 5.5+ million shares from 1997 until today (14 years).

So yeah, taking into consideration that Apple is suddenly working with a CEO that arguably requires less compensation than Jobs, my issue isn't with the amount, but rather how he's taxed and more broadly, the large divide between the top income tax bracket (35%+) and capital gains (15%) which is really terrible, considering that it consitutes an enormous tax loophole for people who earn their income via investments, rather than a traditional wage.

<comment><USER28> They're not options, they're stock grants, which vest at 5 and 10 years.

<comment><USER27> Good point, but the issue still stands - it's less stock per year than Jobs' compensation, not taking into account any other standard compensation that Cook will receive. My understanding of a grant is that the stock can be vested or restricted, although I assume that after a 5-year wait it will be vested when Cook receives it, so he'll owe taxes on it.

That's probably why a 5-year period also favors Cook because Apple will be required to withhold tax on the market value of the stock, and it's tricky how that withholding is paid - for cash grants they withhold a percentage of that sum to satisfy the estimated tax, but unfortunately for stock grants, sometimes the grantee is required to pay that estimated withholding to his/her company if they don't have enough cash compensation to offset it. I'm interested to hear how Cook gets around that $100m+ tax liability, but he has 5 years to prepare.

</comment></comment></comment></comment></comment><comment><USER29> He can live off the dividends after that and only pay 15% taxes too.

<comment><USER30> Sort of hard to do, if your stock doesn't actually pay any dividend.

<comment><USER31> many Apple shareholders would agree wholeheartedly with this statement.

With that said, all that cash they are sitting on is really interesting, considering they've been hoarding it for a while. Jobs was criticized for this in the financial arena, but his position always referred back to the days when Apple almost went down the drain. That has made them ultra-conservative from a financial perspective.</comment></comment></comment>


Ask HN: How to respond to an employee that has psychological problems - <AUTHOR> Our startup is doing quite well, and we have a small team of engineers. We have one UI/UX Designer in the team on whom we heavily depend on. He is a good designer. Over the last two months he has been very irregular to office, and barely getting anything done at all. I pulled him aside for a performance evaluation conversation today, and he broke down and told me that he has serious psychological problems, and has been seeking professional help. I want to support him as much as I can, but we are bootstrapped startup, and I cannot afford to hire another designer to fill in for him, while he is on recovery. What would you do in situation like this?. I really want to keep him onboard, but he is very expensive for us to bite the bullet easily. <comment><USER2> If you're in the US, there are a lot of legal issues for you. Tread very carefully. Don't discuss the issue with anyone, including that employee, again until you talk to a lawyer.

You may think you don't have enough cash to talk to lawyer, but trust me that any lawsuit would be death to your company.</comment>


ID, an easy to use OpenStreetMap editor in JavaScript - <AUTHOR> http://ideditor.com/

<comment><USER2> Nice project. Editing OSM has been on my list. I literally created an account and easily made some additions in less than 5 minutes.</comment>


Simple Goods: selling embedded in any website - <AUTHOR> https://www.simplegoods.co/

<comment><AUTHOR> Do users trust credit-card forms like these that don't have obvious payment- processor branding? I seem to remember HN discussion of something like this, but didn't find any by searching.

</comment><comment><USER2> You've included bootstrap-responsive, which is making the site look silly on anything less than maximised (1280x display), fyi.

</comment><comment><USER3> Seems similar to Ribbon.co- in pricing, too.</comment>


What is fsck up to now? - <AUTHOR> https://toroid.org/what-is-fsck-up-to-now <comment><USER2> One of my favorite BSD features is SIGINFO, which is intended for applications to give some sort of information about what they're currently doing. If you're on macOS, I know some of the copying commands (such as dd) implement it, and a ^T in your terminal will tell you how far along it is.

<comment><USER3> SIGINFO is awesome, I've no idea why the linux world refuses to copy its semantics.

<comment><USER4> I was thinking it was SIGINFO, but this reminded me of the SIGUSR1 trick to get the current status of a running dd process-

      $ dd if=/dev/zero of=/dev/null& pid=$!
      $ kill -USR1 $pid; sleep 1; kill $pid

      18335302+0 records in 18335302+0 records out 9387674624 bytes (9.4 GB) copied,  34.6279  seconds, 271 MB/s

<comment><USER5> That's interesting. I always wonder how people monitored the progress of dd before it added the status option.

Now you can use the status option to get a realtime update of the progress.

dd if=/dev/urandom of=/dev/null status=progress

</comment></comment></comment></comment><comment><USER6> This is cool. But it seems to me that this person's setup could benefit from a way for the computers to be notified that battery power would run out soon so that they could shut down cleanly. I have that going at home through a USB connection to a UPS...it would be harder to set it up with a central battery but they seem to be up to fun challenges :)

<comment><USER7> (I'm this person.) It so happens that the solar inverter I'm using right now doesn't provide a data connection that I could use to shut down the computers cleanly.

But I should also clarify that my long-running fsck isn't always the result of an unclean shutdown. There's something about my combination of iSCSI+crypttab+NFS that causes fsck to be run too often—even if I shut down the machine cleanly while the NAS is running, it usually decides to fsck when it comes back up.

Something to investigate next winter, perhaps.

<comment><USER6> Hi :) Thanks for the awesome write-up. I understand...I have a few devices in my house that resist all attempts at integration. I have considered doing something totally ridiculous like setting up a Raspberry Pi with a camera and machine vision software to watch the LED displays on these devices to glean status information. Silly, but...

Interesting about fsck running for unclear reasons. "What is it up to now?" is a valid question at multiple levels!

<comment><USER7> > Thanks for the awesome write-up.

Glad you enjoyed it. :-)

> I have considered doing something totally ridiculous like setting up a > Raspberry Pi with a camera and machine vision software to watch the LED > displays on these devices to glean status information. Silly, but...

Ha! I actually have a PoE camera pointed at the display of my UPS. Here's what it looks like right now: [https://toroid.org/misc/ups- display.jpg](https://toroid.org/misc/ups-display.jpg)

Notice that horizontal blank row of dead pixels halfway down the right side of the display? The one that makes "54.6" look like "51.6"? That gap defeated my naïve five-minute attempt to use image recognition to extract the battery voltage.

<comment><USER8> I would be tempted to tie the LED lines to digital ins on an Arduino. I'm betting some finagling with the display data lines could get you the information from the display, as well.

Depending on how the cabling to that display works, you might be able to do all of that without having to disable the display.

</comment></comment></comment></comment></comment><comment><USER9> Enjoy some more manual pages in the same vein:

* [http://jdebp.uk./Softwares/nosh/guide/commands/monitored-fsc...](http://jdebp.uk./Softwares/nosh/guide/commands/monitored-fsck.xml)

* [http://jdebp.uk./Softwares/nosh/guide/commands/monitor-fsck-...](http://jdebp.uk./Softwares/nosh/guide/commands/monitor-fsck-progress.xml)

And a service:

        % system-control print-service-scripts monitor-fsck-progress
        start:#!/bin/nosh
        start:true
        stop:#!/bin/nosh
        stop:true
        run:#!/bin/nosh
        run:#local socket used for monitor-fsck-progress
        run:local-stream-socket-listen --systemd-compatibility --backlog 2 --mode 0644 /run/fsck.progress
        run:setsid
        run:setlogin -- daemon
        run:vc-get-tty console
        run:fdmove -c 4 2
        run:open-controlling-tty
        run:fdmove 2 4
        run:setuidgid -- daemon
        run:./service
        service:#!/bin/nosh
        service:#fsck combined progress information displayed on /dev/console
        service:monitor-fsck-progress
        restart:#!/bin/sh
        restart:exec false      # ignore script arguments
        %

</comment><comment><USER10> Don't usually care about titles but surely, "What, the fsck, have you done?"

<comment><USER11> I've always figured that fsck is called that because they couldn't come up with an acronym with u.

<comment><USER2> Filesystem Uniformity ChecK isn't a huge reach…

<comment><USER7> [https://groups.google.com/forum/#!msg/alt.sysadmin.recovery/...](https://groups.google.com/forum/#!msg/alt.sysadmin.recovery/tsGbbkvHo2c/6T-Pj9d3A6wJ)

</comment></comment></comment></comment><comment><USER12> Ugh, the more I see of systemd the worse it looks. What a mess of a "design" we see a glimpse of here.

</comment><comment><USER13> Did he ever get to fsck ? Or did it just hang the entire time ?

</comment><comment><USER14>
         killall -USR1 e2fsck

or start it with -C

<comment><USER9> systemd-fsck, as the article outright told you, already starts it with -C .</comment></comment>


Ask HN: Review our UI mockup tool, ScreenSketcher - <AUTHOR> http://www.codingrobots.com/screensketcher/

<comment><USER2> 1\. Love the fast native desktop app feel.

2\. You cannot just say "any similarities with Balsamiq are probably not intentional". Your mockups look identical. If you want to keep it that way, then as rksprst suggested, compete directly and make it cheaper. Show the comparison on your buy now page.

But you also say "As for pricing, I think it's the last differentiator companies should think of...". Your software doesn't show that. What differentiates you from your competitors? For your specific market i.e. mockups, the look and feel is important. You can't afford to be a copycat there. I'd say, go the opposite route to Balsamiq. Make it funky, make it stand out. Charge more.

3\. Feature requests: Rotate objects. Export as PDF. Unlimited undo.

4\. Get rid of those annoying popups asking me to buy. If you want to sell, then sell properly. Make a video, buy ads, market your product. Don't make the user's life painful.

Your target market is developers. And the one word you don't want them to be thinking when using your app is "SHAREWARE".

<comment><AUTHOR> _I'd say, go the opposite route to Balsamiq. Make it funky, make it stand out. Charge more._

I agree with you. For the first version our differentiator that it's a native app, but not offering more features (or fewer, but targeted for specific audience), is pretty weak, but it's just the beginning.

Thank you!

</comment></comment><comment><USER3> 1\. Encourage your visitors to download the product, put more screen shots that looks dynamic and interesting (may be a slide if you wish).

2\. Good size 1.3 MB

3\. product

\- I can only resize objects horizontally, the button should have a vertical resize.

\- Why drag and drop to add the object when I have already selected it?

\- Let me chose a selected tab (you selected the first one)

\- I can zoom, that's good, but why doesn't it display percentages, how can I know the real size?

\- Why shall I purchase the software, if when I click done (when exporting images for examples), it does export it? I mean your trial version is broken, hackers don't need to pirate your software!

Overall it's not bad, but why pay $60 for it, while I can get a 100 time better software from Microsoft (design + web + encoder : expression suite) for $150??

prices here [http://www.microsoft.com/Expression/products/Purchase.aspx#P...](http://www.microsoft.com/Expression/products/Purchase.aspx#PageTop)

and product here [http://www.microsoft.com/expression/products/SketchFlow_Over...](http://www.microsoft.com/expression/products/SketchFlow_Overview.aspx)

Considering the features and comparing it to sketch Flow: $9 or $12 are good.

</comment><comment><AUTHOR> We acquired this product a while ago from TwoDesk Software (<http://www.twodesk.com/>), improved it, and releasing the new version today. I know, we're going to a kind of established market (think Balsamiq), but we just love native applications, and we think that making mockups is a good fit for a native app, and there's a market for a native Windows tool.

It's written in Delphi, so it is fast and tiny (1.3 MB). Every mockup element is drawn by code, so it scales well (you can resize and zoom in and out), and there's "automagical" grouping: e.g. when you put a button inside a box, if you move the box, the button will be moved as well.

What do you think about our prospects in this market? Any suggestions on the app itself?

<comment><USER4> I can't try it because I don't have a windows machine, but I think you don't have to worry too much about competition because as you said you love the product you are building. Maybe you could play around with price instead, if you are going to target regular users.

</comment></comment><comment><USER5> Balsamiq seems to have more features that are important + being a native app is not an advantage unless you are equal on all other fronts.

Besides for that it looks like a nice "copy" of balsamiq. Because your products are so similar, I think the best way to drive customers is to make your product significantly cheaper than balsamiq.

<comment><USER6> _being a native app is not an advantage unless you are equal on all other fronts._

I disagree. Adobe Air apps can't be as fast as native apps. While using Balsamiq (which is an Adobe Air app) I can feel the slowness. The mouse moves slower. Also, scrolling is not smooth compared to native scrolling.

<comment><USER5> I agree with you that native apps are usually better. But, I'd rather have a slower adobe air app then a native app that is missing important features (like ability to collaborate with co-workers regardless of platform).

</comment></comment></comment><comment><USER7> The artifacts created with this tools looks exactly like those created with Balsamiq...

<comment><USER8> And although there are tons of fonts you could choose to use, they've chosen Comic Sans, which is also used by Balsamiq...

<comment><AUTHOR> My fresh Windows XP installation doesn't have any fonts other than Comic Sans that look similar to sketch style writing. What font would you suggest?

<comment><USER8> I know of Dafont.com's Handwritten section. Maybe you'll make a find there: <http://www.dafont.com/theme.php?cat=603> . Although I don't know if the usage of these fonts is restricted by a license.

It's nice that you listen and respond to such _light_ criticism. Please note: No offense meant with my comment above :). It was just one of the first things I noticed (next to the lines) that reminded me of Balsamiq. I hope you can find an alternative font.

 _Update_ : You also can make your own handwritten font using <http://www.yourfonts.com/>, bypassing license restrictions that come with other fonts

<comment><AUTHOR> This is a good suggestion. Unfortunately many handwritten fonts don't have full Unicode versions, which is important for us. Maybe we'll consider buying a license from some foundry, but they might cost too much for us at this time.

</comment></comment></comment></comment></comment><comment><USER9> I'm on a Mac, so I can't review your application. Most of the developers that I know are on *nix/ OS X. We're in different circles; I'm sure you'll have clients.

I don't really see why a person would want to use a desktop application instead of a web based application like Balsamiq. I honestly believe that the next step to improving Balsamiq would be to stop using Flash.

(Edited to provide more clarification than just: "I'm on a mac.")

<comment><USER10> I don't have a single peer using Windows either. As a fellow escapee of the windows world you may be interested in a (non-flash) alternative to balsamiq called Mockingbird (<http://gomockingbird.com/>). It uses the Cappuccino framework (so that's 'Objective-J') like 280slides -- that means you'll need Firefox 3.6 or Chrome probably, but I know you're already on top of that :)

<comment><USER11> Seconding mockingbird, It's awesome.

</comment></comment></comment><comment><USER12> I like it. Nice website, native apps are fast. A suggestion: Allow different widgets to be importable, so that I can do windows styles apps, mac style apps, etc.

</comment><comment><USER13> Awesome. I am an information architect and I've used almost every tool out there. It's simple, and that's awesome. Needs some serious thought about what NOT to include (as you'll get 1000s of feature requests). Love that it's fast and installs fast. IF you can create an efficient way to share/discuss pages, you are adding value that no other app in this market has nailed (afaik). Feel free to ping me to discuss :)

</comment><comment><USER14> I've got a few issues:

1\. It's Windows only. I do not personally use Windows nor do I have a single peer developer, designer, or project manager (the ones who would primarily be using this for mockups) who uses Windows. It's all Mac in the web dev world these days. A web app or a native Mac app would have been very nice here. As it is I will never use your product.

2\. From what I do see, it looks exactly like a number of competitors.

3\. You're not doing anything to make this the mockup tool I would use over other established mockup tools out there. Is your niche here that it's Windows? If so... I don't really know what to say.

I'm really curious as to why there is this current trend of mockup tools being created. Do we really need a dozen clones of each other out there? Why is no one innovating in this space and just releasing just another carbon copy every single time?

<comment><AUTHOR> HN has a lot of developers who don't use Windows (me too, I'm a Mac developer, in former life a Windows developer). However, it is not the case that most web developers use Macs, and certainly not outside of US. But forget web developers, how about Windows developers?

As for innovation, my opinion is that it doesn't come out of blue. Sit and think about some innovative idea, then implement it? This doesn't work, or at least, this doesn't work _for me_. What works for me is that I refine something over and over again, and then, accidentally, there will be a thing that people will call "innovative." As pg noted in one of the essays, a lot of ideas come while writing an essay, not thinking of writing it. This is what we are aiming for, and this is why we're releasing this version today, and not sitting and thinking of what innovative things we can do. Innovation will come with iteration. This is why I can assure you that we're not aiming to create pointless clones, I hate them too. This is just the beginning.

Thanks for your feedback, which is very useful for us!

<comment><USER14> I actually completely agree with your definition of innovation and that's exactly how I think about it.

What I would ask you is, how have you guys innovated with your definition in mind? When I said I saw no innovation I meant that I literally saw a carbon copy of a dozen other products out there. Do you take in mind those other products as part of that refinement cycle you mention? If so, how is yours the next step in refinement and what has changed or become more streamlined?

I understand this may be your goal moving forward, but I still see it as a bit silly to start at the same exact point as a dozen other startups and hope that you'll somehow beat them in a race of iterating and in turn innovating.

Why should I use your product over theirs?

</comment></comment></comment><comment><USER15> Looks nice. However, it looks _exactly_ like balsamiq. That being the case, why should I buy the challenger (you) over the incumbent (them... with a track record)?

I think it would be a good idea to make your app look different in an interesting way.

nitpick: You spell "lunch" as "launch" in your screenshot.

<comment><USER16> Hi, I'm a co-founder and developer of this application. Maybe I have an obsession about "launching" for a while. (and I'm not English native too.)

Anyway thanks for your feedback.

</comment></comment><comment><USER13> Here's a thought: make the download free, add an online (simple!) sharing service (to share with teams and annotate/comment, behind a simple password), and charge a small subscription fee for that. Say 9$/month per team (unlimited users), or a graded pricing (9$/m for up to 6 users, 49$/m unlimited team/users) will get you the same price as the app in 7 months or less, and more after that (depending on churn of course). Keep the download app free. Then improve the app a little, but don't add lots of features. (DO add iPhone stencils, and small UI improvements like editing inline instead of in a popup box).

</comment><comment><USER15> It's nice to see some competition in this space. Good luck guys.

</comment><comment><USER17> I purchased this program way back when you did the promotion post to the Business of Software forum and I've been using it regularly ever since. It's so much more responsive than Balsamiq and I absolutely LOVE it.

EDIT: I just read your blog post, and it looks like you took over this product from the original creator of whom I purchased it from. I hope you allow us to upgrade if you'll be maintaining it better.

<comment><AUTHOR> Nice to see ScreenSketcher users here! I'll post details about upgrades tomorrow.

</comment></comment><comment><USER18> I would try to market this at the "idea" guys in order for them to make their product more than a crazy idea.

The angle I see is: make it something they can put in front of developers who they want to recruit as founders or design firms for estimate purposes. Plus you can save money because the designer doesn't have to wireframe your stuff from scratch.

</comment><comment><USER19> One little nitpick...is the screenshot on the main page supposed to be a joke. "Launch at mario's" as opposed to "Lunch at mario's". Sorry if I'm just being one of those guys that ruins the joke.

<comment><USER16> Hi, I'm a co-founder and developer of this application. Maybe I have an obsession about "launching" for a while. (and I'm not English native too.)

</comment></comment><comment><USER20> Somewhat off-topic question: what are you guys using for your forums? Did you build it yourself or are you using a packaged solution? They're very nice.

<comment><AUTHOR> It's bbPress (<http://bbpress.org/>).

<comment><USER20> Cool - thanks a lot!

</comment></comment></comment><comment><USER21> What advantages does it have over mockflow.com ( collaborative web based balsamiq competitor ) or even over balsamiq itself?

<comment><USER13> Mockflow is slower and too complicated. Balsamiq of course is awesome, but competition is good in this space. It can still get a lot better.

</comment></comment><comment><USER22> I'm a big fan of demo videos. I like to see something in action before I download anything. That in the works?</comment>


Checked C – A Safer C/C++ from Microsoft - <AUTHOR> https://www.infoq.com/news/2016/06/checked-c <comment><USER2> I met with David Tarditi, leader of the Checked C project, last week at PLDI. He previously worked on System C#, Midori and Singularity where he was in the group that developed lightweight C# runtime and AOT compiler for Midori. Checked C seems like a continuation of this series of work from Microsoft Research with an opposite approach to safe systems programming (opposite as in trying to make C safer rather than trying to make a safe language faster).

Also, if you check the spec you can find the design choices they rejected too (with evaluation of the choices). It looks like a well thought project rather than just saying "let's add some bounds checks to C".

</comment><comment><USER3> I'm not entirely sure I see the value proposition for C++ here. We already have e.g. std::array and std::vector, and AFAICT the other bits of this could be implemented as templates?

(Granted, std::array and std::vector don't _require_ bounds checking unless you use at(), but there's nothing that says you couldn't implement two other template classes exactly like them which mandate bounds checking. std::array and std::vector usually do bounds checking in debug mode, but I'll grant that debug mode may be too slow.)

</comment><comment><USER4> Previously: [https://news.ycombinator.com/item?id=11899925](https://news.ycombinator.com/item?id=11899925) and [https://news.ycombinator.com/item?id=11900009](https://news.ycombinator.com/item?id=11900009)</comment>


PolarSSL – Does anyone have any experiences with this OpenSSL competitor? - <AUTHOR> https://polarssl.org/features <comment><USER2> I've been looking into what options exist and what their pros and cons are for switching LuaSec from OpenSSL to something else (mostly in the context of Prosody's TLS support). These are my pros and cons so far, but it's a pretty specific application, so not all points may be important for others.

Pros:

* PolarSSL seems to be very clear code, well modularized and a much more sane API than OpenSSL.

* Supports setting cipher orders by TLS version.

* Cipher support is good (all the new ECC and SHA2 stuff is included), but it doesn't support SSLv2 or EXP ciphers (I'm counting this as a "pro", though).

Cons:

* Not quite as much support for working with X509 certificates. It parses the extension fields it knows about, but if you want to know more than those, you'll have to dig into ASN.1 yourself.

* Related to the previous point: I couldn't find support in converting different ASN.1 string formats. Probably will have to depend on another library to do that.

* I found a buffer overflow bug within a few hours of working with it [1], which is really not a good sign for a TLS library. However, it did get acknowledged within 24 hours (I've got an OpenSSL patch which has been sitting on their bugtracker without any reply for 6 months).

* Setting a different curve for ECC requires a compile time flag to be set, which is disabled by default.

* Using the server's cipher order or the client's is also a compile time flag, can not be set at run time.

[1] = [https://github.com/polarssl/polarssl/issues/83](https://github.com/polarssl/polarssl/issues/83)

<comment><USER3> Weird, considering that there's a commercial version of PolarSSL verified with FRAMA-C that contributed its findings back to the open source project.

</comment></comment><comment><USER4> We evaluated PolarSSL at FoundationDB while adding TLS support to our 2.0 release. In the end I think our primary deciding factor was a lack of support for hardware accelerated AES-GCM using AES-NI and PCLMUL on modern hardware, although I understand they are working on it.

The library as a whole was relatively well documented and pleasant to use. I am not going to even pretend to be enough of a crypto expert to have my own opinion of its security quality, though.

EDIT: I suppose I should add, for completeness, that we eventually decided to use GnuTLS for our TLS plugin implementation. Just in time to catch the latest GnuTLS security problem, but we avoided heartbleed.

<comment><USER5> I saw they added AES-NI support in PolarSSL 1.3.3 just before the start of this year..

<comment><USER4> Oh, that's great news! Unfortunately I'm on other projects now and likely won't have a chance to reevaluate in the short term, but I'd like to take a look at some point.

GnuTLS was not the most pleasant API to use, but it did hit some very impressive throughput numbers in our use cases, and seemed to deliver on the theoretical promised instructions/byte that Intel talks about in their whitepaper(s) about AES-GCM.

</comment></comment></comment><comment><USER6> There is a chart (unfortunately without source) going around comparing different SSL implementations. In this chart there are situations in which PolarSSL accepts a certificate when it should not.

[http://pbs.twimg.com/media/Bk0DY8XCEAAPpS7.png:large](http://pbs.twimg.com/media/Bk0DY8XCEAAPpS7.png:large)

<comment><USER7> From: Using Frankencerts for Automated Adversarial Testing of Certificate Validation in SSL/TLS Implementations

[https://www.cs.utexas.edu/~shmat/shmat_oak14.pdf](https://www.cs.utexas.edu/~shmat/shmat_oak14.pdf)

github: [https://github.com/sumanj/frankencert](https://github.com/sumanj/frankencert)

<comment><USER8> The code used for the paper is actually here: [https://github.com/pencilo/ssl](https://github.com/pencilo/ssl)

I quit gradschool a month after publishing this so can't comment on what Suman is currently working on, but it looks like it is still mostly my code for generation.

I didn't write the script for using polarSSL but I wrote most the other ones,the testing harness, cert generation and cert crawling, and I can say that polarSSL loved to crash on my weird certs. I almost wanted to remove them from the tested list for being so unreliable.

</comment></comment></comment><comment><USER9> Also check out the PolarSSL Verification Kit[1], a FRAMA-C verified version of PolarSSL.

[1] [http://trust-in-soft.com/no-more-heartbleed/](http://trust-in- soft.com/no-more-heartbleed/)

<comment><USER3> I wonder how to reconcile the symbolic verification of PolarSSL with FRAMA-C with the top comment on this thread, where someone evaluating PolarSSL found a memory corruption flaw within a day of looking at it.

<comment><USER10> The most likely explanation is that the memory corruption flaw was found in a different PolarSSL version than the one the verification kit applies to. The PolarSSL verification kit is a recent development. The available verification kit applies to version 1.1.8 with patches that have not been released yet. Another verification kit is being finalized for the 1.3.x branch.

Another possibility is that the person who found the memory corruption was not using PolarSSL in the same configuration as the one described in the verification kit. PolarSSL allows to select sub-components at compile-time, and to select between implementation options within these components. Finally, there is always the possibility that a bug remains for compilation parameters other than the ones the verification was configured for. If I did not do too bad a job, this comment should make it clear what kind of differences could explain a bug remaining: [https://news.ycombinator.com/item?id=7573483](https://news.ycombinator.com/item?id=7573483)

There is always the possibility of a bug in Frama-C having for consequence a bug in PolarSSL not being found. This is far less likely than the previous commenter referring to a version that was not verified.

<comment><USER3> It should be pretty easy to verify which case it is: acquire the verified version of PolarSSL and check to see if the memory corruption bug, found 2 days ago and reported publicly, is in that codebase.

<comment><USER10> Oh, there is a link for the bug. Sorry, my bad.

Yes, Privacy Enhanced Mail is not part of the verified PolarSSL configuration. And the bug at [https://github.com/polarssl/polarssl/issues/83](https://github.com/polarssl/polarssl/issues/83) is definitely the sort of bug Frama-C would "not shut up" about, as Regehr puts it. The warning will only occur where the buffer overflow eventually happens, and it may be more or less pleasant to go back from the site of the buffer overflow to the bug in the fashion of [http://blog.frama-c.com/index.php?post/2014/02/23/CVE-2013-5...](http://blog.frama-c.com/index.php?post/2014/02/23/CVE-2013-5914) , but Frama-C's value analysis is designed to reliably find this bug and not shut up about it.

</comment></comment></comment></comment></comment><comment><USER11> Everybody who is dropping OpenSSL in favor for alternative library X is going to bet on the wrong horse here. A big leak has just been fixed in OpenSSL and every commit will be checked now by more critical eyeballs than before imho.

<comment><USER12> I don't believe that the presence of the vulnerability is the reason people are looking to migrate. I believe that the discovery of this vulnerability shed light on the code quality of OpenSSL, and that is what is turning people away. Some people have only recently learned of the quality issues, and have lost trust in the project. Others have known about them, but have been begrudgingly dealing with them, and this was the straw that broke the camels back. There's always someone looking to migrate to a different implementation, and all they need is a good reason to justify the effort.

</comment></comment><comment><USER13> How can they sell an exception to the GPL license if they're accepting Pull Requests on Github. I haven't seen any reference to a CLA.

<comment><USER5> I have signed a Copyright Sharing Agreement with them...

They only accept copyrightable contributions from people with that agreement (as far as I know)..

As typo fixes, small bug fixes and one-liners are not considered copyrightable they accept those without it..

</comment></comment><comment><USER14> Their test system knows about valgrind and ASan and runs it if available. There's also a frama-c annotated version. not open source, but still this is exceptional.

I'm just missing CPU specific optimizations (SSE, Altivec, ...)

</comment><comment><USER15> [http://curl.haxx.se/docs/ssl-compared.html](http://curl.haxx.se/docs/ssl- compared.html)

</comment><comment><USER16> PolarSSL condones the practice that makes OpenSSL less secure than any other, which is commercial entities not being obligated to give back. They simply extend that privilege to people who include it in a commercial product.

The biggest problem with OpenSSL is that noone helps.

<comment><USER17> > PolarSSL condones the practice that makes OpenSSL less secure than any > other, which is commercial entities not being obligated to give back.

...it really isn't that simple. Many of the mechanisms for obligating commercial entities to give back simply result in those entities ignoring a project from the start. Plenty of projects that _don 't_ enforce that obligation receive significant commercial support.

</comment></comment><comment><USER18> I don't know personally, but the project I work on (MCServer, an open source Minecraft server) implemented it as a replacement to CryptoPP recently (we needed SSL support with a sane license) and it has been working fairly well. Even when a feature we needed wasn't implemented, the maintainers quickly added it and were nice to work with.

</comment><comment><USER19> I used it with a small embedded system a couple of years ago and was generally very pleased with it, at least from an ease of use perspective. For the niche I was filling it was a great fit. I don't know how well it adheres to the standard though, or whether it has known vulnerabilities.

</comment><comment><USER20> I have no experience with PolarSSL but it is under GPL so unless your code is under GPL also it is a no-starter. I suppose this is a major obstacle for wider adoption.

<comment><USER21> Its dual-licensed, you can use their non-GPL licensed code

<comment><USER22> The other side of the license is commercial.

<comment><USER23> Oh so you want it for free? And without giving back your work to the public?

Oh.

<comment><USER24> Oh, yes.

Like all the code I've contributed with no reciprocation demanded.

<comment><USER23> Well then keep using those kind of licenses, and openssl, and _we_ the others will gladly use GPL kind of licenses, and move to gnutls and/or polarssl.

This argument is old, _BSD vs Linux old since the 1990s.

I guess you are using _BSD kernels, runtimes and compilers on your phones and super-computers too?</comment></comment></comment></comment></comment></comment>


Learning VIM while playing a game - <AUTHOR> http://vim-adventures.com/ <comment><USER2> Congratulations to that very nice and useful game! I loved to play around with the first 2 levels.

It's a pity that the project's state is totally unclear (at least to me, a casual visitor). Is it meant to become a community project? Is it a demo of something that will be sold in the future? The explaining text behind the "Unlock Levels" button adds even more confusion:

 _> Additional levels are currently being developed for you to play and enjoy. The 3rd level will be available for FREE only for players who sign up for my email list. Sign up now! You'll be notified as soon as the level is up. The level won't be available for unregistered users._

On the one hand, it sounds as if it is free, with some "forcing" to make more users join the project mailing list. On the other hand, this is totally discouraging contributions (because you aren't allowed to see the work-in- progress version), so maybe it's meant to become for-sale in the future.

I'd love to see it developing either way (although I think the community way is the more appropriate for this project). But as of now, it seems to _unify the disadvantages_ of both worlds: Advertising the mailing list in a way that appeals neither to people who are willing to pay (as there's no clear pricing plan), nor to people interested in contributing (as it seems to more about announcements/"newsletters" than about how to improve and to help).

<comment><USER3> Not to mention that this all goes against free software values, in a game that touts "the power of open source".

<comment><USER4> Open Source != Free Software

<comment><USER2> Although I agree that both terms are not exactly equal as they emphasize different aspects, those differences are totally irrelevant to the argument at hand:

If you advertise your project by stating you are convinced of the "power of Open Source", but don't make use of that "power", how much credible is that?

No matter if you find this argument convincing or not, it has nothing to do with the difference between Open Source and Free Software. It's just about adverticing a proprietary project with "power of Open Source" versus advertising it with, say, "power of Vim".

</comment></comment></comment></comment><comment> brown9-2 Very interesting idea, but something seems to be off with the email signup - it reports "Error: SMTP Error: Data not accepted. Mail could not be sent." for two addresses I tried, one of them @gmail.com.

However when I try to sign up a second time a minute later with the same address, it reports "Email address is already on the list".

<comment><USER5> Thank you very much for mentioning my site here! The problem with the email signup is that I exceeded the maximum 500 mails that google outgoing mail server allows per day (500). All emails are entered to the list first, even if the confirmation mail isn't sent. I'm working on setting up an outgoing smtp server so I'll be able to send more mails. At this point gmail won't even allow me to email from my account. As soon as I have an outgoing mail server I'll send the mail again for anyone who subscribed. So if you get a message that your email is already on the list, everything is ok and I'll send you the thank you email in the next couple of days. The third level, once it's up, will be open to you. Thanks for everyone who pointed that up and sent me emails about that.

</comment></comment><comment><USER6> Cute, but the inability to use keys before "collecting" them makes it painful to use as an experienced vim user. I'd love to have a mode that just unlocks all the navigation keys immediately. That would allow users to fly through the early levels, and then get slowed down by the first thing they _don't_ know.

I found it particularly clever how the game forces you to use better navigation, by allowing you to skip over rocks that way.

Also, teaching capital HJKL early on seems like a good way to make it through the maze more easily; hitting the same key repeatedly (or rather, leaning on it until hitting a wall) seems like a bad habit to teach.

</comment><comment><USER7> I learned how to use the controls of VI decades before I actually learned that VIM existed, through Hack/Nethack. I thought the controls were ridiculous, but I was a kid, so I just accepted it and learned them, little did I know how useful they would become later on in life.

<comment><USER8> How close are the controls? I never noticed they were similar... maybe I should try to ascend again, as I'm terrible in VI

<comment><USER9> Movement in a lot of roguelikes is HJKL. Also it's very common for YUBN to make your character move diagonally.

<comment><USER10> You could almost make (d)ropping items into a similarity, too.

</comment></comment></comment></comment><comment><USER11> They could do something like this one for Emacs. Wait, it already exists: it's called Guitar Hero.

<comment><USER12> I fear you might have just caused that thing to spring into life.. I only hope that it wasn't actually rule 34 that triggered it.

</comment></comment><comment><USER13> Wow. This is absolutely genius. You want to be more productive with vim, but this is generally due to the fact that you have little time as it is. Learning vim hasn't always been in the best interests of my current task. Then there is this game. Brilliant.

<comment><USER5> Thanks! I'm at a loss for words. It's very kind of you.

<comment><USER13> You deserve it. You put a lot of work and effort into essentially helping people learn, which makes people's life easier.

</comment></comment></comment><comment><USER14> I've gotten to the end of the level. Then I remembered that in the top corner of the Maze is another treasure chest. I go back there to the !! marks and type b but cannot enter that area.

The message reads "Remember: these are not words"... so how do I get in there? Can that part of the game not be solved?

I've tried Shift-B, ^ etc. Is anyone else able to get into there?

<comment><USER5> Nice catch! Actually, that's one of the places where a B would come in handy, but it's only collected in level 3 so the chest can't be accessed yet :)

<comment><USER15> Nope, that doesn't work. I already tried going back to the maze after getting B, and it still wouldn't let me in to the chest.

<comment><USER16> 'B'. You got a 'b' (unless I'm very much mistaken).

</comment></comment></comment></comment><comment><USER17> This is great! I've been meaning to learn the basic VIM keybindings so I can start using evil-mode in Emacs:

<https://gitorious.org/evil/pages/Home>

</comment><comment><USER18> Couldn't move at first, then I realized I had to disable the vimperator plugin. Cool game though!

<comment><USER19> Ctrl-Z (passthrough keys to website) worked for me in Pentadactyl (and I assume Vimperator).

<comment><USER20> I think `Insert` does the same thing in Vimperator

</comment></comment></comment><comment><USER21> Nice! I got bored before I finished the first level, but not before I was trying to use stuff like ^,$ and ctrl+f, ctrl+b, 5l to get to the end of the tunnels faster and those didn't work. Is more advanced editing unlocked in later levels? or is this just for getting off the arrow keys? I can imagine some cool things in a more advanced vim game like * for teleporting between words, mm to drop a bookmark, :badd to get to a new level ...

<comment><USER5> The target of the first level was to cover hjkl. I know it's a pain and when you're proficient enough you usually don't use them but use tf*#/ and such, but it's the basics... The motions are working only on text areas (There are some on the 2nd level). Bookmarks are indeed planned for teleporting back to places, and I have plans for /Hello if you look at the first screen ;)

</comment></comment><comment><USER22> It keeps crashing Firefox. I am sort of wondering what in the world it is doing to manage to kill both Firefox and Chrome!

Aside from that, it was not immediately obvious what W and B did, though a few seconds of playing around and it made sense. (That is about how far I got before it died the second time)

<comment><USER5> I managed to crash chrome once, but couldn't reproduce it. I'm an indie developer so I don't have enough people QAing the product yet :/ My first gut feeling is the audio, but didn't have a chance to prove it yet. It would be great if you'll be able to send me more info on when exactly it crashed to my mail doron ( at ) vim - adventures . com . Other than audio, I really don't do anything out of the ordinary - all javascript and canvas. Regarding the w and b (and e), I left out the exact explanation since I believe that the self exploring and understanding contributes to the learning process. That part was intentional. Thanks for your feedback! I'll make another effort to reproduce the crashes.

<comment><USER23> It consistently kills chrome for me.

<comment><USER24> ^ - Does it on the first level, when navigating the maze. Using latest version of Chrome and OS X.

</comment></comment></comment></comment><comment><USER25> Thank you for this. I have been putting off learning vim for way too long. Nano does its job fine :P

However, I can't input my email.. it has more than 30 chars. As per source:

<input id="email" name="email" maxlength="30" type="text" placeholder="Email Address" />

<comment><USER12> Same here, but then even when I tried a shorter name, it gave me an SMTP error. :(

<comment><USER5> I fixed the 30 characters issue to allow up to 70 characters. And you may also use + signs in emails. The SMTP error doesn't occur anymore, and even when there was an error the email was still subscribed so no need to resubscribe again.

</comment></comment></comment><comment><USER26> Incredibly slow here. Ubuntu 11.04, FireFox 11, intel graphics, 4GB RAM, Core 2 Duo E7300.

<comment><USER27> Works very well here: Ubuntu 11.10 64 bit, FF Aurora 13.0a2 (2012-04-23), nVidia 295.20, 4GB RAM, Core2Duo E6600

<comment><USER26> Must be the graphics card then.

</comment></comment></comment><comment><USER28> I've had this idea forever, but wanted to make it work in the as a terminal- based application. Being a noob a systems programming, I got stuck at getting a PTY working in C that would properly forward the escape sequences from vim to the player's terminal.

I wanted to just create a program that was simply a layer between the terminal and vim, so all the power of vim was automatically available. The game was going to involve manipulating the environment (made of text) to different goals. I had all sorts of minigames in my head. Unfortunately, way too ambitious, and I never even properly started it. This makes me really want to though, if only I had more time..

</comment><comment><USER29> I really like this, and if the price isn't too bad I'll pay to keep going as I've learn't more from this than when I've sat down to try to 'learn to do VIM'. I guess there's only so much you can cover in this sort of game format (I'm doubting there will be a .vimrc level), but if it goes far enough to teach me to take all the lag out of navigating and editing, I'll be a happy bunny.

<comment><USER5> Thanks. I agree that a .vimrc level will be a stretch. I had some ideas on how to incorporate that to, but I think I'll leave it out. Once you get modal editing and know all necessary commands, motions, and operators to use, tweaking your .vimrc is a walk in the park (with a left turn on google street :) )

</comment></comment><comment><USER30> Just wanted to express my gratitude for creating such a game. It was a little saddening when I completed it though, as I really wanted to play more of it. Good job! I'm _really_ looking forward to playing more levels. Do you have any plans for allowing others to contribute to level design or game mechanics?

</comment><comment><USER31> Great little game! I never imagined a game would be so effective to get you to learn hjkl, but makes sense, most people learn wasd by playing games too.

I'm using a Macbook Air with Mac OS X Lion and Google Chrome and the gameplay is very smooth.

</comment><comment><USER32> Wow. I've been aching to learn Vim for years, struggling through the rare occasions I have to use it while SSHing in to a machine. I've picked up more in 5 minutes with this game then I have in all that time. Very impressive!

</comment><comment><USER33> After finishing the maze there is a roadblock at the bottom of the screen after talking to the girl who tells me about what happens if I step into water and there is no column above me... Is there a game beyond there?

<comment><USER34> No it's not over, use what you learned from her to advance in the game

<comment><USER33> Just made it past that. Thanks.

</comment></comment></comment><comment><USER35> I already know VIM/use it on a daily basis and I found this fun and interseting.

</comment><comment><USER36> Very cool - got an SMTP error when I tried to sign up though. :(

</comment><comment><USER37> <http://strategywiki.org/wiki/NetHack/Beginning#vi_keys>

</comment><comment><USER38> Pretty cool, just that sad smtp error at the end.

</comment><comment><USER8> Chrome 19.0.1084.30 beta on OS X Lion is seeing nothing past the first screen for me. I hear sounds, but its a black box otherwise.

<comment><USER5> The only reason I can think of is that the browser didn't download the images from the server due to extream load on the server. I'm experiencing some server problems and opened a support ticket with my hosting company. If the problem persists, please contact me at doron ( at ) vim - adventures. com and I'd try to get to the bottom of it. Thanks.

</comment></comment><comment><USER39> Very slow on my Firefox 11, Ubuntu 11.10, fglrx

</comment><comment><USER40> I thought of this a few months back, glad to see it being done in such a polished manner! Looking forward to play more levels.

</comment><comment><USER41> Are the two NPC's at the very beginning supposed to say nothing? I see a blank speech bubble when I walk to them.

</comment><comment><USER42> Was silky smooth for me on a Mac Core 2 Duo & Chrome. Nice game and looking forward to more levels!

</comment><comment><USER43> has a bug with option "start searching when I start" enabled on firefox, clicking cursor keys makes firefox open up quick search and the game becomes unplayable unless you keep clicking escape after every other button click.

The game looks fine! I already see how my kids will learn vim :)

</comment><comment><USER44> This is exactly what I need as a beginning front end developer. Thanks so much guys, this rocks.

</comment><comment><USER45> My only recommendation to learn vim is vim tutor. Slightly tedious, but fast and effective.

<comment><USER4> "...Slightly tedious..."

This is core problem with learning VIM, many people are off-put by VIMs complexity.

I think this game does a great job of letting the player explore vim commands, while complete objectives that are common to many video games.

What makes this game great isn't the fact that it's a video game that lets you learn VIM as you play. It's that it simply incorporates VIM commands into a game that could appear on any popular flash game site.

Very well done, keep up the good work.

</comment></comment><comment><USER46> I am learning VIM. Do you exclusively use VIM for both simple text editing and programming?

<comment><USER47> I use it for grading assignments (reading a .lisp file and writing a grade.txt file), as well as taking class notes. I also use it for editing config files (like for nginx) and dotfiles.

<comment><USER46> Taking class notes sound interesting. I want to move some of my stuff over to command-line like TODO and simple writing for distraction free environment. I am using Google Docs and Evernote at the moment but a combination of vim/terminal and Dropbox would be great.

</comment></comment></comment><comment><USER48> crashed ("oh snap") in maze just a few seconds in, chrome 18.0.1025.163, mac os x 10.7.3

<comment><USER48> no crash on safari, but SMTP error on email form.

</comment></comment><comment><USER49> This is excellent! I really feel some of this sticking in my memory for once. Thanks.

</comment><comment><USER50> Awesome game! @doronlinder you should really put a "retweet" button there asap!

</comment><comment><USER51> great! i can move around with h, j, k, l ..... so what now? nothing happens then i time out and get sent back to little person blocking the bridge. is it my browser, ie firefox?

</comment><comment><USER52> Nothing works for me - what's the minimum browser/OS requirement?

<comment><USER53> Ran fine for me on Chrome Stable/Windows 7, running 2.4GHz Core 2 Quad, 3GB ram, on-board video.

</comment></comment><comment><USER54> It crashed chrome!!..:)

</comment><comment><USER55> Congratulations ! it was a very cool game.. hope we see the next levels soon and I also hope you'd open all the game levels even to unregistered users later. :D

</comment><comment><USER56> works great for me! Safari 5 Mountain Lion

The email address box however didn't show my email as I typed it in

</comment><comment><USER57> I wish this worked on iPad ...

</comment><comment><USER58> awesome, I am learning vim since a week and this is definitely very useful.

</comment><comment><USER59> had a lot of fun until it crashes the chrome tab. (like everytime)

</comment><comment><USER60> This is soooooo cool (:

</comment><comment><USER61> I don't use hjkl to move around in vim. At this point it's counter intuitive. Lame

<comment><USER16> The last word of your comment made me respond..

That'd be considered 'wrong' or missing out. Which the game tries to correct. Supposedly later levels will teach you about vim 'words' and you'll combine hjkl with lots of other commands. You cannot do that the way you use the software. How's that 'lame'?

And what kind of an attitude is this if you click on a game that is supposed to teach you about vim and complain that it's forcing you to learn something right afterwards?

<comment><USER61> "Cursor keys are not the way to move around in VIM"

That's why it's lame. You most certainly CAN. I don't care that other functions combine with hjkl in vim. They're useful but using hjkl for left/right/up/down is annoying and the restriction in this "tutorial" makes it that much worse.

<comment><USER62> Yes, you can, but there is a benefit to maintaining your fingers on the home row and not requiring a shift elsewhere. So while it might be an annoyance to you, other people disagree.

</comment></comment></comment></comment><comment><USER63> works very slow in firefox .. had to play in chrome.

<comment><USER12> Works wonderfully in later versions of Firefox, sounds like there might be a canvas bug causing poor performance in Fx 11

</comment></comment><comment><USER64> This is awesome!

</comment><comment><USER65> why the site isn't responding?

</comment><comment><USER66> doesnt work on my iphone 4. is this the future of cross browser compatibility?

it's an interesting project none the less.

<comment><USER5> It wasn't meant to work on mobile devices. It can and everything work as expected besides the fact that you must have a fully functional keyboard to use it and learn VIM.

</comment></comment><comment><USER67> Aa

</comment><comment><USER68> cool :P I really liked it.

</comment><comment><USER69> very cool

</comment><comment><USER70> Fantastic! This game had me laughing instantly...gaining a proficiency in 'hjkl' via a crazy web browser game is a great idea!

<comment><USER71> On a side note, several times when playing through the game I noticed that my motions weren't working, and traced it back to this: that for me, the home row is jkl; and not hjkl. I don't know very much about vim -- is there a reason that you have to put your hand in the "wrong place" on the keyboard?

<comment><USER72> vi, which vim is based on, was programmed on the ADM-3A terminal, where the arrow keys are on the H, J, K, and L keys.

[http://www.catonmat.net/images/why-vim-uses-hjkl/lsi- adm-3a....](http://www.catonmat.net/images/why-vim-uses-hjkl/lsi-adm-3a.jpg)

[http://www.catonmat.net/images/why-vim-uses- hjkl/adm-3a-hjkl...](http://www.catonmat.net/images/why-vim-uses- hjkl/adm-3a-hjkl-keyboard.jpg)

<comment><USER71> Ah. So it's a sort of Big Software Syndrome type thing -- "we could do it in a more intuitive way for new people, but it would break all of these existing programmers who learned it the less intuitive way, so let's leave it the original way" -- or am I missing something?

<comment><USER73> That may have something to do with it, but in practice, I find myself moving up/down (j/k) files far more often than I need to backtrack by a single character, and when I do, as often as not my pinky flies up to backspace (note this works by default only in Vim). It ends up being the most natural to keep your hands on the home row anyway.

</comment></comment></comment></comment></comment><comment><USER74> i wanna use vim less now :D</comment>


Geometric intuition for digital audio filters - <AUTHOR> https://karlhiner.com/jupyter_notebooks/intro_to_digital_filters <comment><USER2> Julius O. Smith's books are excellent, easily ranking up amongst the best text books I've always read. It's always a good sign if I look forwarding to continue reading as if it were a novel...

You can actually read them for free online: [https://ccrma.stanford.edu/%7Ejos/Welcome.html](https://ccrma.stanford.edu/%7Ejos/Welcome.html) I picked up printed copies on Amazon regardless, both because I wanted to support the author after reading almost a full book online, and because I sometimes prefer reading a physical textbook (the "spatiality" somehow helps me remember better).

I'm a Software Engineer without any background in signal processing (or audio), and stumbled upon his books when an FPGA hobby project of mine involved a simple audio pipeline for which I wanted to do some sample rate conversion. Since then DSP has become a hobby on its own.

I actually read the "Digital Filters" book (the second in the series) first, before reading the first book about DFT fundamentals, and it worked pretty well.

<comment><USER3> And to all that said, all the pages and books on his site ain't require JavaScript, unlike link in topic.

<comment><AUTHOR> Are you refering to my site or JOS's site? Can you elaborate please?

<comment><USER3> JOS's site doesn't require JavaScript to read the content. Your site requires JavaScript to read the content.

<comment><AUTHOR> Yes, gotcha. My whole site is a react app with a lot of MathJax formatting and some posts center around JavaScript animations. But mainly the holdup is that it uses async-loaded code-splitting techniques to keep initial page loads down. It would be a big challenge to make it friendly without a lot of dynamic language help. Apologies. (Although I will think about how to make text-only content available as I agree with the idea that JS-only is unnecessarily restrictive when most of the actual content is text and images.)

</comment></comment></comment></comment></comment><comment><USER4> Good article, although in reality removing 60Hz hum isn't so simple, because it's never a pure sine wave. You get harmonics too, and the ear is more sensitive to those higher frequencies so they can be a problem even at lower amplitudes.

<comment><AUTHOR> That is a really good point. "Remove" is a pretty flippant word to use in this context. I'll update, thanks :)

</comment></comment><comment><USER5> The only gripe I always have with digital filtering texts is everything is always around "normalized".

The problem is that my equipment always reports things in "real" time and frequency.

Having to make this jump always confuses students horribly.

Look at all the grief that Monty got about why not 24/192 downloads. He actually had to create a video about it: [https://xiph.org/video/vid2.shtml](https://xiph.org/video/vid2.shtml)

</comment><comment><USER6> This is an excellent exposition of the topic with nice animations. I look forward to more of these.

How long does it take to work through the textbooks ?

<comment><AUTHOR> Thanks, glad you enjoyed it! Lately I've had a break from full time work, so I could dedicate all my time to them. This one took a little over three weeks I think, which is pretty typical. His next book, Physical Audio Signal Processig, is a pretty huge tomb of a textbook so I imagine it would take much longer even with full time dedication. I started it but have to put it down for a bit to look for work. Even with this Filters book it was easy to get stuck on a single problem for most of the day.

</comment></comment><comment><USER7> This is brilliant, thank you!

I see JOS' other texts in the repo, are you aiming to complete those too?

<comment><AUTHOR> Thanks! I have a similar post for Mathemeatics of the DFT, and I've started Physical Audio Signal Processing, but currently distracted by other software projects. I love the books, can't wait to get back to them.</comment></comment>


Everything Wrong with the F-35: Fighter's developers have a lot to answer for - <AUTHOR> https://medium.com/war-is-boring/everything-wrong-with-the-f-35-3b62e8b3b432

<comment><AUTHOR> More details about the F-35, related post: [https://news.ycombinator.com/item?id=9803043](https://news.ycombinator.com/item?id=9803043)</comment>


UTF-8-demo.txt (2002) - <AUTHOR> https://www.cl.cam.ac.uk/~mgk25/ucs/examples/UTF-8-demo.txt <comment><AUTHOR> It's interesting to me to try to view this early file in various environments.

I've tried it on Mac in Chrome, Safari, Emacs and Sublime Text. Most of them appear to render all characters correctly, except Emacs fails on the Braille characters, rendering full 6-dots for every one of them.

Spacing is very broken on the browsers, the large "drawn" equation doesn't align properly at all on any of Chrome, Safari, and Emacs. Sublime does a pretty good job but still has some small issues.

The box art at the bottom is completely messed up in both Chrome and Safari, pretty good in Emacs, and perfect in Sublime.

</comment><comment><USER2> I like Markus' examples. This one inspired me to write custom alignment code in my terminal, since fonts could not be depended upon to do sensible things for line-drawing, etc. (and even when sized correctly, you might see miniscule breaks between lines).</comment>


Did he take banned substances or blood dope in all his Tour wins? ''Yes.''  - <AUTHOR> http://sports.yahoo.com/news/armstrong-admits-doping-oprah-022942677--spt.html

<comment><AUTHOR> You are driven to win, and you know you can get some advantage if you cut some corners. Will you do it ? My hypothesis is that most driven people will do it. If there was some performance enforcing drugs for entrepreneurs how many of you will take it ?</comment>


Why the BBC needs an iPlayer passport…  - <AUTHOR> http://brokenbottleboy.posterous.com/dear-bbc-we-need-an-iplayer-passport

<comment><USER2> >I wholeheartedly support the licence fee but it's a shame that I can't catch up with TV shows on a business trip to the US or visiting @dannifromdublin in…well…Dublin.

You can of course already do this by using the download facility (which apparently even works on Linux via Adobe Air) which gives you 21 days to view the downloads IIRC.

I'm not going to support a passport as then I'd have to buy an aerial, some coax and a TV license in order to watch a couple of shows every few weeks - which I can justify if required as the BBC get a quite large stipend paid from the exchequer.</comment>