HNHacker News
TopNewBestAskShowJobs

kd1220

38 karma · joined January 26, 2011

submissionscomments
kd1220··on Why Not Haskell?
I'm learning Haskell right now. It's the most recent language I've decided to pick up since R back in 2006. Despite dabbling in Lisp about a decade ago, and the functional flavoring of R, it's been a pretty difficult ride. However, it's definitely teaching me to think about writing programs in a very different way.

I can attest to the painfulness of the IO monad. I still haven't gotten it fully. The error messages are also fairly cryptic. The first program I wrote was about 15 lines and it took me about 4 hours of time. But it worked flawlessly and efficiently. The difficulties notwithstanding, this is probably the most fun I've had learning a language ever.

kd1220··on Why and How I Migrated from Posterous to Self-Hosted WordPress
Why not use Amazon EC2? Their free tier (for a year) is more than sufficient for hosting a blog. After the free period is over, you only end up paying about $20/mo for a micro instance with 10GB of EBS.

Does SoftLayer offer anything more substantial than AWS?

kd1220··on Posterous Swaps Blog Platform for Social Network
"Een schip op het strand is een baken in zee."

Posterous should have taken notes from previous sharing sites/functions: Facebook, Digg, MySpace, Google Buzz, etc.

If you change things drastically, your userbase gets mad, and they seek out alternatives. I tend to see social sharing sites as a home online. You put many of your meaningful items there, and you get comfortable with a certain layout, a given set of functionalities, etc. If someone were to come and redecorate/reorganize your room or house without your permission, you'd probably be a little upset.

Facebook eventually mastered the art of introducing change into its site. Nudging the user to try something new ("X of your friends are using the new layout. Join them!") instead of forcing it on them seems to be a better policy.

kd1220··on Ask HN: How much did you earn as an employee from an exit?
I feel you. The first company I worked at was like this, except I got out before I got completely exploited. It's a charming story.

I was interviewed by the lead developer and the head of Human Factors. Fresh out of college, I didn't have much experience other than a campus job, so I was turned down for a developer role. Two weeks later I get a call saying they'd like me to join their Human Factors team.

I accepted. Three weeks in I was tuning their speech recognition applications and committing code to their main application repo. Six weeks after that I wrote an algorithm to optimize grammars on sentence fragments for searching databases by speech recognition. They moved to have it patented. However, they ended up firing my boss and they put me on more mundane tasks. I ended up leaving because the CTO was more impotent than my grandfather after a bottle of Jack and the president thought he was Steve Jobs. It became a terrible place to work.

They never patented my algorithm because I was the only one who knew how it worked. The other developers weren't computer scientists and were just wasting time trying to dissect an implementation of expectation maximization. I'm kind of glad they spent a boatload on lawyers and came up empty-handed.

I will never again work for equity or shares unless I really trust the organization or people involved. Money (cash) talks, and paper is used for wiping your ass.

kd1220··on How PHP is Broken and How It Can Be Fixed
I dislike these articles. And it's not because I like PHP or its development processes, but because the author is avoiding responsibility.

"As a PHP user, it is not my responsibility to contribute to PHP. That's not how open source works, and it never will be how open source works. But as a user of the software, I can be upset when it doesn't work."

If the author has a vested interested in the stability of the language he develops in, then he should be devoting a portion of his time to the project. And instead of writing code and trying to get the build to pass more of those acceptance tests, he writes a boring, scathing article and contributes nothing but vitriol.

Changing the behavior of the PHP core devs by writing a blog post is as effective as changing fashion by merely talking about it.

kd1220··on Index Ventures Leads $4 billion Valuation Round In Dropbox
Is Dropbox using S3 as their storage platform?
kd1220··on Speech Recognition Leaps Forward
Now I pose another question to you. What is "learning?"

When you feed a bunch of input to an ANN, isn't it doing exactly what it's told? The ANN itself does not seek out knowledge, it only adjusts weights according to an algorithm depending on inputs.

The allure to having a fixed, visible algorithm is that you are aware of many of the limitations. Having a black box obscures those limitations, but I won't deny it's alluring in other ways.

kd1220··on Speech Recognition Leaps Forward
No. I worked at a small IVR systems company in 2000 and at Nuance in 2001. I also worked with the tech during my undergraduate years. My opinion on speech recognition is that it's very pie-in-the-sky and not yet ready for general applications. I don't say this because the technology itself isn't ready; it's that humans aren't ready for it.

Having stated my bias: Speech recognition systems are actually not that complex at their core. It's a blending of statistical models. Getting good data is a problem. You need a good acoustic model that's adapted to your users and the environment in which they will be using your application. Everything from the fluency of speakers, to physical environment, to the characteristics of the channel over which the speech is sent needs to be considered.

If you have a good acoustic model, now you have to worry about your language model. Are you going to try to accept all words in a language, or just restrict your users to a particular domain of language? If you have a good language model, then you need to worry about the dialog management. How do you keep context in a conversation? It's not an easy problem.

The primary problem with speech recognition systems is that human beings set their expectations of them too high. It's a psychological factor. When those expectations are not met, the user is frustrated and angry. Consider this. Whenever you call AT&T, your health insurance company, or credit card company, do you enjoy the experience of the IVR system that routes your call? Probably not. You probably don't even talk to it and resort to pressing the buttons instead. Unfortunately that's the experience most people have with speech recognition. I think it's the worst possible application of it.

If you're making a small, toy application whose vocabulary is pretty restricted and whose functionality set is small, then you're probably okay. If you venture into full dialog/anything-goes type applications, the chances are high that your app will be a bomb.

These researchers can swap out all the lower-level statistical models they want, but it won't fundamentally improve the technology. There are systems out there with word error rates very close to that of humans, but the systems higher up in the stack that interpret what is recognized are still very crude.

kd1220··on So you want to be a video game programmer? - The Specs
It's likely bravado from college days. I remember overhearing many conversations at school where students would brag about pulling their second all-nighter in a particular week. I could only think that they were doing something wrong. If your work load is requiring you to stay up for more than 16-18 hours a day, then you're either doing too much or you're really inefficient.

A metric of success, to me, is being able to make money while you're asleep. You'll never escape the chains of the cubicle if you don't work smart.

kd1220··on Your Code is My Hell
The two Rails programmers I've met didn't know Ruby itself very well. Also both had to bow out of their contract jobs because neither could build a functioning CMS in less than a year. When I talked to them it sounded like they were kicking ass and getting things done, but they were just vomiting buzzwords apparently.

When I started using PHP ten years ago, I inherited an existing project. Two days into it I thought to myself: "PHP is kind of like Perl, but less useful." I guess I missed the PHP hype phase. If it had one.

I've never been a language evangelist. I just solve problems with whatever technology is most appropriate for the case.

kd1220··on Why I will never pursue cheating again
scott_s is right. Enforcing cheating policies isn't as impersonal as enforcing parking laws. You can't just leave a citation behind and let the students and administration handle it. The professor will be involved.

There's also the aspect of a student being falsely accused of cheating. I was unfortunate enough to have experienced this during my college career. A fellow student, whom I didn't know outside of class, copied my answers exactly on a German exam. I don't know why he did this, because there were only 15 students in the class and the professor knew us all fairly well. To think the professor wasn't going to notice was a stupid assumption on his part.

I was called in to her office and shown the two tests. The answers were the same down to the punctuation even. It was clear the other guy was very bad at cheating and probably did it out of desperation. I was initially shocked and feared I was going to fail the class despite my innocence. She had to refer the incident to the honor board due to university policy. When I left her office I was so furious that I looked up where the other student lived because I wanted to fight him. But I took a walk, cooled off and decided against it.

I was ultimately cleared by the board and there were no marks on my record. After the proceedings were over, the professor apologized to me and said that she never believed for a moment that I had cheated, or that I had helped him cheat. She pleaded with dean to avoid sending the matter to the honor board, but she had to follow policy.

She said she never had any cheating incidents in the past, and that it was personally distressing for her to handle the situation. It was definitely stressful for me as well.

kd1220··on I Spent A Coin (And I Liked It) — How I Bought Lunch in Manhattan with Bitcoins
I think the lack of physical tokens for Bitcoin (or any cryptocurrency) will likely be the main hurdle for public acceptance. It'll probably take another generation or two for people to get used to the idea of not having a physical representation for currency.
kd1220··on Ask HN: Advice for a newly grad, avoiding an intellectual rut.
I'm a CS graduate with 10 years in the field.

I've worked at 3 different companies and, compared to college coursework and projects, not a single one of these jobs has been intellectually stimulating for me. In fact, my first task at my first job was to document Java code created by foreign contractors. Most of the code was get/set functions for member variables. Nevertheless, there have been projects that I relished, but they have been few and far between.

Most of the work you do in college is individual work. It's completely the opposite in the working world. You have to work on a team of people, and your focus is building a product, not learning new things. This is not to say that you won't learn, but that aspect comes in a distant second to creating a working piece of software, on a schedule, that meets a business need.

My advice on keeping your intellectual needs met: do your brainy stuff outside of work. Work is not your muse; it's not your professor. Work pays the bills so you can live how you want outside of work.

At two jobs I was actually singled out and mocked for doing "advanced" things that had immediate positive effects on the business. Superiors and coworkers can feel threatened by a brainiac. Politicking isn't limited to the Beltway. These companies weren't exactly tech giants, but you'd probably find this situation is possible at any company. So being street smart is also a requirement. Don't showboat unnecessarily.

If you find a company that interests you, use your alumni association to find people who work there. Get in touch with them and ask them questions about what they do, what they like about the company, and what they don't like. Do some networking and research the work environment before you send a resume. It's very difficult to gauge a company from a job interview since it's a stressful situation and you're focused on presenting yourself as the ideal candidate.

Also consider jobs that aren't primarily tech-oriented, but permit you to use technology to do your job better. At a former company there was a sales guy who knew programming fairly well and he used it to streamline his processes. He was able to handle more clients more efficiently and he got promoted quickly. If there's something non-technical that you absolutely love, then taking a related job and applying tech to it might lead to interesting results.

As for start-ups vs. small companies vs. giants. It all depends on what you're comfortable with. Start-ups are risky but the atmosphere is generally pretty fun and they are often more open to using new technology and unorthodox methods. As companies get larger, the bureaucracy sets in and things become more about following a process than finding something that works. I'd recommend joining a start-up to any CS graduate, but do it before you settle down in life.

kd1220··on Graduated with a Major in Startups
Unfortunately, that's the mentality of a many start-ups. A couple months ago I was posed the question "Why don't you apply to work at Facebook?" by an interviewer. [To give him the benefit of the doubt, he didn't appear to be versed in how to conduct an interview.] It was a pointless question with an obvious answer, but the wording he used to pose it gave me the feeling he had a chip on his shoulder. The rest of his questions had the same undertone. It would have been better for him to ask "Why are you interested in working here instead of Google, Facebook, etc.?"

I got an offer from his company, but turned it down because I didn't want to work with people who were combative instead of cooperative.

kd1220··on Graduated with a Major in Startups
CMU here also. I graduated several years ago, but I distinctly remember groups of CS students banding together to create things on their own. That's start-up culture. You get a bunch of motivated, technically inclined people together and build something. The CS undergrad lounge always had people fiddling around with things and geeking out.

At CMU you are free to do what you want with your spare time. There doesn't necessarily need to be a class for teaching start-ups. A class can simulate anything (DDOS attacks, power outages), but whether or not that simulation is a reflection of reality once the student leaves the classroom remains to be seen. Furthermore, if you need a class to learn something, then there are many hard lessons waiting for you in life.

The reason you get a CS degree at CMU is to become a better problem solver. It's a very difficult course of study. When I was there about 1 in 4 students dropped out of the SCS program. If you make it through the program, it is a badge of dedication, and you are definitely transformed into a problem solver. The environment in which you use these problem solving skills - at a start-up or a large corporation - should never be an issue, nor should it require explicit handling.

Often when I see a start-up populated with dropouts I'll think "They couldn't even make a 4-year commitment? Does that mean they'll only stick around here for 2 years before they split?" And that is often the case. The infatuation with dropping out and start-up "culture" is purely romantic.

← PreviousPage 2 of 2