The Way I Work: Jason Fried of 37Signals - <AUTHOR> http://www.inc.com/magazine/20091101/the-way-i-work-jason-fried-of-37signals.html <comment><USER3>
        Fatal error: Call to undefined function: query()
        in /content/public_web_sites/www.inc.com/reflex
        /lib/dbi.class.php on line 152

Ouch. Here's a printer-friendly version with the full text.

[http://www.inc.com/magazine/20091101/the-way-i-work-jason- fr...](http://www.inc.com/magazine/20091101/the-way-i-work-jason-fried- of-37signals_Printer_Friendly.html)

<comment><USER4> How high-traffic web sites still not obfuscate these errors, or even allow them to happen in the first place, is far beyond me.

<comment><USER5> What difference does it make? People are used to weird errors, so it doesn't scare away "normal people" anymore than a fail whale would. People trying to break the code are not aided much by one filename and line number, either.

It's annoying to look at, and _I_ wouldn't do it... but it doesn't really matter.

<comment><USER4> It's just a show of a lack of professionalism. I view exposing low-level errors as akin to spelling mistakes, typos, poor photo work, and other symptoms that show the content producers just didn't take the extra step to differentiate from amateurs.

I hate to beat the cliche, but just one of the reasons I feel happy when using most of Apple's products: they just scream that even the details were very much thought about.

<comment><USER6> Except the time my iPhone went into Chinese-language panic mode and started warning me that something completely arcane was happening and would only shut down after I took out the SIM.

PS: No, the phone has never been jailbroken.

<comment><USER7> I wasn't aware that you could even take out the SIM without some serious physical hackery to get the case open.

<comment><USER8> There's a removable SIM caddy at the top that can be popped open with a paperclip or a key included in the iPhone 3G packaging. It's the battery that can't be easily removed.

<comment><USER7> Oh, interesting, I did not know that. Thanks.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> _I enjoy cooking, but I'm single, and I don't like to cook for myself. I go out often, but I don't like fancy dining experiences. I find people putting a napkin on my lap uncomfortable, and don't like worrying about using the wrong fork._

That's too bad, because very few fine dining places are about that stuffy service, use-the-right-fork nonsense anymore, and Chicago is an epicenter for creative new food. He should check out Moto, Schwa, or even Alinea; nobody is going to touch his lap.

<comment><USER10> Yup, I've enjoyed some of the great new-wave fine dining places in Chicago and other cities, but I almost always prefer a hole in the wall with great food. I'd rather eat at Club Lago or Club Lucky than a fancy Italian place. I love food so I'll check out any restaurant, but I just feel more comfortable in places like Lago.

<comment><USER9> You want to go to the LTH list of "Great Neighboorhood Restaurants":

<http://lthforum.com/bb/viewtopic.php?p=215187#p215187>

Start at the top, work your way down the list.

Two notes:

* This is a PHPBB --- that's it, just a PHPBB --- that gives awards that are so authoritative in Chicago that very trendy restaurants (Kuma's, for instance) _hang them in the window_.

* As far as I can tell, no other city has anything like LTH, even NYC. The "LTH of San Francisco", for instance, is the CHOW message boards. No trendy restaurant has ever hung a printed-out CHOW message board comment in their window.

<comment><USER11> I want you to know, you've just ensured that I spend way more money on food in the next year than I otherwise would have. Even lowly Naperville has a great deal of good looking places listed on that forum.

<comment><USER9> I have never --- not once --- had a bad meal at a GnR.

</comment></comment></comment></comment></comment><comment><USER12> _I don't read fiction. I find it a waste of time. There are so many amazing things that are real; I don't need to spend any time on a made-up story._

Pretty strange comment to come from a creative type, no?

<comment><USER10> I don't think it's strange that I don't read fiction. I've met plenty of other "creative" people who don't read fiction either. Nothing against other people reading fiction, I'm just not interested in it.

I watch movies and I'll watch TV shows, but if I'm going to spend dozens and dozens of hours reading, I'd rather read about something that's real. There's plenty of creativity in the real world. More than I'd ever be able to discover in 100 lifetimes.

<comment><USER13> _I watch movies and I'll watch TV shows_ ... _There's plenty of creativity in the real world_

You realize that movies and TV shows most certainly do not constitute the "real world"?

Nobody says you have to read fiction. But it's really a shame to take the weaker forms of escapism the world has to offer you rather than the deeper, ecstatic ones, _just_ because the latter are in book form.

<comment><USER14> I don't think he's taking "weaker" forms of escapism as he's taking shorter ones.

I still find his stance different as a lover of fiction, but I can't argue that a good book isn't also very time consuming, and if you allow that your time is precious, there are probably better uses for it.

<comment><USER13> I think TV shows and movies are weaker. Movies can't do what books can do because you don't create them in your mind as you consume them (or at least not in the same way).

But I can see why for some people, the basic realism of film might take them even further than a book and their own imagination. My original post sounded a bit more judgmental than intended.

</comment></comment></comment></comment></comment><comment><USER15> _I have no idea how many hours my employees work -- I just know they get the work done._

I wish someone would just tattoo this on the forehead of every PHB (backwards, of course).

<comment><USER5> Most people's jobs aren't to do work, it's to keep their chair warm. That requires 8 hours a day of work.

<comment><USER16> _The basic idea behind office hours is that if you can't make people work, you can at least prevent them from having fun. If employees have to be in the building a certain number of hours a day, and are forbidden to do non-work things while there, then they must be working. In theory. In practice they spend a lot of their time in a no-man's land, where they're neither working nor having fun._

<http://www.paulgraham.com/opensource.html> "Workplaces"

</comment></comment></comment><comment><USER17> Sounds like someone I could chill with. Gyokuro tea is good but it's a bitch to make. Try Silver Needle tea instead. =)

Wonderfully honest and as always I love the stab at the ridiculous hype surrounding gigantic user bases that lose money on 'every meal' served.

An excellent read.

<comment><USER10> Big fan of Silver Needle too. And thanks for the kind words.

</comment></comment><comment><USER18> "If a restaurant served more food than everybody else but lost money on every diner, would it be successful? No. But on the Internet, for some reason, if you have more users than everyone else, you're successful. No, you're not."

That seems like an important business principle that is often forgotten in reporting on Internet-based companies. Keeping revenue in mind can have some powerful effects on a company's future. Especially, the example is good because it focuses on making revenue by pleasing customers who could take their business elsewhere.

<comment><USER19> An interesting thing is that Jeff Bezos is the only investor in 37 Signals according to that article. Amazon.com was the poster boy for "Don't worry about spending money now, we'll be profitable one day" mentality. That said, most other dot com companies slightly misinterpreted this strategy. One thing that Amazon.com did differently than its counterparts which were also losing money was it pursued moderate and steady growth rather than exponential curve growth. I think we see a similar situation these days in startups. It's all about scaling up as fast as possible to millions of users. But here we have a company liked 37 Signals saying "don't worry about scalability, we'll get their one day, just throw more hardware at the problem". Scale eventually, has sort of been a 37 Signals tenet hasn't it? For all the companies pursuing functional this, and threaded-that, jumping onboard the latest greatest languages and platforms for scalability, 37 Signals and Rails is chugging along quite nicely. In fact, I bet they'd reply "What scalability problem?" if anyone were to ask, as they likely don't have one right now.

<comment><USER20> The other thing amazon did differently is actually have a revenue stream.

</comment></comment></comment><comment><USER21> I did enjoy reading that interview. It's always interesting to get insight into other people's way of working.

What struck me most about that interview was how it was written. How simple the wording is. It's clear to read, the language he uses is straight to the point and it's concise. I assume the interview as over e-mail. The sentences he uses are short and unambiguous. Plus they're easy to parse. I wonder how long it took to write that interview? If it just comes naturally or if he had to edit and tweak it a lot.

</comment><comment><USER22> Really interesting question - how much do you need to interact with your coworkers to be effective? Can a company operate with all of its employees working remotely? For those of you that went to Startup School or have heard Tony Hsieh's talk from it, what do you think about the way 37signals employees work vs. Zappos where Hsieh encouraged managers to spend a lot of time outside of work with their team?

<comment><USER23> I thought about exactly the same thing. What is also worth considering, is if there is a lot of individual variation in the need to interact. In my experience many people are not the "self-driven" kind that are often considered ideal. What should one do with them? Even self-driven people are usually driven only to do some particular things, and these might not be the things that the whole company benefits most from.

<comment><USER22> I definitely agree that it probably varies for different people - that seems like the biggest challenge of being a manager. Which people do you have to micromanage vs. which people will create amazing things if you just completely leave them alone. What about with co-founders for a startup - do you believe that they should always work together since it's so important that they mold the vision/initial product together, or is there any room to work separately if both people are driven enough?

</comment></comment></comment><comment><USER24> Jason, With all of 37signals beautifully clean and minimalist design and function, I always wondered why your homepage <http://37signals.com> is so busy - a bunch of text with little whitespace, icons with cartoon word balloons, contrasting colored boxes on a white bg...

Seems like way more noise than signal. Did some A/B testing prove it superior?

</comment><comment><USER25> The way I work: Always turn error notification off on live and have a process scanning the error logs so I'm notified of it. This might also be my biggest hangup with using PHP.

<comment><USER26> I have PHP put up a nice error page for every error. With (very minor) trickery, you can even put up nice pages for fatal errors. Unless it's a database connection error, I have the site automatically email me a full stack trace and all other relevant details. You don't even have to turn off error notification in the PHP.INI file, you can control that from your script.

<comment><USER25> I believe your trickery involves capturing the output buffer and grep'ing for a fatal error, yes? We thought of doing that, but our site commands too much traffic for that to be a feasible option. If it's something less intrusive, I'm all ears.

<comment><USER26> You can't capture the output buffer on a fatal error; the script just aborts. You do have to wait till the end of your script to write your output otherwise this doesn't work very well but here is some (simplified) code:

      $errorTemplate = file_get_contents("errortemplate.html");
      $templates = explode('%error%', $text, 2);
      ini_set('error_prepend_string', $templates[0]);
      ini_set('error_append_string', $templates[1]);
      ini_set('html_errors', '0');

The _errortemplate.html_ file is a static HTML file that can contain anything you want. Ours is themed up just like any other page on our website. When a fatal error is triggered, the text %error% will be replaced with the fatal error text. We place that into a form using a hidden textarea so our users can submit it to us.

      <textarea style="display: none;">%error%</textarea>

The server log will contain the fatal error, so you don't care about users submitting it you can just wrap it in a comment.

      <!-- %error% -->

And that's all there is to it.

</comment></comment></comment></comment><comment><USER27> "I don't read fiction. I find it a waste of time. There are so many amazing things that are real; I don't need to spend any time on a made-up story"

a little later:

"I just wind down by reading or watching TV. I relate to Larry David on Curb Your Enthusiasm. I also watch House, M.D"

I find that a little weird. I personally think reading fiction is an indication that you have an imagination.

<comment><USER28> I think this just proves it's hard to stereotype or generalize anybody - <USER2> the creative ones.

<comment><USER27> I think it's even hard to generalize about yourself. 5 or 10 years from now Jason may have given up on TV, and be cultivating a love of fiction.

</comment></comment></comment><comment><USER29> _Plus, they chop your day into small bits, so you have only 20 minutes of free time here or 45 minutes there. Creative people need unstructured time to get in the zone. You can't do that in 20 minutes._

That bit reminded me of pg, because it's something he said too and because of the writing style.

</comment><comment><USER30> Given the history ([http://37signals.com/svn/posts/1088-how-not-to-apply-for- a-j...](http://37signals.com/svn/posts/1088-how-not-to-apply-for-a-job), and the ensuing discussion at <http://news.ycombinator.com/item?id=219085>), it's lamentable yet somehow sadly appropriate that this article misspells "37signals" both in the title and throughout the rest of the article. (N.B. I'm with Jason on this one.)

</comment><comment><USER31> +1 for relating with Larry David. I often joke with my cofounder, Sam, that PG/tlb/Paul Buchheit are the Larry Davids of the software world.

</comment><comment><USER32> This was great. Jason Fried, ordinary dude.

I am considering subscribing to Inc. They have some great stuff (like the street smarts column <http://www.inc.com/magazine/columns/streetsmarts/>)

</comment><comment><USER33> I've read 18 books this year, 14 of those were fictional.

I'm pretty sure that I gained/ learned more from the fictional books. But I guess that's a matter of perception.

P.S. Also a bit annoyed and shocked that people "don't read fiction."

</comment><comment><USER34> Any chance that those remote hobby farms actually have high speed internet available in those rural areas?

<comment><USER35> Mine does.

</comment></comment><comment><USER36> _I live about two miles from my office. I drive there most of the time. I should bike more, but I saw someone on a bike get hit two years ago, and it really freaked me out. I figure I'm better off driving._

So not only is he needlessly adding to global CO2, but also to the number of cars on the road. A shame. 2 miles from the office is less than 10 minutes by bike...

<comment><USER36> Why am I getting modded down for this? DRIVING TWO MILES TO WORK! That's insane...

<comment><USER37> Because you're not adding to the conversation, and taking a radical political viewpoint that is really offtopic anyway.

<comment><USER36> Asking someone not to drive 2 miles to work everyday is a "radical political viewpoint"? Are you serious? Where do you live? Saudi Arabia?

<comment><USER28> Jason gave his reason why he doesn't bike to work in the article. It's not like "I prefer driving because I want to contribute to global warming and increase our dependence on foreign oil."

Have you taken into account what kind of traffic he probably would get into when riding a bike? I live in San Francisco and I would like to bike everywhere I go. I actually hate driving or riding the bus. But there are too many cars in the city that I'm afraid I'm gonna get hit.

I used to bike to work when I was living in San Diego but it's because the roads I took didn't have many cars in them.

<comment><USER38> There's some sad game theory (?) at work here that leads people to 1) drive cars because cyclists get maimed by car drivers 2) then bigger cars because smaller cars get wrecked and 3) finally humvees. Ultimately, it's probably a bit of a loss for everyone.

</comment></comment></comment></comment></comment></comment><comment><USER39> All I'm seeing is:

Fatal error: Call to undefined function: query() in /content/public_web_sites/www.inc.com/reflex/lib/dbi.class.php on line 152

<comment><USER39> Okay they fixed the problem. I'd delete my comment if I could but I can't. No need to take away any more of my karma!

Thanks.

</comment></comment><comment><USER40> Inc magazine database fail</comment>


If Wealth Is Justified, So Is a Wealth Tax - <AUTHOR> https://www.project-syndicate.org/commentary/wealth-tax-rebutting-billionares-arguments-by-katharina-pistor-2019-12? <comment><USER2> The problem I have with a wealth tax is that most implementations only target the middle class.

The most recent proposal for the Netherlands is a 1.75% tax on your invested net worth on January 1st of the year. Even when the market went -10% in the year before. But even at the market average of 5% per year that is a big hit. If your average Joe puts €200 a month in index funds for 40 years, the end sum is €304,000 without wealth tax or €198,000 with wealth tax. That is a big difference on the type of additional pension a person can build. We have tax deferred accounts but those have very low limits for the average earner.

But the upper class don't care about it. They have the means to put their money in a shelter or company and let it grow against a much lower tax rate.

* €200 a month, 5% market average and 1.75% wealth tax

<comment><USER3> I'd like to understand this better. My understanding is that the Netherlands has had a wealth tax on assets which are not financial assets for some time. And income from financial assets is taxed at 25%.

[https://en.wikipedia.org/wiki/Taxation_in_the_Netherlands#We...](https://en.wikipedia.org/wiki/Taxation_in_the_Netherlands#Wealth_tax)

<comment><USER2> For the 2022 tax proposal: You take your invested net worth at January 1st. That is everything besides your saving account and first home. So the value of your second home, artwork you bought as an investment, stocks, bonds, money loaned out, money in the HOA. A 5.33% gain on your investments is assumed which is taxed at 33%. So effectively 1.75% of your invested net worth has to be paid as a tax.

Debt such as a mortgage can be subtracted but not at the full 5.33%. So if you have a mortgage of €200,000 and a second home that is worth €200,000 then you owe about €1400 in tax each year, despite not having any net worth at all.

</comment></comment></comment><comment><USER4> The understanding of wealth that leads to conclusions like these is based on a misapprehension.

You don't "have," wealth, you are responsible for it, and in particular, for growing it by investment in productive assets. If you don't, it literally evaporates.

The wealth tax argument is like seeing a transport truck and saying, "look at all the metal, rubber, and fuel that person has, surely they would not be harmed if we made them contribute some of it to give to our supporters!" without thought to what it carries, the purpose it serves, or whether it's still useful after being hobbled.

There are some people who seem to think being rich is like Scrooge McDuck swimming in a pool full of coins and treasure.

If you want to know what wealth taxes look like in practice, we have wealth taxes today, cities impose them, and they are called property taxes, and they have a huge impact on the viability of businesses and the lives of seniors, families, and renters. They are complex dynamics.

If progressives want to recapture money from wealthy people they could capture it indirectly on a greater scale through reducing the impact of globalization by enforcing tariffs in national economic zones, favouring domestic industry, and facilitating regional growth instead of scavenging it. Modest luxury taxes that are not distorting or prohibitive, or designed to engineer culture captures the most via a progressive federal sales tax (VAT).

People who say this won't sufficiently deprive billionaires of their privilege would be tipping their hand, as if that's the true goal, why bother to use the legalisms of a wealth tax as a pretext at all?

<comment><USER5> Plus a large proportion of the top <whatever>% of rich people are only in that category for the one year due to some kind of event like selling a house or business or cashing out a lifetime of investments.

</comment></comment><comment><USER6> "When a man tells you he got rich through hard work, ask him: Whose?" Don Marquis

Very few people make wealth through individual effort (musicians, football players, Buffet?, etc). Most everyone makes by:

\- The sweat of others (factory workers, etc)

\- Skimming money from a business

It boggles my mind that investments in which you get money while you sleep/sit on your ass get taxed _less_ than income for actually working.

<comment><USER7> > Buffet

Nothing against Buffet, seems to be a great guy, and he worked hard, but I wouldn't call his efforts "individual". He is the epitome of making money on investments.

> It boggles my mind that investments in which you get money while you > sleep/sit on your ass get taxed less than income for actually working.

This is probably because it takes more discipline to initially accumulate the assets to invest than it takes to simply show up to work.

<comment><USER6> You're right. (Hence the question mark.)

</comment></comment></comment><comment><USER8> Unrelated to article content, but related to the question: Wealth is justified by the fact that it is okay to pursue what's best for you. Wealth tax (if worked as intended) would incentivize the opposite - don't save and invest. You can only pursue what is best for you only if its to the level your government decided its okay

</comment><comment><USER9> Maybe I would be more on board if I felt the government could properly manage the additional funds this would generate. It's not like they have a great track record with what they already have.

DC has something like half of the 10 wealthiest counties in the whole country. Why is that?

<comment><USER10> >Maybe I would be more on board if I felt the government could properly manage the additional funds this would generate. It's not like they have a great track record with what they already have.

Whenever I hear someone saying we need to increase taxes, I always refute their point with something along these lines. A lot of people seem to be under the impression that simply throwing money at a problem may solve it.

A few weeks ago there was another story posted on HN that related to multinationals shifting profits to tax havens. Someone commented about how they don't mind paying their taxes as they got public services in return, and that if someone doesn't like paying taxes they should stop and forgo the use of said services. I responded saying that most people probably don't mind paying taxes however they are getting angry that they aren't getting the bang for their buck. The person's response was that we should give fund the IRS to collect MORE tax revenue.

I'm willing to bet that the government is receiving enough in taxes already. Unless we solve the root problems of gross misspending, unaccountability, etc. giving them more money won't solve anything and instead anger more people, and leave many others with mediocre public services and claim they can't function properly because they're 'underfunded'.

<comment><USER9> I couldn't agree with you more. People seem to forget that the power to tax someone comes from the barrel of a gun or the threat of prison. Maybe everyone should work for some part of the government for a short time in their life, so they can see how horribly inefficient they are.

It would be much more courageous to propose legislation that held their feet to the fire financially, than just finding more places to take money from.

</comment></comment></comment><comment><USER11> The article's thesis seems to be that concentrated ultra-wealth is largely the "product of law" on the one hand, so lacking corresponding laws on the other end is unbalanced.

Up to a certain point, one can try to make a case that one's accumulated wealth is the product of their own work. This is a simplification, and usually wrong, but let's go with it. Let's say that your first ten million is because you work hard. Let's say your next ten million is because you were in the right place at the right time. Let's say your next ten million is do to good choices you made before you realized how important the choices would be. Now let's say your next ten million is due to... uh... more hard work. And the next ten million too!

At some point, one has to admit there's more going on here than hard work or a good idea. The article lays out that above a certain point--call it the fifty million I laid out above, or go twenty times that and call it a billion--a large part of your accumulated wealth is the direct result of laws and legal protections, and that set of laws is currently unbalanced.

</comment><comment><USER12> I think people would be better served focusing on waste in government. If I were a billionaire why would I want my taxes just to go to the countless big consulting firms incentivized to work slowly to get the most billing hours?

<comment><USER13> Because the billionaire owns (at least a share) in said consulting firms, and isn't constrained by tax laws and borders in the same way that the underclasses are?

<comment><USER12> I think I see what you are saying - maybe I shouldnt have restricted it to billionaires. Everyone should aware of where and how effectively their tax dollars are being use.

</comment></comment></comment><comment><USER14> Wouldn't a wealth tax result in only the ultra rich being able to afford to own large, illiquid assets like farm land, etc?

</comment><comment><USER15> The law protects that property, but isn't that the justification for the progressive tax scheme that we already have? If someone has ownership in a business that is earning them millions in income, then they are paying a much higher effective tax rate.

</comment><comment><USER16> By that argument (the argument of the headline, at least), then if voting is justified, so is a poll tax.

</comment><comment><USER17> Are those millions taxed once or every year. How many times can you tax the same dollar bank note.

<comment><USER18> > How many times can you tax the same dollar bank note.

As fast as it can be used for transactions that are subject to tax - sales, payroll, inheritance, etc. In a world where High Frequency Trading exists, that number's almost infinite. The whole "double taxation" argument has always been stupid because every dollar already gets taxed many times throughout it's lifetime. I'd love to hear an argument for why taxing money at rest is worse than taxing it in motion, considering the principle of "tax bads not goods" and the fact that hoarded money is worse for the economy. Want to try and make one?

<comment><USER19> > I'd love to hear an argument for why taxing money at rest is worse than > taxing it in motion

One argument is that money in motion has a reasonably high level of liquidity, more or less by definition, and, in many cases, a reasonably high level of divisibility.

If the wealth that you're taxing has similar attributes then fine. But a significant amount of wealth doesn't have those attributes. Wealth taxes that affect illiquid and/or indivisible assets can have an effect well beyond what they intend.

You see this in inheritance taxes. The tax may be reasonable but may also lead to the forced selling of family homes if sufficient disposable assets aren't available.

<comment><USER18> > One argument is that money in motion has a reasonably high level of > liquidity

Fair enough. I believe that's outweighed by other concerns, but it's a reasonable argument made in good faith. Thank you.</comment></comment></comment></comment>


Android SDK has the Gravity of the Death Star as a Constant - <AUTHOR> http://developer.android.com/reference/android/hardware/SensorManager.html#GRAVITY_DEATH_STAR_I

<comment><USER2> I'm sure there's some perfectly good explanation for "Gravity on the island", but I don't know what it is.

<comment><USER3> My best guess was that its a reference to the island in the tv show Lost, but I fail to see why that would be different from the gravity on earth.

<comment><USER4> I think it's related to "4, 8, 15, 16, 23, 42", the numbers in Lost

</comment></comment></comment><comment><USER5> It's deprecated anyway, it refers to the first death star. Use the latest specification provided by the Empire for exact calculations.

</comment><comment><USER6> Is this from the same people who brought us is_computer_on() and is_computer_on_fire()?

<comment><USER7> Those are originally from BeOS.</comment></comment>


Computer scientists develop 'mathematical jigsaw puzzles' to encrypt software - <AUTHOR> http://newsroom.ucla.edu/portal/ucla/ucla-computer-scientists-develop-247527.aspx <comment><USER2> It's been interesting seeing this story submitted repeatedly over the past week or so, each time getting no traction, no attention, no comments, and no love. Nice to see it finally hit the front page.

The actual paper is here: [http://eprint.iacr.org/2013/451.pdf](http://eprint.iacr.org/2013/451.pdf)

Here are some of the submissions of alternate write-ups of this story, in case you want to see if some other source gives more details:

[https://news.ycombinator.com/item?id=6125268](https://news.ycombinator.com/item?id=6125268) (phys.org)

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

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

[https://news.ycombinator.com/item?id=6132772](https://news.ycombinator.com/item?id=6132772) (ucla.edu)

You can read other submissions on HN about homomorphic encryption by following this search:

[https://www.hnsearch.com/search#request/all&q=title%3A%28hom...](https://www.hnsearch.com/search#request/all&q=title%3A%28homomorphic+encryption%29&sortby=create_ts+desc&start=0)

There are lots of them, too.

<comment><USER3> to save anyone else looking, all the reports seem to be generated from the same press release - there's no significant new info in any (compared to the link here) that i could see.

the paper is a monster :o(

</comment></comment><comment><USER4> Reads like a marketing junk to be honest. I don't doubt that they have invented something interesting, but this is _not_ a way to announce it.

> _This is known in computer science as "software obfuscation," and it is the > first time it has been accomplished._

No, of course not. See Fravia, see skype.exe.

> _" The real challenge and the great mystery in the field was: Can you > actually take a piece of software and encrypt it but still have it be > runnable, executable and fully functional"_

A mystery? Is this edited for an O magazine? Again, Fravia, Skype, Carberp/bootkit.

> _According to Sahai, previously developed techniques for obfuscation > presented only a "speed bump," forcing an attacker to spend some effort, > perhaps a few days, trying to reverse-engineer the software._

Uhm, no? Again, see Skype that withstood reverse-engineering attempts for several years with its incremental decrypting loader and other tricks that it was stuffed with to the brim.

<comment><USER5> They're talking about an obfuscation that's _provably_ strong - i.e. there is _no_ way to de-obfuscate the code, not even in a million years.

You're talking about an obfuscation that's "good enough for the real world" \- i.e. it will take a very skilled person several years to de-obfuscate.

Also, their result is very theoretic, and too slow to be deployed in the real world, at least for the next couple of years. See my other comment if you're interested.

BTW - I think by "mystery" they meant "open computational problem". Kind of a mystery if you think about it :-)

<comment><USER6> "there is no way to de-obfuscate the code, not even in a million years."

Perhaps you're just being hyperbolic, but can you qualify this statement? Is it not possible in a million years _given today 's technology_ (this seems unlikely, even the marketing material suggested 100 years)?

Or are you claiming there is mathematical proof that advances in computational power, a growing body of knowledge about de-obfuscation, etc., will not break this approach?

<comment><USER5> The latter - there is mathematical proof that advances in computational power, a growing body of knowledge about de-obfuscation, etc., will not break this approach.

Also, this is not "marketing material" \- nobody is selling this technology, and likely nobody will in the foreseeable future. They're just trying to interest the general public in a major theoretical CS breakthrough.

<comment><USER6> I wasn't aware such a proof existed, that's very cool.

But it's certainly marketing material. They're selling UCLA's engineering department to potential students, potential sponsors, and the general public. That's not a bad thing. Universities would be stupid not to promote their brand and their professors' achievements.

<comment><USER5> Minor caveat: the proof says something along the lines of "to de-obfuscate this code, you must be able to find the prime factors of insanely huge numbers, and we assume no one knows how to do that". So it's a bit inaccurate to say that "no advancement will solve this".

</comment></comment></comment></comment></comment></comment><comment><USER5> My humble understanding is this is a very theoretical result, unlikely to result in unreversable malware, or improvements in the DRM near you.

Here's a brief summary (obviously, I might be missing a lot of things):

1\. "They (researchers in 2001, some of which are authors of this new paper) showed that there exist unobfuscatable functions – a family of functions {f s } such that given any circuit that implements f s , an efficient procedure can extract the secret s; however, any efficient adversary given only black-box access to f s cannot guess even a single bit of s with non-negligible advantage."

That result still holds - one cannot obfuscate any function, and this is proven.

2\. "indistinguishability obfuscation: An indistinguishability obfuscator iO for a class of circuits C guarantees that given two _equivalent_ circuits C 1 and C 2 from the class, the two distribution of obfuscations iO(C 1 ) and iO(C 2 ) should be computationally indistinguishable."

Note that this works _only for equivalent circuits_.

3\. "Using indistinguishability obfuscator for NC 1 together with any (leveled) fully homomorphic encryption (FHE) scheme with decryption in NC 1 (e.g. [Gen09b, BV11, BGV12, Bra12, GSW13]), we show how to obtain an indistinguishability obfuscator for all polynomial-size circuits".

Again, this is indistinguishability obfuscator, which works only for equivalent circuits. Also, FHE is _very_ slow nowadays, AFAIK there are no actual deployments of that concept, because of the prohibitive slowness (e.g. a single AES encryption taking days).

4\. "Using indistinguishability obfuscator for polynomial-size circuits, together with injective one-way functions, public-key encryption, and a novel variant of Sahai's simulation-sound non-interactive zero knowledge [Sah99] proofs, we show how to obtain functional encryption schemes supporting all polynomial-size circuits."

This is awesome and sounds like it _can_ obfuscate malware or be used to make actual DRM, but again, the indistinguishability obfuscator is likely so slow as to not be practical these days. Maybe in a few decades?

Obviously I'm not writing this to take anything away from this huge theoretical result - just saying this is likely not what other commenters think it is. And again, my reading of this is very possibly inaccurate.

<comment><USER7> So their use of FHM is a bit like someone saying - we could colonize Jupiter if we just get enough anti matter.

And how that could be used as a DRM - this is the part I don't get?

<comment><USER5> This isn't that far-fetched - I wouldn't bet my life that this technology will still be undeployed in, say, 50 years. Academic research is about those discoveries too - even everyday stuff that is now taken for granted, like memory garbage collection, was considered impractical in the beginning.

Regarding DRM: "In Functional Encryption, ciphertexts encrypt inputs x and keys are issued for strings y. The striking feature of this system is that using the key SK y to decrypt a ciphertext CT x = Enc(x), yields the value F(x,y) but does not reveal anything else about x".

You can take x to be the code of the computer game you wrote, and F to be a code simulator. This sounds like the type of DRM game manufacturers want.

<comment><USER7> Once again I cannot see how it can be used as DRM - what prevents from installing in a VM and sharing it around, writing a wrapper around the executable that intercepts system calls and just gives what it wants etc?

<comment><USER5> This is too complicated to answer in a forum post.

The general idea is that no number appears in the code as-is, instead all numbers appear encrypted. You have to have a way to do "encrypted multiplication" \- take two encrypted numbers, and get the encryption of their multiplication, without decrypting them in the process. Also for addition. This is called fully homomorphic encryption (finally discovered several years ago, by one of the authors of this paper). This paper builds upon that result.

Edit: also, see here for a simpler technique that seems to work:

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

</comment></comment></comment></comment></comment><comment><USER8> Maybe I'm being naive (so please correct me if I'm wrong), but isn't this a dream-come-true for malware authors?

<comment><USER9> How so? Would there be no way to 'fight fire with fire' agains said malware, also, though?

</comment></comment><comment><USER10> Amazing, an article actually links to a research paper! What the paper is claiming is to have invented a indistinguishably obfuscater. This means that for a program X, you can consider the set of all source codes (of equal size) which generate a program with equivalent behavior to X. The obfuscater can be used to draw a function from this set, without revealing anything about the original source code. As the research paper mentions, although this meets the technical definition of best possible obfuscation, it is not necessarily good obfuscation. For example, if the obfuscater generates the most human-readable version of the input, then it would still qualify, as it reveals nothing about the original source.

The bigger problem with using this encrypt software is that software is over specified. Every external call your system makes, whether or not it _actually_ does anything, is still considered part of the behavior of the program, and would therefore leak information about the structure of your program.

While this is defiantly much stronger than many previous obfuscation techniques, in order for it to be most effective you would need to very strongly keep all side-effect generating code separate as isolated as possible.

EDIT: From the paper: "Now that we have constructed an indistinguishability obfuscator, we are faced with the question: what good is an indistinguishability obfuscator? The definition of indistinguishability obfuscation does not make clear what, if anything, an indistinguishability obfuscator actually hides about a circuit. In particular, if the circuit being obfuscated was already in an obvious canonical form, then we know that the indistinguisha- bility obfuscator would not need to hide anything...we will use indistinguishability obfuscation by constructing circuits that inherently have multiple equivalent forms"

Also, the application to software obfuscation is largely an afterthought in the paper. And I don't see any analysis of the efficiency of software generated by this, so my guess would be that this is infeasible to use for obfuscation.

</comment><comment><USER11> I quite like this - nothing is going to stop companies wanting to secure their code on customers' machines, and this is at least an elegant way to do it.

I do see problems though, e.g. people trying to make malware could use this very effectively: make a small pointless change, reencrypt, repeat, you then have a pseudo-unique malware signature across as many PCs as you can reach, so antivirus is useless.

<comment><USER12> You don't even need to change the source, you just use a different key.

<comment><USER13> A different salt might be another way to phrase it.

</comment></comment></comment><comment><USER14> My naive understanding is this approach is that there will be clear units that do small bits of work. With a tracing framework and some analysis, like that recently presented at BH [1], I wonder if blocks of code could be extracted to remove some of the obfuscation - if the blocks are meaningful (or can be simplified).

Does anyone have any ideas if this sort of analysis looks feasible in response to this kind of obfuscation?

[1] : [PDF] - [https://media.blackhat.com/us-13/US-13-Raber-Virtual- Deobfus...](https://media.blackhat.com/us-13/US-13-Raber-Virtual-Deobfuscator- A-DARPA-Cyber-Fast-Track-Funded-Effort-Slides.pdf)

</comment><comment><USER15> The abstract of the paper is far more informative that then article. Functional encryption allows to decrypt a ciphertext c with a function (there can be many) f and get F(c), without revealing anything else about c.

This was previously doable where F was public in a way that could be plausibly efficient. This was an interesting result because it might lead to things like efficient searchable encryption without using very slow fully homomorphic encryption(FHE). A lot of these applications, however required F to be obfuscated.

This paper achieves hiding f, for a somewhat weak notion of obfuscation, and more crucially, by using fully homomorphic encryption(FHE). Given that FHE is effectively (very really but very inefficient) cryptographic pixie dust, it's not too surprising you can do this. However, for a lot of the applications for functional encryption, you could do int with FHE in other ways.

</comment><comment><USER16> I have a hard time figuring this out. If the code executes, then it means the processor reads instructions. Surely there is some way to access those instructions?

<comment><USER17> The same results can be derived from different instructions. By simplifying; you can perform multiplication by repeated addition, or combinations of both, or even more clever tricks which would hardly make the original intent of simply making a multiplication obvious.

Running the code in a simulator would give you the final output, but would do very little to explain how the code itself is working, which is what you usually are after.

<comment><USER16> Okay, so this is simply an advanced form of obfuscation. An hypothetical uberman can still reverse engineer it. I don't expect anyone to, but the article seems to claim that there is some mathematical impossibility to do so.

<comment><USER18> Read up on homomorphic encryption: [http://en.wikipedia.org/wiki/Homomorphic_encryption](http://en.wikipedia.org/wiki/Homomorphic_encryption)

</comment></comment></comment></comment><comment><USER19> I wonder if this would hit software performance?

<comment><USER20> It's really hard for me to imagine that it wouldn't. No matter how you look at it, at the end of the day, it can't be putting the same machine code into memory, or an attacker would just look at that and disassemble it.

But cryptography is full of things that I wouldn't have imagined, so maybe?

</comment></comment><comment><USER12> PDF: [http://eprint.iacr.org/2013/451.pdf](http://eprint.iacr.org/2013/451.pdf)

</comment><comment><USER21> Did this just effectively mission-kill all copyrights on algorithms?

</comment><comment><USER13> An entertaining way to spend time on HN articles about theoretical work might be to provide a "practical" example.

My interpretation of the paper and the "state of the art" is that its previously possible to submit "bunchadata" "iamakey34335" and "clearance=T OR NOT fired=F" (edited) to a decryption algo and your key and boolean stuff mix together to decrypt the data. The point of the paper is its now possible to submit a more complicated program than just the boolean like "clearance_level+seniority_years>0x10".

The entertaining part of the discussion would be if I got the basic concepts right or wrong, not so entertaining to debate if the greater-than symbol was proven or other tiny details like that.

</comment><comment><USER22> Do I understand that correctly that it allows writing Malbolge[1]-like programs easily for the owner of the key?

[1] [http://en.wikipedia.org/wiki/Malbolge](http://en.wikipedia.org/wiki/Malbolge)

</comment><comment><USER23> Yeah, well, OS X has been using this system to encrypt loginwindow, Finder.app, Dock.app, and iTunes.app, so this doesn't seem like much to write home about.

</comment><comment><USER24> does this mean that unbreakable DRM will now be possible?

<comment><USER22> Is there anything that prevents running such program in a VM?</comment></comment>


Opening the Door to Unicorns Invites Risk for Average Investors - <AUTHOR> https://www.nytimes.com/2020/01/04/your-money/investing-private-market-startups.html <comment><USER2> It does, but individual investors can already buy leveraged ETFs, buy out-of- the money options, and put all of their money in one stock. In futures markets they can take even more risk. State governments encourage people to buy lottery tickets. I don't see investing in start-ups should be tightly controlled, given that people are allowed other things that are just as risky and probably have lower expectancy.

<comment><USER3> They need a gambling account type similar to a 401k but you can only move 10% of your 401k yearly contribution to the account per year. Then, do what ever with that account by bitcoin, lotto tickets, etc.</comment></comment>


How do you build an aggregator? - <AUTHOR>

Ok, I've seen this announcement: <comment>-- The service crawls 3,500 open source forges and gathers statistics and data on more than 300,000 open source projects and 300,000 open source developers. </comment><comment>---
Or... </comment><comment>--- This services crawls and aggregates travel data from thousands of websites... </comment><comment>---
And so on...
How actually an aggregator is built? How it works? Some insights would be helpful for me because I am trying to build a service which would be an aggregator (I won't build it myself but I want to understand).
Thank you. </comment><comment><USER2> You may start with reading <http://en.wikipedia.org/wiki/Web_crawler>

<comment><AUTHOR> So,using one of those crawlers presented in that article would be enough? I read something about Nutch,Lucene,Sphinx but I'm not sure how the process of building an agregator works: go crawl some websites,get the data in the database or disk, analyze the data, display the data according to some specified criterias. Are those crawlers spidering RSS feeds or a special crawler is needed for that? A diagram would be helpul...

<comment><USER2> Aggregation and Search are two different components. Full-text search ( <http://en.wikipedia.org/wiki/Full_text_search> ) will help you index the aggregated data, so that it can be searched through a UI.

</comment></comment></comment><comment><AUTHOR> Hmmm...no ideas?</comment>


Free Text Editors to Open Large Text files - <AUTHOR> http://www.devcurry.com/2010/08/free-text-editors-to-open-large-text.html

<comment><USER2> Why is this story getting any upvotes?

<comment><USER3> because it must be interesting to at least a few people.</comment></comment>


Student evaluations of teaching: unreliable and biased against female instructors - <AUTHOR> http://blogs.lse.ac.uk/impactofsocialsciences/2016/02/04/student-evaluations-of-teaching-gender-bias/ <comment><AUTHOR> The original title is far too long to fit: Student evaluations of teaching are not only unreliable, they are significantly biased against female instructors.</comment>


Early access to the official Merb book, "Merb in Action" has opened. - <AUTHOR> http://www.manning.com/ivey/ <comment><USER2> Disclosure: I'm one of the authors

We actually started Early Access when chap 1 was available. One of the things we told Manning we really wanted was as much early feedback as possible, so they're giving it to us. There's a forum on the Manning site to talk about the book, and some of the feedback we get on early chapters will help us drive later ones.

</comment><comment><USER3> This book is sorely needed; Merb deserves more recognition :)

That said, with only two chapters of thirteen available it seems an odd time to start sales, but if it's easy for purchasers to get the new chapters as they come, it'd be a nice gradual read :)

</comment><comment><AUTHOR> I should add that the book is still being written, but signing up for this allows you to see the chapters as they are finished.</comment>


Introducing python-elections - <AUTHOR> http://datadesk.latimes.com/posts/2012/01/introducing-python-elections/ <comment><USER2> Thanks for the post. If you're interested in the primary elections, check out our maps, powered by python-elections: [http://graphics.latimes.com/2012-election-gop-results-map- ne...](http://graphics.latimes.com/2012-election-gop-results-map-new- hampshire/)

And of course, I'll answer any questions you've got.</comment>


Ask HN: Which top companies have zero or negative impact on the society? - <AUTHOR> In other words, which companies do you think can disappear today and it would not make any meaningful difference to most people's lives or can actuallly improve people's lives? <comment><USER2> On top of my head: Apple, Microsoft, Facebook.</comment>


Success: what happens when America's food banks embrace free-market economics [pdf] - <AUTHOR> http://conference.nber.org/confer/2015/MDf15/Prendergast.pdf <comment><AUTHOR> tl/dr:

Feeding America [1] is a network of food banks that feeds more than 46 million people. In 2005, four professors at the University of Chicago helped replace their centralized distribution system with an auction-based one, allocating "shares" to each bank to bid on donated food.

From The Week [2]:

"Initially, there was plenty of resistance. As one food bank director told Canice Prendergast, an economist advising Feeding America, "I am a socialist. That's why I run a food bank. I don't believe in markets. I'm not saying I won't listen, but I am against this." But the Chicago economists managed to design a market that worked even for participants who did not believe in it. Within half a year of the auction system being introduced, 97 percent of food banks won at least one load, and the amount of food allocated from Feeding America's headquarters rose by over 35 percent, to the delight of volunteers and donors."

The end result has been an improvement over the centralized scheme, whereby "a lot of food rotted in places where it was not needed, while many shelves in other food banks stood empty."

[1] [http://www.feedingamerica.org/](http://www.feedingamerica.org/)

[2] [https://theweek.com/articles/580341/what-happens-when- americ...](https://theweek.com/articles/580341/what-happens-when-americas- sovietstyle-food-banks-embrace-freemarket-economics)</comment>


Show HN: Aeneas – a Python audio/text aligner - <AUTHOR> https://github.com/readbeyond/aeneas <comment><USER2> This is super cool. I'm trying to think of common practical applications for this - would one use this to sync a script with a performance? Could this remove a lot of the work required to manually subtitle movies, TV shows, and YouTube videos?

<comment><AUTHOR> Thank you.

Indeed several users of aeneas adopted it for producing SRT/TTML files, i.e. captions, for videos, both online and offline --- and many of them start with an existing transcript.

However, please note that there are limitations on the amount of "non speech" that aeneas can tolerate: for example, long spurious portions of audio or sung passages might affect the quality of the alignment.

For details on how aeneas works: [https://github.com/readbeyond/aeneas/blob/master/wiki/HOWITW...](https://github.com/readbeyond/aeneas/blob/master/wiki/HOWITWORKS.md)

<comment><USER3> > there are limitations on the amount of "non speech" that aeneas can tolerate

couldn't you have as part of the input also a very simple map where users could define times that should be ignored to help with that? Might also be possible to look at the spectrum at any time to possibly identify areas of the file to skip.

And speaking about spectrum, just wondering, are you doing any pre-processing in terms of EQ (narrow band-pass on spoken frequencies), compression to not deal with volume, etc. to help with this also?

<comment><AUTHOR> > Might also be possible to look at the spectrum at any time to possibly > identify areas of the file to skip.

I would say yes and no.

Currently you can add a switch that makes aeneas ignore the audio intervals that are detected as "non speech" by the built-in Voice Activity Detector (VAD), which is a very rough energy-based VAD. For sure this is a part that can use some improvement.

However, AFAIK e.g. music/singing separation is a really difficult open problem, with people in academia doing PhDs on it. So, I am not sure how far one can push this line, while staying relatively fast on a regular machine. (Which is one of the goals of aeneas.)

> And speaking about spectrum, just wondering, are you doing any pre- > processing in terms of EQ (narrow band-pass on spoken frequencies), > compression to not deal with volume, etc. to help with this also?

Besides converting the input audio file to mono 16 kHz 16 bit WAVE, I do not perform any other operation on the audio data before passing it to the MFCC extractor (which by default runs with "standard" settings, but the user can change them).

Unfortunately, I have had no time to perform an exhaustive search of the parameter space, nor to try other pre-processing techniques.

But for sure if you have means to "pre-clean" the audio file before feeding it into aeneas, that is probably going to improve the quality of the output alignment.

(I did play with amplitude normalization and it did not seem to improve the results. The non-speech masking mentioned above seems beneficial if you do word-level alignment.)

</comment></comment></comment></comment><comment><USER4> This is going to be beyond useful for me. I can extract far more labeled audio samples for my Donald Trump text to speech engine [1]. Thanks for sharing this!

[1] [http://jungle.horse](http://jungle.horse)

<comment><USER5> Have you looked at applying the techniques used in Google's Wavenet to your corpus? In addition, any interest in releasing your corpus?

</comment></comment><comment><USER6> This code is also useful <[https://github.com/lowerquality/gentle>](https://github.com/lowerquality/gentle>)

<comment><AUTHOR> Yes, there are several other open source aligners out there, mostly from academic research or derived from academic projects. In my personal GitHub page I have a repo with an annotated list of forced aligners. (If I add a link to it, the spam detector triggers ?! Anyway, google "github forced-alignment- tools" to find it.)

Gentle, which is based on Kaldi, has a good performance, and an handy setup script.

However, these aligners, which are based on automatic speech recognition techniques, have pre-trained models only for English and maybe an handful of other "popular" languages. Some allows you to train your own language model, but very few users have the actual competence/resources for doing that.

aeneas is build using an older approach, which has the advantage of requiring weaker language models, that are already available (in the form of TTS voices): this is the reason why it "supports" so many languages. Of course the disadvantage is that aeneas works decently well at (sub)sentence granularity, but worse than ASR-based aligners at word granularity or with more noisy audio files.

<comment><USER7> Do you know of any existing forced alignment tools that work well with live audio (microphone) input? I would like to create a live stream in which the words of a known text are displayed as they are being spoken into a microphone.

<comment><AUTHOR> For sure aeneas is not suitable, since it requires all the text and all the audio in advance.

But ASR-based tools in theory would allow such an operation mode, but I have not seen aligners that read from the mic buffer directly or have a built-in option/CLI for it.

Knowing the text in advance basically means that you can train your own language (textual) model adapted to that exact text, and then use the (standard) acoustic model for your language and aligning procedure as usual. Hence, I am quite sure you can tweak e.g. CMU Sphinx or Kaldi to do it. Perhaps gentle (which is based on Kaldi) is worth looking into.

<comment><USER7> I looked into gentle a few weeks ago and did notice that it seems to use an online algorithm. It doesn't have built-in support for live audio input unfortunately, but it may be tweakable as you say (such as reimplementing it to use audio streams that work with either static or real-time input). I guess there's no other way to find out than just try it myself.

</comment></comment></comment></comment></comment><comment><USER8> Thanks for creating this. I can imagine a not-so-distant future where thousands of random video-watchers could annotate tiny parts of videos via some free-form box, and aeneas could clean up and formalize this into an official transcription. Seems like a minor feature, until one realizes how much the public just lost due to missing transcriptions: [https://www.washingtonpost.com/local/education/why-uc- berkel...](https://www.washingtonpost.com/local/education/why-uc-berkeley-is- restricting-access-to-thousands-of-online-lecture- videos/2017/03/15/074e382a-08c0-11e7-a15f-a58d4a988474_story.html)

<comment><AUTHOR> Thank you.

Indeed, while aeneas was created for ebook-audiobook synchronization, several of its current users are producing closed captions --- because, in most cases, they already have a clean transcript (e.g., speakers provide transcripts to the captioner) or they clean up an automated transcript, derived from an automatic speech recognition system.

</comment></comment><comment><USER9> This is really cool!

Would you like me to make a conda package for this? I can do so for Linux and OSX so that someone who uses python for data science can do `conda install aeneas` and it will install this and it's dependencies into a virtualenv.

I'd do it on windows too, but I don't know of an easy way to get my hands on a windows box. If anyone knows of a service that can give me 30 minutes of CLI access to a windows box, I'd be grateful.

<comment><USER10> AppVeyor has free Windows CI for open-source projects (which probably would be a good idea to set up for later updates), and they explicitly mention that you can install remote access tools in their build VMs to work on/debug the build: [https://www.appveyor.com/docs/how-to/rdp-to-build- worker/](https://www.appveyor.com/docs/how-to/rdp-to-build-worker/)

</comment></comment><comment><USER11> "Audio is assumed to be spoken: not suitable for song captioning"

Can anyone recommend alternative approaches for music lyrics alignment?

</comment><comment><USER12> What's the accuracy level of alignment?

<comment><AUTHOR> aeneas is not based on ASR (i.e., it does not try to "recognize" words and align them with the input text), but on the "older" MFCC + DTW approach.

Hence, it is difficult to give you a precise answer, e.g. in terms of word- error-rate or similar metrics.

For the task aeneas has been designed for --- aligning an ebook and the corresponding audiobook --- and for similar tasks (e.g., captioning videos of lectures or spoken-only content), it generally produces an alignment that is indistinguishable from a manually-produced one.

If you want to see some examples, read+listen one of these audio-ebooks: the alignment has been produced by aeneas: [https://www.readbeyond.it/ebooks.html](https://www.readbeyond.it/ebooks.html)

But of course if you want to align at finer level (word) or a more noisy/non- matching audio, the quality of the alignment can deteriorate.

<comment><USER12> Thanks for the explanation. Will it work if there are gaps in the transcript? Eg, the clean verbatim transcript where the ah's and uhm's are left out.

<comment><AUTHOR> Several users of aeneas interested in producing caption files for videos told me that it does. And considering how DTW works, it is plausible.

Unfortunately, I have not had the time to setting up a suitable corpus and performing a rigorous evaluation to comfortably answering your question with a definitive answer "yes".

Perhaps the best option to see if aeneas works for your use case, consists in trying it out.

If you do not want to install anything on your machine, you can use the aeneas Web app: [https://aeneasweb.org](https://aeneasweb.org) \--- basically you submit an audio file (or a YouTube URL) and a text file, and get a SRT/TTML/etc. file emailed back.

<comment><USER12> I definitely plan to try it soon.

</comment></comment></comment></comment></comment><comment><USER13> Reading my name (spelled correctly, cudos for that) on Hacker News feels really weird

<comment><AUTHOR> In Italian high schools "Licei" we take 5 years of Latin (and also ancient Greek if you choose the classical study path)... nice to meet you!</comment></comment>


Apple TV – A World Without Webviews – BPXL Craft - <AUTHOR> https://medium.com/@dlpasco/apple-tv-a-world-without-webkit-5c428a64a6dd <comment><USER2> Hmmm, I wonder if this is a big opportunity for React? It's architecture probably makes it _much_ easier to insert a non-browser-heritage view renderer underneath. Much easier than trying to work out how you'd make an AngularJS app run without a web browser renderer...

</comment><comment><USER3> For anyone who has ever navigated websites on a "smart TV", thanks goodness. If Apple can deliver on apps bringing all the functionality and content I want, I'd much prefer the native apps interfacing effectively with the device's remote

<comment><USER4> damn right. imagine trying to use the controller to tab through each of the options on a website (remember, apple tv doesn't have a cursor). i've been playing with the apple tv sdk since it dropped and there really isn't any need for a web view. its not like you can't do a NSURLConnection or you have no internet or anything, you just can't be lazy and display a web view. sounds good to me!</comment></comment>


What is carregeenan and why is it in my creamer? - <AUTHOR> http://en.wikipedia.org/wiki/Carrageenan

<comment><USER2> To make the consistency more like cream/milk I guess, similar to xanthan gum

<comment><AUTHOR> yes, but there has been research done into its harmful effects and food companies continue to put it into products. I could barely find any product in the organic dairy/creamer section that did not have it. It was quite frustrating.</comment></comment>


Google's report on iPhone security flaw doubles as dig against Apple's - <AUTHOR> https://www.cnbc.com/2019/08/30/googles-iphone-security-report-doubles-as-criticism-of-apple-privacy.html <comment><USER2> As I see it, they are actively helping Apple secure the iPhone.

I think Apple is willing to concede that nothing is perfect, and nothing is perfectly secure.

So, all the help they can get from third parties is welcome.</comment>


Avoiding "the stupid hour" - <AUTHOR> http://rachelbythebay.com/w/2012/11/22/stupidhour <comment><USER2> Some folks can pull all-nighters; not only can I not stay awake for more than 24 hours (I literally keel over sideways and faceplant on the floor, snoring) but if I try working more than 10 hours, I run into stupid hour syndrome. And in my later post-programmer life as a writer, if I write past a certain point (roughly 4500 words of fiction or 6000 words of non-fiction) in a day, then for every 1000 words past that point, I end up having to bin and re-write about 1500 words the next day. Because it's unmitigated crap.

Limits, folks: we have them. Learn and respect them and don't try to be macho about it, because it doesn't help.

<comment><USER3> I can second this. I'm a 26 year old programmer and I've done one all nighter in my life. I don't remember what happened after hour 26. I know I attended class until 2pm but I can't remember any of it.

I can get anywhere from 3 to 6 hours of useful programming in a day and a couple times a year I might do 10 hours. I am far more productive at an average of 4 hours of work per day than trying to do 8 or 9 hours. I've worked with people I considered far smarter than myself and I can match or beat them by putting in a third of their hours working on similar problems.

Just this week, I did an estimated 2 weeks of work in about 14 hours over 3 days, most of it staring at a whiteboard. All of the code was written in 2 three hour sessions on the final day. I frequently do things an order or two of magnitude faster and smarter when I'm well rested and relaxed.

I don't mean to brag. It really bothers me I come in to the office just before the daily standup, work for 6 hours and leave before anyone else. (I usually spend an hour or two doing non-programming tasks each day)

I can definitely say "work smarter, not harder" is really effective for me. I don't know if it's true for everyone but I suspect it is.

<comment><USER2> The notional eight hour work-day wasn't invented for occupations with high cognitive/reasoning workloads; it was invented for factories that needed workers to operate three shifts per day consistently.

It became culturally ingrained because, back at the peak of labour-intensive industrialization, about 50% of the work force were employed in factories. But it doesn't actually bear any relation to how much time we can spend working effectively in tasks that require high-level reasoning skills. Nor does it bear any relationship to the earlier pre-industrial paradigm (agricultural labour from dawn 'til near-dusk, which could vary from 6 to 18 hours per day depending on the length of the day -- indoor lighting consisting of [expensive] candles).

Unfortunately it's also easy to see whether a body is physically present or absent from an office -- easier than measuring the quality of its mental outputs -- and it's still relevant to service occupations, which is why we're mostly stuck with it.

</comment></comment></comment><comment><USER4> It's really hard to emphasise how important identifying those moments when you're productivity starts to wane actually is....

I'm sure so many of us have this mindset where we all think we are indestructible, mentally and physically, and burning through the nights to be that guy who "gets shit done" is as important as shipping your first line of code.

When I was a lot younger, I couldn't identify poor code even during my best hours, so I could happily burn through an all nighter, but after years of experience you get that wisdom to be able to notice when you aren't switched on. For me, this is usually at about 8pm at night (after working for a full 12 hours with minimal breaks). You start to notice that your concentrate flickers and something that should have taken 15 minutes has actually taken you 2 hours and it's now 10pm (and you have fifteen tabs of HackerNews open).

Do yourself a favour and just stop. Come back refreshed. Whether that is in an hour, or even a full night. Unless you have some insane deadline that doesn't depend on code quality, it's inadvisable to ever burn through it... because ultimately you are wasting time that could be better used on recuperating your faculties!

<comment><USER2> "should have taken 15 minutes and has actually taken 2 hours" is a _really_ good sign that it's time to give up and go get some sleep.

This is also a good sign that you should sign off sick if you've got a cold or flu or some other ailment, even if it's only 11am. It indicates that your productivity is about to go negative and you may actively _damage_ your project if you keep flailing around.

<comment><USER5> I find that if I step back from the project when I'm sick, not only do I recover faster, but I often think of novel ways to solve a problem (or realize the solution was under my nose) by nature of taking some time away from the screen.

<comment><USER6> You'll find that stepping back from a problem, even when not sick, generally can help your overall perspective. I personally like to take walks and focus on things other than the problem at hand; this almost always results in clarity for me.

</comment></comment></comment></comment><comment><USER7> There's also the "hero night." It's pulling off an all nighter to accomplish a seemingly impossible task with a hard deadline. This happens about once a year, and it was in April for me this year. The company had 24 hours for an opportunity to be on national TV, but we needed a landing page built, with a contest, and a Facebook integration. Small company means you gotta take the chance.

Grabbed my earbuds, fired up my Spotify, and got to work. Got it done and deployed a couple of hours before airtime in the morning. It worked great. Unfortunately, the TV spot didn't pan out quite the way we were told, and it didn't provide much value after all, but everything I built worked. I would have felt terrible if the opportunity was in fact huge, but what I had built was subpar.

It's a nice feeling to be the hero, even for yourself. But it's also easy to overvalue a success like that and assume that it will always be that way, and always be the hero. Unfortunately, it turns into "stupid hour" most of the time.

</comment><comment><USER8> There's a lot of talk about this subject as if the practicioners of coding long past the point of optimal productivity have a choice not to code when you are at that point. I don't think most of us actually have a choice - it is often a case of ship or lose customer x. Promises are made that can't be kept by humane working hours. Things break days before a huge demo. Someone gets sick. You are in an arms race with a well-funded competitor.

Something I would like the programming world to discuss is that it isn't the best coded product that wins - technical quality rarely matters. Usually, the first product to market wins, or the programmer who kicks out the most features as long as the features works. Shipping isn't just a feature. It is the only code quality metric that matters to anyone who isn't a coder. It also is easier to ask forgiveness for refactoring after the ship date than it is to ask for permission to push the date back. All-nighters are ingrained in the practice of programming for a living. The code may not always be robust or elegant, but in most cases what matters is that it works and gets done faster than the others guys' high quality code job.

<comment><USER9> I agree that when emergencies happen, we should rise to the occasion. But I think it's a business mistake to let emergencies become the new normal.

I have seen a number of shops that rely on last-minute rushes and big drama. Indeed, I've made some spectacular money from pulling their nuts out of the fire. But the main reason that they had to do something dramatic was the accumulated weight of all their poor decisions. It's as if their technical debt was held by a loan shark, showing up smacking them around just for fun.

It isn't the best product that always wins. But shipping a shitty product also doesn't guarantee winning either. All else equal, wasteful organizations lose out over time. That doesn't mean I'll never step away from the optimum path, but it does mean I'll only leave it when I think there's a strong business case for doing so.

</comment></comment><comment><USER10> The worst part about the self-inflicted "stupid hour" is that your decision- making faculties are already working poorly by the time you decide whether to keep going or not.

It reminds me of the tragic comedy of trying to overcome a bad habit. The stress from abstaining from the vice causes a strong impulse to seek solace in the very vice you're trying to quit.

Plan ahead for moments of weakness. I actually have a "stop-hacking" alarm on my computer... gives me a brief warning to finish what I'm doing then it locks the screen 60 seconds later.

</comment><comment><USER11> > Have you ever come back to a project and been unsure of where to get > started? If you had left off just one item sooner the day or week before, > you'd already have a known starting point.

I can't find a cite for this right now, but I've heard this phrased as "park facing downhill." Towards the end of the day, I actively try to get myself into a position where I've put together the beginning of an idea and gotten some failing test cases written, or at least some non-compiling pseudocode into a buffer somewhere. This sets me up for success at the beginning of the next day -- I work right into a state of flow while tying together the loose ends from the day before.

<comment><USER12> With this approach, you never have time to stop and clear your mind and look at the big picture, you are always stuck in the rut of what you were doing yesterday, which is what you were doing the day before, and on and on.

<comment><USER11> If I had the luxury of coding all day, I could see this as an issue. More often than not, however, I end up with meetings and whatnot peppered here and there throughout my day, so finding time to think about the larger picture isn't hard. What is hard (for me) is to kick-start myself in the morning, and a little help from my yesterday-self goes a long way.

</comment></comment></comment><comment><USER13> I never understood why people treated working through sleep deprivation as a badge of honor. Glad to see that others agree!

</comment><comment><USER14> These articles pop up all the time, as if people hadn't had the foresight to realize their brain function decreases when they don't sleep. Sleep deprivation is a tool which allows you to sacrifice some degree of brain functioning (different for each person) to gain in other areas like meeting hard deadlines, or taking advantage of your programmer flow state, or the positive feeling you get knowing you grinded away at a task non-stop until completion.

<comment><USER3> Yes, it's a tool but if you're constantly reaching for it, you have a problem. This tool robs future productivity at a 2 for 1 ratio. The only thing it's good for is getting a small task done sooner at the expense of getting other stuff done later.

</comment></comment><comment><USER15> The last bit about the "subconscious processing" is spot on. I read a study once that found that people daydream/drift off around 30% of the entire day, and the people who do not resist doing this and allow themselves to dream are more creative and productive as a result.

</comment><comment><USER16> A lot of times with a no sleep weekend hackathon or a launch or something I can work a long time on the tough parts first, clearing up all the technical risk in a design with little test screens/pages/activities for example, and then the next day running on no sleep I'm still OK for testing on a dozen different phones/emulators/browsers and making forms return nice looking error messages and making all the buttons on the site look consistent, etc.. Basically you just have to delegate to your stupid hour self the lousy slog work. :)

</comment><comment><USER17> I have this, but a 20 minute nap or a walk to 7/11 usually fixes it. What happens to anyone in this thread when they try that?

<comment><USER18> I do the same thing. Whether or not it works depends on the time of day. If it is just a 4:00 in the afternoon lull in attention span a short walk (or if I have a deadline an espresso at the desk) will usually get me back on track. If it is late in the evening though I can only delay the inevitable need for sleep so much.

I think that inevitable tired point where you aren't going to get anything more out of yourself effectively, no matter what you do, is what this article is about.

</comment></comment><comment><USER19> Just realized that I'm in "stupid hour" right now. Going to bed.

<comment><USER20> +1. Good night :)

</comment></comment><comment><USER21> I think a large problem is in our psychology of not wanting to scrap our previous labor even if it was substandard.

At this point I hope most coders are checking in code regularly enough that they could identify a point close to where quality declined and could throw everything after it out.

Personally, I usually start a day with a review of the previous changes but I rarely back out low quality changes. I often realize a continuation/rework has taken longer than a full backout and redo (and I have virtually never been disappointed by a redo,) yet there is a psychological barrier to overcome before backing out.

</comment><comment><USER22> I thought it's "Pulling all nighters"

<comment><USER23> "Pulling all nighters" implies that you code past midnight, which isn't the case. I used to do stupid hour by staying at work until 8pm; it was ridiculous, and I've since learned not to do it unless I've actually got some flow going.</comment></comment>


Reverse-engineering a smart meter - <AUTHOR> http://rdist.root.org/2010/02/15/reverse-engineering-a-smart-meter/ <comment><USER2> Am I overly pessimistic if I read 'remote controlled gas control computer" and immediately wonder if I really need more than 2 digits to measure the amount of C-code dedicated to security?</comment>