skysight-inc/HackerNews huggingface dataset:
Ask HN: Value of business/sales/idea guy early on?
Being surrounded 24/7 by engineers, I've never been exposed to the mythical "business/idea" guy persona that you always read about on sites like our very own HN. You know the stereotype: they have the great ideas, you work all day to turn it into reality, they reap all of the fame.

Back on Earth, how much of that persona is true, and how much is just software developer bias towards "suits"? Is there value that a guy who doesn't code can bring to a startup in a very early stage, when you're still testing the water, trying to validate the very basic hypotheses? If so, what kind of skillset does this person have to have?
I wrote a post about this topic a while back, "Why do programmers have better tools than educators?"

http://peak5390.wordpress.com/2012/02/07/why-do-programmers-...
Depends on what you are doing. the key thing is to decide how tightly coupled the system should be.

With LedgerSMB we went with a tight-coupling approach. This gives us the power of the esoteric features and the ability to to write stored procedures in whatever languages we want later. HStore and Javascript, or JSON and Javascript might be used in the future for some things if we want to.

There are many applications which may not need this. In those cases, you are better off focusing on portability (only ANSI SQL features).
Hm.. should I stop learning Clojure right this instant? I can't take the "you GOT to learn Erlang/Haskell/Scala/Node/[...] right NOW!" any longer.
Without extreme modifications to the operating system and/or expensive third-party solutions:

Disabling the nauseating window-switching animations in Lion (not Snow Leopard), the ability to implement proper tiling window management (think wmii, not Divvy/Shift), focus-follows-mouse, arbitrary remappings of keys, mapping keyboard shortcuts involving the return/enter key, disabling the hardcoded built-in delay in the Caps Lock key, unified package management (homebrew != portage), unified binary package management (pacman != homebrew != portage), launching of 'applications' from a terminal without hunting down the location of the binary[1], renaming Documents/ and Downloads/ to their lowercase equivalents without breaking tab completion (seriously??), getting GNU screen/readline working in Terminal.app without really awkward line wrapping problems, the ability to access basic utilities (like system temperature) from the command line, upgrading system versions of things like the python interpreter (this may have been fixed), changing the resolution and font-size system-wide, scripting arbitrary window behavior in any language (again, think plan9/wmii), mounting /tmp in RAM the way tmpfs in Linux provides...

...that was just off the top of my head, but clearly there's quite a bit. Some of that is because it ships with a version of bash that's on the order of a decade old... but that's a problem in and of itself!

[1] Yet another example of how the concept of applications is broken on OSX - installing an application from a .dmg file is a completely different process from installing something via make install on a traditional (*)NIX.
For a site that important, that seems like a serious oversight.

Maybe the testers are unsuspecting users in the A/B pool of Facebook-style deployment where A = stable and B = mystery meat.
Being a functional language is different than supporting functional programming. A functional program is one that fits the mold he describes: high-order functions as the primary abstraction, pure wherever possible, heavy emphasis on transformation of values rather than updating state. A language that supports functional programming is one where such a program is possible (without too much trouble). A functional language is one where programs that don't fit that mold are difficult or discouraged.

To the author's point, supporting functional programming is not hard and most languages do it. Basically all languages, except Java and maybe like Pascal or something. I'm ok with that, though. I'm fine that I can write my own JavaScript functionally, even though other people may not. (Though it's annoying when I interface with less-than-functional third-party libraries.) After all, part of the reason to learn Lisp or Haskell is to make you better at Blub, right? Merely supporting functional programming means that I can still put those lessons to decent use.
I don't understand much but the Washington Post does:

http://www.washingtonpost.com/business/technology/new-yahoo-...

* $1 million/year in salary;

* up to $2 million/year in bonuses;

* $14 million in restricted stock & options vesting over three years ($4.7 million/year). Restricted means she won't get these if she leaves before they vest. The real value of these depends on the future value of Yahoo stock

* $30 million retention bonus if she stays 5 years

That's $59 million for the first 5 years ($5M + $10M + $14M + $30M). Yahoo says they expect to pay her a total $100 million over that time period -- they'll award other things on top of these.
I think the real reason Monads haven't been widely adopted is that there isn't a compelling need for them. Laziness, purity and referential transparency are nice-to-haves in most languages, whereas in Haskell, they're need-to-haves.

Computers are imperative by nature. They have state. That Haskell has the capability to shield us from that is really, really cool, but that doesn't mean it's necessary to write good software.
Amazon AWS Throttling Non-Elasticache Memcache Traffic
We've been trying to set up memcache/couchbase boxes on Joyent East and Serverbeach Virginia today and noticed that we get a max of 300 reqs/sec per virtual instance when we send memcache requests from Instances on AWS East.

It doesn't matter if we change the security group on AWS or if we change the port of the memcache traffic. the traffic itself seems to be inspected and throttled.

This is a MAJOR problem. Basically all AWS customers will need to start testing to see if their specific type of traffic is being throttled.

Within the AWS cloud we see 3000+reqs/sec between boxes. But once they leave amazon it gets really slow. From Amazon West to Joyent East and Serverbeach Virginia we saw a further drop to a total of between 6-12 reqs/sec using the memcache protocol.

Sending data over ssh tunnels still works fine. A scp file transfer from AWS East to Joyent East transferred at over 22MB/sec.

To replicate this:

Set up a box outside of AWS running memcache. Default settings are fine. And on Amazon set up a box with php installed and the memcache pecl extension.

And then run this php code. replace 111.11.11.1111 with the IP of your memcache box:

<?php

$memcache = new Memcache;
$memcache->addServer("111.11.11.1111", 11211);
$time_start = microtime(true);
for($i = 0; $i <= 1000000; $i++) {
$memcache->get("d.{$i}aaaaaaa");
if ($i % 1000 == 0) {
$time = microtime(true) - $time_start;
$items = $i;

$rate = $items / $time;

echo (number_format($rate, 2))."\n";
}

}

?>
This is why something like OUYA is needed to disrupt the market, and be more open for developers.
Is the question "do you have testers" obsolete - should it be "do you have tests?"

I'd personally rather work at a place that has tests vs. testers.
This has nothing to do with HN and everything to do with society.
Five Top Cities That Make Flights to USA Popular
USA, the country that sets itself as a perfect example of growth and pride, is blessed with a wide range of beautiful and striking destinations. From the capital city to beach destination of Miami, find its top destinations that make flights to USA equally popular.
Worse, there a difference in philosophy about what is or isn't a problem, which is where most of the issues lie.
I can't tell if this is a subtle insult or not...
Kekurangan dan Kelebihan Samsung Galaxy Y
Because women are biologically, historically, and culturally the nurturers of infant children. You can pretend it's some other way, but that doesn't make it so.
Florida Family Law Attorney
Visit with our family law attorney in Florida for all your family law needs. Our family law office in Florida specializes in the services you need. Call today!

Family Law Attorney Florida, Family Law Office Florida , Family Law Firm Florida, Florida Family Law Attorney, FloridaFamily Law Office
$1m / year is actually a very common base salary, for tax reasons -- anything above that amount the company can't deduct as a compensation expense. The majority of CEO compensation is via bonuses and long-term equity incentives (grant, options, etc.).
And they would do this because Google needed to watch out for Yahoo sneaking up on them?
The kid blew it by saying "Markov chains"! I'm sure they hit the silent alarm pretty quickly after that.
Scala vs. Groovy vs. Clojure
This sounds like it would be a great match for VP8 in WebM, by replacing Vorbis.
Nimrod programming language
just came to know about it from the slitaz mailing list
1500 is a meaningless number without knowing how many are on the otherside. If 1500 represents 1% of qualified expert opinion, then it's not very convincing.
Are you thinking of this? http://inductionapp.com/
I don't think I'd be speaking out of school to mention that a) StackExchange and Fog Creek are different companies with their own products, processes, and engineering cultures and b) engineering best practice is a moving target especially since the way we deliver software has changed so much since the days of "gold master which costs $X million and 12 months if we screw up anything on it." If all of your software is web apps delivered over the open Internet, and you have traffic like egads, then you can use a different set of engineering practices to ensure that the proportion of customers inconvenienced by bugs is essentially the same as before without needing a dedicated testing phase/team/etc.

There are projects in Fog Creek which are organized around that philosophy, too. I think the Trello guys have written about it fairly extensively. The first thing Google came up with was http://www.joelonsoftware.com/items/2012/01/06.html -- search for "bugs."
The Clojure guys also seem to be headed in pretty fruitful directions.
Heck, I only get 15. I would kill for 20.
I personally believe this is a balance thing. I used to be the 'business/sales/idea' guy, but taught myself to code.

So to answer your question, yes this person exists. Why did I decide to teach myself to code? I didn't want to have to rely on developers to build and test my ideas.

A business/sales/idea guy can overthink and plan all day. Build requirements docs, plan marketing, research the market, etc etc.

What they can't do is build, release, and see what the response is in the market.

Personally, I think it is a Business Canvas vs. Lean Startup, and I do see these two methodologies in conflict. I've recently witnessed businesses where people spend more time planning than it would have taken to actually build a beta and see what happens.

On the flip side, there are engineers who really don't get the business/sales/ideas side of things. They sometimes need that person to bring the business to them. However, I think it is more rare that an engineer can't find a business.
I wouldn't consider them shortcuts.

I use table inheritance as an actual sort of inheritance, to enforce a consistent interface over a set of relations. Yes, that could be a shortcut but it also allows for foreign keys to be against different relations on each of the partitions.

Yes, that could be done with partitioning in other ways, so maybe the short cut analogy works.

But others? I don't know. The ability to write a stored procedure as a quick Perl regular expression and then call it from a SQL query doesn't strike me as a short-cut. Nor does the extensible type system, or the ability to caste complex types as simple types with defined functions.

A lot of these are features which make PostgreSQL a development platform in a box, rather than a data store.
Israel?

Or pro-Israel-ists?
In my, albeit short, experience I have found that the "do you have testers?" and "do you fix bugs before writing new code?" to be overkill for most consumer-facing web applications.

They are very important if the software is mission-critical or if there is some sort of physical cost to shipping patches. But if you can continuously update the live site its not that big of a deal if a bug gets out. It will be noticed soon, often by your users, and then you fix it and that is it.

This works if the developers and other stakeholders at the company are testing the product themselves and are responsive and can triage bug reports quickly.

Having an up-to-date schedule can often be unrealistic as there can be shifting priorities and developers should be flexible to move around and respond as necessary.
If I have to see another story with 'XYZ YEAR OLD BUILDS XYZ', I'm going to go thermonuclear war on HN. Adolescents have been exposed to high speed internet and technology before they can even remember. What do you expect is going to happen, honestly?
SQL Server has schemas which sound very similar to Postgres (i.e. logical groupings of tables within the same database, with different owners). And I think Oracle and DB2 do also have this feature. Maybe this is just an example of where MySQL is a bit behind, rather than something awesome with Postgres.
Twice Sets Up Online Clothing Exchange in the Heart of San Francisco
Since way back when the tablefunc contrib module had a connectby() function, but it has some limitations being a C function.

The better way is to use WITH RECURSIVE CTE's. See http://ledgersmbdev.blogspot.com/2012/07/ctes-and-ledgersmb.... for how we use them in LedgerSMB for hierarchical data.
The biggest reason I immediately switched to Google when I first tried it was Google only matched documents containing exactly the words I searched for, nothing more.

It's fine (and good) if search engines add more intelligence like this, but I'll always need a way to search for exact phrases. The default behavior of Google is much "fuzzier" than it was 5 years ago, so I'm surprised they don't already do something like this (or do they?)
Really, the volume of discussion ad nauseum around what normally amounts to syntactic sugar is over the top. I'm not disparaging the functional programming paradigm, but conversation seems to eventually gravitate toward measurements of how functional something is, which seems pointless.
Really? Australia has only 20 days per year (generally), but we do have 9 public holidays (10 this year in Queensland because they are moving one to the end of the year into the first, so they couldn't do that without having both on a cross-over year).
Agreed. It's fascinating and confusing to learn about the difference between VC's and Angels, especially when you have VC's acting like Angels and making smaller, seed round investments these days.
Would you say that a super-early stage startup that already has a strong engineering skillset doesn't need a "business/sales/idea" guy in most scenarios? I'm trying to think of something that I'd really need that kind of guy for that I just couldn't do myself.
It's not a matter of drop-in portability, it's a matter of reducing the complexity of migration as well as developer confusion. Often the case for using custom data types, for example, is quite weak, when considering the tradeoffs. They move complicated logic into the database, are unfamiliar to most developers, and end up needing to be reverse engineered if you want to move your data into different storage. I think they should be an option of last resort, or used in situations where the cost/benefit ratio is so skewed in their favor you'd be crazy to not take advantage. Generally speaking these are the rarest of cases.
Make Friends, Not Contacts
That critique led to the creation of some function-level languages like FP and FL (nobody's ever heard of them):

http://en.wikipedia.org/wiki/Function-level_programming

Most languages nowadays are value-level. The difference between the two is that function-level programs combine "sub-programs" into one giant new program. Value-level takes primitive types and transforms them into more complex types (I believe this is the same sort of complexity that Rich Hickey disparages).
> At least when patches cost $40k, you have an incentive to make a really, really solid first release.

The rule applies to all titles (not just XBLA -- I remember looking at the official MS documents stating how much it is), and you'd think that it would be pretty good incentive, but for some games it's really not. I believe Call of Duty Black Ops is on its eighth title update. Other games such as Forza and Halo (which are/were both MS studios) actually have had very, very few updates. Halo 3 had two total, while Reach I believe had none -- both of which are very well-coded games.

I think you can generalize and say that it does lead to less buggy software in general, but it really depends on the studio.
And if you are in the operating system business and you score less than 12 you are in trouble

If you are competing with microsoft in web services you can probably afford to score rather less!
First, thank you very much for the clarifications and corrections. I wasn't on the engineering team that fixed the problem, and I'm not a Python guy; I just found the problem and explained the consequences of what was happening to the engineers. It seems I was mistaken in the particulars, for which I do apologize, both to you and everyone who's ever contributed to SQLAlchemy, and to anyone who was misinformed by my previous comment.

Nonetheless, there is a problem. It's not open connections that interfere with vacuuming; it's open transactions. While a transaction is open, vacuuming can't reclaim dead tuples, if those tuples were live at the start of the transaction. Those old row versions are still "visible" in the context of that transaction, and can't be reclaimed — and nor can the additional dead tuples created from further updates on those rows, because there is an open transaction that's older than they are.

Simply, if you connect to the db, open a transaction, and leave it open, then every subsequent update to every row in every table in that database will leave a dead tuple that can't be reclaimed until that transaction commits or is rolled back, because at the bottom of each chain of dead tuples, there's one that is still visible in the context of that open transaction.

That's the problem.

Net, in my particular situation, and a couple of others I've encountered first- and second-hand, enabling auto-commit (and only explicitly declaring transactions when multi-statement transactional semantics were specifically needed, and which were promptly committed upon completion) fixed the problem. A 2000 row table with ~1600 byte rows took up a little over 400 (8KB) disk pages, and the autovacuum daemon was able to keep it at that size. Compare that to before, without autocommit: it would be that size after a VACUUM FULL, and weigh gibibytes within days, no matter how many autovacuum workers there were, how aggressively they were tuned, or how often you ran (regular) VACUUM manually. Those dead tuples were not going away until the abuse of transactional semantics that caused them to accumulate was addressed.

If there's anyone to "blame" here, it's the engineers who didn't understand the implications of what they were doing. (To be fair, though, they were also using the database as a work queue, so it's probably reasonable to suggest they liked doing things sub-optimally...) The high volume environments you allude to are probably going about things with more cognizance of the implications of implicitly transactional semantics. They aren't proof that there isn't a problem; they're proof that you can do this sort of thing without shooting yourself in the foot, if you know what you're doing.

Look, it's not that the DBAPI being implicitly transactional is a "bad" thing. It's not. Transactional semantics are awesome, and as someone who gets paid for keeping peoples databases (particularly PostgreSQL) happy, I'm emphatically for them. It just has consequences, particularly in the context of an MVCC-based RDBMS, and doubly so if your application is architected such that it leaves transactions, implicit or otherwise, open for extended periods.
Yes, I have done this. A few times. I think for not more than one week at a time.
Somewhat off-topic but why do companies feel the need to write:

"Stack Exchange, Inc. does not discriminate in employment matters on the basis of race, color, religion, gender, national origin, age, military service eligibility, veteran status, sexual orientation, marital status, disability, or any other protected class."

Presumably they are legally required not to discriminate in these matters, in which case it's rather pointless to announce it. They don't specifically state that they wont kill you and harvest your organs - but I assume that they don't (although Oracle might)

Or if these are areas where companies are allowed to discriminate then they are hardly likely to say so on their job ads.
At an event I had the chance to talk to Manu and quickly came to the same conclusion as many posts say, he is a great guy. Good to see the micro fund happening and I expect many more great and interesting investments. Someone to follow.
Executives allocate budget. That's what she did. She chose what things to pay for. This is pretty much all any executive does at any company with any scale.
But they're not simple. The complexity is still there, it's just distributed and difficult to trace.

I much prefer the functional way of doing things. The complexity is still minimized, but I can see where things are coming from, and how data is composed.

While it's harder to add "cases" to types in the functional style, I find myself wanting to add functions over types far more often, and therefore, I find that it works far better for me.
Blew it? What's the point of interviewing a smart kid if you want him to be dumb during the interview?
Can you clarify why they're not suitable? Or are there any patterns in your unmet needs?

Most lesson-plan sites I have seen are poorly executed. Organizing educational materials is a difficult problem:

- For example, consider Wikipedia. Wikipedia has a simple rule that there can only be one article per topic. This focuses people's thoughts around building one high-quality article for their favorite topics. You can't do that for education. There are a number of different ways to teach most skills and concepts, and we need that variety if we want to offer high-quality education to everyone.

- Once you accept that there are a number of ways to teach any one topic, you can see how hard it might be to collect "unit plans", or whatever you'd like to call them. A good approach would probably involve defining "pathways" through a series of topics.

- Many lesson plan sites are just plain incomplete as well. People see the need for improvement, build a site, and expect teachers to magically fill in all the content.

- Every lesson plan site I've seen has been poorly organized, incomplete, over-commercialized, or some combination of these.

If anyone thinks there is a site that addresses these issues effectively, I'd love to hear about it.
I was thinking similarly (about the moving target). My ideas about dedicated testers have shifted over the last few years with a pronounced emphasis on shorter deployment cycles and unit tests, and I was surprised to see the up-to-date schedule bit in there at all!

Show me a project with an up-to-date schedule and I'll show you a project that has a tool for declaring success in the face of failure.