HNHacker News
TopNewBestAskShowJobs

hazzen

643 karma · joined September 28, 2009

I write code for a living.

I collect personal projects at http://hazzens.com

submissionscomments
hazzen··on Blizzard Calls DRM a "Losing Battle"
Thank you for the source link - I stand corrected, but I will wait until I see it in action before passing judgement. In retrospect, it makes sense that they would have some way of running a game specifically for high-level competitive tournaments as a percent of their market (and a very vocal group) plays specifically with that in mind.
hazzen··on Blizzard Calls DRM a "Losing Battle"
Hopefully they are not so stupid as to "disable" LAN play. What they have probably done is to never have written LAN netcode in the first place. There is a very large difference between those two - one implies maliciousness, one implies that they didn't devote the manpower necessary to get it running anywhere other than Battle.net (which presumably is doing something more complex than connecting several IPs together for a net game).
hazzen··on New LLVM C++ Standard Library
I merely glanced at bits of the code without diving into the implementation that much, but my high-level thoughts:

+ I love the "synopsis" header in front of all the classes.

+ I find the style horrible, but still more readable than the SGI-based STL headers. This is a very good thing.

+ Only one developer currently? I wonder how many bugs are yet to be found in this code. Making it ABI-compatible with libstdc++ should make the "swap it in, does it crash?" test very easy.

hazzen··on Ask HN: Review my startup - Scribd (YC S06)
My Nexus One seems to be missing a number of symbols because I saw a few square boxes. Otherwise an amazing achievement - a very usable mobile PDF viewer.

Anyone on an iPad/iPhone/Pre able to see every symbol on that paper?

hazzen··on Facebook's new features secretly add apps to your profile
I agree with your point of view, and it is the one I hold. I don't like that Facebook et al. ask me to give up my privacy, and I want a better option. In the meantime, if I want to get invited to events with friends, I must have a Facebook account. I don't want to debate privacy implications, I merely wanted to answer your "I still don't get it" remark.

You don't get it because your social circle doesn't live and breathe Facebook. For me, refusing to get a Facebook account would be the same as refusing to have an email account to you. Try talking to some middle schoolers or high schoolers - they are even worse than myself.

Again, I want to stress I do not approve of Facebook's stance on privacy and I do not disapprove of your stance on the platform or its usefulness - it is useful to some people, not all.

hazzen··on Facebook's new features secretly add apps to your profile
Many of my friends handle social planning exclusively through Facebook/Twitter/FourSquare/Buzz/etc. Not having accounts on these sites would be akin to not having email/phone w.r.t. social life.

In fact, my use of all these technology is probably equivalent to email or SMS for a group of friends that is email-based. What is your opinion of people who refuse to get an email?

hazzen··on Scribd CTO: “We Are Scrapping Flash And Betting The Company On HTML5″
Users will be able to easily view PDFs on the web from any device. I primarily read HN on my phone. Any time I see a [Scribd] link, I forget about the story because I can't read it. I have also had several occasions where I needed to read a PDF on the go. I had to email it to a friend and then call them, dictating the pertinent bits over the phone.

Once this is live, Scribd will gain at least myself as a user, and I suspect many more.

(Nesting is too deep to reply to axod, so: the fact that Google is doing this should be reason enough. Scribd exists as a place to publish material. That material should be reachable by as many users as they can manage.)

hazzen··on Gmail vs Pine
Alternatively, you can type <period><down><enter>. Period opens the "more actions" menu and you can then use arrows/enter to navigate the menu.
hazzen··on Church Numerals in C++ (and Haskell)
I like to make a very important distinction with templates in C++, categorizing uses into three classes:

1) "Java" generics. That is, anything you could do with generics in Java. No one should have an issue using templates like this.

2) Non-recursive "typedef" programming. That is, uses like "::value_type" in the STL containers. These are incredibly useful to have around when writing generic algorithms, but their overuse leads to unparseable code to some set of C++ programmers. Use with caution, but still use.

3) Recursive templates and other subtle uses I haven't covered with the above two. Try very, very, very hard to avoid.

That makes the "will my coworkers understand this code?" question very easy to answer.

hazzen··on Deceiving Users with the Facebook Like Button
Unless my memory is playing tricks on me, I recall Luis Von Ahn mentioning this as an example of ways people had attempted to defeat his system at a talk of his several years ago. He may have been talking about theoretical attacks and not actual ones, but I'm on my phone now and can't effectively dig for a video if one exists.
hazzen··on [dead]
As has been pointed out on reddit[1], this article is incredibly inaccurate and should be ignored.

[1]: http://www.reddit.com/r/programming/comments/bu6j1/c_languag...

hazzen··on Google in talks to buy ITA
Can you expand on why you believe Google needs a Lisp team? I am having trouble coming up with any convincing argument for needing one.
hazzen··on Why I Hate Adobe
Old versions of Foxit were ad-free. Only the newer versions have turned into some kind of crapware mess. The same thing happened to BSPlayer (VLC-like media player). None of these programs force updates, so someone who hasn't updated their program for years will blindly reconmend them to friends, only to get laughed at for proposing such crapware.
hazzen··on Twitter Predicts Box-Office Sales Better Than a Prediction Market
Go figure: by counting how many people are excited for a film the week before it opens, you can estimate how much money it makes. Even if the model is perfect and works everytime, it is not giving you any useful information.

If the prediction can be moved from one week out to a month or more out from the release of the film, there may be actual applications. For instance, helping theaters decide which movies to show and on how many screens, or how many weeks to run a movie for.

hazzen··on Microsoft vs the Karate Kid
I use an Android; it has copy-and-paste. I believe I have used it exactly once in over a year of using the phone - I had started composing an SMS to the wrong person and decided to copy/paste the text instead of simply typing it again.

For most users, I am guessing the most common use case is copying a browser link to an email/IM/SMS, and this can be supported without an actual copy/paste implementation. The hard part of full-blown copy/paste isn't implementing copy/paste storage, it is figuring out the UI for selecting text on a touch screen.

hazzen··on Google China hackers stole source code
Does anyone else feel that this article is both poorly written and furthermore just bad reporting? I was curious about the original source, which I tracked down to a blog post by George Kurtz and several links on it [1].

It seems to only claim that source control services are a good target and are frequently configured with no security (which is A Bad Thing), but does not blame Perforce as an attack vector. The article implies, however, that Perforce was used as an attack vector which does not appear to be the case. Of course, it is very hard to discern what the article actually says when they spend one sentence per idea, with no further explanation or investigation.

[1]: http://siblog.mcafee.com/cto/source-code-repositories-target...

hazzen··on Facebook will set indie gaming back 5 years
The author appears to have either a few false assumptions or simply wanted to rant against FarmVille and thought mentioning Indie games was required.

Indie games come from a few places. There are non-games industry and games industry creators. Those from the games industry obviously needed to work on some game before going Indie. They get experience, connections, and money from working on games just like farmville - without that industry start, who can say if we would have ever received World of Goo or others.

Likewise, those not from the games industry needed to know videogames exist. Maybe farmville will start a teen on the path to becoming someone on the caliber of Cactus.

What goes on in pop culture influences Indies, but it definitely doesn't control nor destroy them. Does it get more people exposed to videogames? Then I can't see it hurting the Indie scene. Note: it may "damage" mainstream games to some, but that is what you should complain about.

hazzen··on Valve Software Battles Video-game Cheaters
Whether or not Valve Anti-Cheat System works, I believe its existence has reduced the number of players who assume every good player is hacking. In the old days (0.6 maybe?), chat was filled with hack accusations on death. These days, it seems like it is said less frequently, and mostly in jest.

Then again, sometimes it is very hard to tell if someone is wallhacking or just good/lucky, so I could just have a false sense of security on the issue. However, this sense (false or not) is enough to eliminate any frustration on death and just assume I need to get better.

hazzen··on C++: A language for next generation web apps
C++ doesn't actually have a standard "hash list" (I assume you meant hash map or hash set?). Depending on your implementation, you either have hash_{map,set}, unordered_{map,set}, both, or something entirely different. tr1 specified unordered_{map,set}, but tr1 is only technically a proposal, not a standard.

I think a safe assumption is that tr1::unordered_{map,set} will be available in all implementations by now, but until C++0x is ratified and implemented by major compilers, you will run into different platforms having (possibly) different implementations. And lets be honest - even after C++0x has been implemented in major compilers, you will still have subtly different/buggy implementations.

edit: I had conflated {hash,unordered}_{set,map}. Fixed

hazzen··on Windows 7: The almost-there operating system
As someone who recently moved from XP to 7, my review can be summed up as "it works".

Feels just as fast as XP, and the new UI is a neutral/positive change. The best feature is the configurable systray settings (always show, always hide, hide but show notifications).

Admittedly, I use my desktop for video games and internet, and 7 seems to work great for that (as opposed to the launch version of Vista).

edit Forgot to say that "good enough" may not be good enough to restore faith in Windows for those burned by the Vista launch, but if you bought a new computer and it had 7 no tears would be shed. That alone might be enough to keep users.

hazzen··on Ruby Fibonacci Shootout
I don't think this "CPU Intensive" task is the kind of CPU-intensive task you actually care about. I haven't done any formal experimentation, but I'm guessing this is a better test of how many instructions are generated for a call/ret sequence, and not how well normal CPU-intensive operations would work. I would think some code that did a fair amount of number crunching/lookups in a tight loop would be a much better test.

But, then again, it doesn't really matter. Is Ruby fast enough to work for most uses? Yes. If you really, really, really care about execution speed, would you use Ruby? I don't know. If you care that much about execution speed, you will probably do more benchmarks than I care to think of.

hazzen··on API Design Tips
true and false are lousy arguments is probably the easiest to implement and most helpful tip on this list. I can't count how many times I have been reading a piece of code and forgotten what the "true" indicated in a call, or even seen code like:

  Frobnitz(true, true, false);
Maybe in Eclipse/NetBeans/etc, that code is meaningful with context-assist, but it certainly isn't readable for me. This also reminds me of a point that I can't seem to find in this list - "Options" objects help more in simplifying interfaces/configurations than many other solutions. It changes something like:

  Foo foo = new Foo(someObject, 3, 42, Foo.USE_FROBNOB, 27);
into

  Foo.Options opts = Foo.newDefaultOptions()
      .handler(someObject)
      .numThreads(3)
      .maxConnections(42)
      .build();
  Foo foo = new Foo(opts);
And allows for easy removal/addition of params.
hazzen··on The trouble with not being real-time
I think the article's author is missing a key point - there are equally valid reasons for taking 6 weeks. Say, it is company policy and Feedjit is not high-profile enough to warrant going against a policy that errs on the side of caution.

Or it could be the case that, yes, it does take 6 weeks to update the database without doing some kind of emergency, invasive fix. But you know what? If you wanted instantaneous fixes for "obvious" mistakes, you are either going to need a damn good definition of "obvious" and be prepared to still handle complaints when it doesn't work properly, or you are going to need to have some person dedicated to this issue.

hazzen··on The inconvenient truth about malaria
I have long wondered if there is a good solution this this problem: given that politicians serve some short term length, say 2-6 years, before running for re-election and given that major policy changes can not be enacted overnight nor in one piece, is there any way we can get forward-thinking legislation into law?

It seems that any major legislation should require an informed, rational public - something I do not believe to be possible. What solution is there, other than benevolent dictator (which is not a true solution)?

hazzen··on What the "Black screen of death" story says about tech journalism
How, exactly, does this offer any insight into bloggers vs. mainstream media? Both of these camps blindly copied the story across the web, neither of them taking time to do any honest reporting. Sensationalism is bad, not mainstream media. Just as you can have a sensationalist paper and a rational blogger, you can also have a sensationalist blogger and a rational paper.

It is the bad reporting that should die - we shouldn't tie it to any particular format.

hazzen··on Plancast Is Foursquare... For The Future
I use last.fm to "scrobble" all of the music I listen to. It knows what artists I like, any similar artists to those, and most tour dates. There is even an "events" page that lists all of these shows, filterable by geo and artists that I might actually like. This has solved all of my "didn't know they were on tour" problems.
hazzen··on Humble Beginnings - The First Starbucks Store
This article should also note Starbucks is experimenting with moving back towards "local" coffee houses[1]. I'm sure someone who currently lives in Seattle can give more information on how well this process is being received (instead of my own knowledge, which is that of someone who used to live in Seattle and follows local issues still), but I have a very low opinion of the strategy. I would prefer my local coffeeshop to be local, not appear local but fund a company that probably doesn't care what happens in the neighbourhood.

[1]: http://seattletimes.nwsource.com/html/localnews/2009479123_s...

hazzen··on Your looks and your inbox
An old coworker of mine at an internship did exactly this to find the most attractive profile picture for a dating site. He had a sample size of maybe 10 photos and used HotOrNot to do a simple ranking of them. The top rated ones were used as his profile picture on social networking sites.

Unfortunately, he left out one part of the experiment - he did not have the "ugly" photos as his profile picture, measure response rates, and then try it again with a "hot" photo.

I am currently running an experiment with my OkCupid profile along similar metrics - I am varying my profile picture, as well as certain parts of my profile, and testing profile views, response rates, and 4-5 star ratings. This is mostly out of frustration with the pitiful view/response rates I was having originally, but if the data is interesting I might do a write-up.

hazzen··on DadHacker on why C is staying
It isn't the ability to do efficient bit operations that is a strength of C - it is the ability to easily and succinctly do whatever you want to the bits in memory. Arbitrary pointer/memory operations help greatly in writing things like memory managers, device drivers, and all of the other wonderful parts the make up the guts of an OS.

edit: Added the text "easily and succinctly" as a qualifier on doing things to bits in response to stcredzero's comment. It isn't that C is the only language to allow it, it is that C allows one to do it without obscuring your intent. C# handles this quite well with unsafe blocks, Java not so much.

hazzen··on In Silicon Valley, Settlers is the New Golf
Settlers is light enough (and hopefully the group you play with as well) to allow for constant conversation. While you do need to use your mind, it is not close to the level required by Chess/Go/etc.

Settlers is also reliant upon trading and player interaction, which helps to at least get you comfortable with the other players in the game, if not conversing with them.

← PreviousPage 2 of 3Next →