The Pmarca Guide to Career Planning, Part 2: Skills and Education - <AUTHOR> http://blog.pmarca.com/2007/10/the-pmarca-guid.html <comment><USER2> This reads like it was written by an HR representative at Google. I'm all for hard sciences and engineering but the most financially successful people I've met, been friends with, or worked for all have much different backgrounds than what he is describing.

He makes some other weird points. Economics and mathematics on their own are almost as useless as renaissance literature. (I know, I studied mathematics and economics)

"that's a great way to end up wanting to kill yourself when you hit 30 and you realize you still haven't done anything with your life."

I think he's a bit off base, here. This statement describes most of the 30 something engineers I've met who didn't work at the right startup and therefore didn't become rich. In contrast most liberal artsy people (do artists count, or does "liberal arts" mean people who majored in something like sociology?) seem reasonably content.

<comment><USER3> I think that Marc may have missed something here - he derides the humanities without recognizing that the humanities are a huge part of a typical math/science/engineering curriculum. So while Marc thinks he's comparing "technical" students to "liberal arts" students, he's actually comparing well rounded students (who have studied both science and liberal arts) to narrowly focused students (who have only studied liberal arts).

I double majored in math and literature, but if I'd only done the minimum humanities coursework for math, I still would have been forced to do a ton of humanities. At my college (at UCSD), all students had to study:

2 years of world history and cultures 1 year of a foreign language 1 year of upper division history. literature, or other humanities course 1 year of fine arts or performance arts 2 courses in math, which can be fulfilled with symbolic logic in the philosophy dept and easy statistics (without calculus) through the psychology department. 2 courses in science, which can be fulfilled with "physics for poets" type courses (again, no calculus)

This is regardless of major. So an english major can get through college without ever really studying math or science in a meaningful way, whereas a math student who does the absolute bare minimum is still going to come away with a substantial amount of humanities coursework.

I think it's time to abolish the term "broad liberal arts education". If it's only liberal arts, and doesn't include math and science, it isn't broad. And I think this is what really separates the math/sci/eng students from the humanities majors. An english who took a ton of math not reflected in his/her degree would be just as well prepared - however, these people are very rare.

<comment><USER4> I'm not entirely sure what the humanities requirements amount to at UCSD, but at Berkeley I do not believe that the minimum humanities requirements (typically fulfilled by intro courses) constituted a particularly strong dose of humanities, much as the math/science requirements don't constitute a particularly strong dose of math/science. In both cases, you can get away with not getting very in depth at all, and often students who are biased one way or the other are more likely to slack off in the classes they're not biased towards and/or forget them as soon as they're done with them. So there's simply no guarantee of well-roundedness either way.

The best thing, in my opinion, is to get at least a minor, with either the minor or the major being in a humanities or math/science/engineering field. If you just want to get a job doing software engineering or some such, you'll probably have to make the technical field your major, but a strong minor in comp sci can be far more formidable a programmer than many a CS major.

If I had things my way, I would actually insist on undergrads having to major in the humanities, as I'm too familiar with CS majors graduating with an impoverished understanding of society and culture and a lack of critical perspective, often precisely because they did not consider their humanities classes to be "real" classes. The more I learn, the more I'm amazed that what I've learned is somehow considered "optional" by the rest of the populace. Democracies are only as smart as their ruling majority, and as much of the realm of smart decision making in national and international affairs is dominated by social/cultural knowledge and perceptiveness as by technical knowledge, if not more. (Though to separate the two this way is admittedly artificial.) Much the same applies to businesses.

In an ideal world, _every_ undergrad has to double major, one in humanities, the other in math/sci/engineering. And I'm not even sure that the ideal is so difficult to achieve or unreasonable to demand.

</comment></comment></comment><comment><USER5> > However, most of the people who have a huge impact on the world, outside of > pure research and education, do not have PhD's. Draw from that whatever > conclusion you think makes sense.

My conclusion is that Marc is being a bit sloppy here. Like 75% of the Y Combinator partners, I have a Ph.D.---and I think graduate (and, indeed, undergraduate) degrees are overrated. But given the small percentage of Ph.D.s even among technical people, it would be very surprising if _most_ people having a high impact had them. More relevant is to ask whether Ph.D.s have relatively more impact than those without doctoral degrees. I don't know the answer, but I think it's a more interesting question.

<comment><USER6> Marc is telling it like it is, even if it is a little difficult to hear.

A Ph.D. is a huge opportunity cost with an extraordinarily high risk/reward ratio. I have often had undergraduates ask me if they should pursue a Ph.D. I first ask them if it is their desire to teach at a research university. This desire is a little like becoming an NBA player especially in certain technical fields like physics. A horde of Ph.D. candidates is good for tenured Professors and research universities, but not necessarily for the students. Post-doc hell is left as an excercise for the reader.

If they don't have a burning desire to be a professor or happen to dislike trees, I don't really see the point of a Ph.D. I tell them to at least take a hard look at the costs of their decision either way: real financial, opportunity, time, etc. An objective tally will rarely be in favor of a Ph.D.

<comment><USER5> I share Marc's (and your) skepticism about the value of a Ph.D., which is part of why I said that graduate degrees are overrated. I also counsel undergraduates to consider the large opportunity costs of graduate school. But I was taking issue with the sloppiness of the statement " _most_ of the people who have a huge impact on the world . . . do not have PhD's", which would seem to be true whether or not having a Ph.D. is particularly valuable. It's sort of like saying " _most_ of the people who have a huge impact on the world are not left-handed". Well, yes, but that's true even if you replace "the world" with "baseball", and yet lefties have _proportionally_ more impact in baseball despite still being a minority. The question is, can the same be said of Ph.D.s (in the world, I mean, not in baseball)?

</comment></comment></comment><comment><USER7> > Graduating with a technical degree is like heading out into the real world > armed with an assault rifle instead of a dull knife. Don't miss that > opportunity because of some fuzzy romanticized view of liberal arts > broadening your horizons -- that's a great way to end up wanting to kill > yourself when you hit 30 and you realize you still haven't done anything > with your life.

Jesus, what a prick.

<comment><USER8> Unfortunately, he's right.

This isn't so much because engineering is great, or the only way to make your mark on the world. The problem is that today's arts faculties just suck. It's possible to graduate knowing things that _only_ matter within the walls of the university, and you may not realize this until the very last minute.

That said, it's possible to graduate from engineering schools and not have a clue about history, current events, different sorts of people, what matters in life, and the fact that one cannot wear socks with sandals. You may not be starving, and you may be in a sense contributing to society more than many artists, but you may never have really stretched your own mind -- merely let your geek tendencies do their thing.

I think the best possible thing to do in university is to take the hard science courses, and then supplement them with intense and challenging arts courses. The ones where you have to do learn some serious art history, or do some sort of performance. This is the best of both worlds.

<comment><USER9> One recommendation I have (in spite of PG's essay) is that if you take a course in Classics or "Western Humanities" as it was called at my college, take it from a Philosophy professor.

I might have just been lucky, but they always had the most interesting discussion and criticism of the stuff we were reading. One of the best discussions about the scientific method I've ever had came from in a Humanities class taught by a philosophy prof. One of the first things we read was Galileo's letters on sunspots. Later in the semester we demonstrated how Freud's theories were completely unscientific (because they were unfalsifiable/untestable). I actually never _really_ understood the difference between axioms and theorems until I took that class. I mean, I knew vaguely that an axiom was a rule and a theorem was a confirmed hypothesis, but the fact that axioms are essentially arbitrary never really sunk in. In actual science classes I was always too busy learning details to think about the abstract stuff.

</comment></comment></comment><comment><USER10> > Graduating with a technical degree is like heading out into the real world > armed with an assault rifle instead of a dull knife. Don't miss that > opportunity because of some fuzzy romanticized view of liberal arts > broadening your horizons -- that's a great way to end up wanting to kill > yourself when you hit 30 and you realize you still haven't done anything > with your life.

The problem with this entire line of thinking is that sure having an assault rifle is great but it doesn't do much good if you don't have any context to know where to point it.

Think of a technical skill or degree as the lens through which you focus a broader education.

The broader education allows you do apply technical solutions to non-technical problems and may even help you come up with that "big idea".

Look at PG, he seems to be doing pretty well on both accounts (undergrad liberal arts degree, grad technical degree).

</comment><comment><USER11> I liked the first one, but I must say I'm a little disappointed that there is an assumption that college is a needed experience. Granted, it is in most cases, but - especially for entrepreneurs - it's not always the only way to success.

<comment><USER12> I think the assumption is that, without a degree, you will not be able to find equivalent experience from which you can draw out the same "how to think like an engineer" perspective.

Who would suggest skipping college? Yet, if you have a clearly great opportunity lined up, it's not a bad thing to leave. And if you get yourself kicked out midterm like I did, you have great motivation to make something happen in the non-college world. When I was at college, there were many stories of guys who flunked out and ended up doing interesting things. Then I became one!

<comment><USER13> I think I have the "how to think like an engineer" mentality already, two and and a half years in. Does this mean I can quit now?

<comment><USER3> I know you're kind of joking here, but the answer appears to be "yes", you probably could get away with quitting school. It's not like law or medicine where you're useless without the actual degree. Dropping out of whatever degree program you're in seems to be a time honored way to the top in the high tech world (gates, jobs, ellison, allen, dell...)

But do you really want to take that risk? Nobody gets to the top without finishing _something_. Maybe part of "thinking like an engineer" involves wrapping it all up.

<comment><USER14> That was my reasoning for finishing college, and in hindsight was probably the right choice. Remember that Gates, Allen, Jobs, and Dell had all started and run profitable businesses in high school (traffic counters, payroll software, blue boxes, and stamps, respectively). If you have that kind of background, you really don't need college. If you don't, you might want to build it up before attempting a startup.

</comment></comment></comment></comment></comment><comment><USER15> For what it's worth, very few of the very succesfull people I know have an engineering degree. Many have an MBA or JD, though.

<comment><USER9> Many of the successful people I know do have an engineering degree. Of the first four I can think of, there are two engineers, one MBA, and one MD.

</comment></comment><comment><USER16> > a great way to end up wanting to kill yourself

This line is kinda interesting because the type-A personality he projects matches the profile of people who kill themselves when faced with a major setback.

I really cringe at his "change the world or you're a loser" pep talk bits. Chill out, man.

I think the life experience of guys like this makes their prognostications on the next 20 years useless. His formative career experiences happened during a historically unprecedented and continuous boom. Maybe I'm a paranoid nut, but severe and long lasting recessions and broken dreams are way more the norm than the last 20 years would indicate. The economy could blow up tomorrow and we could all be picking lettuce for the next eight years. Are you going to kill yourself over it?

Is it really worth uprooting from a region where you have deep ties for a career opportunity? Careers are ephemeral. Blood ties might keep you alive when the going gets rough.</comment>


Show HN: Address book storage you can trust. - <AUTHOR> http://columns.co

<comment><USER3> "Trust" is a big offer. There are 2 main trust issues when I give my contact information to another company: 1) Will they keep as private as I would? and 2) Will they still be around in 5 years?

Your model means that I can somewhat believe 1), but 2) means that I personally would not use such a service.

<comment><AUTHOR> Hi casca,

I totally understand and have actually stopped signing up for startups without a clear business model (even YC ones). I hope that our model means that we will be and if for some reason we aren't, because we make your data fully portable and completely yours, it would be very easy for you to move. Please feel free to email me at firstname.lastname@example.com if you want to discuss this further.

<comment><USER4> Could you please elaborate on privacy and security features you use, on storing and transmitting the contacts.

</comment></comment></comment><comment><USER5> As a somewhat meta comment, it kind of blows my mind that it's possible today to market a product on the grounds that you, as a customer, _pay for it_. "Look! We're not free!" is actually something the customer is expected to understand the implications of, and appreciate as _a feature_.

I _do_ understand the implications, I'm not looking for explanations, I just think it's quite ... funny.

<comment><USER6> Most people with brains understand the concept "You get what you pay for".

</comment></comment><comment><USER7> Complete lack of details there.

Does it support Thunderbird?

Does it support CardDav?

Will it sync with my existing Google contacts?

<comment><AUTHOR> Hi Andrew,

Apologies for the lack of details - this is just our landing page and of course will be built out further.

In answer to your questions: yep, it supports Thunderbird. Yep, it supports CardDAV. In terms of syncing with your Google Contacts, I'm not 100% sure what you mean but you can import all of your Google Contacts and keep them synced up through Columns (if that's not what you meant please let me know!)

Hope that helps and thank you for your time.

<comment><USER8> iOS and WP8 both cannot pull in custom phone number fields from Google Contacts.

For example, some people I have a mobile number, but then I also have a "Google Voice" number with them. When pulling that contact in to my iPad, it loses the Google Voice number.

Does Columns keep the custom free text fields? I assume iOS and WP8 don't because they both pull in Google's contacts using Outlook.

</comment></comment></comment><comment><USER9> Soocial is an existing service that does almost exactly this:

<http://www.soocial.com/>

Soocial is a contacts sync service. They have a free level and a paid "premium" level of service ($5/month). I use Soocial (paid service) and I really like it. There is a major problem with Soocial however: the company was acquired in November 2011 by the French company Viadeo (blog post: [http://blog.soocial.com/2011/11/29/soocial-has-been- acquired...](http://blog.soocial.com/2011/11/29/soocial-has-been-acquired-by- viadeo/)), and the future of the service is unclear. You can still sign up for Soocial (I did!), and it works great, but this is a major worry for me as a customer.

I want to describe my experience using Soocial, because I hope that Columns will include all of the great functionality that Soocial has. The most important feature for me is that Soocial syncs my contacts between two different Gmail accounts (home and work), with Soocial acting as the "main" contacts storage location. I use this feature to keep my home and work contacts separate, while my iPhone has access to ALL my contacts. Also Soocial allows me to sync contact groups to my iPhone, which is not possible just using the MS Exchange server provided by Gmail. This setup allows me to keep a contacts "archive". I have a bunch of contacts (friends from college who I don't contact any more, ex-girlfriends, etc.) that I do not want to have on my iPhone, but that I do want to keep for archival purposes. Soocial allows me to keep those contacts in a central place (the Soocial web app) where they are accessible, but they do not get in my way day-to-day. Actually, having now described all the great features of Soocial, I've come to realize that I really really REALLY like Soocial.

I sincerely hope that Columns is successful and that I can eventually switch from Soocial to Columns. I would much rather be using a service that is being actively developed than one that seems to be coasting.

Question for the Columns team: What is your level of personal commitment to continue this service? Is it your intention to continue Columns as a service "forever", or do you intend to build up a great service and get acquired by another company?

</comment><comment><USER10> For me - not a pain point:

* I have backups - so my contacts are safe there

* I also already have multiple copies of my contacts (iPhone, Desktop, Google Apps, iCloud) without even really going out to get that

The USP for me - if there is one - isn't obvious or compelling.

</comment><comment><USER11> I'd love to know what the advantages are over iCloud and Google Contacts, both of which sync all my contacts currently.

You guys could be in a good position to revolutionise this space by allowing me to manage my own contact information as it appears in other people's address books – so I can update my email address when I move jobs, update my phone number when I lose my iPhone etc. – and have this information automatically update in the address books of everyone I know. This, I would pay for.

</comment><comment><USER12> I'm not sure there is demand for this given that most people value convenience over security

But these kinds of business models appeal to me personally though. Lately I've been wondering if "It's like X, minus the evil part" is a valid startup strategy. Reason is the whole Hacker News Cologne fiasco with Meetup.com.

Some examples:

Stripe is a less evil PayPal. (edit: I mixed up Parse & Stripe) App.net is a less evil Twitter. XYZ is a less evil Meetup

<comment><USER13> > Parse is a less evil PayPal.

Stripe? Square? not sure you mean Parse.

<comment><USER12> you're right, fixed

</comment></comment></comment><comment><USER14> To easily get my contacts to sync with my phone, which is the primary reason I collect them at all, I still have to vouchsafe them to Apple or Google.

</comment><comment><USER15> Somewhat tangential but related: I'm not familiar with data privacy regulation in the US, but under EU regulation most of the "trust" guarantees made by this startup would be legally mandatory.

Does anyone know: Under US law, would a company be legally allowed to sell personal data without my permission? Would it be allowed to retain my data against my express wish?

<comment><AUTHOR> One thing we want to combat against as well as direct selling of data which as you note is normally illegal is the use of your data within the company for other purposes (Google comes up as an obvious choice in selling advertisements against the information in your personal email, contacts and documents).

</comment></comment><comment><USER16> I would remove a lot of this copy that is referring to 'business model' - that's a term that you want to use with your business partners and investors, but not with your customers. I understand why you are bringing it up - <USER2> illustrate your transparency and commitment to privacy, but you should really just say that. Also, "We want customers, not users." sounds equally as bad.

<comment><USER17> I don't know, "We want customers, not users." immediately made sense to me but I think I'm part of the target market which seems to be people who are aware of what "free" services do with your data and have at least some concern about it.

The real question is if the target market is big enough to build a sustainable business.

</comment></comment><comment><USER18> I think their copy is doing them a disservice. It their most prominent, preeminent feature is that I have to give them my money to use their service, they ought to rethink their marketing strategy. Most people so not revel in giving away their money. There are better facets of the product to play up...

<comment><AUTHOR> Hi ruswick,

There are lots of options for contacts storage for free, but we are aiming to provide a service for people who care about their data and who has it. There are many other great features of our product, but none as good (we think) as our commitment to your ownership of your data.

</comment></comment><comment><USER19> My contact list currently lives in Google Contacts. It is used by Google Calendar and my Android phone automatically, and by Thunderbird via Zindus.

Have you given thought to calendar integration?

<comment><AUTHOR> Hi Eugenio,

Yep - your contacts can be easily transferred from Google Contacts and then used on your Android phone and in Thunderbird just the same.

<comment><AUTHOR> Sorry Eugenio, I obviously didn't make myself very clear or I'm misunderstanding your need. They are automatically synchronised with your Android phone and available in Calendars, Apps and the Phone. I bet you wouldn't even notice the difference from using Google Contacts.

With regards to backups, already done! We have full versioning so that you can roll back to anytime you want and backups are done continuously.

<comment><USER19> Cool, thanks. I'll sign up.

</comment></comment></comment></comment><comment><USER20> How could one possibly know what they would pay for the service if they only see one page with features and not even a demo? Listing benefits is also a good thing on a product page.

</comment><comment><USER21> I like the idea. Ignore the haters, listen to the prospective customers.

Congrats on the launch :-)

</comment><comment><AUTHOR> Founder here - very excited to show HN and look forward to all comments and thoughts.

<comment><USER22> I get iCloud for free. Why would I pay you for this?

<comment><AUTHOR> Hi sneak, A couple of reasons - by paying for the service you are a customer and your desires align with ours rather than us wanting to use your data to make money - we will never sell it. You fully own your data - no big companies with complicated privacy policies. And we are transparent about backups and security - [http://www.wired.com/gadgetlab/2012/08/apple-amazon-mat- hona...](http://www.wired.com/gadgetlab/2012/08/apple-amazon-mat-honan- hacking/) \- our versioned backups don't allow things like the above to happen and result in the complete loss of data.

Hope that helps, please let me know if you have any questions either on here or at email@example.com.

<comment><USER22> None of those things sell me. I have a local copy of my data on my Mac, and I pay for the service when I buy an iPhone every year. I fully own my data now.

</comment></comment></comment></comment><comment><USER23> i think you have mischaracterized the competition by accusing them of selling your contacts. so you have lost my trust right there.

also, the contrast between the text and bg is too low.

<comment><AUTHOR> Hi spot,

I'm sorry you feel that way - can I point you towards my reply to anonymouz as an extension of what we mean by that. Also, please feel free to email me directly at email@example.com if you have further questions or concerns.</comment></comment>


In-the-wild DDoSes use new way to achieve unthinkable sizes - <AUTHOR> https://arstechnica.com/information-technology/2018/02/in-the-wild-ddoses-use-new-way-to-achieve-unthinkable-sizes/ <comment><USER2> @dang Can we get the title changed to "DDOS attacks abusing memcached achieve amplification factor of 51,000"?

I think those are the relevant details.

<comment><USER3> Better to send them email than this.</comment></comment>


You Draw It: What Got Better or Worse During Obama's Presidency - <AUTHOR> http://www.nytimes.com/interactive/2017/01/15/us/politics/you-draw-obama-legacy.html <comment><AUTHOR> Love him or hate, innovative journalism like this will be the primary differentiator between high quality journalism and low quality gossip blogs.</comment>


Proposal to mint two $1T coins to fund UBI [pdf] - <AUTHOR> https://tlaib.house.gov/sites/tlaib.house.gov/files/Automatic%20Boost%20to%20Communities%20Act%20.pdf <comment><USER2> [https://en.wikipedia.org/wiki/Trillion- dollar_coin](https://en.wikipedia.org/wiki/Trillion-dollar_coin)

Creating physical money sounds funny, but it seems to be required step to follow the letter of the law.</comment>


5 tips for recruiting developers - <AUTHOR> https://medium.com/friendship-dot-js/5-tips-for-recruiting-developers-c51fe1c3d9ad

<comment><USER2> In sales, sincerity is everything. Once you can fake that, you're golden.

If you want to recruit me, actually _be_ sincere and deliver something of value. Look at my LinkedIn or my resume' or my web site/portfolio and tell me about a company that is relevant to my interests. I have worked with good recruiters who do this so I know it is possible.</comment>


Ask HN: My friend and I cannot agree on our server side stack for our startup - <AUTHOR> I'm a Linux/Mac guy that loves node.js but my friend is more familiar with C# / Microsoft technologies. Me and my friend are building a nice web app with Angular js and we cannot agree on the server side technology yet. He wants our server to be written in C# and MS SQL server. I feel way more conferrable using node.js with Postrgres and Linux servers. Each of us tried other's technology stack and every time one of us had difficulties developing on the other's preferred technology. What should we do in order to help us to solve this problem? <comment><USER2> Here are my thoughts, in no particular order.

\- Don't work with a friend on a startup. You are very unlikely to be friends afterward. If you can't easily compromise on something as unimportant as your stack, you're going to disagree on way more important things. Why do you need two devs anyway?

\- Two things that kills startups are analysis paralysis (always trying to make the perfect choice = wasting lots of time) and being afraid to leave your comfort zone. Both of you should be willing to use the other person's stack because it will end this pointless argument and also help you learn something new (and possibly something you like even better than what you're using now).

\- If you're using Angular, you have an objective reason to slightly prefer Node: it allows you to use a single language on the front and back ends.

\- One possible compromise would be to use TypeScript, which was created by the same guy who created C#, so it shares lots of the same philosophy. TypeScript is also the native language of Angular now, so you can use it on the front and back ends.

\- Another possible compromise would be for one of you to work on the back end only, and the other to work on the front end only.

<comment><USER3> Using a single language on the front and back is a very nice plus, especially with ecmascript 6 support. My current job is doing that and it makes it much easier to break off features without having to get the server guy (me) involved. I personally feel like there is more javascript out there as well, so it's points for staffing.

C# I think is probably better documented, with fewer hair pulling bugs (I will frequently have to read code in a library to understand how exactly to use it in nodejs) and I'm very much missing a standard threading system, but I think early on it's more important to go fast so I would vote full stack JS over JS + .NET

</comment></comment><comment> t-rav Pick a stack and go, your just wasting time and effort that is not focused on your value prop.

Strictly pair program the implementation to facilitate quick knowledge transfer of the tech stack.

In the early stages, it is about finding a minimal solution to fit your value prop so you can get people to engage with it and validate your assumptions. This requires more thinking than code. Pairing the implementation will not only allow tech knowledge transfer, it will facilitate those important idea discussions that need to happen too.

</comment><comment><USER4> I'm assuming you're already past the stage where you've verified the problem you're solving is worth solving with technology, otherwise you're wasting time.

With that said, you need to divide responsibility. Either a 'CTO' role that has the decision to base the stack in his/her choice, or divide the tech up frontend/backend and give one person authority over each.

When it comes to tech decisions, look at what you can work on fastest, secondary considerations can then be things such as your immediately available hiring pool, and what would gel easier with those people, and finally things like licensing.

<comment><USER5> ac2u FTW! Follow these steps:

-What you can work on fastest

Then:

-available hiring pool

-finally things like licensing

</comment></comment><comment><USER6> For the DB use postgres to save licensing costs. I would be more adamant about the DB decision than the language. It's nice to be able to deploy unlimited postgres DBs on as many servers as you need without breaking the bank.

In the future you may have ancillary services/apps better off using a separate DB for performance. DB licensing costs _will_ influence your design decisions so remove those costs from the equation.

C# is fine though (even on linux) and will give you reasonable performance, likely better than node.js is most cases.

<comment><USER7> To be fair, they could apply to BizSpark and the licensing and hosting costs would be moot for 3 years (and it has lots of great benefits):

[https://www.microsoft.com/bizspark](https://www.microsoft.com/bizspark)

Btw, you can host Node.js apps on Azure if you like (I do), and a Linux stack if that's your thing, so it makes sense to apply to BizSpark even if you're not going the C# route.

</comment></comment><comment><USER8> Compromise and go with RethinkDB and F# on FreeBSD? This way no one gets what they want.

</comment><comment><USER9> I think you need to give one of you of the role of calling these shots and trust the other to make the right tech decisions so you don't burn energy and time on trivialities like these.

As developers we think picking a tech stack is an immensely important decision for the foundation of your company. It isn't. As developers you should be competent enough to pick up the slack and learn new tech as needed quickly, and leave the extra cycles to pick up things that you suck at but will need to figure out: customer services, business model, etc.

Echoing what other commenters have said, if you're already running into problems about decision making then it's likely to get worse. I also think you're optimizing for developer happiness way too early.

</comment><comment><USER10> Flip a coin. Seriously. Moving forwards is _far_ more important than being "right". If it turns out you made the wrong decision you can always fix the code later. All the hard stuff (data models, business logic, etc) is portable between languages.

<comment><USER11> "Flip a fucking coin." is exactly what I was going to say. Clearly the decision is influenced way too heavily by each of your pasts rather than on the merit of the technology (either will do exactly what you need it to do). So just flip a fucking coin, or come up with a more interesting way to settle these kinds of trivial pursuits.

</comment></comment><comment><USER12> A little bit of tough love:

You're going about this the wrong way. Build from the problem down to the tech stack, not the tech stack up to the problem. Here are some questions I'd ask in the following order:

1) What is the problem we are trying to solve?

2) At a BUSINESS LEVEL what is our solution? Not we route records through this $DATABASE and $CRUNCH_THEM, but "we enable users to solve $PROBLEM by $GENERAL_SOLUTION_DESCRIPTION"

3) What makes us different from other solutions to $PROBLEM or why is our approach more unique than what currently exists, at the business level? Better idea, better execution, what?

4) What is the market for $SOLUTION to $PROBLEM? How do we know this? How do we sell it?

5) What kind of processing do we need to do? Any serious custom crunching or are we interfacing with a database and moving data back and forth? Can we plug into existing services and leverage them rather than writing our own? i.e. AWS/Azure?

6) What is the best way to deliver this solution to the end user? Mobile? Desktop App? Web App? Some combination of the above? Why?

7) Given $SOLUTION(S) and $CRUNCH needs what's maximizes our chances for success by minimizing the number of moving parts in terms of tech stack? Do we need to do a web app + mobile with limited crunching backend? Do we need a lot of heavy server side crunching with parallelism/concurrency and a robust object model?

Let the problem space guide you to the solution rather than starting from a solution and working up to the problem. It'll save you some technical headaches later.

</comment><comment><USER13> It doesn't matter.

Focus on validating the problem first. Get people to pay you to solve that problem and once you have people begging you for the solution, then figure out something to build.

I've seen (and experienced myself) this mistake too many times. The tech stack does not matter AT ALL.

All that matters is that you're solving a problem for the people that will pay you. Don't spend 3 months perfecting the ideal tech stack and then realizing you have nothing to use it for.

</comment><comment><USER14> Your idea isn't yet working. It's not guaranteed anyone will want what you build. Figure out realistically which will get you to MVP faster, and use that. Chances are there may even be enough work to keep you both busy without overlapping.

Then, if your idea works out, you're going to learn a lot and gradually replace all the code anyway. Wait to decide then. This is the one to throw away.

</comment><comment><USER15> I'm not sure if my advice is useful. I believe in leadership. Pick a leader, and there you have your problems solved.

</comment><comment><USER16> as smt88 said, TypeScript sounds like the obvious choice. He probably enjoys the type safety aspect of C# along with Visual Studio (or whatever IDE he uses). You appreciate the fact that the same code on the server runs on the client. You could nail both of these using TypeScript.

</comment><comment><USER17> Sincerly if you both are stuck on your platform and both want to work on this it wont work. Altough your friends choice sounds terrible you probably should just stop beeing friends?

</comment><comment><USER18> Personaly i'd go with C# or mono but possibly not MS SQL which would allow you to work in both a linux and a windows environment. The main reason for this would be stability and documentation. The C# language is both well documented and has good standard libraries while my impression of node is that it is an undocumented maze of mostly fairly new microlibraries. I also belive that learning to build good C# code is a lot easier than learning to build good node code.

</comment><comment><USER19> Perhaps evaluate the financial aspect of each stack, and compare.

I suspect C# /.NET / MSSQL / Windows servers will be higher. In addition to server costs, someone has to pay for those software licenses too.

<comment><USER8> Microsoft gives startups free software licenses for the first 3 years and free/discounted access to Windows Servers on Azure. After 3 years you're almost certainly either making so much or so little money the extra license cost won't be a significant factor.

<comment><USER20> The first hit's always free.

</comment></comment></comment><comment><USER21> Ahh! yes decision making in startups, fun times. Well in this case it may be wise to develop a decision making process or framework. You can choose from one of these listed here [https://www.mindtools.com/pages/main/newMN_TED.htm](https://www.mindtools.com/pages/main/newMN_TED.htm)

Furthermore, it may be worthwhile learning each other favorite stack as you could pick up new skills. Could be a bonding experience as well. Just my two cents.

</comment><comment><USER22> Things will only get more difficult. pick the stack and move on.

</comment><comment><USER23> Pick something that MOST of the people doing the actual devs are comfortable working with. You really don't want your team's time spent on learning new things.

Just do your product.

If a stack shoes some limits when scaling or anything else along the way and if your startup is still viable, then you can plan a migration with all what you learned to back your tech choice.

</comment><comment><USER24> Decide who is more comfortable learning new things....and go with the other persons stack.

</comment><comment><USER25> Perhaps you could split development along front-end/backend lines. One dev uses whatever backend stack they want, and the other does all the HTML/CSS/JS.

</comment><comment><USER26> Don't use MS SQL server. It has serious issues with locking at scale that you can never get around. Apart from that, just make a choice and run with it.

<comment><USER7> At what kind of scale? I don't think any web application should have problems unless the queries are very badly designed.

I've worked with MS SQL for 10+ years (at financial institutions) with no problems. Oracle might be a tad better, but it's also pricier. No idea about Postgre (I've heard it's good), but what you mention shouldn't be a good reason to dismiss MS SQL.

<comment><USER27> I would also like to know at what scale as I've used MSSQL for several years and only badly designed queries/tables caused locking issues.

The real _problem_ (which BizSpark can resolve short-term) seems like it would be licensing.

</comment></comment></comment><comment><USER28> Tough situation. In my exoerience, best way to resolve this is to try each stack for couple of days.

On the side note, I highly recommend to try Meteor (www.meteor.com). I was in the same spot a year and a half ago and when we tried Meteor, we didnt know anything about Node but Meteor was so simple that we just went with it and never looked back.

</comment><comment><USER29> 1) It doesn't matter ... 2) but seriously, MS stack? I would have serious doubts about whether your friend has what it takes to build a fast moving web startup. At the very least it will limit your ability going forward to hire great web devs, almost none of which want to work with MS products. Best bet, drop your friend, get a sales/marketing guy to be your cofounder.

<comment><USER30> This has to rank as some of the worst advice I've ever read. I don't use the Microsoft stack, but the idea that a preference for it means that one doesn't have "what it takes to build a fast moving web startup" is fucking ludicrous.

</comment></comment><comment><USER31> If you need enterprisey features like record versioning, auditing, optimistic concurrency, good authn/authz then use .NET over Node.js

Personally I'd go with a universal React.js on Express (snappy SPA for users, crawlable server-generated html for googlebot, with one codebase) talking to a .NET REST API.

Then later you can use React Native for mobile and the same REST API. Or an Electron.js desktop app talking to same API.

PostgreSQL matches MS SQL Server in most regards, but MS SQL Server kills it for text search, but PostgreSQL does row security, and is, you know, free.</comment>


The Artist's Way: Write 750 words every morning - <AUTHOR> http://750words.com/ <comment><USER2> Nice, i will definately check it out. At a first glance it seems to be a nice way to fight procrastination. "...it will help clear your mind and get the ideas flowing for the rest of the day." For me, this already worked today. Usually i browse the web aimlessly for hours until i get something done but after writing these 750 words i already know exactly what to do. Gamification obviously works for me...</comment>


Competent Elites are More Alive - <AUTHOR> http://www.overcomingbias.com/2008/09/stratified-by-c.html <comment><USER2> _An intermediate stratum, above the ordinary scientist but below the ordinary CEO, is that of, say, partners at a non-big-name venture capital firm. The way their aura feels to me, is that they can hold up one end of an interesting conversation, but they don't sound very original, and they don't sparkle with extra life force._

Unadulterated pap. No, seriously..."strata"..."aura"..."feels"..."interesting conversation"..."life force". It's like Oprah trying to differentiate the class system within modern business.

<comment><USER3> To add: _above the ordinary scientist but below the ordinary CEO...._ ...?

</comment></comment><comment><USER4> Maybe it's true, maybe not, but the one thing I remember (though not the reference) is reading that a study had found no statistical correlation between executive pay and the performance of the company. So my impression was that at least at the highest levels of compensation, executive pay is being set by other mechanisms, ie everyone bidding for the same people.

Btw, blogging about worrying about whether you are as smart as famously smart people seems self-absorbed and insecure to me... What do I get out of reading that?

<comment><USER5> "I'm not going to take sides on whether today's executives are overpaid, but those executive titles occupied by actual executives, are not being paid for nothing. Someone who can be an executive at all, even a below-average executive, is a rare find."

He's not arguing about compensation. From what I gathered, he's calling to attention his perception of how this self-admitted biased group of people at a conference seem to have something 'different' about them from a random person picked from the population.

The best he can describe the common difference is what he calls "functioning with recourse". It's like the same unnamed quality of a startup founder, only best described as "quiet confidence".

Everyone is bidding for the same people, because apparently, there is only a small number of people that can take huge responsibilities (like running a company) without someone correcting/covering for them. Even the advice of other smart people can only be taken with a grain of salt, since it might not apply to you. So these two combined make it a difficult job that's easy to fail at, and once fail, a big hoopla is made about it. I'm not sure a lot of people want this sort of job, much less is willing to do it.

<comment><USER5> oops. I meant "functioning without recourse"

</comment></comment></comment><comment><USER6> The quality needed to operate without a manager above you is not competence.

It's _courage_.

<comment><USER7> And I'd say courage has a lot to do with a sense of aliveness, besides just intelligence. I've met a number of pretty dead seeming very intelligent people.

</comment></comment><comment><USER8> Should be retitled "Giddy Journalist Fascinated by Evening With the Wealthy".

Did no one tell him about the E in the punch?

<comment><USER9> Worth pointing out: He's not a journalist

<http://en.wikipedia.org/wiki/Eliezer_Yudkowsky>

<comment><USER8> He is definitely a journalist, especially in the original sense, publishing his thoughts with considerable regularity on his blog. And he's quite good at it.

You need merely have flipped to <http://en.wikipedia.org/wiki/Talk:Eliezer_Yudkowsky> to encounter discussion of Yudkowsky's qualifications and the Wikipedia post in general.

If he says he's an AI researcher then I accept that. But he's also a journalist, a good one, and that's the face that I see presented most.

</comment></comment></comment><comment><AUTHOR> <http://paulgraham.com/boss.html> \- PG on the same topic

</comment><comment><USER10> The OP speculates that few people are capable of 'functioning without recourse', and that those who do so can make it at the executive level, and so seem more alive.

There's an alternative pathway. Perhaps, put in a position of responsibility, which most people in modern society seem to have managed to avoid, the situation draws liveliness and performance out of you? PG seems to have witnessed that transformation. I would guess that it's a greater effect than selection.

<http://paulgraham.com/boss.html>

</comment><comment><USER11> Most people who go to Davos are pretty mellow. It seems like if your looking for high energy people who are intelligent and plucky, your local YPO chapter is indeed probably the peak of the curve.

</comment><comment><USER12> Other research, which I can't dig up at the moment, tells us that wealthier people are happier. So other things being equal, having more money than you can possibly spend should take a few worries off. Not sure this required a research grant to figure out, but ok.

So, I guess the only real add this post provides is that some wealthy people are happier and also some of them are smart and interesting. ok. I've met Steve Jurvetson before and also found him to be smart and interesting. I just didn't blog about it ;).

<comment><USER4> Funny, I remember hearing that research showed exactly the opposite, ie people in remote villages in New Guinea rated their happiness substantially the same as those in developed countries. But like you, I don't have the sources either. ;-)

You might be right, though, that _relative_ wealth influences happiness. In other words, you don't want to be the poorest person in your community, even if objectively you are wealthier than those in other communitites.

<comment><USER13> It's difficult to tell how much of this is a calibration effect. The fundamental problem is measurement, which is usually some variant of:

"On a scale of 1-10, how happy are you?"

I have no clue what the difference between 3, 5 and 7 is. Neither do villagers in New Guinea. So I (and I suspect most people) look around me, assume the typical person is a 5, then rate myself accordingly (I don't have a Wii, therefore I'm a 4). You are really measuring a weird combination of happiness, and what the typical person thinks a "6 out of 10" actually means.

Basically, most happiness research is BS.

</comment></comment></comment><comment><USER14> This seems to be essentially the same observation that Paul Graham made in his essay comparing founder hackers to employee hackers. <http://paulgraham.com/boss.html>

</comment><comment><USER15> What a coincidence! I'm competent and elite, and I feel pretty alive. This article just reinforces with what I've known all my life.

</comment><comment><USER16> How does this compare to the concept of "self-actualization"? Is this more cocky/elitist?

</comment><comment><USER17> Yawn. So the OP writes a long post in order to show us that, based on an _extremely_ biased sample, not everyone at the top of society is a blithering idiot.

If he really thinks there's "cream at the top", he should try hanging around real estate moguls and health insurance executives. That'll bring him back to the reality wherein shit, in fact, floats. VCs and hedge fund managers are nothing special compared to serious tech entrepreneurs and hackers, but compared to business executives as a whole, they're 99th-percentile, easily.

In any case, I think the reason the world is fucked up has more to do with ill-intended competent people than stupid, incompetent people. The Bushes and Palins may be genuinely stupid, but behind them are Cheneys, Roves, Romneys and Erik Princes-- thoroughly intelligent and competent, and even more thoroughly evil. The failure of U.S. society, for example, is not the result of error or entropy, but of plunder and malevolence. To blame it on "idiots in suits" is to inaccurate, in any case; the "suits" who excel in mainstream corporate America are neither intellectual nor curious people, but they have a fierce political/sycophantic intelligence that very few people can match.

<comment><USER18> What's wrong with U.S society? The richest country in the world, one of the best educated, diverse, peaceful, law abiding, willing to vote ethnic minorities to the highest office?

Stop whining, the U.S may have some scratches, but by most yardsticks, it's one of the greatest countries in the world.

<comment><USER19> >richest country in the world

To be more precise, a country with the most rich people in the world. Furthermore, it is a country that is quickly growing rich less relative to other countries.

>one of the best educated

Not even close. The general population in US is poorly educated relative to other countries. This has been repeatedly shown in many international competitions.

>peaceful

really? Are you forgetting Iraq, Afghanistan, or even perhaps Oklahoma bombing?

>law abiding

This is is actually true, especially considering the how religious most of the US population is.

>willing to vote ethnic minorities to the highest office

Lets wait until this one actually happens

<comment><USER15> One nitpick on the "peaceful" part. Foreign peace, nowhere close. But on the domestic side we've seen a steady decline of violent crimes for the past 15 years.</comment></comment></comment></comment>


Ask HN: How to learn Engineering, Electronics, or prototyping a big project? - <AUTHOR>

I've read just a couple threads like this but I'm wanting to expand beyond them a bit. I know the books people recommend, I have my physics and calc fundamentals, I know limited basic components, I solder well, and I have done a few Arduino projects with display out.
But say I had a huge project I wanted to prototype: a new type of e-reader, automated kitchen, a robotic steering helper on a car (or gokart), or a mini-segway, all of which integrate with a mobile...
Besides reading academic circuits and engineering books what would be the next step for me to work towards a bigger project like that?
How do I learn what chips to select, how they work together, and how to start planning the circuit design? <comment><USER2> What do you want to build? It seems like you want to work with embedded systems. So there are two design considerations: wireless or non-wireless. dummy non-wireless things are that interesting, so i guess you're going to want to design a wireless device.

GainSpan designs Wi-Fi modules and the whole software ecosystem. You could prototype things pretty quickly as they already design the whole chip-level firmware and application-level software that goes into building a prototype.

what's really neat about GainSpan chips/systems/software is that they built everything from ground up, so their software is optimized for the embedded space. Sure you could take an ARM-core and design the whole circuit board, and etc, but why would you want to do that?

once you get started, you will then probably realize that to differentiate your prototype is the software and not the hardware. if your wireless device can't perform the correct provisioning mechanism to communicate with the router, you're going to have to spend a lot of time on that too.

well, anyway, I have to disclose that I used to work for a Wi-Fi chip company before we got acquired and I still sometimes do consulting at GainSpan. check out the website and get an evaluation kit to start tinkering. the EVK is fairly inexpensive and it'll help you understand the design process.

best lien

<comment><USER3> Thanks I'll definitely take a look at GainSpan. Yeah I don't necessarily want to build everything from the ground up if the components have already been built.

Here's an example though. Lets take the fitbit as a very basic example. Mainly it's a well written piece software that needs to interact with multiple sensors: gps, gyroscope, heart rate monitor, probably temperature.

Now, I can grab a gyro and an arduino project to read and utilize data from that gyro, as well as all the other components... Separately. But I'm not sure where to go from there in order to turn all that into a single embedded system. It's possible I'm just repeating myself and you've already answered my question, lol. Maybe I just haven't gotten my hands dirty enough yet.

<comment><USER2> well, arduino can only take you so far and is limited in where you could go. I've known arduino as a prototyping platform only and there's very little you can go after that.

I'd start with the EVK because it has the temperature and light sensor on the board built in. GainSpan did a demo recently to control the board over an iPhone. This is something you can only do with Wi-Fi.

Well, once the prototype is done, you should be able to buy the module and look into the module datasheet to develop your own products. Also, note that GainSpan modules currently work with Freescale MCUs so you get access to their customer support team as well. (Basically you could turn on the ARM core in the GainSpan chip or use an external MCU.)

</comment></comment></comment><comment><USER4> Best thing you can do is start with small.projects (as you did) and growing incrementaly. During that time you will learn how different circuits work together and problems with more complicated circuits boards will need to be solved one at a time.

Contacting local hardware groups can help.

Basically, same as programing books can take you to some point, but when your project outgrows and become complicated with multiple rarely combinated libraries... you are on your own and, hopefully, you will be ready to take that bite.

Also, being more concrete in explaining your needs could get you more help.

</comment><comment><USER3> Sigh. I don't understand the "submitting too fast" error. But the advice to create a second username on a proxy worked :P</comment>


My interviews at Google - <AUTHOR> http://www.stochasticgeometry.ie/2010/07/20/interviews-google/ <comment><USER2> Sounds a lot like an engineer interview with Amazon. Very professional and very stressful.

The problem I have with these SAT style interviews though is that they're weeding out talent unnecessarily. Personally, I tend to get brain-lock when I'm under intense scrutiny, and the stress of knowing that I'm in the middle of a potentially life altering event really isn't helping any.

The reason I think this filter is unnecessary is because I'm pretty sure that "stage fright" isn't actually a problem you'll face if you work at Google or Amazon or Microsoft or wherever. You have projects and goals and you work to complete them. Christ, you're a programmer, not John McClane. Nobody is standing around with their thumb on the detonator watching you write an algorithm for reversing a linked list.

I suppose it would be difficult to scale, but I think what would be more successful for the technical portion of the process would be a Google Code Jam style arrangement whereby you're given a problem to solve, you crunch on it for the evening, and when you've figured it out you upload your code. If it's correct and fast, perhaps you'd make a good employee...

<comment><USER3> My understanding is that Google totally agrees that they are weeding out talented people. However, given the number of applications they get, they are wise to be more concerned about false-positives than false-negatives. Most companies don't get so many highly-qualified applicants and so would probably be foolish to copy the Google model.

</comment></comment><comment><USER4> Does anyone know why Google is so reticent about feedback from the interviews? It seems like it's a policy.

<comment> s-phi-nl See <http://news.ycombinator.com/item?id=1520431>.

</comment></comment><comment> brown9-2 On the subject of "Google interview questions", anyone interested in the subject should check out the reviews on glassdoor.com.

There are several hundred (unverified, as far as I can tell) reports/reviews from people who have interviewed there, with sample questions, stories of their experiences, etc.

<comment><USER5> I wonder how hot Google would be for access logs and a hidden iframe to a Google domain to potentially get the Gmail address of glassdoor.com users. Furthermore, what would the bias be? Users are self-starting enough to look for help, but is this 'cheating'?

Paranoia, but an interesting thought experiment, and utterly doable.</comment></comment>


A Health Care Algorithm Offered Less Care to Black Patient - <AUTHOR> https://www.wired.com/story/how-algorithm-favored-whites-over-blacks-health-care/ <comment><USER2> Overall this reflects a bias in the dataset that the "algorithm" was trained on, i.e. in the decisions humans made (be it the doctors, insurers, or the general context, since this is based on predict future cost of care, etc.). This reminds me of another example in a recruitment "algorithm" at Amazon that was shut off for bias against women[0].

That this was found in the "algorithm" means a) that it was checked for biases, which is already somewhat of a good news, and b) that it can probably be fixed, or at the very least tested.

This is just my opinion, but I think generally speaking this is good. Even though detecting and fixing those biases might not be straight forward, I like to think it's probably orders of magnitude simpler than fixing these biases in humans.

[0] [https://www.reuters.com/article/us-amazon-com-jobs- automatio...](https://www.reuters.com/article/us-amazon-com-jobs-automation- insight-idUSKCN1MK08G)</comment>


Letter to a Young PL Enthusiast - <AUTHOR> http://axisofeval.blogspot.com/2010/06/letter-to-young-pl-enthusiast.html

<comment><USER2> > Ignore the siren calls of the virtual machines. You have to be the master of > your domain. Use C or assembler to implemente your language. The free Unices > are your friends. Learne about the internals of your operating system, how > it compiles, links, loads, and runs executables, the fruits of your labor. > Learn about calling conventions, system calls, and the god-given hierarchy > of the memory.

Might want to skip the low level stuff and quickly get to business with high level libraries like the Dynamic Language Runtime.

<comment><USER3> Sure. But IME, somewhat paradoxically, the lower you go, the more freedom you gain. Not to speak of understanding.

<comment><USER2> True, but if you have a great idea for a new language you really don't want to spend _years_ implementing your own code generator, garbage collector, runtime system and standard library; you want to get a useful language as quickly as possible.

As an educational experience doing everything yourself from the machine code layer up is great, but for getting stuff off the ground it's not.

<comment><USER4> I agree that the VM can be a lot of work. However, some language features may need support from the VM. E.g. Scala and Clojure don't have full TCO support as JVM doesn't support that (yet!). If a languages uses an existing VM, it may need to work around the VM limitation. I suspect thats the reason Jython is slower than CPython even though JVM is much faster than the CPython VM.

IMO the big advantage of using a mature existing VM is the library. It should be possible to have at least a usable GC (say simple mark-and-sweep), code generator etc. without too much effort.

<comment><USER5> It'd be a good idea to decide on what features you want most and whether the disadvantages of a VM offset its advantages. Although Clojure lacks TCO, it's already gotten very popular very quickly, maybe more than other lisps. Hard data for the JVM's role in this is the poll posted not long ago that showed many Clojure programmers were former Java programmers.

I'm also working on a cross-language compiler and have a question about TCO, specifically tail recursion. Currently my language compiles a tail-recursed function's body into a while loop. Don't Scala and Clojure do the same, except using the actual bytecode?

<comment><USER4> > I'm also working on a cross-language compiler and have a question about TCO, > specifically tail recursion. Currently my language compiles a tail-recursed > function's body into a while loop. Don't Scala and Clojure do the same, > except using the actual bytecode?

I know Scala does it at function level (i.e. the function calls itself at tail position). I think Clojure have a 'recur' keyword to similar effect. The issue with JVM is that if f() calls g() at tail position and g() calls f() at tail position, it can't be optimized away (at least not without an undue amount of work so the advantage is lost). Clojure uses a trampoline[1] based approach to handle such a situation. I think Scala 2.8 also adds support for that. This works well with constant space, the only issue is that its a performance hit as its not done by the VM.

[1] [http://richhickey.github.com/clojure/clojure.core- api.html#c...](http://richhickey.github.com/clojure/clojure.core- api.html#clojure.core/trampoline)

<comment><USER6> compiling self-recursive function into loop catches many cases of tail recursion but certainly not all. Real TCO requires some support from VM to be efficient (if you don't care about efficiency it is possible to fake it with exceptions).

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> Kind of funny that the only negative listed for C# is "(it) hails from the evil Northwest."

A backhanded way of saying C# is really nice.

<comment><USER3> You are right. C# is a cool language, especially v4.0, and originally, I wanted to add that to the post.

</comment></comment><comment><USER8> This is inspiring to me, as a young computer scientist. Maybe I'll go off to create my own language and OS.

<comment><USER9> Be aware that it is a giant rathole. If you're looking for something commercially viable that might actually make a difference in the world, you're better off in a field like information retrieval, machine learning, geo, or image/audio processing.

There seems to be a siren's call of language/OS/editor development, though. If you really can't resist it, go do it. At the very least, you'll learn a lot, and it beats CRUDscreen Web2.0 apps as a mental exercise. But other fields of CS are much, much, more useful.

<comment><USER10> In your opinion, what languages have the best return on investment when it comes to IR, ML and related data sciences?

<comment><USER9> In my opinion, languages don't matter as much as the underlying algorithms. Learn the math, and then you can implement them in any language.

...but if you had to choose, I'd say to learn Python so you can prototype quickly, and then C++ so you can make it run fast in production. The two also have the nice benefit of working quite well together, so that you can push things into the C++ layer as you understand them better, and keep experimenting by gluing together those libraries with Python.

<comment><USER11> And we used to say prototype in C++ and then re-implement in C to make it fast in production.

The math and the algorithms are important - but one shouldn't dismiss a fundamental understanding of the lower levels of the system - even though they'll change over time and you probably won't have to "go there". Real-world software runs on real-world systems, and there is no reason for a budding computer scientist to deprive himself of at least a cursory understanding of how things work underneath - you never know when he'll want to break out of the toolset Vendor X provides him and do something radical and new (like implement something in hardware, or recognizing there is some feature there he can use to massive real-world benefit)

</comment></comment></comment></comment></comment><comment><USER12> Well now, this gem was unexpected:

 _you must create a programming language, or be enslav'd by another man's._

William Blake allusion FTW!

Nothing at all is lost.

<comment><USER13> The original is:

"I must Create a System, or be enslav'd by another Man's; I will not Reason and Compare: my business is to Create"

From "Jerusalem The Emanation of The Giant Albion":

[http://www.blakearchive.org/exist/blake/archive/work.xq?work...](http://www.blakearchive.org/exist/blake/archive/work.xq?workid=jerusalem&java=no)

</comment></comment><comment><USER14> Write the debugger first.

You'll need it anyway. And it will provide /much/ insight into your mistakes.

</comment><comment><USER15> It's odd that he dismisses most existing Lisps, then advises the reader to create their own. I wasn't sure if he meant it pedagogically or pragmatically or both.

<comment><USER3> Good question. I think that the crux is that if you're enthusiastic about PLs, you have to create your own or be enslaved by another man's. That's my feeling at least. And on the way to creating your own PL, you'll also learn to appreciate the existing PLs and implementations better, and learn to live with them, warts and all.

<comment><USER15> Gotcha. And an influx of new and experimental Lisps is always welcome.

<comment><USER3> Right on :)

</comment></comment></comment></comment><comment><USER16> Question from someone who maybe doesn't spend enough time examining PLs: How is JavaScript "like assembler with hashtables"? What "messed-up-ness" are Python and Ruby legendary for?

<comment><USER3> First, you should take the whole post with more than a grain of salt. ;)

Re JavaScript, I'm referring to the lowlevel nature of many of its constructs:

\- its impoverished way to pass parameters (i.e. there are no keyword parameters; you don't get an error if you pass too many or too few arguments)

\- its impoverished exception handling (i.e. you can't catch exceptions of a specified type)

\- its impoverished standard library and built-in data structures

\- its lowlevel and complicated OOP system

There's more, see [http://pwpwp.blogspot.com/2009/08/awesome-helma-and- lacking-...](http://pwpwp.blogspot.com/2009/08/awesome-helma-and-lacking- javascript.html)

Re Python and Ruby, I'm mostly referring to the fact that both languages started out with broken lexical scoping, and had to change their scoping rules repeatedly, which is a huge red warning sign. Additionally, it seems very hard to implement both languages so that they run fast, another factor. Ruby also has an array of different kinds of first-class functions (blocks, procs, lambdas, I lost track), with different capabilities and restrictions, which is a design failure to me. That said, I think they're acceptable languages, even if they force you to memorize a lot of irrelevant stuff.

<comment><USER9> JavaScript has a certain elegance to the minimalism, though, much like Scheme:

\- You can emulate keyword parameters by passing an 'options' dict, and you can emulate defaults by 'var myOpt = options.myOpt || default". You can also define a function, like $.extend, to do this for you.

\- You can catch exceptions of a specified type by checking the type and rethrowing if it's not appropriate. And you can define a function to do this for you:

      function try_catch_if(exc_type, body, exc_handler) {
        try {
          body();
        } catch (e) {
          if (e instanceof exc_type) {
            exc_handler();
          } else {
            throw e;
          }
        }
      }

\- You can define your own standard library a la JQuery or YUI, or even modify the built-in one a la Prototype (though I don't recommend this). And the built-in data structures aren't all that bad.

\- You can build whatever OOP system you want on top of prototypes, and many libraries do just that. (In this respect, it's quite similar to Scheme, where every programmer starts by defining his own incompatible object system).

Most of the sucky parts of JavaScript come from it _introducing_ things that weren't really thought through, eg. the 'this' keyword nonsense is ridiculous, as is the lack of argument-checking by default.

<comment><USER17> You can build your own keyword-argument passing style, exception handling, standard library, and OOP system with assembly as well. Most of would rather start with a language that got these features right in the first place, rather than defending languages that didn't.

</comment></comment></comment></comment><comment><USER18> This is a decently thought-out article, but it's important to remember that programming language design is as much an art as any other form of programming if not moreso.

</comment><comment><USER19> Funny, I don't understand the only one that sort of applies to me: "Syntax is the Maya of programming".

<comment><USER20> <http://en.wikipedia.org/wiki/Maya_(illusion)>

I'm not sure which part you didn't understand; this is my best guess. I believe the author is trying to say that syntax is a superficial appearance, and not relevant to - indeed, a distraction from - understanding the true beauty or ugliness, utility or disutility, of the concepts embodied in a language.

<comment><USER19> At first I didn't understand the whole paragraph (I had just woken up :-) ) and then it was just the Maya part. I didn't understand his use of Maya.

Thanks for the explanation. It seems the author and I have got a similar view on syntax (how can we not since we both seems to admire Alan Perlis!).</comment></comment></comment>


Was Simone de Beauvoir as feminist as we thought? (2019) - <AUTHOR> https://www.theguardian.com/books/2019/aug/20/was-simone-de-beauvoir-as-feminist-as-we-thought <comment><USER2> "Different times, different customs."

Simone de de Beauvoir _was_ a feminist, but a 'feminist' according to the normal social attitudes of the times. In today's world, 80 years later, her beliefs and attitudes from the 1940s would probably not be considered excessively 'feminist' in comparison to the 'now-normal' beliefs and attitudes of the 2020s.

Nevertheless, without those 'feminists' from the 1940s-1970s as front-runners, we would not have the feminist beliefs and attitudes of the 2020s that we have today.</comment>


XHP: A New Way to Write PHP - <AUTHOR> https://facebook.com/note.php?note_id=294003943919 <comment><USER2> neat idea - kind of like asp.net mvc's ability to switch between the razor syntax and html automatically.</comment>


MultiFab 3-D Printer Prints 10 Materials at Once - <AUTHOR> https://news.mit.edu/2015/multifab-3-d-print-10-materials-0824

<comment><USER2> The idea of encompassed printing made easy is very exciting. Right now it is very difficult to tune and program a printer to print on an existing object, not to mention the risk of ruining the step motor or damaging the nozzle.

By implementing a proper PID controller and being able to adjust materials without having to move the object, it's going to be cool seeing new over mold type parts that can be quickly produced.

</comment><comment><AUTHOR> I especially like the idea of bringing plans for a complex object to a local print shop and leaving with my printed widget :)</comment>


WiFi glitch in WWDC - <AUTHOR> http://cnettv.cnet.com/steve-jobs-demo-fail/9742-1_53-50088649.html

<comment><USER2> It's pretty much the same thing that happened to Google at I/O, including the same general solution and audience reaction... The real difference is Google should have known better than to use wireless keyboards in that sort of situation. I don't know that Apple had much choice with getting data to the phone (unless there's a reverse tether option available that I'm not aware of).</comment>


Show HN: Weekend project - Speak Like A Brazilian - <AUTHOR> http://www.speaklikeabrazilian.com Any Brazilians there? Let's share our expressions, sayings and vocabulary with the world. <comment><USER2> You should add some tagging, to identify an entry as a swearing (nsfw), slang, proverb. Most expressions currently on the website are swearings.

It could be hard to guess how "coé" should be pronounced, so you should add the phonetic representation for the words, check [http://en.wikipedia.org/wiki/Wikipedia:IPA_for_Portuguese_an...](http://en.wikipedia.org/wiki/Wikipedia:IPA_for_Portuguese_and_Galician)

<comment><AUTHOR> Great idea! There are already tables in the database for tags, comments, rating and other features. I will include this feature in the next days. And you are right about the pronunciation too, it might be really hard to guess how to pronounce certain words. I will have a look at dictionary.com and merriam webster, I know they include a small audio file with the correct pronunciation of each word. That could work for speak like a brazilian.

It seems the DNS server has gone crazy, and the site is being redirected back to namecheap :-(

Thanks!

</comment></comment><comment><AUTHOR> Any Brazilians there? Let's share our expressions, sayings and vocabulary with the world. I didn't have time to set up an area to submit new entries yet, so I'm entering them manually. In case you remember any cool expression, send me a message and I will include it (or if you would like to know the meaning of something).</comment>


Ask HN: Ideas for parking a phone number while overseas? - <AUTHOR>

I've had the same phone number for nearly 10 years now. Next month I'm heading overseas for at least a year, and I'd hate to let the number go. I'd love to be able to port it to Google Voice but that feature is not yet publicly available (anybody have an in at Google?). It's also not possible to port a number to Skype. Current options include leaving it in the States on a cheap family plan ($10/month) or using a service like NumberGarage ($30 + $5/month). Both of those will let me keep the number, but I won't be able to get much use out of it while I'm gone.<p>I see that it's possible to port a number to Twilio. Any ideas for something clever/fun/useful I could do with Twilio or some other similar service? <comment><USER2> Call forwarding from Twilio to your cell, with local time awareness to tell Mom that it is four AM? I do this and it saves my sanity.

<comment><USER3> That's pretty interesting. I'd like to hear more.

</comment></comment><comment><USER4> Google Voice would be ideal but as an alternative you can port the number over to Ooma. I've been using the service for about a year and have been relatively happy.

<https://www3.ooma.com/phone_numbers.php>

</comment><comment><USER5> Be sure that you can transfer the number back out again if that is important to you. I think all of the major US carriers have to support number portability, but I am not sure non-carrier services are required to.</comment>


Adobe Brackets without localhost (On Koding) - <AUTHOR> https://koding.com/Brackets?brackets

<comment><AUTHOR> Installation requires root, which requires registration unfortunately :/. [https://koding.com](https://koding.com) to register, but hey.. it's Brackets without installing anything local, which i like</comment>


These Americans are preparing for battle against their own government - <AUTHOR> http://www.washingtonpost.com/sf/national/2016/05/21/armed-with-guns-and-constitutions-the-patriot-movement-sees-america-under-threat/ <comment><USER2> There's nothing "nutty" about the belief that the US federal government is a huge threat to our freedom and liberty. And those kooks at the SPLC are the ones who should be branded a "terrorist organisation". I'm tired of the way they try to spin any "anti government" orientation as a brand of "domestic terrorism" or "extremism." I'm about as anti-government as anybody you're going to meet, but you don't see me throwing bombs or shooting at people. This is just another attempt to marginalize a group of people who are tired of being shit on by the government/corporate/military/prison/espionage complex.

<comment><USER3> The Southern Poverty Law Center performs a variety of good works. They are not spinning, the page linked to with listing ~1,000 anti-government groups says "Listing here [d]oes not imply that the groups themselves advocate or engage in violence or other criminal activities, or are racist." [0]

These people are already on the margins, this article is trying to inform the public that the Bundys and their cohort seen in the headlines are at the more extreme end of a continuum that's larger than most Americans might think.

I understand a discomfort with list-making and it plays into these groups' persecution complex (and apparently yours) but it's a good idea like it's a good idea to pay attention to houses on a sandy cliff; when a big storm comes they're the ones most likely to fall.

[0] [https://www.splcenter.org/active-antigovernment-groups- unite...](https://www.splcenter.org/active-antigovernment-groups-united- states)

<comment><USER4> They label these groups without so much as a shred of documentation or even stating their criteria in specific, objective terms. Certainly, "engaging in groundless conspiracy theorizing, or advocate or adhere to extreme antigovernment doctrines" applied to pretty much the entire Occupy movement, yet no such groups were ever counted by SPLC.

</comment></comment></comment><comment><USER5> The US government is a potential threat to it's people, all governments are by wont of been the ones with the right to execute force.

That said as soon as you start talking about One World Order or Autism/Vaccines you go from "right to be wary of government" into "batshit crazy" territory.

I'm not pro/anti government, I realise the need for government I also think it's out duty as voting citizens of wherever we live (in my case the UK) to make sure we watch what they _do_ in our name.

The biggest threat to western democracy isn't some strange people waving a 200 year old document, it's complete political disengagement by the people who vote.

<comment><USER6> it's a threat to its people.

</comment></comment><comment><USER7> So, the US government has Missiles, Tanks, Supersonic aircrafts and Nuclear weapons. The best these patriots may have are rifles, hand grenades, commodity vehicles and aircrafts.

Good luck with that.

<comment><USER2> [http://www.economist.com/news/science-and- technology/2169909...](http://www.economist.com/news/science-and- technology/21699098-makeshift-weapons-are-becoming-more-dangerous-highly- sophisticated)</comment></comment>


Darpa wants to make a better, more secure, version of WhatsApp - <AUTHOR> https://www.trustedreviews.com/news/darpa-wants-make-better-secure-version-whatsapp-3696558 <comment><USER2> Aside from the typical encryption worries here are some features I would love to see being offered on a alternative messenger app

-ability to give out your alias or username to people to reach you on whatsapp instead of a phone number, something you can change later after banning the contact.

-transcribe voice messages to enable search among them.

-ability to hide the fact that i have listened to their voice message.

-ability to hide the fact that i am on whatsapp network and receive 'add to contact' requests from people where i can accept or reject without them knowing i actually rejected.

-hide the 'online' in conversation window when im reading the message.

-save my chat history in the cloud so that i dont lose everything when i move from iOS to Android or vise versa.

-ability to save incoming and outgoing media attachments to the cloud for access later

-full desktop support for video and voice calls

-ability to record the calls, and have their transcribed texts easily searchable.

-ability to ignore certain kind of messages from certain people such as 'allow text messages only, no calls, no pictures, no videos.' etc.

<comment><USER3> > -full desktop support for video and voice calls

 _Any_ desktop support would be nice. WhatsApp web is not a real solution.

<comment><USER4> It kind of is, at least it is 80% there. What is your problem eith it? Having to handshake almost everytime?

<comment><USER5> For me, the problem is that it requires internet access. When I found that WhatsApp was deleting important messages and that the backups and exports that I was counting on were useless, as I mentioned in another comment[1], I found that the easiest way to save those messages was to scrape them from the web client. However, connecting the phone to the internet meant that it would receive more messages and hence delete more messages. I took screenshots manually of several days of the oldest available messages to avoid losing them, but it wouldn't have been necessary if the desktop client didn't require internet access.

[1] [https://news.ycombinator.com/item?id=19669740](https://news.ycombinator.com/item?id=19669740)

</comment></comment></comment></comment><comment><USER6> Isn't that called Signal? Maybe just put the funding into extending that?

<comment><USER2> I tried signal, much more inferior to WhatsApp in terms of functionality and usability

<comment><USER7> How is Signal inferior to WhatsApp "in terms of functionality and usability"?

<comment><USER8> Just a few things:

\- Signal is a lot less "polished" \- FB has spent tons more resources on making a slick streamlined easy to use interface. Even though signal looks similar its missing all the little things.

\- there is no easy to use backup. Whatsapp can backup to google drive or icloud and restore it on another phone. Signal you have to figure out how to deal with and transfer your backup file[1]. This isn't easy for regular folks, Signal needs to be able to connect to cloud storage (preferably of your choice).

\- Whatsapp deals with and displays media better/faster

\- calling works better. last time I checked whatsapp has easy group video and audio calls, Signal had neither.

There is actually lots more. I prefer the idea of using Signal over whatsapp, but I found it not close enough yet. Especially for non-techy ppl.

[1]: [https://support.signal.org/hc/en- us/articles/360007059752-Ba...](https://support.signal.org/hc/en- us/articles/360007059752-Backup-and-Restore-Messages)

<comment><USER9> Personally, I don't want backups. I don't want to worry whether some joke I made 10 years ago would look bad in a future data dump. If messages could self destruct after three years that would be lovely

<comment><USER10> I personally will never user a personal messaging app without long term backups. In twenty years there I will have many fond memories of my past conversations. I see it (almost) no different from keeping old letters.

</comment></comment></comment></comment></comment></comment><comment><USER11> This makes it sound like DARPA wants to take some commercially developed tech and adapt it to the military, but just for the record that _grossly_ misstates the relationship and the general history of Silicon Valley.

Ever wonder how Siri got her name? From SRI International, a research org largely funded by the DoD.[1] DARPA is the _origin_ of much of the tech, including secure Internet tech. Just one recent example: Tor[2]. It's developed at taxpayer expense and either given away to private industry or "transferred" for a pittance.

[1] [https://en.wikipedia.org/wiki/SRI_International#Employees_an...](https://en.wikipedia.org/wiki/SRI_International#Employees_and_financials)

[2] [https://www.onion-router.net/Sponsors.html](https://www.onion- router.net/Sponsors.html)

<comment><USER12> I don't think there's an official origin for Siri's name. Someone said it was named after a child. I suspect (without evidence) it was named after the female robot in the pilot episode of the Logan's Run who ran Mountain City, a paradise city.

<comment><USER13> From : [https://www.sri.com/engage/ventures/siri](https://www.sri.com/engage/ventures/siri)

[https://www.sri.com/work/timeline- innovation/timeline.php?ti...](https://www.sri.com/work/timeline- innovation/timeline.php?timeline=computing-digital#!&innovation=siri)

"Siri, the first virtual personal assistant, arose from decades of SRI research in artificial intelligence (AI). The technology was developed through the SRI-led Cognitive Assistant that Learns and Organizes (CALO) project within DARPA's Personalized Assistant that Learns (PAL) program, the largest- known AI project in U.S. History, and joint work with EPFL, the Swiss institute of technology.

SRI spun off Siri, Inc. in 2007 to bring the technology to consumers, raising $24 million in two rounds of financing.

In April 2010, Apple acquired Siri, and in October 2011, Siri was unveiled as an integrated feature of the Apple iPhone 4S."

I'm not verifying that - I just found it via google search "sri Siri"

I like the link to Logan's Run :-), it could be also true.

</comment></comment></comment><comment><USER14> It's mildly entertaining that we have calls for a more secure and trust-able version of an encrypted chat service, but other agencies in the executive branch are calling for loopholes and vulnerabilities for the same encrypted channels.

</comment><comment><USER15> Do we really need yet another chat app? I think there are far too many of them. Can't we go back to XMPP again and make everything compatible like it was ten years ago?

<comment><USER16> From the description, it seems like it's less about the chat app itself and more about developing and designing a new secure protocol and infrastructure that will influence future products by commercial or other entities. They want people to take the tech they develop and make their own stuff more secure, which sounds awesome.

</comment></comment><comment><USER17> Seems like Keybase's key model would work well here: [https://keybase.io/blog/keybase-new-key- model](https://keybase.io/blog/keybase-new-key-model)

</comment><comment><USER18> > Exist completely within a network

I bet this requirements implies working seemlessly between online and offline networks. In which case this project is not just building another XMPP/WhatApps/Signal/etc. They are building another Cabal ([https://cabal- club.github.io/](https://cabal-club.github.io/)) :-)

</comment><comment><USER19> The title makes it sound like they want to use whatsapp, not that they want encrypted chat.

<comment><USER20> Agreed, i think the title is a bit misleading.

</comment></comment><comment><USER21> What's wrong with the current encryption? I'm told that Signal's encryption technique if very superior and probably the best in the industry.

</comment><comment><USER22> Just wait till Telegram open sources their code?

</comment><comment><USER23> Original solicitation is from June 2018, not clear that this story is anything but a reheating of that announcement, found here: [https://www.fbo.gov/index?s=opportunity&mode=form&id=c244cde...](https://www.fbo.gov/index?s=opportunity&mode=form&id=c244cde44f811d49db4df4a90a8b5573&tab=core&_cview=1)

(As an aside, it is always a bit unsettling when a federal function is represented by something that looks like a link farm. I mean, I know you elected Trump and all, but "FedBizOpps" probably predates him by a decade)

</comment><comment><USER24> Besides signal, there is also

1\. Threema. Swiss based but not Open Source AFAI

2\. Frozen Chat. Android client based on Jabber XMMP/OTR

<comment><USER25> Frozen Chat seems to be removed from the Play Store, and I can't find many references to it online. Never heard of it before.

<comment><USER24> Oh, wow. It is on my phone but not in the play store anymore. Strange.

[https://github.com/Frozenbox/frozenchat](https://github.com/Frozenbox/frozenchat)

</comment></comment></comment><comment><USER26> Don't they have one already!

</comment><comment><USER27> Trust us, this totally isn't another Dual_EC_DRBG

<comment><USER28> Darpa had absolutely nothing to do with Dual_EC_DRBG.

</comment></comment><comment><USER29> They should invest in the BEAM virtual machine. IIRC, Whatapps is built on Erlang and its VM.

There are many benefits in helping an existing project with active developers. If dealing with the politics of managing existing project is annoying, just fork it and make their own branch. The original owner can deal with the merging if they want the contribution.</comment>


If Fairphone can support a 5-year-old handset, the other vendors could too - Anthony-G https://www.theregister.com/2020/06/18/fairphone_support_comment/ <comment><AUTHOR> I don't get why anyone thinks phone manufacturers are not malicious-playing- incompetent regarding updates. So many people are surprised every time their almost brand new phone doesn't get updated anymore.

Why would you trust these people to get software right? Luckily there's LineageOS, a project dedicated to (and pretty good at) not continually fucking it up. The solution is simple: Only buy a phone you can install it on. Stock OSes are full of bloat and malware anyway.</comment>


Show HN: LanternCRM – A Small Business CRM - <AUTHOR> http://www.lanterncrm.com

<comment><USER2> I like small things and things made for small business, as I think they are very underserved in the software market.

Out of curiosity and ignorance, I need to ask: what is the size (or examples) of a small business that would use this?

<comment><USER3> Any business could use this. The core of the product is to help you build and nurture relationships with those you do business with.

You have your Contacts in Lantern, authenticate your email, calendar and obtain a Lantern phone number. From there, any communication whether email, calendar events, or phone calls are attached to that Contact. When another team member (or yourself in the future) looks at a Contact or Deals associated with that Contact, they will be able to refresh themselves on all communicate between that Contact and every person within your business.

</comment></comment><comment><USER4> Visiting your site on a iPhone 4s crashes the safari browser..

</comment><comment><USER5> What are all of the integrations? Do you have a list I can see?

<comment><USER3> We integrate natively with GMail, IMAP, and Exchange Emails as well as Gcal and Exchange Calendars. We also natively sync with MailChimp and as of next week, Evernote.

Since we integrate with Zapier, we can do light push/pulls from their 300+ services which you can find here - [https://zapier.com/zapbook/](https://zapier.com/zapbook/)

</comment></comment><comment><USER6> looks rreally nice, I am in the midst of looking for a CRM and will put this on my to-try list.

<comment><USER3> Fantastic! You can always tweet at us @LanternCRM if you have prelim questions. We're also recently a CRM Idol semifinalist - [http://www.crmidol.com/news/12/10/2014/and-2014-crm-idol- sem...](http://www.crmidol.com/news/12/10/2014/and-2014-crm-idol-semi- finalists-are)

</comment></comment><comment><USER7> looks really nice. Congrats.

<comment><AUTHOR> Thanks.</comment></comment>