Hacker News new | past | comments | ask | show | jobs | submit | more Refefer's comments login

Perhaps it's simply personal preference, but I do find that limiting my mouse usage has resulted in real, tangible gains. I don't know how feasible that is in GUI-first operating systems like OS X, though.


Check out Alfred 2, Shortcat, Slate (https://github.com/lunixbochs/reslate). You don't need the mouse as much as you might think.


I would argue this is a new language which just happens to compile to go.


Actually it's a code generator with a library of functions it can generate. This is how the "generics" are implemented: https://github.com/clipperhouse/gen/blob/master/templates.go


To that effect, many countries can prosecute a foreign citizen committing a crime in a foreign country. For example, genocide.


Reminds me a little too much of the regrets of the dying[1]. Ingrained deep within our mammalian brains is the instinctual desire for community and personal intimacy. We'd do well to remember ourselves and what makes us happy before we're reflecting from our own death bed.

[1] http://www.inspirationandchai.com/Regrets-of-the-Dying.html


A while back I found a website (or article?) that interviewed elderly people who where essentially on their deathbeds. What do you regret, what would you do differently, etc. etc.

Without fail, every single person said they wish they went to work less, and spent more time with their loved ones.

I personally, am not good at learning lessons from other people, usually I have to learn "the hard way". I hope I can learn this one from others.


> Without fail, every single person said they wish they went to work less, and spent more time with their loved ones.

I always wonder how much truth there is to that though? I mean, if you actually loved your job and preferred working to spending time with your family, wouldn't you still feel obliged to give that answer?


I don't think so. Someone saying this on their deathbed is not necessarily opining about how much they loved work vs. family in the moment. They're assigning a long-term absolute value on the amount of time they spent with each.

Say you spend 80 hours a week at a job you absolutely love, and 20 hours a week with a family you kind-of-get-along-with. At the end of your life, it might be that you decide "time spent at work" no matter how much you enjoyed it in the moment is just less fulfilling than "time spent at home" even when the day-to-day of home life is not as immediately gratifying.


Well put it this way: if you say you wish you'd spent more time with your family that's not going to upset anyone. If you say you wish you'd spent less time with them and more time doing something else, that's not very nice.


...this would be a huge deal if verified. Anyone with the background to understand this able to reduce the paper presented into more manageable terms?


The ends justify the means?


The means were pretty mild. Leveraging a monopoly on desktop software to force people to see IE as their default browser, pricing your product so low operating systems centered around spinning teapots can't possibly compete, and so on?

The nerdrage over all that was a little hard to take seriously even before we had historical perspective on it.

edit: I'm actually HAPPY that MSFT were found guilty of abusing their monopoly power. I just want to keep it in perspective, not just in the omg BillG is saving the world perspective, but frankly in perspective relative to all the evil that corporations are capable of doing...


I fully agree with you in this particular case; it's clear the philanthropist has added more value to humanity than was taken away. Still, it's worth evaluating the person within different contexts: a ruthless businessman taking a run at Sainthood. Quite the dichotomy.


How does PNaCl differ beyond intermediate representation from asm.js? They both seem to focus on providing cross compiling into a browser environment with the latter already having compatibility across the entire set of javascript interpreters. What does it offer that hasn't somewhat been solved?


The point of both projects is to allow a larger class of programs (and programming languages) to run on web platforms.

The point of PNaCl was to overcome or remove some of the constraints that come with the JavaScript language, like the lack of a concurrency model. This necessitates a new runtime. Since a new runtime was required anyways, Google decided to expend the engineering effort to make it as similar to native code as possible in terms of capabilities and performance, while also maintaining security.

The point of asm.js was to not include another runtime in the browser, but still meet the needs of the programs that PNaCl was trying to serve. Because it plays within the bounds of JavaScript it doesn't meet all the needs that PNaCl does (again, like concurrency), but it still allows native-like programming.


At the moment, PNaCl supports pthreads-style threads and asm.js does not.

Also, Native Client, but apparently not PNaCl, supports SIMD, while asm.js does not.

Of course, both PNaCl and asm.js are evolving, so asm.js may be able to eventually support those features somehow, and PNaCl may get additional features.

Some information about features PNaCl supports are here: https://developers.google.com/native-client/dev/faq


> How does PNaCl differ beyond intermediate representation from asm.js?

Both are basically intended as a target for LLVM-compiled code, so lots of similarities, but the main difference is that asm.js is a subset of JS so it runs in any JS engine, while PNaCl is different. Aside from that, there are lots of technical differences, but it's hard to say which actually matter in the long run. To quickly summarize, right now asm.js tends to run a little more slowly than PNaCl but start up a little more quickly. But engineers on PNaCL and on JS engines intend to shrink those differences over time, and there is no reason in principle why they won't succeed.

To judge for yourself, you can see some comparisons between PNaCl and asm.js in these two sites:

http://www.flohofwoe.net/demos.html

http://trypepperjs.appspot.com/

My impression is that the perf differences are not that noticeable already. For example, the bullet demo in the second one seems to run slightly faster in PNaCl than asm.js. However, profiling shows that 65% of time is spent in three.js rendering code, not in asm.js, so perhaps rendering differences account for most of the disparity, and it mostly isn't comparing asm.js to PNaCl.


We were seeing some significant slowdowns when running lua in emscripten (testing on repl.it) vs. PNaCl.

Take this naive fibonacci function: function fib(n) return n<2 and n or fib(n-1)+fib(n-2) end print(fib(30))

On my machine, it completes in less than a second on PNaCl, but takes nearly 10 seconds to complete in emscripten.


repl.it contains code from a few years ago. That's way before a huge amount of general optimizations in emscripten, as well as asm.js. Here is a more up to date Lua VM running in JS:

http://kripken.github.io/lua.vm.js/repl.html

But even that is already out of date ;) just this week I found that I was building Lua with a bad choice of optimization flags. We include Lua VM benchmarks in the emscripten test suite, so for the latest numbers (with the proper optimization flags), see

https://docs.google.com/spreadsheet/ccc?key=0AkuGewEm05tZdFd...

It's possible to run the Lua VM in JS at only about 50% slower than a native build.

edit: fix link


Ah, thanks for that! I was wondering if repl.it was out of date. Might be worthwhile to get the owner to update... :)


Regarding repl.it, I'm not sure how active it is. Their python C port for example is 2 years since the last update. I'll ping them to see.

Regarding lua, I updated the lua vm project, and tried your fibonacci function from before in the repl

http://kripken.github.io/lua.vm.js/repl.html

Looks like in both firefox and chrome it runs in about a second in JS, which feels about the same as the time it takes in PNaCl in chrome on

http://gonativeclient.appspot.com/demo/lua


They are basically approaching the same problem from two different directions (PNaCl is the older project, despite having a later stable release; asm.js was a response to PNaCl.)

EDIT: And pepper.js is essentially a response back to asm.js and its "run, albeit with less performance optimization, on any modern JS engine".


Using the LLVM toolchain, thus probably better performance and language support?

I'd like to see the benchmarks before assuming that, but if this leads to letting me use Haskell in the browser, I'll be all over it.


Most asm.js is generated using Emscripten, which is also based on LLVM. I guess the backend optimizations will be different.


The PNaCl bitcode can serve as the output of any compiler. Google currently provides toolchains for C and C++, but folks have been working on Go ports, Lua, Python etc. Haskell, in fact, already has a LLVM backend so porting that to emit PNaCl bitcode should not, in theory, be overly hard.


Doesn't Haskell's LLVM backend depend on custom LLVM calling convention to do tail call? Does PNaCl bitcode support tail call?


But will it? The value of enterprise solutions are often times validated by consistency: it's nice to have a megalithic company with a proven track record of hitting their SLA. Personally, I don't use Microsoft (or Apple for that matter) products at all. However, I would be hard pressed to come up with alternative company which provides practically all the necessities for the technological infrastructure of a company. Google is certainly trying but hasn't quite gotten there yet. There's something very comforting knowing that a product purchased to day will be supported the full length of its contract.


This is excellent news for Chromecast owners. We've been hearing about pending support for Chromecast since it was first released but basically nothing had come of it. Give me a few more digital sources (I'm looking at you Amazon Prime) and I'll be one step closer to completely dumping cable tv.

Anyone want to bet on the over/under for when HBO Go/Showtime Go will appear? I imagine it will be a bit of a shot across the bow to the traditional cable providers.


If you're looking to cut cable now, I'd highly recommend Roku. It has Hulu+, Netflix, Amazon Prime, etc. (Aereo is also awesome for showing broadcast TV, although that only works in a few markets). The only thing Roku doesn't do well is Youtube, which is why I also got the Chromecast. As an aside, is anyone else noticing synching issues on Chromecast? When I play a Youtube tab the sound and picture aren't quite synched up, which is really frustrating.


I too am awaiting Amazon Prime to support Chromecast. Hopefully we'll see it sooner thanks to Hulu+ throwing it's hat into the ring.


I expect Amazon Prime to take longer due to it's existing Silverlight usage.

It's so great that this little dongle can almost replace and in some cases exceed (youtube, et al.) my Roku.


Amazon Prime doesn't even support (non-Kindle Fire) Android yet.


The DC local government is somewhat remarkable in how corrupt it is. It seems like every other day some major political player gets indicted for corruption of some sort.


DC is in some ways an anomaly; US citizens deliberately disenfranchised by the Federal Government. It's not surprising that they might be extravagantly corrupt.


Consider applying for YC's Summer 2025 batch! Applications are open till May 13

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: