HNHacker News
TopNewBestAskShowJobs

guru_meditation

315 karma · joined March 15, 2015

submissionscomments
guru_meditation··on Cleaning up software older than me
The article author carries the same kind of exuberance I saw in people who discovered programming in the 1980s.

I also read his amusing presentation on OpenBSD here. I don't really program in pure C anymore, but I liked learning about strlcat and strlcpy, among other things [1].

It's amazing that a self-described programming newbie gets his changes committed into a high-stakes-security distro like OpenBSD. My conjecture is that this must say something about the OpenBSD developer community culture.

Has anyone reading this commited to both Linux and OpenBSD? It looks to me like the OpenBSD crowd is a lot friendlier, at least judging by some relatively recent comments from Linux developers [2] (funny, but ouch.)

[1] http://www.nycbug.org/event/10343/bcallah-nycbugjan2014.pdf

[2] https://lkml.org/lkml/2012/7/6/495

guru_meditation··on How and Why Swiftype Moved from EC2 to Real Hardware
The reason why it is extremely hard to engineer robust large scale AWS cloud apps can be summarized under the umbrella of performance variance:

  - machine latency varies more, you can't control it

  - network latency varies more

  - storage latency varies more (S3, Redshift, etc.)

  - machine outages are more frequent
where more can be an order of magnitude more variation than on bare metal deployments. I am not saying the performance is that much worse, only that it will unpredictably vary for a certain instance. The interference is non gaussian and can happen in bursts as opposed to easy-to-model-and-anticipate white noise.

It's a lot harder to engineer cloud scale software to scale robustly and not degrade in latency when running on a large amount of nodes. For example, see [1]

Most of open-source cloud software does not come with these algorithms batteries included and it is not trivial to retrofit this kind of logic. Just being smart about loadbalancing won't cut it when at any given moment one of your nodes will become 10x slower than others even though your code is sound and in fact does not slow down like that.

In fact, what you lose in AWS convenience and "free" maintenance, you gain in simpler RPC/messaging/fault tolerance/storage infrastructure that can sometimes accommodate an order of magnitude more traffic or users on a machine then if deployed in AWS.

[1] http://research.google.com/people/jeff/latency.html

guru_meditation··on Swift WTF
The examples look really scary.

So far I understood Swift to be the next big thing in terms of hot programming languages with a functional flavor.

Those more proficient with Swift, are posted screenshots manifestations of bugs or are we seeing correct output?

Hoping these are bugs that have been fixed in the meantime.. otherwise this reminds me of Javascript type promotion..

guru_meditation··on Reforming the Mathematical Language of Physics (2002) [pdf]
The LAGA link is gold. Wish I could give more upvotes.

This paragraph I think gives context to both the HN thread author and the commenter:

Geometric algebra as practiced today originated in the 1960’s. It is currently under vigorous development. It has found important applications in computer science (in graphics, robotics, and computer vision), engineering, and physics. It is available to game developers for the Xbox and PlayStation video game consoles. This text is an attempt to keep up with these modern developments.

Putting on my must read/study list (I am proficient in linear algebra, so hoping for a gentle push into geometric algebra)

guru_meditation··on A Theory of Changes for Higher-Order Languages [pdf]
It looks to me like the authors attempt to develop a method to automatically make any program memoizable, similarly to how you can automatically differentiate a huge family of differentiable functions in your favorite symbolic math program (Mathematica, maybe?)

Are there more examples of differential plugins (that to me look akin to the table of derivatives in your Calculus I book)?

From the paper:

Users of our approach need to (1) choose which base types and primitives they need (2) implement suitable differentiation plugins for these base types and primitives (3) rewrite (relevant parts of) their programs in terms of these primitives (4) arrange for their program to be called on changes instead of updated inputs.

Anyone seen some more examples other than they toy example in the paper?

Not a PL person, sorry if I misunderstood something.

guru_meditation··on Ask HN: Programming on the side for money
What do you think about Toptal? http://www.toptal.com/

I have a few startup acquaintances that are bootstrapping their startup mostly by churning out decent quality PHP for $30/hr .

They could aim for higher paying tasks, but then the level of challenge would probably interfere with working on their startup.

guru_meditation··on Sirius: An Open Intelligent Personal Assistant
The Clarity Lab group reuses mature open source libraries for speech recognition, computer vision AND question answering.

They link these into a whole using what appears to be a minimal amount of glue and then proceed to optimize certain components by trying out to make a multithread (hence CPU multicore) or a GPU port for bottlenecks.

In my opinion, a major contribution is a GPU-optimized Machine Learning thingamajig (GMM) that's plugged back into a well known frequently used speech recognition library (Sphinx).

Superficially, one would expect a publication to some AI, ML or Robotics workshop/conference/journal. However, if you spend time digging through the source code you will see that there is zero contribution in these areas. Hence their first publication is to what appears to me to a be a systems research publication. The conclusion of their paper talks about total cost of ownership in datacenters by using GPUs etc.

The amount of marketing and vague biz-dev type speak almost made me discard this whole site as BS, but now I see that if nothing else, they've given away a GPU accelerated ASR library under a BSD license. Cool work, dudes and dudettes.

← PreviousPage 2 of 2