4,910 karma · joined April 18, 2008
I do not speak for my employer or my ex-employers.
Curious about many topics outside of programming.
http://twitter.com/strlen
(Background: I'm deep in South Bay, but that's taste and preference not an absolute view I want to impose on others).
Finally, why should we hold a law degree someone has obtained 20 years ago against them? (Fwiw, this is a background quite similar to Peter Thiel: years in "the elite", until finding a better home).
oops.
On the other hand, getting to a point in SF from the freeway and parking usually takes at least 30 minutes (in addition to the 30+50 minute drive from the starting point in the South Bay or Peninsula). SOMA area is reachable by Caltrain, but Caltrain is unreliable, doesn't run as frequently nor is SOMA the only place where people have offices (and walking to further reaches of SOMA, or the area of Market, or FiDi is an often dangerous - especially at night - 20-30 minute walk).
Daly City is reachable from SF by BART, but that supposes you live near a BART station in SF and the Daly City office itself is close either the Daly City or Colma BART station. In general I'd say it's easier for an SF resident to get to certain parts of Daly City (those accessible by part or by San Mateo county buses running from SF are easy if you live near BART) than it is from someone in South Bay to get to SF. Driving is very easy if you live near 280/35/19th Avenue -- getting to Daly City from Mission especially is not particularly difficult).
That brings the cultural issue: different people prefer to live in SF vs. South Bay or Peninsula (some live in one place whereas they'd prefer to live elsewhere, of course). To hugely (but completely meaninglessly) over-generalize you can imagine the Peninsula as the OSI stack: physical and network layers are further south, middle-ware is in the Peninsula (Oracle in Redwood City), and presentation (end-user applications like AirBnb) are in SF (again, this is only loosely so: there are web app startups in South Bay and there are systems and middle-ware companies in SF). Intuitively it makes sense: I can't imagine starting a Foursquare in San Jose (there isn't a critical mass of people -- not all of them geeks -- cloistered around any given landmark to gain sufficient traction).
In many types of companies, you want both: which is why companies always seek to locate in either transit accessible parts of South Bay/Peninsula (Mountain View, Palo Alto, San Mateo downtown areas), run buses, locate in SoMa, or have multiple offices (this sounds like a "no-go" for Reddit, but Square, Google, Twitter, LinkedIn, and my own employer -- Cloudera -- all do this). Yet, if a company has a very strong SF-oriented identity (at least for its Bay Area office), a compromise location (especially if the compromise isn't just an SF office near 4th and King) could definitely upsetting existing employees who might also feel that they are no longer as valid as potential new employee the company wants to hire from South Bay.
I'll also post a limited defense of why most of Culture novels take place outside the Culture (note that first third of "Player of Games" is a pretty big exception to this): to paraphrase Banks quoting Niven, "stories about happy people are boring".
On the other hand, is the hypersadism needed? The levels are simply numbing, beyond gratuitous, so a few books on it simply fails to shock. On the other hand, Vernor Vinge's "A Deepness in the Sky" featured a much smaller amount of violence (as done by Emergents) it did happen to be realistic and managed to create great amount of empathy (at several points, I was close to simply putting the book down due to the bleak and hopeless situation of some of the characters) with the characters (who -- both humans and aliens -- seemed a lot more alien than culture's non-Homo Sapiens Pan-Humans). Of course comparing "hard SF" to Banks is quite a stretch, but the "non-alien aliens" and "hypersadism" aspects subtracted rather than added to Banks.
On the other hand, Banks' manages to do what very few can: the characters are great, multidimensional, and show development; the big ideas are big, and yet story-telling and plot aren't sacrificed. There are very few other SF writers who are able to do this (Gene Wolfe, Stan Robinson come to mind).
I'm going to stay out of the discussion of libertarianism (there's a corollary to Godwin's law: unless a certain German leader -- not Frederich the Great or Angela Merkel -- is mentioned first, any online conversation will ultimately end up becoming a debate about libertarianism), but I'll leave these few links out there:
http://reason.com/archives/2013/09/15/the-endless-lives-of-i... (a positive libertarian review of Banks' work, which acknowledges Banks' explicit rejection of libertarianism)
http://a.b.i-b.tripod.com/html/faq_text.htm -- see the question about "Top Ten" SF novels according to Banks, the first is quite explicitly libertarian "The Moon is a Harsh Mistress" (there's debate as to whether Heinlein himself was a libertarian, but it's undeniable that at least some of his works are libertarian fiction; OTOH "Beyond the Horizon" is quite Culture-ish in terms of describing a post-scarcity society).
There's also "The Dispossesed" amongst those books which describes an non-property owning anarchist society ( I haven't read it, although it's on my list). For an example of very well written anarcho-capitalist SF, I strongly recommend Vinge's The Peace War, The Ungoverned, and Marooned in Realtime. The Ungoverned goes as far as describe private ownership of nuclear weapons, and yet the novels/novellas avoid the "shill political screed" feel some of the other explicitly "libertarian SF" works have.
As an armchair quarterback I'm a bit surprised about what you've said about "folks with a dev background" (if I didn't focus on distributed systems, I'd likely focus on development tools/services -- and there are tons of bootstrapped companies in that area), but I'll take your word for it.
Of course many natural-going ideas are also amenable to being bootstrapped (software development tools/services would probably be a good example), but key here is ideas that naturally arise from your area of expertise.
I can't speak of "most interesting", I can only speak of what I've worked on :-)
For the record, I do recall that YC changed their policy on this rather early-on its history (explicitly advising undergrads against applying) and pg has repeatedly told "Ask HN" posters on this site not to drop out of college.
This is armchair quarterbacking, of course, I'm not an entrepreneur and do not pretend to be one. Patio11 has a lot of interesting and relevant things to say, but I would hate to live in a world where entrepreneurs only undertook ventures that could be bootstrapped for a reason that I'll frankly admit is selfish: throughout my career I've worked on very fascinating problems in either VC funded startups or companies that have began their life as such; I can't see a scenario where I would have been able to do this (or similar kind of work) in a bootstrapped product company. That's not to say there aren't other interesting problems that could be solved in a bootstrapped company, but my own area of focus -- distributed systems -- is almost by definition something that requires both infrastructure and up-front development (and, in general, is only something that should be used if there's a scalability or reliability problem to start with.)
Some of my best work and graduate school assignments had started off by being handed an RFC (or a language, or a third party library, or a paper, etc...), asked to become an expert on it, and then implement it (or in the case of a library to re-factor old NIH-y code to use that library, etc...). Learning isn't useful as preparation for something else, but it's extremely rewarding in it of itself.
"It is said that one of the highest-level and most awe-inspiring of rationalist skills is Sitting And Thinking About Something For Five Minutes.
The sitting part isn’t that difficult. It’s not even that hard to…how should I put it…apply mental effort at the problem. But that mental effort tends to be spent rehearsing the solutions already thought up, retreading worn paths, ruminating on how difficult the problem is.
Coming up with entirely novel ideas is really, really hard."
In other words, if we set out deliberately to "come up with a startup idea" or (in a completely different context) "plot for a short story" we're likely to fall into the "gaming" trap, that is coming up with what _sounds like_ a great idea and could potentially even convince others, e.g., professors in a "Creative Writing" class or investors that it is one.
I've been applying this same tactic when dealing with "once in a million" (which at -- I hate to use this term, but it's actually a good one -- webscale can easily happen once an hour) Heisenbugs: fire up five processes in gdb (as to force contention around network, disk, and CPU), add a bunch of log statements, pepper the code with random usleep()s, and set assertions or watch/break points in "impossible" places -- as opposed to a more rookie approach of rewriting any suspect code ("let's put a lock around this just to be sure...") and hoping the problem goes away.
Much of Quantum Mechanics is also counter intuitive but true, while some scientific concepts can only be expressed through mathematics and have no simple intuitive explanation.
The article -- http://www.newscientist.com/article/mg22129623.000-gunshot-v...
HN discussion with some insightful commentary -- https://news.ycombinator.com/item?id=7477801
If you're using a dynamically typed language I'd suggest very trivial (1-5 line) unit tests _just_ to test that you can instantiate the objects and catch basic type errors. If it's a web app, a simple script that starts a local instance and then make sures that retrieving "GET /" returns "200 OK" is again a huge improvement over _nothing_.
Overall, my/tlb's recommendation remains: be in a position where good programmers can offer you good feedback and where you're pushed to improving your own capacity.
OP needs to learn and the way to do is not just doing, but by looking at good examples, then doing, then receiving feedback on how it could be done better, and then improving.
Generally, but never as a rule, purely non-technical founders and an outsourcing is a red flag. But again, that is never a rule, and there are plenty of good companies started by non-technical founders that later matured. Still, that does leave you with the question, of how they chose the CTO?
> Right now, we have ~1200 registered user, with about 100 active users, and we gained about ~100 users/month.
This is not a useful metric. How does this translate into revenue: for some kind of business software (e.g., optimization/recommendations for retailers provided as a service and based on subscription fees) this is great, for a destination site that is poor. Is this rate increasing or increasing?
Now to the meat of your argument: "waterfall" -- why do you call it water fall? 1 hour standups _are_ a problem, but I could imagine a scenario where this might occur for a few days in a row (although never beyond that). "Deployment update every 4-5 weeks" -- depends on what goes into the update, although it's hard to imagine this being a normal stable-state rate for an early stage (or any Internet/SaaS) company; yet for a company providing something like a database a service, it could be fine (provided you're able to push quick fixes and UI updates faster). "I tried to write some unit tests, and I was asked to remove them" -- could be several things, the you wrote tests were not very good (or were not proper unit tests, e.g., if running these tests requires additional setup beyond what it takes to build and manually test the product, they're not really unit tests), or reluctance to embrace even minimal unit testing (which is, indeed, a red flag).
Non-issues: "technology stack and job description" -- honestly I would worry less about this, unless they're literally using Perl CGI scripts, Java 1.4 and EJB 2.0 on an ancient version of a commercial database, but e.g., using Java (or even PHP) and a standard SQL database is a fairly sound (if boring) technical decision.
My suggestion is this: find a position in a company known to be functional and well regarded as far as engineering goes (to paraphrase tlb, you need to work with people smarter than you that can give you quick feedback so that you will learn!). Then you'll learn what a proper standup meeting is like, how to write good unit tests, what a release cycle is like, etc... Don't worry about what your equity percentage is, what your employee number is, etc... you have plenty of time in your career for that. The result is that you'll have a good baseline to compare to and (as a result of shipping something that ends up being successful and used by others) greater confidence/ability to introduce change in a company.
Andy Rachleff of Wealthfront has some advise along these lines too, although not oriented towards engineering: https://blog.wealthfront.com/hot-mid-size-silicon-valley-com...
Thiel specifically picked "safe bets" from elite universities (most of which are extremely flexible when it comes to students returning to finish their degrees after the fellowship) to demonstrate that elite university graduates' success is not due to the fact that they've graduated from said universities, but due to other factors (intelligence, grit, curiosity, etc..)
That in turn will make traditional employers think twice before turning someone away because at 17 years of age an admission officer (who, of course, knows nothing about the employer's industry or the position the candidate is applying for) looked at myriads of factors on their application (most of them irrelevant to the employer's industry) and decided -- with a very different acceptable margin of error and optimizing for very different goals -- that they should attend their state's flag-ship public university as opposed to Stanford. Most startups and younger established technology firms already know this: while they may only send recruiters to specific campuses, as well as form partnership with only a handful programs (like the Waterloo co-op program, for example), once one has been in the industry for a few years, all else being equal, the university they've attended matters very little. The _quality_ of education they've received matters -- but how they've received it doesn't; this may be obvious to many of us, yet if you speak to someone in another field or industry and a different picture emerges.
I see messaging as fairly clear in that Thiel isn't telling a 20 year old me (a first generation immigrant working on BS degree in CS/Math without taking any loans) or a 23 year old me (having an employer pay part of my tuition for an MS degree in CSE, again, without any loans on my part) to drop out: I was seeking a degree for the purpose of (wait for it...!) education and not signalling, I chose a field of study I both love and that had great career prospects, and I did not go into debt. On the other hand, he is telling society that "attending an elite school for the purpose of signalling" should not be considered an investment that can never lose its value.
Others are investigations of revenue streams beyond advertising but able to leverage Google's in-house strengths in machine learning, computer vision, distributed systems, AI, and other related topics. This is not strange given Google has had subscription based services for some time now: e.g., Apps and Cloud Platform.
Thank you. My opinion is the opposite of yours: I think this and Citizens United are the right decisions and free speech should be only be limited in a few restricted circumstances like immediate incitement to violence or terroristic threats. Yet, it's important to be honest about the trade off here and not misrepresent the decisions (e.g., saying that CU determined that "money is speech", etc...)
> Now what would be a solution that doesn’t infringe on individual rights to free-speech, I’m not sure. Perhaps we should go back to completely publicly financed elections, though that obviously benefits the current two-party dichotomy over independent challengers, and would likely require serious constitutional amendments to be considered. I admit that more thinking would be required here, but I don’t think its a stretch to say the current system is severely broken, and in fairness to all here, was broken well before this relatively modest change.
Ideal solution for me would allow donations to political organizations, including those that endorse candidates or lobby for bills (I don't like rent-seeking by Comcast, but I very much like the ACLU, EFF, and others). At the same time, the candidates themselves would rely (as you suggested) on public financing. I think this would take a constitutional amendment (as would overturning CU, but unlike an amendment to overturn CU it wouldn't set the precedents of amending the constitution to curtail rights when they are inconvenient), which should also mandate non-partisan drawing of electoral districts (California went that route and with great results).
It's worth noting, that while Breyer is often considered a liberal, he has also dissented (with similar logic) in favour of upholding a ban on violent videogames: http://en.wikipedia.org/wiki/Brown_v._Entertainment_Merchant...
Additionally, ACLU did file an amicus brief in Citizens United case (although the law in question was much more unambigious restriction of speech) in favour of Citizens United and while they did not do so in this case, there does seem to be an internal split on the matter:
http://www.scotusblog.com/2014/03/the-aclu-the-mccutcheon-ca...
An analogous situation may be access to abortion: opening an abortion cleaning is not the same as getting an actual abortion, but restricting the clinics severely curtail the options available to women (I can't find the citation now, but this was the logic used in a recent decision in a federal court about an AZ law). Keep in mind that abortion is a non-enumerated right, in theory enumerated rights like free speech are held to even tighter standards.
Ezel vs. Chicago (also from a district court, but drawing on SCOTUS precedents) is also similar: while the right to open a shooting range is not equivalent to the right to bear arms, the court ruled that since a Chicago requires range practice in order to receive a firearm license, the city must allow ranges within its limits. So far there isn't a clear scrutiny standard set for the second amendment, but it seems to be converging on "heightened scrutiny" which (again) is less than the strict scrutiny standard applied to the first.
Don't get me wrong, I am not happy about money in politics, but I am not willing to jeopardize the right to free speech (or general way individual vs. collective equation is evaluated in regards to constitutional rights) to fight it.
Another mode (you specify the mode per file/compilation unit) is "strict". In strict mode, you can not code any un-typed code (note, the standard library is typed with hack).
(There is a bit more nuance here, but you can read that in the documentation.)
So the idea is to eventually migrate most of the code to strict, but code that relies on legacy can remain partial and you can write new code without waiting for a re-write to finish.
See http://docs.hhvm.com/manual/en/hack.modes.strict.php http://docs.hhvm.com/manual/en/hack.modes.partial.php
"Shapes" are also a neat feature specifically for parts where static typing can be frustrating for dealing with HTTP requests specifically: http://docs.hhvm.com/manual/en/hack.shapes.php
(FWIW I don't see myself using Hack, but I'm not a web developer. I'd say the ML family languages are my favourite, but for what I do day-to-day it's not really an option.)