HN user

mingpan

43 karma

I can be reached at minglian.pan@gmail.com if you have something you'd like to discuss.

Posts1
Comments36
View on HN

Is functional programming really mainstream now? I think knowledge of its existence is mainstream, but interest in it still is not. Most people give me strange looks when I tell them my current programming language of choice is a Lisp dialect.

A big point that recruiters emphasize with a client is that they can bring in good candidates who otherwise would not have had interest in a position (and whether they actually fulfill this is not the point here). Since you found and applied for the position on your own, you don't necessarily fit this category, and you might or might not be able to convince them of your argument.

From what I've seen, people are angry at a certain subset of the Ruby on Rails community, but then they take that anger and generalize it to the Rails community or even the Ruby community as a whole.

I'm also wondering the same thing as others. What specifically made it worthwhile to make this a separate language, as opposed to a domain-specific language implemented on top of an existing language with an existing ecosystem? You could even enforce the usage of only a subset of the base language if you really wanted.

If you rent cheaply (sufficiently far uptown or certain parts of the outer boroughs) and live cheaply (this excludes a lot of dining/entertainment options but leaves plenty more), you will be fine on that salary.

I'm from Queens, and as much as certain people from Manhattan will make fun of it, many parts of Queens are decently priced and decently accessible.

If you really want to live in midtown/downtown Manhattan, then it will be quite tricky. Just rent would eat up a lot of your take-home income. You would probably need to find roommates or something.

The Blink Protocol 14 years ago

Feels kinda like a cross between ProtoBuf and MessagePack. We already have so many serialization formats, though. What is the compelling use-case for this one?

From what I have observed in myself and others, I suspect coding is something that anyone can learn to do. Some people may be particularly predisposed, but for others, effort can go a very long way to compensate. A lot of programming knowledge can be built up in small steps, and I don't think there is any innate pre-requisite for being able to make these steps.

The hardest part of such a thing is getting adoption. Commercial players in the space have incentives to push their own offerings very hard. Technologically, there have been a number of fully distributed and decentralized systems. Financially, I guess nobody has really had enough incentive to popularize one.

I think this is a real issue, but is separate from the original point of this thread. The same thing happens to a much larger degree to artists, musicians, and all sorts of creative types. It's a job that enough people enjoy that there's a large supply of employees and at least some of them are willing to accept hard hours or mediocre pay in order to do what they love for a living.

It's intended to be used for security testing against one's own machines, demonstrating a vulnerability if it exists by directly exploiting it. The general nature of such tools, however, is that they can be used for good or for evil. It's just assumed that the bad guys have something of the sort already.

Have you looked into Clojure? It is a Lisp dialect with JVM integration. It has a reasonable sized library ecosystem, and the interop functionality would allow you to use the existing ecosystem of Java libraries where native libraries do not yet exist.

You learn a lot in college. It's a structured environment where relatively well-curated information is supplied to you at a reasonable pace. You could find the same information elsewhere, of course, but it is often hard to know where to look or who to ask. Things like algorithm design, software engineering, and project management are very useful things to know. College will teach them to you. If you choose not to pursue further college, you should have a plan for teaching yourself.

Additionally, there is some perceived value in a having the degree. In a perfect meritocracy, if Alice and Bob have similar skills and experience, they should be treated similarly in the professional world. However, if Alice went to college but Bob was purely self-taught, the real world may well hold its prejudices against Bob.

Here is a personal anecdote of mine, which may be relevant to you. Not long ago, I finished a 4-year bachelor's degree in 3 years. On my resume, it lists a 3 year time span for this. I regularly get recruiters (both official company recruiters and 3rd parties) asking me whether I actually finished school, whether I was in a proper 4-year program, and the like. This leaves me in an awkward situation, and I am forced to clarify my circumstances.

People often joke about the value of a piece of paper, but sadly there may be some degree of truth to this one.

The other potential concern is that stuff of this sort could get accidentally learned. Suppose there were some sensitive fact about some subset of the population, and suppose it happened to correlate with response to some advertisement. If FB were trying to optimize for better ad targeting and response, they could happen to learn this trait, perhaps without even a human operator realizing it.

Again, these are all relatively unlikely hypotheticals, but it is admittedly unnerving that the potential could exist.

Another factor is predictability. When you write a line of code in a low-level language like C, you have a reasonably accurate approximation of what the machine is actually going to do for you at that point. Moreover, things like memory management are manual and explicit, and you have a reasonably good idea of when they happen and how long they take. In comparison, a lot of higher languages have a significant and not necessarily predictable overhead in the runtime and/or VM.

Not that there aren't good third-party recruiters out there, but the majority I've encountered while personally looking for work were disappointing. They seem to scrape resumes from the Internet, perform rudimentary keyword-matching, and cold-call for candidate volume rather than candidate quality. Part of the issue is that it's in their best interests not to find a best fit for either party, but rather to maximize their own overall throughput. If you decide to use a third-party recruiter, then please, for your own sake and those of your potential hires, vet them thoroughly.