HNHacker News
TopNewBestAskShowJobs

tailrecursion

346 karma · joined April 3, 2009

submissionscomments
tailrecursion··on The Financial Sector Is the Greatest Parasite in Human History
If the scandals described in this article and Taibi's articles are the result of a few bad actors, and if the result of these scandals is a broad perception on the part of the public that the entire financial sector is corrupt, then Goldman Sachs should be interested in policing its own.

I wonder if G.S. feels unable to police itself, or maybe they feel the aluminum story is not a problem, or that what they did was harmless. I don't know what they think about what they do. I can't really blame below average people for cheating -- they're not good enough to win playing by the same rules as everyone else.

But if I'm to draw a circle around the corrupt people should I draw it around a piece of G.S., or around the whole company. It seems like the scandals keep happening, and that market manipulation such as laddering and hoarding are considered by the financial industry as another way to make money.

If the financial industry isn't greased entirely on deception, then I'd like to know what percentage is deceptive and what percentage is figuring out a hedge plan for e.g. BMW's exchange rate risk. I can see how billions can be made one way, but I don't see how billions can be made the other way.

tailrecursion··on How to Make Perfect Coffee
I think a large part of making better coffee is a matter of iteration, or trial and error. If you do something and it tastes better, you keep doing it. But you're never sure if there's some patch of the search space that you missed, that's even better.

If anyone wants to make splendid coffee, and doesn't fear learning a significant new art I'd suggest roasting your own beans. You can do it with a heat gun or an air corn popper, modified. It's not simple and it's a bit of a fire hazard, but you can get satisfying results blasting some hot air at beans in a pot. Roasting can be more fun and aromatic than making coffee. It is amazing.

For a brewer you could get a sock pot aka woodneck (or just the sock without the pot -- or just muslin cloth if you want to make your own); or, a ceramic cilio-freiling cone, or an inexpensive melitta plastic cone. Both sock & cone are considered pour over methods but they taste different.

For a grinder there are too many choices to pick just one, and the good ones are expensive. For the grinder it may be safer to avoid mass-market products, just because it's too easy to make a mistake and buy an inadequate product.

[Edit: there is another effective trick to get better at brewing. Coffee brewing competitions. It is surprising how effective these are at improving the art. Watching videos of what the contestants are doing is one important tool for improvement.]

tailrecursion··on Mac Pro
I agree. Apple has used the geometry of the device to assist more with cooling, and shares the heat sink among components, and uses one large slow fan. This kind of thing really pushes my buttons.

It's 10" high, which is unexpectedly compact. It seems like the designers have chosen a shape to maximize use of space. I'm sure it isn't the only way to go but it's a wonderful next step.

Again Apple has shown us what we want when we thought we just wanted "more".

tailrecursion··on If you didn't cancel the credit card you used for linode.com, now is the time
twbrownaw is exactly right. If the private key is already in a secure location then there is no need to move it to a secure location. So, any report that the public keys were stored with the private keys means nothing by itself.
tailrecursion··on EA CEO John Riccitiello Steps Down
Without being surprised I'm a little curious about the statement that the game required access to the server, in order to run. I'm curious how statements like that get made, because it seems like it's just a matter of time before the truth -- which is that the game didn't require a server -- is discovered.

The letter that Engtech linked to puts the responsibility where it ultimately needs to rest. The PR folks are letting the other parts of the company down, and if that's because of hiring mistakes or because the culture doesn't do an effective job reminding PR critters not to lie too much, either way it's the executives who made a mistake.

Electronic Arts has become a hated entity, just hated, and part of that I think comes from the controversy-making of the news machine. But part of it comes from nearly unexplainable statements, by people who I guess just learned the wrong life lessons, people who are clearly hiring mistakes.

tailrecursion··on Rob Pike on Object Oriented programming
Part of the reason it comes up frequently is that a large number of educated, experienced programmers have decided that a toolbox without OOP is a better toolbox, than a toolbox with OOP.

But, it is difficult to throw out a bad tool when there appears to be no alternative that delivers its benefits. When that happens, when a tool is devised that delivers what OOP delivers without the problems -- such as the diamond problem, or the problem of having to decide "where" to put functions, or the problem of generic functions of more than one argument -- then at that time those very problems will become much easier for everyone to acknowledge.

The same thing will happen to classes and synchronous message passing, that happened to inheritance. In that case it took a while but an alternative came in the form of interface subtyping or predicate based subtyping, and then it was easy to see that inheritance was more trouble than it was worth.

tailrecursion··on Stack Computers: the new wave (1989)
It is straightforward to convert stack instructions to 3-address instructions, by keeping a counter -- a stack pointer -- that points into the register file. As instructions are decoded the stack pointer is read and the current reading is delivered on down the pipeline with the instruction itself.

From there on, the cpu is executing an instruction that calls out explicit register numbers. The stack counter is kept with the decoder at the very start of the pipeline. This "register number decoder" needs to run sequentially, and it needs to run a faster cycle time than the rest of the cpu.

tailrecursion··on Stack Computers: the new wave (1989)
It's great to see people using Chuck's work, and in particular it's wonderful to see your reaction. I think it would be easy to recoil at the strange tools, not to mention the difficulty of programming the thing. I agree it's a fascinating device.
tailrecursion··on Stack Computers: the new wave (1989)
Are you able to boot all the cores and get them functional? I like the design of these chips too, especially how each core "blocks" on its message queue by instantly going to sleep, taking zero power -- and then instantly wakes up the moment a message appears.
tailrecursion··on All Rational Approximations of Pi Are Useless
It would have been better if I had specified absolute values in the formula. I hope the point came through. (It appears I'm unable to edit this particular comment.)
tailrecursion··on All Rational Approximations of Pi Are Useless
If we're on embedded hardware, or can't use floats for some reason, we use 22/7. It's called fixed point arithmetic. Most CPUs have an integer instruction that multiplies into a double-precision integer result, and an instruction that takes a double-precision integer dividend.

So to scale by pi, we multiply by 355, then divide by 113.

tailrecursion··on All Rational Approximations of Pi Are Useless
Yes, Jon's metric for measuring the value of an approximation is wrong and so is his conclusion.
tailrecursion··on All Rational Approximations of Pi Are Useless
Yes that was my mistake. Sorry about that. It must happen because of the byline above the box where one types in the top-level comment. Thanks for mentioning that it's a frequent error, that makes me feel better.
tailrecursion··on All Rational Approximations of Pi Are Useless
22/7 is a better approximation of pi than 3.14 because 22/7 is closer to pi than 3.14. The hypothesis of the article is wrong.

I believe Colin [EDIT: I meant Jon McLoone, the author of the article. Sorry Colin!] is counting only full digit matches. It is this metric that is useless.

tailrecursion··on All Rational Approximations of Pi Are Useless
(pi - 22/7) < (pi - 3.14). 22/7 is closer to pi than 3.14.
tailrecursion··on Why Concatenative Programming Matters
This article introduces concatenative langauges, but it doesn't explain why they matter.

In my work, I found that the lack of syntactic marking for arguments of function calls is a devastating drawback. Coming back to my own function definitions a week after writing them, I spent minutes unpuzzling the code. I could use every trick and write the function in the most elegant way, using combinators in the style of Factor, and that made it worse. But writing it out with local bindings also didn't help. As soon as you write a nested expression, you start to lose the sense of which values are being passed where.

gcd n1 n2 n2 0 = if n1 else n2 n1 n2 mod gcd

gcd zero if else "mod" plus swap gcd

factorial 1 interval product

I was designing a Forth-like functional language with generic functions, and for a long time I felt that the lack of markings didn't matter. I thought that one could understand the code "well enough" without knowing exactly where the arguments were going. There is something to this argument, and there's a lot we can do to make code say what it does. But sometimes the author just had to implement something, and technicalities arose, and when you go to read it, the code doesn't "read" and you have to bring your own intelligence to figure out what it does -- it won't tell you. In these cases, explicit argument marking is indispensable.

In Forth-like languages, simple things are wonderful and elegant. There is no other shorter way to write than point-free. And, writing with combinators is satisfying, and it can make the "essence of the function" more evident. But unless you severely constrain your style to ultra short definitions, avoid nested expressions, and use local variables profusely, you're constructing puzzles for yourself.

It's almost like the concatenative style is too optimal. You have to back up a step in beauty in order to get a practical tool.

tailrecursion··on Ask HN: Exploiting the "group buy" to finance new products
Thanks, I'll take a look. "Crowdfunding" was the word I was looking for.
tailrecursion··on Sony loses 12,700 credit card numbers
What's happened here is that Sony has discovered a previously undetected attack that occurred in April. So this second attack is not as new as one might think.
tailrecursion··on MIT proposes to Reinvent the 737 for 70% greater fuel efficiency
The article claims a 70% fuel efficiency increase, and another quoted part claims a 70% reduction in fuel use. Which is it?
tailrecursion··on New Kindle Leaves Rivals Farther Behind
Game consoles have been successful so far with closed systems, and they've learned over the years how to improve their security, a key one being forced firmware updates.
tailrecursion··on Darkpatterns.org: naming and shaming black hat, anti-usability design patterns.
I don't know how WoW phrases it, but the promise "buy a subscription and get one month free" is not the same in the mind of the customer as the promise "free one-month trial". The first gives a more accurate description of what will happen to your credit card.
tailrecursion··on What Happened to Yahoo
In 2002, Yahoo! began a serious effort to compete with Google in search by buying Inktomi (plus Altavista and FAST). In what must have been early 2004, I came over with the rest of the Inktomi crew to work on search. The Inktomi people were top notch, Yahoo! seemed earnest about doing what it took to go head to head with Google, and the integration efforts were done really well. While I was there I worked in an island of Inktomi people (plus some from Altavista), and I repeatedly got the impression that Y! people, technical and otherwise, were a little soft, maybe even complacent, relatively speaking.

I do feel Y! did a great job -- and made a great decision -- in integrating its search acquisitions; but those acquisitions threw into sharp relief what Y! really was. It's hard to get into too much trouble when all you're doing is throwing horoscopes onto web pages; but Yahoo! never struck me as being serious about software, and as Paul says, they didn't seem to think that was a problem.

Somewhere in 2005-2006, Y! made an attempt to revamp its search ad services with a large-scale software project called Panama. It was going to do a lot of things, including ad ranking refinements to improve revenue per query, and allowing advertisers to create more complex ad campaigns. This project seemed to undergo huge troubles, and I wonder if it was ever completed in any real sense, because I heard so little about it, and everything I heard suggested disaster.

Honestly I don't know if the fruits of Panama -- such as improved auctions for ads on search result pages, which is a critical thing -- were ever deployed. But a couple years later they made the Microsoft deal. Over the last couple years, select people at Y! have moved on to Google, and many many others are now at Microsoft.

tailrecursion··on Getting a Divorce from a VC
When you say "they would dig into their network" do you mean that first, the VCs recommend that you hire the executive, and then the executive hires his impressive contact -- the one who is supposed to make magic?

What do you suppose is going on here? Is the executive just trying to build his empire from the start? Or, are these executives circulating around in a system of favors, going from failure to failure? Do you think it's naivete, stupidity, or cynicism on the part of VCs to hire these guys?

tailrecursion··on How Richard Stallman Browses the Internet
"Bring[ing] everyone else to your pace" by increasing latency struck me as a really nice idea. It suggests an additional feature that could be added to a site like Hacker News, where each reader can choose an update interval, and have news delivered on that interval.

The key is to use a ranking procedure that is appropriate for the interval, so that the reader doesn't get new stuff for that day, but the best over N days (or N seconds -- not everyone is Richard Stallman).

This feature may be silly and unoriginal; but I'm commenting on the internet so I thought it fit.

[Edit: when I said "delivered" I didn't mean by email! Just "updated".]

tailrecursion··on Steve Jobs’ Email Debate With Gawker Blogger
Allowing a tyrant to exert his will may result in less freedom for others. Judging by the technical way you couched your argument, I think you're aware of the subtle way freedom works. It wasn't difficult for me to get what Steve was talking about. Suppose you are a developer. You are being given the option -- one might say the freedom -- to sign a contract that limits your freedom and that of others who sign it, in just such a way as to confer specific advantages on yourself and others, such as a porn-free environment. To claim that to be given that option necessarily limits one's freedom, would certainly be insane.

(Edit: added comma, added clarifications)

← PreviousPage 5 of 5