HNHacker News
TopNewBestAskShowJobs

T-R

1,361 karma · joined June 14, 2010

submissionscomments
T-R··on NES emulation on flash for more than 1800 games
Owning something like 5 copies of A Link to the Past, I agree with this sentiment (the format-shift argument), but I don't think it's proper justification for distributing them. As much as I'd argue it's fair for those who have paid, we can't ignore the fact that most people haven't.
T-R··on OnLive willl give you a free console if you buy a game
That's true, and that investment's on the customers, so idle clients aren't really a problem, unless you sell the hardware too far below cost, and they don't buy enough media. If you're Steam, this doesn't even cross your mind. When the required hardware's expensive, centralizing is a gamble - you want to run close to 100% capacity, but you don't ever want to go above it.
T-R··on OnLive willl give you a free console if you buy a game
That would definitely mitigate some of the risk, but I'd imagine they'd have to steer clear of new games that push hardware too much - even if every system running the same game runs it from shared memory, it's still optimistically one processor per connection. They're also likely to run into the same problems that Netflix is having with ISPs, but even harder, without caching as an option. It's like they tried to conjure up the least scalable application imaginable... well, props to them if they pull it off.
T-R··on OnLive willl give you a free console if you buy a game
True, but the hardware still needs to scale linearly with the number of concurrent connections, and it leaves them pretty susceptible to high traffic related problems, like at peak times when games are first released. What if someone decides to launch a DDoS? Virtualization also limits the type of games they can run - you can't run a dozen PS3 games without a dozen PS3s.

On top of that, they shoulder the cost of upgrading the hardware, along with the risk - another Dreamcast (high initial sales followed by a severe dropoff) would be disastrous. I'm not sure how they can pass those costs on to their customers at a price point that's attractive to anyone who doesn't play lots of games per month (also making it possibly a net loss), or that's competitive with the more scalable, more performant, and lower risk model of running the games on the client, whether it's a console or a PC.

T-R··on OnLive willl give you a free console if you buy a game
That sounds very very expensive.
T-R··on OnLive willl give you a free console if you buy a game
Is my understanding of this correct - that they're maintaining state and performing rendering on the server for every connection to the service, and then sending each frame over the network?

I am so very confused as to how this is scaling. Isn't the rule of thumb for scalability and performance to move client state and UI processing onto the client? Are they going to run an XBox VM for every simultaneously connected customer? How does it perform for games that require low controller lag, like FPS - or Megaman for that matter.

T-R··on I'm a cargo cult programmer, help me
It's been brought up a few times on HN recently, but I think it's worth bringing up again - Imposter Syndrome is rampant in our field. It's the reason a lot of people drop out or don't even get into it. You're far from the only person who feels this way.

Interviews and conversations online may lead you to feel like you need to beat yourself into reading books on operating systems or some other specific sub-field, but a sincere interest in things like garbage collection isn't the only path to success. Algorithms comes up a lot because it's easier to filter for people who know the topic well, but those people have gaps in their abilities, too. Those topics aren't more important than things like domain knowledge or writing maintainable code, they just aren't always as easy to recognize, test for, or brag about.

Sure it's good to learn them, but learn them when you have some motivation to - start writing a game and then read about path-finding. Learn RegEx out of an interest in shortening some code at work. Turning learning into hard work by forcing yourself to learn about things that don't interest you is just going to make learning more difficult. What's important is just that you learn something - so relax and do something fun.

T-R··on I'm a cargo cult programmer, help me
I found this presentation helpful, you might, too: http://rubyconf2008.confreaks.com/fear-of-programming.html
T-R··on How do programmers in the west see programmers in the east?
To further play devil's advocate, there's another article here: http://www.1up.com/news/kojima-younger-generation-japan-losi... - which seems to point toward disappointment in the education system.

    "The engineering population in Japan may be in jeopardy. We should first review our education system here in Japan."
T-R··on How do programmers in the west see programmers in the east?
There's a HN Tokyo group, but as far as I'm aware (I asked a few of them), most of those who have started businesses did it through their spouse - the visa situation is a little difficult for starting a business, but it can be done (I haven't asked patio11, though, he would probably have some insight on this). The guys at (now apparently defunct) starling software seemed to imply on their blog that they were successful starting in Canada and opening a branch in Japan.

On the other hand, getting hired is a touch difficult, too. Companies that post at websites like Career Cross are mostly looking for fluency and lots of enterprise experience - I never even had any luck getting a reply. Most companies who are looking to hire foreigners also only want people who already have the right kind of Visa (an Engineering Visa - btw, if you have one, GrouponJP is hiring a PHP+Perl programmer to do some marketing analysis stuff).

Things aren't all bad, though. I got my job in Japan by going to one of the Recruit/MyNavi events for Japanese students who had studied in English speaking countries. Recruiters chase down the few foreigners there, but admittedly only one company was actually hiring programmers, and I ultimately wasn't happy there - YMMV.

Some video game and consumer electronics companies also hire foreigners, but large companies usually make all applicants take a test that's difficult for native speakers - I applied to Capcom, but they expected me to be fluent and take the test like everyone else. Of course, that depends on the company - you might have more luck elsewhere, and if you're close to fluent, it's worth a shot either way. Try to apply as a "new college graduate" if you can - there's a whole lot of bias against anyone who's held a previous full-time position, and I'm sure it doesn't disappear when they look at foreigner's resumes.

The other route is through foreign companies - I know at least one person at Google Tokyo who originally interviewed in the U.S. On the other hand, I know someone else at Lockheed Martin who's been fighting to get into their Japan office for years now - so how difficult it is depends on the company.

My advice - do Study abroad, JET, or just a 2~3 month trip; go to Tokyo (I personally prefer Osaka, but the jobs are in Tokyo) and go to the HN Tokyo meetup; if no one knows of any openings, apply to a bunch of foreign companies there; if that doesn't work, get a nice black suit and go to a recruiting event.

T-R··on How do programmers in the west see programmers in the east?
Personally, I agree, but on the other hand, Hideo Kojima has been quoted as saying that Japan has lost to western developers.
T-R··on How do programmers in the west see programmers in the east?
Very true, but I was a little shocked to see how little of a software industry there actually is. Outside of embedded systems, there's a decent bit of B2B, but even in those more software oriented companies, programming is seen as an entry-level field to get promoted out of as quickly as possible, and a lot of projects are outsourced to India. This is probably related to the lack of 4-year CS programs in Japan - it's largely considered a vocational field, so you either go to Tokyo Tech, or learn English and leave the country.
T-R··on My Company Is Using OCaml for web development. Why?
Languages like Haskell give more benefit in security/stability, testing, and refactoring. They maybe feel like they help you develop faster since they usually involve less typing, but typing isn't really the bottleneck for developing a major application. Any major project also has considerations other than code. To take the example from your other comment, there is an (open source) FPS written in Haskell, but it doesn't have the artwork, story, or level design of a modern production FPS, and someone still had to think about how to design the thing.

While it depends on what you're comparing to (is the competition writing assembly by hand or writing Python in a functional style?), I don't think you'll see someone working in an advanced language getting to market shockingly faster (and their code won't run faster), or something similarly strikingly noticeable from the outside. More likely, when a company working in an advanced language does get ahead, you'll see them having a much easier time keeping up with competition and adapting to new trends due to much lower maintenance overhead. Resources expended on debugging and refactoring isn't a measure we really look at when talking about most successful projects, but it is still worth improving.

T-R··on Are Silicon Valley’s Engineers Underpaid?
I think his point, without the "jackasses" part, is this - value creation is not zero sum, but value claiming is, so if you're creating more value than you're claiming in compensation, it implies that the person on the other side of the table is claiming more compensation than they've created value. This is what you're negotiating when you negotiate salary, benefits, and working conditions, and a lot of that has to do with your BATNA - the pay you could be getting elsewhere, and the others your employer could hire.

So if you could be getting more elsewhere, then the others who are splitting up the profits are getting more compensation than they created value - others who are getting far less than their market value aren't part of the negotiation, unless your employer is thinking of hiring them.

In short: If you're thinking of working in Finance, and your employer has no intention of hiring a starving programmer from another country, then you're underpaid. If your employer is looking into outsourcing, and you're not searching for jobs, you're overpaid.

T-R··on If you own the infrastructure you get to charge rent
According to whose definition of value? Their view of "adding value" may be my (and my customer's) view of "imposing".
T-R··on If you own the infrastructure you get to charge rent
It's a glass half full/half empty thing.

If the (only) owner(s) of infrastructure or a limited resource offers access for only a select group, do you consider them to be offering a service to that group, or to be starving non-members of access?

What do you do about it? Do you hope for competition, or create rules against discrimination? If you create rules, how can you prevent the rule-maker from using the rules to do its own discrimination? If you hope for competition, what if there's not enough of the resource, there are network effects or other high barriers to entry, or everyone in the market decides to do the same discrimination?

So, who do you trust less to be the gatekeeper, the government, or the ISPs? Neither answer is really a good one.

The telcos are doing what's best for their business, but that's not necessarily what's best for their customers - positioning yourself as the owner of infrastructure is a powerful and profitable place to be, but if you get to be in too good of a position, the same debate will come up again - the parallel to the 1800's is a good one.

T-R··on Christopher Monsanto gives up trying to delete PL articles
I got the impression that there were two issues at hand:

1) Those who have the power to delete the articles perhaps weren't knowledgeable enough to make a judgement, or for some other reason gave too much weight to his decisions, and the AfD process didn't provide (enough time, a good environment) for reasonable discussion, and so he had more control over the process than he should have. Many seem to believe he was willfully taking advantage of that position.

2) His tone gave the impression that he wasn't taking the situation seriously. I really get the impression that people were upset about his attitude, maybe even more than his actions, but completely failed to articulate that, at least in a civilized and constructive way.

I'm not at all surprised that he was treated as if he was trolling, but I do agree that we should be better than that, and I have that much more respect for those who tried to mediate.

T-R··on Christopher Monsanto gives up trying to delete PL articles
Judging from his comments, I'd wager this wouldn't have blown up if it weren't for his attitude toward the whole situation. His use of smileys coupled with his tone leaves the impression of condescension, obliviousness, or apathy toward the people he'd upset.
T-R··on What if Lisp were invented by the Japanese?
That is awesome.

Now I know what language to learn once I finish reading "Real World Haskell". I was gonna go for Factor or Forth, but this absolutely wins.

T-R··on What if Lisp were invented by the Japanese?
I was just thinking about that. You have to do it by hacking the infix syntactic sugar.

    x |> f = f x
gives you lambda calculus, but it gets ugly, since you need to specify order of operations with parentheses.

    (4 |> (5 |> (+))) |> (3 |> (*))
You can take it a step further with tuples, but you still need to be explicit about the number of arguments:

    (x,y) |> f = f x y
    ((4,5) |> (+), 3) |> (*)
Maybe you could go almost all the way by telling it to create a List when passed two values, and telling it apply to the (nested) List when called with a List and an operator, but off hand, I can't think of a way to get it to type check, particularly not without killing currying.
T-R··on What if Lisp were invented by the Japanese?
I'm not that familiar with lisp, but it looks like he wrote a macro that allows functions to be called in postfix
T-R··on What if Lisp were invented by the Japanese?
Japanese is a head-final, strictly left branching language, as linguists might put it, which means it's structured like postfix.

This would actually let you read code strictly left-to-right (even though English speakers would be tempted to think of it as right-to-left) - when you read through functional programs, you end up reading a lot of the code right-to-left, due to function application, to see the order that code is actually executed. In postfix, the order objects/functions are written is the order they're executed.

Continuing along the lines of the post, a more Japanese programming language would also have named arguments (particles), and if it was object oriented, you wouldn't need to type 'this'/'self', since subject can be implied by context (well, it's really the direct object - the computer is the subject).

T-R··on Is California the most miserable US state to live in?
Browsing the Forbes article - seriously, they used "how the local sports team is doing" as one of their 10 factors for judging how miserable it is to live in a city?
T-R··on What is the most effective thing you did to improve your programming skills?
I've always gotten the impression that TDD is one of those things that many people think they should do, but have a hard time making a habit (so it's not surprising it gets more talk than action).

Speaking of books, Real World Haskell covers testing pretty early on; granted, being Haskell, whether or not it qualifies as "Real World" is still a little subjective at this point.

If you're looking for resources to tutor yourself, there are some TDD katas out there (I admittedly haven't tried it myself, though) - http://www.osherove.com/tdd-kata-1/

T-R··on Today, Web Development Sucks
Out of curiosity, if your validation methods (written in the server-side language) don't have environment specific side effects, couldn't you compile them to Javascript for use by client-side code (using LLVM or something)? Or does that not work very well in practice?
T-R··on Google: Bing Is Cheating, Copying Our Search Results
I think this would still leave Google with a fairly strong argument - if Bing does it for all search engines, then they're effectively copying whoever is most popular. Since it's done through Internet Explorer, which is still bundled with Windows in most places, they could try to make the argument that Microsoft is using their position in the OS market to crush competition in other markets.
T-R··on Sublime Text 2: Public Alpha Released
Sublime Text supports TextMate language files. I've added COBOL syntax highlighting for a friend by just pulling apart someone's tmbundle, the same could probably be done with clojure.

http://www.google.com/search?sourceid=chrome&ie=UTF-8...

Edit: I hadn't seen your posts below saying that this wasn't working for Clojure

T-R··on Sublime Text 2: Public Alpha Released
There was a thread about this on the ST forums a while back - I can't seem to find it now. If I recall, block collapsing was a low/non-prority because it was viewed as lending itself to poor code, and mostly compensated for by other features.

My personal opinion - it'd be nice, but I don't miss it enough to switch editors or bug the author - maybe someone will make a plugin for it. I haven't missed it at all in Python or Haskell. Last time I worked on a Java project, I missed it a bit at first, but mostly found that the minimap got rid of that feeling of looking at code through tunnel vision that made me want to collapse it, and by the end of the project I'd shifted to using ST more than Eclipse. I might feel differently if I jumped back in to C#, with #region and all, but I really feel like the C language family lends itself more to IDEs anyway.

T-R··on Sublime Text 2: Public Alpha Released
I'm not sure if he's added it to ST2 yet, but in the original there was an option to open a directory as a project. If it's not in yet, it's probably on the to-do list.
T-R··on Amazon password truncation flaw for old accounts
Thanks for bringing it to our attention. Mine was affected, too.
← PreviousPage 12 of 14Next →