HNHacker News
TopNewBestAskShowJobs

epenn

2,982 karma · joined March 2, 2011

I think therefore I engineer.
submissionscomments
epenn··on Teaching Distributed Systems in Go
Kesden is letting us use any language in 440 this semester, Go included. All of the handouts are still in Java, but we were told multiple times to use whatever we want. The only catch is if we want any help on the projects from him or the TAs then we have to choose from four: Go, C, C++, or Java. (I actually think I might do project 2 in Rust, FTW).
epenn··on MIT 6.824 Distributed Systems labs rewritten in Go
At CMU, 15-440/640 Distributed Systems is also in Go. One professor does it exclusively in Go and the other gives you the option of Go, C, C++, or Java.

http://www.cs.cmu.edu/~dga/15-440/F12/

epenn··on Notes on Distributed Systems for Young Bloods
No. That's only one example, depending on how the website is setup, but they're not limited to that. A distributed system is one that requires coordination among multiple machines to execute a task or set of tasks. A few examples:

- A website using a load balancer to offset service to multiple machines

- A hadoop cluster running a series of mapreduce tasks

- A botnet setup to DDOS some target

epenn··on Haskell: Let the Type Inferencer Work for You
Most of the time, you don't need to supply types in Haskell, as the compiler is perfectly capable of figuring them out for itself.

I love type inference, but I feel like using it in this way doesn't realize its full potential. My functional background primarily stems from SML (and some Clojure), but the logic I'll use should apply here as well. It's true that the compiler is able to infer the most general type itself, but if you rely on it for this you're ignoring an invaluable tool for predicting the correctness of your code.

There are many times where I've used type inference to show me there's an issue with my code before I even run a single unit-test. I always specify the types of my arguments as well as the return type when writing a function, even though it's not technically required at this point. If I've fully reasoned through what it needs to do then this shouldn't be too difficult. Once I've finished I'll make sure it type-checks. If it does then I'll know the logic throughout my function matches the inputs and outputs I've specified.

That gives you a powerful low-pass filter for knowing whether or not your code is more likely to be correct. If you specify the types when you declare the function and they don't match then your code won't type-check, which results in an exception. If you don't, then depending on the type of error your function might still type-check and compile, but with the wrong type. Then you have no choice but to catch the error with unit tests or, even worse, debugging. The interpreter will certainly give you the type for the code that you've entered, but assuming that it's giving you the type for the code you actually need leaves a powerful tool on the table.

Obviously this doesn't cover every class of error you could have in your code of course, but it in my experience it can be very helpful.

epenn··on Touché
I think (?) the room on NS 2 you're thinking of is part of the Quality of Life Technology Center. <3 CMU and #proud. Can we all agree that the robot in the Gates 3 lounge area is somewhat creepy-looking though? His avatar looks like a cross between Julian Assange and Andy Warhol.
epenn··on How Israeli Police computers were hacked
I guess I'm a bit surprised some of them fell for this. That's a pretty typical/textbook/well-known attack vector. Given that they're a police department I'm surprised they didn't have some kind of training on that. Not necessarily even anything super-sophisticated, but enough to know not to click on an unexpected attachment in a suspicious looking email.
epenn··on "Sometimes science must give way to religion"
I'm downvoting you, not because of what you're saying, but primarily for your incendiary tone.

Content-wise, your musings on religion seemingly fail to take into account the existence of other religions outside of Christianity (or at the very least, outside of the Abrahamic traditions of Judaism, Christianity, & Islam). There are many non-biblical, non-revealed religions. There are many non-theistic ones as well. I don't feel the need to list them off here. Feel free to research.

Back to your tone, I kindly request that you be respectful of those who do not necessarily agree with you and do not assume you are preaching to the choir, otherwise you do nothing but hurt your own cause. If you reduce the entire concept of religion to nothing but "the ramblings of bronze age goat herders," do you honestly expect anyone who adheres to one of those religions (or to any other non-"goat herder" religion for that matter) to listen to what you have to say?

For the record, I agree with a lot of what you said, especially about awe and amazement not being exclusive to religion. Likewise about how many people (not entire religions mind you, or religion itself, but individuals) claim a monopoly on morality. Again, my issue isn't so much with your content, but more so with how you're presenting it. Just some food for thought.

epenn··on Flame is Lame
Similarly, I'll grant that the fight may appear asymmetrical at the higher level of organizations if one side is run by geeks and the other side is run by non-geeks. Nonetheless one should recognize that those hired by either side to be on the "front lines" so to speak will be geeks. Whether they're computer geeks or gun|bomb|espionage|etc geeks, assuming an asymmetry in the ability to employ strategy and accomplish goals on that level would be unwise.
epenn··on The Dictator's practical Internet guide to power retention
As an aspiring dictator looking to create my minimum viable regime, couldn't I also use some of these same (or similar) techniques to promote the creation of power rather than simply the maintenance of power? This guide is great for the Ayatollahs and Czars of the world who already have a claim to authority. But what about us little guys doing what we can to spread misinformation and dissidence?
epenn··on Visual design will not fix your broken business
I agree with the author's central point, although I don't know if I would de-emphasize the importance of the visual designer to such an extent. I think a couple of the examples he links to (Google, Facebook) are outliers. They succeeded in spite of their lack of visual design because their products weren't just executed well; they were executed extremely well. Generally speaking though it takes a bit more finesse in order to make your users feel at home using your product.

With that said, I agree that if the core product isn't well engineered then no amount of lipstick on the pig is going to make it usable. You can paint rust any color you like but it's still rust.

epenn··on Making the Web Faster with HTTP 2 Protocol
I don't currently have any SPDY experience so if there is a "best practice" for this I'm unaware of it. With that said, I would take a two pronged approach. On the server side you could set a timeout on that user's session to reclaim resources after a period of time that you deem reasonable, regardless of whether you've received an explicit "I'm done" from the user's browser. I would hope server's implementing SPDY would also allow a way to explicitly end a connection as well. If so, I would close the connection at the time that user's session expires.
epenn··on Tetris Hack on MIT's Green Building
Actually I was considering 5th Avenue Place downtown (the Highmark building) for Light Up Night later this year, assuming I can get permission for it. Hunt already has the lighting for it but I'm not sure it's tall enough to be able to play Tetris effectively. Although if the blocks were to "fall" horizontally that would actually be pretty interesting. Were you/others planning on doing a version on Hunt?
epenn··on Tetris Hack on MIT's Green Building
I had the exact same idea and have been planning on doing this on a building in Pittsburgh. Now I feel like I would just be a copy cat if I did. :-/
epenn··on Poll: How long have you been programming?
Wow, I used to live in Birnam Wood, the apartment complex adjacent to Gateway High School. I didn't realize you or pg were from the area too. Living down in the city now though (Pittsburgh, for anyone else reading this).
epenn··on Ask HN: Please be more thoughtful when downvoting
I fully agree. I've seen far too many comments that are meaningful or insightful - even ones I don't agree with - get unnecessarily downvoted without proper cause. On a discussion forum where one of its main objectives is to be a safe haven for intelligent discourse this is unacceptable. With that said, this is my officially unofficial guide to downvoting:

NEVER downvote:

1) Just because you disagree with a post.

2) Because you dislike the poster.

3) Because others have downvoted a comment into oblivion and you want to jump on the bandwagon. i.e. No need to kick a comment when it's already down.

4) When you have not explicitly reasoned out why you are downvoting beforehand.

DO downvote:

1) Because the comment is derogatory or offensive.

2) Because the comment is factually incorrect.

3) Because the comment is off topic and/or does not add to the conversation.

4) Because the comment lacked any meaningful content. Ex: "Yes!", "Nice post!", "LOL!", etc.

Ultimately the golden rule applies here. Do not downvote any comment for a reason that you yourself would be upset over if someone used that same reason to downvote a comment of yours. In short, just put some thought into it.

epenn··on [dead]
All PDFs posted to HN are automatically given a scribd link. Scribd is a Y Combinator company.
epenn··on What's ailing Hacker News?
Downvoted for being off topic. Please read the post before you comment. It talks about statistics from a symptom checking website created by a handful of medical students, using searches from Hacker News users as a sample. It has nothing to do with the Hacker News website itself.
epenn··on Your doctor doesn't want you to see this -- diagnosis using AI
I would recommend allowing a person to add multiple symptoms up front on the landing page instead of just one. Requiring a postback and then having it to calculate the probabilities under "I may have" after entering only one symptom when the person already knows they plan on entering 2 or 3 more is a waste of resources on the system end as well as a significant delay on the user's end.
epenn··on MIT Level Introductory Physics - Free Online Course Starts March 1st
There seems to be a theme of duplicate, potentially competing efforts coming from the same universities in the now emerging online course space. First with Coursera vs Udacity coming out of Stanford. Now with MITx vs RELATE coming out of MIT. Wouldn't it make more sense for those within the same university to collaborate in order to produce a consistent brand and user experience? Don't get me wrong, I'm loving the fact that these types of educational systems are beginning to take off. I'll be enrolling in as many as time permits. But individual course content aside, it seems like each is reinventing each other's wheel.
epenn··on Skills aren't taught at university; we develop them to cope with university
In reference to memorizing material the OP writes: In the “real world,” having a copy of your notes is called being prepared. Instead, university exams expect us to tie one hand behind our backs and master a skill we’ll seldom if ever use again.

The truth is in the middle of the dichotomy you setup. Yes having notes, referencing materials, etc in the real world is being prepared. BUT, even in the real world, there's a reasonable expectation that you'll store and retrieve as much of that information as possible in and from your own memory. For example, I'm a pretty adept with python. I occasionally need to look at the standard library reference; yet, I try to commit as much as I can to memory. If I didn't, I would spend the majority of my time searching instead of doing. It goes without saying that a person who knows something off the top of his or her head is more efficient than someone who doesn't. You're correct that in the real world you'll rarely be in a situation where you don't have access to a reference of some kind. However to say at the same time that memorization is a skill that you'll seldom if ever use again is incorrect at best and reckless at worst.

epenn··on Scaling GitHub
One thing the slides mention in passing that I cannot stress the usefulness of enough is an internal wiki. There are so many common tips, issues, ideas, etc. that can be more effectively communicated and expanded upon when they're in a centralized location for all to see. So many conversations of the form "I've never dealt with that, but I know $coworker ran into that once. Go ask him." can be reduced or eliminated if the ideas are already visibly detailed. In short, setting up an internal wiki helps improve/scale your team's productivity.
epenn··on New Storage Device is Very Small, as in 12 Atoms
I think it's worth noting that this was an experiment done as part of a research paper. The HN title basically implies that it's something ready for production. Nonetheless very impressive.
epenn··on C Preprocessor Hell
True but this also creates extra dependencies for any project doing this. If you need to be able to compile on various platforms and/or machines doing so can introduce unnecessary complications as a result.
epenn··on How Braintree Interviews Exceptional Developers
How are they supposed to know that a particular developer is exceptional otherwise? Even if they have a github or similar account for a potential employer to peruse, that ultimately only shows the end result of their thought process. It doesn't necessarily show that they were able to arrive at their conclusion/solution efficiently. How would you then account for that?
epenn··on Ask HN: How can I self-evaluate my programming skills?
All that matters is whether or not you can successfully build that which must be built. The ability to figure out what that is and how to do that is the most important skill of all.

I would add to this that it's important to learn how to build what must be built efficiently. If you create what appears to be an elegant piece of software on the surface but resembles a Rube Goldberg machine internally then it's going to be quite difficult to maintain or enhance it later.

epenn··on MITx: Can Higher Learning Be Made Habit Forming?
I hope once the platforms offered by Stanford and MIT have been around for a while they publish data on how often people continue using the platforms after completing at least one course.
epenn··on Dear Internet: It's no Longer OK Not to Know How Congress Works
This would indeed be great, but as Clay pointed out software like this would need to be housed on hardware belonging to Congress. That being the case, it could be very difficult to get them to agree to something having the sole purpose of holding them to a greater accountability. I'm not saying it isn't an idea worth pursuing; just that it may not be a walk in the park to get them to use it.
epenn··on Can you Crack It? Break this cypher, get an interview with GCHQ
Previous discussion from earlier today: http://news.ycombinator.com/item?id=3299155
epenn··on It Could Be Old Age, or It Could Be Low B12
Yes most every vegan knows about B12 supplementation. People who don't know the vegan viewpoint might view this article as critical to us.

Keep in mind most people are not vegans. The majority of their audience may not be aware that vegans would require B12 supplementation. Given the article's subject, mentioning this as an aside fits the context very well. I read that as simply informational more so than critical.

epenn··on Why SOPA endangers America's Internet leadership
While I certainly acknowledge everything that America has done for the Internet from its beginning up through now, it's long since established itself as a global institution. As such, shouldn't the faculties in charge of running it be global institutions as well?

The premise of the article seems to be that America needs to be careful lest it lose its current Internet dominance. I'm an American myself and I'm very proud of the fact that we initiated something as amazing as the Internet. However, is it fair for us to hold that dominant position in perpetuum? The Internet is a global community.

(edit: spelling, structure)

← PreviousPage 3 of 5Next →