Ask HN: How do you determine which project you should work on? - <AUTHOR>

I normally do the classic pro/con list (sometimes only to ignore the result and do whatever pleases me the most) but i would like to know the approach(es) other people take. <comment><USER2> When I'm presented with a project (by myself or someone else), my thought flow is usually like this:

1, Is this project interesting to me? I usually trust my gut on this one and what I'm interested on is temporally-variant. I can only apply my self 100% to things I find an interest in.

2, What is the market viability of this project? I do a bit googling around to see if there are any existing implementations of this product. I try to think of usage scenarios and I will google for communities who might need this product, read about what they have to say and find out more about their needs so that the implementation of the product can be geared towards them.

Even if a product has 0 market-demand, I might still work on it because of step (1) and I simply treat it as a learning experience ( such is the case of kpicturebooth.com ).

3, I work out the logistics \- can I work on this on my own ? \- if the project was presented to me by someone else, what is the team like? \- how long will it take, can I fit it into my school schedule?

If I deem the project infeasible, I might try to work on one part at a time or get people to help me.

<comment><USER3> I've been thinking about starting a side project as a learning experience. So what are the ideas and knowledge that you have found most helpful in your current projects? I think having goals about what I wanted to learn would be more beneficial than just doing something, so I'm wondering what all of you want to learn in your businesses/startups.

<comment><USER2> >>> what are the ideas and knowledge that you have found most helpful in your current projects <<<

This is kind of a broad question.

For ideas, I usually look at the usual sources for inspiration such as my favorite applications. One of my favorite things to do is to read academic journals and try to implement some of the algorithms in a way that can be used by consumers.

>>> what I wanted to learn would be more beneficial than just doing something <<<

Well, to me this is a trade off.

If I just want to "learn things", I'd probably spend all my time in MATLAB experimenting with interesting code snippets that no one else in the world will see or use. ( I would also apply to grad school... something which I'm trying to avoid at this point ).

On the other end of the spectrum, I don't want to be one of those "web developers" who spends all their time writing the same "to-do-list" or "my own blog system" in some cool new language.

In the end, I think there needs to be a balance of challenge and practicality of the projects which I work on. It has to be technically challenging enough to keep me interested and yet it has to have some practical value so that at the end of the day, I have something to show for it. =)

</comment></comment></comment><comment><USER4> I have a really tough time with this, and often bounce back and forth between side projects.

Erdos was supposedly really good at helping people pick research problems to work on which would have just the right difficulty given their capabilities. I can't find the exact quote, but it was in the book "The Man Who Loved Only Numbers"

pg had some advice in an essay on high school: <http://paulgraham.com/hs.html>

Excerpt:

"Put in time how and on what? Just pick a project that seems interesting: to master some chunk of material, or to make something, or to answer some question. Choose a project that will take less than a month, and make it something you have the means to finish. Do something hard enough to stretch you, but only just, especially at first. If you're deciding between two projects, choose whichever seems most fun. If one blows up in your face, start another. Repeat till, like an internal combustion engine, the process becomes self-sustaining, and each project generates the next one. (This could take years.)"

</comment><comment><USER5> Here at SmartFlix we're pretty analytical about it.

When we're batting the idea around, we create a page in the wiki, and the first section is "rationale / analysis". In there we put the number of customers it will attract, or the plausible increase in revenue per customer (with some error bars), then calculate a value for this (a 5% chance of an extra $1 from each of X thousand customers = $Y). We also calculate the cost (we have a nominal price of $75 per engineering hour, and half of that for a design or marketing hour). If a project doesn't pay back its investment in a year, we don't do it. If a project does look to pay back its investment, we then rank order it against other projects to figure out which to do first.

</comment><comment><USER6> I try to start by capturing all my good thoughts into a notebook. The second part is I try to review all the things I have captured on a daily, and weekly basis. If I am not currently working on a project, then I try to be open to inspiration, total cheese I know, but I find that if I "force" it, like for the next hour I am going to work on having a good idea, I fail. My best idea/projects have all come in a bit and pieces and then they all of a sudden form into a solid idea. When I have an idea, I then try and build a prototype as fast as possible. At that point I am usually in a position to decided if I should continue, shelve, or give up. In the end whatever you decided to do, make sure you try and work with the intention of getting better at something. If you do that, in the long run it doesn't matter if you fail at a project because you still learned something along the way.

</comment><comment><AUTHOR> I don't know how many of you will read this, but i thought of posting this new finding that has helped me.

I read Joel's functional spec article some time ago and decided to give it a go. I started writing functional specs for three ideas i was thinking of working on (but obviously i don't have the time to work on all three).

I had a terrible time writing the spec for one idea,one idea was right in the middle between and there was the one i was truly passionate about(not obvious at first sight though).Writing these functional specs helped me find which of these possible projects was the most interesting and promising.

Hope one of you finds this useful.

Here's the link to Joel's article: <http://www.joelonsoftware.com/articles/fog0000000036.html>

</comment><comment><USER7> First make sure your enthusiasm for an idea is not resulting from hidden assumptions you have made and not realized. Examine all your assumptions.

Also try to avoid falling prey to any cognitive biases. There is a list of them at wikipedia that is probably worth acquainting yourself with. Perhaps you might favor one idea over an other just because you have been thinking about it more recently. This would be related to the Recency Effect - increased saliance and recall of recent stimuli. Thus you will weight the benefits (and drawbacks) of recent ideas more than the benefits (or drawbacks) of past ideas.

One way around this might be to rate your ideas at multiple times after rethinking various past ideas fully.

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

</comment><comment><USER8> 1\. Do I find it interesting? If it woke me up from my sleep or prevents me from sleeping, because I am so interested in working on it - it's time to work on that idea.

2\. If not that extreme - is it worth losing X months of work on my current project. When I set code aside, I can rarely every just jump back into it. I tend to rm -r and start all over. So, is this new idea worth those 6 months I spent on my current project?

3\. If not - it goes into Backpack in order of "excitability" and I'll get to it eventually.

<comment><USER9> Instead of a backpack, I use a "uservoice" page for projects that are interesting but I'm not going to do them. Then others can add comments, add ideas, implement the ideas, ...

Similar to Tantek's reasoning for wikis, I like sharing the ideas that I'm not going to implement any time soon

<comment><USER8> That's a really good idea - I may have to look into doing that.

I don't place ideas in Backpack to keep them in the "walled garden" - it's just the most web-accessible, easy to use area I have for information of that nature (I keep losing sticky notes).

</comment></comment></comment><comment><USER10> I start it, and then see how it's going a few days in. If it's a struggle then it either probably isn't something I want to be working on, or there's something wrong with my premise that's keeping me from really "feeling it." So back to the drawing board -- or I put it aside for something else. Sometimes, I'll revisit something I've previously set aside because I'll have thought of a new way to do it or new spin on it that makes more sense and makes me more excited to work on it.

</comment><comment><USER11> The one that keeps floating to the top.

<comment><USER12> I can't agree with this enough. Spend a little time on your candidate projects and the right one will emerge.

</comment></comment><comment><USER13> I came up with this, but I never use it:

Through the day, I have a fluctuating "importance threshold". During free time the threshold is very low; during work time it's high. At any given time I do the most fun thing that's above the threshold.

</comment><comment><USER14> Consider your passions and your skills and try to focus on projects at the intersection of the two.

</comment><comment><USER15> I look at every project that is a candidate. The I ask: why would I want to do it? Concrete things, not generals like "I am passionate about it" (that's a prerequesite). I make this list for every candidate. Than I cross-check each reason with each candidate. The same for contra. The project with the most votes wins.</comment>


Thoughts on incumbents from a startup's perspective - <AUTHOR> http://cdixon.posterous.com/thoughts-on-incumbents-from-a-startups-perspe <comment><USER2> Very awesome list.

I'd also add a few others:

\- Generally, larger companies can't move as quickly as you can so don't be too scared when they say "We can just have a team do this in the next few years." Politics, headcount, a bulky codebase and sheer inertia make it really hard for them to quickly copy you unless they were already headed that way before you popped up.

\- When speaking w/ potential acquirees understand that they see dozens of companies a month. They are in no rush and can 'pass on the deal this time' all day long. Assume its not going to happen and never jeopardize your business for talks.

\- There is never a 'final offer'. If they want you and talks fall through, they'll be back in a few months.

\- Always keep it professional even if talks get heated. Any possibility of a deal can be destroyed if you are a dick. No matter how badly they want you, it raises serious questions about whether the acquisition is the right fit. I have heard of talks breaking down right at signing b/c the CEO didn't like the vibe from the startup CEO.

\- Cliche, I know, but the best strategy for being acquired is to not need to be acquired.</comment>


IRON-HID: Create your own bad USB [pdf] - <AUTHOR> https://conference.hitb.org/hitbsecconf2016ams/materials/D1T2%20-%20Seunghun%20Han%20-%20Create%20Your%20Own%20Bad%20USB%20Device.pdf <comment><USER2> This is just an arduino acting as a HID device that can be controlled from an android phone, right? The slides talk about also acting as a mass storage device for a payload in case there's no internet, but I'm assuming there's no channel back to the arduino/android phone[1] in that case, so you're not going to be able to send screenshots back as described.

Basically, if there's internet access to talk to a server, the arduino alone is going to do just as much damage, and if there's not this whole setup is still going to have to send keystrokes blindly and won't be able to exfiltrate data regardless of the android phone controlling everything.

Therefore, luckily, I don't think this actually introduces any new threat beyond the existing problem of people already being able to insert random devices that act as keyboards. Unfortunately, this is a hard problem to fix in general, but at least for devices like POS machines it's easy enough to simply not leave the machine logged in.

1: It might be possible to use the caps lock status (or maybe a raw HID device?) to get data back, it doesn't sound like Iron-HID is doing this, and anyway the bandwidth probably wouldn't be very high to say the least.</comment>


The Philippines is in the midst of a brutal war on drugs - <AUTHOR> http://www.bbc.co.uk/news/world-asia-37172002 <comment><USER2> The NYT had a writeup of one particularly notable incident, in which a father and son were killed, and how it was egregious enough to provoke outrage: [http://www.nytimes.com/2016/08/20/world/asia/philippines- dut...](http://www.nytimes.com/2016/08/20/world/asia/philippines-duterte-drug- killings.html)

Otherwise, the important context to have is that while 1,800 alleged drug dealers have been killed by police and vigilantes in the _7 weeks_ that Duterte has been in power (roughly 1,200 people were killed last year by police in the U.S. though that doesn't count for all in-custody deaths [0]) -- the Filipino citizens are, by most accounts, supportive of the killing campaign:

[http://www.nytimes.com/2016/08/23/world/asia/philippines- rod...](http://www.nytimes.com/2016/08/23/world/asia/philippines-rodrigo- duterte.html)

> _Richard Javad Heydarian, who teaches political science at De La Salle > University in Manila, said many members of the public were giving Mr. > Duterte wide leeway to deliver on his promise to suppress the drug scourge > within three to six months. Mr. Duterte's "shock and awe" approach reflects > not only his commitment to eradicating drugs, Mr. Heydarian said, but also > extremely high public expectations._

> _"The more fundamental question at this point is, why the seemingly > unprecedented support for the new president despite global criticism of his > uncompromising approach?" he said. "I think it largely has to do with > dissipated public trust in existing judicial institutions, a sense that the > normal democratic processes are not coping with the magnitude of the > crisis."_

[0] [http://www.theguardian.com/us-news/ng- interactive/2015/jun/0...](http://www.theguardian.com/us-news/ng- interactive/2015/jun/01/the-counted-police-killings-us-database)

</comment><comment><USER3> DISCLAIMER: I am a Filipino and I live in the Philippines.

Oh please not this crap again! People outside the Philippines are greatly misinformed by the media. Duterte did not order to kill everyone on drugs. That's bullshit! 600K+ that surrendered are proof of that. The problem is it seems all homicide and murders are now Duterte's fault which is what the news emphasized.

If you want to know what's really going on come to the Philippines. Don't judge based on what the news says.

Also, take into account that there's politics involve here. Oligarchs who have been controlling the country for decades hates Duterte because he wants Philippines to become Federal -- no monopoly anymore.

If Duterte did not won, we are in status quo right now. You will not hear this kind of crap in the news until we are a full-pledge narco state.

<comment><USER4> Sorry, but Duterte has literally gone on record to state that even normal citizens should kill drug addicts:

"If you know of any addicts, go ahead and kill them yourself as getting their parents to do it would be too painful."

You literally sound like Trump supporters who bash the 'media' because they take his 'words out of context', when he does in fact, say those things clear as day.

<comment><USER3> Trump is the result of a reality show. Duterte is not. Why the hell would you compare the two?

<comment><USER4> If you even read my comment, I'm not even comparing Duterte to Trump, I'm comparing your logic to Trump's supporters' logic of holier than-thou, media is biased non-sense.

Yes the media can be biased, but in this case, he was quoted word for word (and he's basing his platform on that, so you can't just say the media is misrepresenting him)

Anyway regardless, I don't want to get to an extended discussion with you, as you seem deeply entrenched with your views.

<comment><USER3> I agree, further discussion will not yield to productivity because you assumed that you are talking to someone with poor logic in the first place.

</comment></comment></comment></comment></comment><comment><USER5> I think you'd have to be incredibly naive to think all of those people are drug dealers, let alone the moral problems with executing people for being addicts, or the absurdity of banning drugs in the first place.

<comment><USER6> Scapegoats are a hell of a drug

<comment><USER7> Communism was Marcos'

</comment></comment></comment><comment><USER8> This is how Philippines has chosen to solve it's own societal problems, and is none of HN's or UN's business. I won't put judgement on it, but Philippine's people deserve to experience the consequences of their own choices, and not have other's views foisted onto them.

This is part of the reaction against globalism, and centralisation of power. Le Pen, Trump, Brexit, Duerte. People, and collections of people have a right to choose to do things differently from what the rest of the world considers normal and acceptable.

Those viewing Duerte as a figure who is centralising power in the Philippines into himself are viewing things upside down. This is a revolt against the United Nations, against "human rights agreements" between countries, against focusing on appearance of being good to the rest of the world. This is the pendulum swinging from globalism back to nationalism. This is a nation whose people is choosing the method to solve it's own problems, ignoring what we think of it, and we have no right to intervene.

Countries must be allowed to make their own choices. Their nationalistic tendencies must be protected. Things must exist separately, before they can be together. Without this separateness, and expecting every country to become globalised and be governed in the same way, like food in a giant blender, it's called narcissism.

Stop viewing things from your own lens.

Stop trying to look good to yourself. Cast political correctness away. Focus on the actual underlying reality.

<comment><USER9> The problem is that some (perhaps many) of those people did _not_ make that choice, but still have to suffer the consequences imposed on them by the majority that did. And when you say that it's not our business to intervene into their internal matters, or even judge them, you completely ignore those people.

Rights of the collective do not trump rights of individuals.

<comment><USER8> So is that the logic we use to impose the ideas of the majority of the rest of the world on Philippines? Is oppression by majority solved by more oppression by a bigger majority? What kind of logic is that?

<comment><USER9> >> So is that the logic we use to impose the ideas of the majority of the rest of the world on Philippines? Is oppression by majority solved by more oppression by a bigger majority? What kind of logic is that?

Pretty straightforward logic, actually. If the entirety of my oppression of you is preventing you from oppressing someone else, that is the right and proper kind of oppression. There's direct analogy here with the use of violence in self-defense: violence initiated by the attacker is bad, violence used by the victim or a third party in defense of the victim is good.

In reality, it's often not so simple, but you can still rank the parties on who is "more right", and whose oppression is more justified, so to speak.

So yeah, sometimes you need the majority to oppress the hell out of some smaller majority to make them behave. Good examples include US Civil War, WW2, and the use of National Guard in US to impose federal desegregation laws during the Civil Rights Era. A good example of a failure to do so, and its moral consequences, is the Rwandan genocide.

Now, this all was a hypothetical - I'm not saying that an invasion of the Philippines would be justified on these grounds. Of course not! But what they're doing certainly justifies, at the very least, a condemnation - and it would be immoral to _not_ judge. Same exact kind of immoral as turning away and muttering "not my business" or "she might deserve it anyway" when your neighbor is beating his wife.

<comment><USER8> The 'oppressed' we are talking about are meth dealers who have spread the drug such that up to 30% of those who live in slums have become addicts. Entire communities destroyed. Filipinos follow your exact same logic, decide the behaviour of these drug dealers is unjustified and must be stopped at all costs. Who am I to judge whether killing these drug dealers is right, or is not right? Meth has not affected my family but it has destroyed theirs! And likewise, if you are the general of a foreign army and do decide to invade them to stop it, who am I to judge you for trying to prevent death of innocents? In both cases I will observe, and if you are in my community, which you are, I will give you my perspective and my advice, but I will never intervene. I will not support or intervene Filipinos efforts to save their communities, nor your hypothetical efforts to invade them. It is my business to advise only so much because we and other commenters are in the same community.

I think that is our moral difference and if you would judge me for it, I will accept it graciously.

<comment><USER9> It appears that you have completely missed the point of all the complaints. The oppressed that we're talking about are not drug dealres - they're people _accused_ of being drug dealers, which may be right or wrong, but either way we will never know if they're just murdered in cold blood without having their time in the court of law. Rule of law exists for a reason, and part of that reason is to protect the innocent who inevitably end up targeted by vigilantes in witch hunts. In many cases, the witch hunts spiral out of control to such an extent that most people are innocent (of what they're accused of, anyway), simply because it becomes a cheap and easy way to settle scores.

Another point that I'd like to make, is that you talk about communities. But, who draws the lines? There's a community of Filipinos, true - but who decides who is the member, and does being a member of that community automatically excludes one from other communities? I would dare say that it does not; and if so, why should that other membership be ignored? I mean, ultimately, we are all members of one community called "people", spanning the entire globe; everything else is a subdivision of that. So, if it's common membership that you believe to give the moral justification to judge, and possibly intervene, then it is membership in that community that I will claim as my justification to do so.

<comment><USER8> For me, the membership of the community means you can talk to them directly. And even if we'e in the same community, I will never judge, and never intervene, unless you're directly harming another member of my community. I do not talk to the people in the slums, we're not in the same community. I talk to you, we're in the same one.

I hold no judgement on what's happening in Philippines, just as I cannot think of intervening in U.S., or judge U.S. citizens, where prisons where millions, a significant fraction of them innocent, are incarcerated in horrific conditions I could never imagine myself to be in.

Rule of law is an invention, sometimes it has force, sometimes it doesn't, sometimes it changes.

That is my moral framework.

</comment></comment></comment></comment></comment></comment></comment><comment><USER10> The president was already doing this in Davao before being elected to the national office. And this was already happening throughout the country. It's sort of an open secret that in the Philippines you can bump someone off for PHP 10K.

I'm guessing that a lot of these killings are sort of cover for other issues. This person is a drug user, but also owes the wrong people a lot of money. It's just an expansion of targets for people who were already employed in the industry. Business is getting good.

I don't know if there is any real strategy here since the president was already doing this as mayor of Davao and this sort of became a platform to run on. Another platform was to fight corruption, a major problem in the Philippines.

As you can see from the list, there are a lot of public officials allegedly involved in the drug trade. Perhaps the drug war is the first push against corruption. You work to seriously constrain the availability of drugs due to fear among dealers and users and that cuts off the supply of money to the top. At the same time you hit the top through your intelligence sources. Drug related corruption gets squeezed from both sides. As this is the more brutal stage, the fear of being involved in corruption spreads to non-drug related corruption.

<comment><USER11> > It's sort of an open secret that in the Philippines you can bump someone off > for PHP 10K.

That's a pretty strong claim (as are many other statements). Is there something to back that up?

> The president was already doing this in Davao before being elected to the > national office. And this was already happening throughout the country

I've read the former many times, but never the latter.

> Perhaps the drug war is the first push against corruption.

I don't see how murder, a refusal to punish murderers, and the effective elimination of rule of law and the judiciary is going to stop corruption. It's the worst possible corruption, and it's a fantasy that the person perpetrating this policy is somehow going to be otherwise honest, or that society, without these critical institutions, will be better able to deal with corruption.

It's ok to kill people, just don't embezzle any money?

There's also the minor problem of the complete disregard for individual life and liberty, which is harming a huge number of people.

<comment><USER12> >> It's sort of an open secret that in the Philippines you can bump someone off for PHP 10K.

> That's a pretty strong claim (as are many other statements). Is there > something to back that up?

That's about $215 US, for the record. From the time I spent in Davao back when Duterte was mayor: no one I met was afraid of any crime, certainly not some weird public assassination market. The only people that you'd ever have to worry about were police, and that was only if you were a criminal yourself.

That being said, that was back when he was a somewhat crazy mayor and not President. So maybe there's been a shift in the politics and perception of these things? I can say the city was tremendously livable and while there was some anxiety about him and the extrajudicial killings, it was offset by dramatically reduced worries about normal crime for everyone I spoke to about it (which says a lot, I think -- WHAT it says is a bit more complicated).

<comment><USER11> > that was only if you were a criminal yourself

Who says who is a criminal? Are Filipino police somehow far more gifted than those elsewhere and are completely non-corrupt (never using their powers for other than justice), and never arrest the wrong person?

It's safe as long as you are not the one getting killed. Mussolini, Hitler and Stalin offered similar security.

<comment><USER12> I was speaking to the nature of their anxiety, not the probability they'd be killed or by whom. I was also trying to describe their perceptions, not the objective state of affairs. I think you'll find your comment to be oddly hostile and non-responsive.

<comment><USER11> While I don't agree with your characterization of your prior comment (at least as it was written, of course I don't know your intent), I'm sorry you felt my response was hostile; that's not what I meant to convey.

</comment></comment></comment></comment></comment></comment><comment><USER13> The hope is that this will be a system shock that will expunge the crime and corruption that plagues this country. It's probably wishful thinking that after all this that normal rule of law will be easily established. The pendulum always swings too far. There will be a hangover.

<comment><USER14> That's always the hope. This vigilantism is a symptom of decades of rotting institutions.

Maybe a fraction of this wave of violence's victims were guilty of _bona fide_ crimes. But most were politically-convenient targets. I don't know of a single country, in history, that recovered from a similar event inside two generations.

Revolution would have been more productive.

<comment><USER11> > This vigilantism is a symptom of decades of rotting institutions

The institutions have been growing stronger for decades, I think. It's a slow process, but democracy only began 30 years ago and has been progressing since then.

</comment></comment></comment><comment><USER4> The Philippines love authoritarian figures. The son of Ferdinand Marcos (dictator who instated martial law, under which the country was plunged into a climate of repression and plunder), Bong Bong Marcos almost won the vice presidency with a 0.64 percent difference.

</comment><comment><USER15> [https://en.wikipedia.org/wiki/Bounty_hunter](https://en.wikipedia.org/wiki/Bounty_hunter)</comment>


Ask HN: How to send back an offer letter? - <AUTHOR> I have a quick question about how to send back an offer letter and some employment forms. A company has given me the position that I applied for and says that the forms can be sent back via email or fax. If I were to choose to scan and email them, what resolution should be sufficient for the image files? I don't want them to be too big as they need to be sent through email, however I also don't know if there is a minimum resolution needed for legal documents. Anyone know what resolution I should scan them as? <comment><USER2> I believe historically faxes were as low as 100dpi but now are 200dpi or more. So 200dpi should be safe... But your scanning software may have presets/suggestions for 'fax/b&w document' that would also be a safe choice.

</comment><comment><USER3> The simple answer is that they're going to print them out, so the images should have a sufficient resolution as to not be blurry when they're printed out on sheets of printer paper.</comment>


An Intro to Backbone.js: Part 2 - Controllers and Views - <AUTHOR> http://liquidmedia.ca/blog/2011/01/an-intro-to-backbone-js-part-2-controllers-and-views/ <comment><USER2> I haven't looked into it in detail, but I am interested in an opinion. Could Backbone.js possibly be overkill? I think on the server side that kind of framework evolved to deal with server side specific issues. Should it just be ported back to the client?

I have only started to develop something with sammy.js (also a JS framework with routing and so on), and it already seems to me it might not always be a good match. For example sometimes I only want to render a part of the screen/web site again, not the whole thing. What then should be my route? I guess it could work like the AJAX updates in Rails, but still, I wonder if it is too complicated to go through all the routing and so on.

Why not just bind events to actions directly, and update at will from inside the event handler?

What advantage do backbone.js models provide over javascript objects?

<comment><USER3> _What advantage do backbone.js models provide over javascript objects?_

Event binding, refreshing to the server, dirty tracking, etc.

Basically, the pattern is: get JSON doc from the server, inflate it into a model, hook in a view, and then as you mutate the model, in code or the UI, the UI and server are updated. Can you write this yourself? Of course. Do you want to? That's up to you.

Personally, I find Backbone's sugar most useful for views. You make a DOM element that represents your thing, and then you program in terms of that thing, and the UI "just works". It's wonderful.

Anyway, Backbone is absolutely not overkill. It's just what many apps need, and you can use as much of it as you want.

(I should point out that I don't do server-side HTML anymore. My web apps are JSON/REST endpoints that also serve a few pieces of static HTML, JS, and CSS. Everything UI-related is done on the client side. Backbone makes this amazingly easy.)

<comment><USER4> This is also a particularly good pattern for mobile applications as well. Your app serves a tiny page, and then lets it load the data basically in the background. Combine with some localstorage to show the information from the last time they were there right away, and you can make apps that feel significantly more responsive than they were before.

</comment></comment></comment><comment><USER5> this seems relevant:

<http://jobs.37signals.com/jobs/8105>

<comment><USER5> Not sure why this was modded down. If someone wants to work with backbone.js, why not get paid to do so.

</comment></comment><comment><USER6> thanks for these... enjoying your Intro.</comment>


Which is your favorite Jira/Trello alternative and why? - <AUTHOR> Jira & Trello are great tools, but Jira might be overly complicated to a few and Trello is a little under-powered for bigger teams.
Have you ever considered alternatives to these tools? What is your favorite alternative to Jira/Trello?
Disclaimer - I am a part of the team of a Jira alternative called Codegiant.io and this post is to learn user feedback and improve our tool further based on that. <comment><USER2> Mozilla uses Trello quite a bit for project management (and Bugzilla and GitHub for bug tracking), but some teams are experimenting with Airtable. It's like a cross between a Google Sheets and Trello. It's not as approachable as either of them, but it is more robust. You can create spreadsheets with real schemas and foreign keys, comment tracking and notifications like Trello, and multiple data views like Kanban or calendar.

Bug tracking at Mozilla is a challenge. Some projects have their code in Mercurial and bug tracking in Bugzilla. Others have code and bug tracking in GitHub. And some projects have dependencies that bridge both, so there is no good way to see a global view of relevant bugs in Bugzilla and GitHub. Some teams experimented with Jira plus some custom extensions that provided a unified view of Bugzilla and GitHub, but it didn't go far because it was a lot of work to maintain and developers would still be using Bugzilla and GitHub directly.

</comment><comment><USER3> I'm interested in [https://crocagile.com](https://crocagile.com) , it makes issue tracking like a game.</comment>


Hiring in a Startup – The Hard Truth - <AUTHOR> https://medium.com/swlh/making-the-first-hires-in-a-startup-the-hard-truth-fa7dbf37160f <comment><USER2> Very well written! Couldn't agree more. Getting the best talent at this early stage means being able to convince employees much like VCs and partners

<comment><USER3> Suspicious when a 500 days old account has only two comments. And both praise user guyshachar, over a year apart.</comment></comment>


Building a Modern Bank Backend - <AUTHOR> https://monzo.com/blog/2016/09/19/building-a-modern-bank-backend/ <comment><USER2> Interesting article. In the US building your own banking back end from scratch is a daunting task. The US regulations are pretty hefty and the interfaces to be able to inter-operate with other banks / credit cards are arcane. Wish them luck!</comment>


The Light Phone Is the Anti-Smartphone - <AUTHOR> http://techcrunch.com/2015/05/18/the-light-phone-is-the-anti-smartphone/

<comment><USER2> I had to laugh at this: "to be used as little as possible" People will buy it of course... just like they did the Talkase ([https://www.kickstarter.com/projects/nanosmart/talkase- the-m...](https://www.kickstarter.com/projects/nanosmart/talkase-the-must- have-accessory-for-a-mobile-lifes/)).

I have to give props to the good design and marketing though. They've done a terrific job at that. I mean, how else would you be able to sell something that is probably worth $12 at $100? (google "Gonkai phone"). If they do end up succeeding, I hope they can provide as good quality and customer support as Pebble have. That said, I still think the idea is silly. I mean, why not just buy a very cheap phone like a Moto E2 or a Lumia 635 as your backup? Or why not just turn data/notifications OFF on the phone to avoid interruptions?

Now, if someone made something as elegant as what these guys have made but for the wrist, well, then THAT would be really something. I'm really hoping Pebble Time's smart bands will turn out to be awesome. I'd love to forward calls to it and leave my phone at home for runs.</comment>


Record Set as India Produces 100 Billionth Unit of Renewable Energy in a Year - <AUTHOR> https://thewire.in/energy/record-set-as-india-produces-100-billionth-unit-of-renewable-energy-in-a-year <comment><USER2> Could've reported this as 2.09431e+27 if they used electron-volts...

<comment><USER3> I find a renewable energy production of barely 3.4 Gthm (Giga therms) completely insufficient.

</comment></comment><comment><USER4> * Assuming the "Unit of Renewable Energy" is watt-hours. In SI units (Joules) they have long passed this "milestone".

<comment><USER5> I think the author of the article has got either his numbers or the metric units quite wrong.

100,000 GWh = 100,000,000,000,000 (giga => x 10^9) which means it's actually the 100 _trillionth_ unit.

And he repeats the mistake when saying "...and one hundred thousand million units of electricity has eleven zeros" \- indeed it does but then 100000 million units is not 100000 G units.

EDIT: Actually I'm the one who got it wrong. Apparently, electrical "unit" here is kWh not Wh, TIL.

<comment><USER6> Well, kWh are the traditional unit for electrical power. (And yes, I know it is actually a unit of energy.)

</comment></comment></comment><comment><USER7> Why would the absolute amount of wind energy in India decline so steeply? I can understand a rapid decline in relative share of renewables but it looked like in absolute terms it fell off a cliff. That surely has to mean wind systems got decommissioned.

The decline in dam efficiency is not a new thing. Is it possible to remediate?

<comment><USER8> Wind generation is increasing year-over-year, you're just seeing a seasonal difference because the chart cuts off at February. Wind resource availability has a significant seasonal variation. Try comparing it to the same month a year earlier.

<comment><USER7> Thanks. I misread axes scaling and assumed multi year. Must look harder at charts.

</comment></comment></comment><comment><USER9> That's always sad to see people focused on _Energy_ when talking about electricty : the grid needs _Power_ not _Energy_. And since you can't realistically store electricity, these two are really different beasts. Renewable is OK at producing _Energy_ , which we don't really care about after a certain point, but it's terrible at producing a _reliable_ amount of _Power_ which is what we need.

More on that here : [https://bourrasque.info/articles/20180116-moulins-%C3%A0-ven...](https://bourrasque.info/articles/20180116-moulins-%C3%A0-vent) (in French though)

<comment><USER10> This is essentially incorrect. Renewables have predictable generation when deployed on a large scale, and gas peaker plants can respond to changes as needed. With the simplistic model of the article (nuclear + wind), it is easy to reach the wrong conclusion.

<comment><USER11> Really? In Australia we still see large wind and solar ramp events that are hard to forecast and predict even with some of the most modern weather forecasting approaches, these are solvable problems but I think calling renewables predictable is a bit hand-wavy IMO.

<comment><USER10> It's not about forecasting the weather: good gas peakers can respond in under 10 minutes. I meant predictable in the sense of day/night/season.

<comment><USER11> Gas is a good backup due to it's response rate yes but regarding renewable power generation, they are all about weather.

[http://www.hellogrid.com.au/energy- exchange/1117/](http://www.hellogrid.com.au/energy-exchange/1117/)

As solar utility scale sites become more common (and they are), a cloud growth can wipe 100s of MW off the grid very quickly and the problem is it is very hard to tell how much will get wiped off and when (measured in minutes).

Gas will be in the mix for longer than other fossil fuels due to its reaction time but as storage becomes cheaper and gas more expensive, it will be used less and less IMO.

<comment><USER9> Storage isn't physically doable in practice though, and it's not just a matter of cost at our current consumption level. We just don't have the natural ressources to build enough storage.

To illustrate, storage is already really cheap in practice thanks to Pumped- storage, we just have really sort supply of locations for such plants.</comment></comment></comment></comment></comment></comment>


ClojureScript: Externs Inference - <AUTHOR> https://gist.github.com/swannodette/4fc9ccc13f62c66456daf19c47692799 <comment><USER2> ELI5: ClojureScript uses an advanced Google Javascript compiler that eliminates dead code. To make that possible you have to be super careful about how you reference external javascript libraries in your code, because these will get sucked into the dead code elimination- Which is GOOD, because you want to remove all the unused gunk from your libraries, but it's also BAD because only advanced ClojureScript users could sometimes figure out how to reference a new library.

This "externs inference" feature is the first step into automating the importing of javascript libraries, in order to make the process easier.

<comment><USER3> It's not just for dead code elimination that externs are needed but also for identifier renaming (for minimisation).

This is a very welcome feature!</comment></comment>


Why is Barr going after Google? - <AUTHOR> https://www.bloomberg.com/opinion/articles/2020-07-07/google-antitrust-case-would-be-questionable-move-from-barr-doj <comment><USER2> Barr is trying to intimidate Google and tech in general, that is all. It will not work on Google but it might scare other tech companies, especially startups.

I think this part of the Republican strategy of trying to intimidate as many people as possible while the Republican party dies. The percentage of the population that the Republicans appeal to, is quickly shrinking and they need all little advantages they can stitch together.

</comment><comment><USER3> Same reason some people put Linux kernels on toasters: see if they can get away with it.

They'll equivocate about the correctness of their power to do so by law. We'll shrug and collectively accept "they got us there".

I mean the guy is on record stating history is written by the winners. He wants to be the one writing it.

Doesn't seem like pretending he's got some higher moral purpose here. His inner motives are on full display.

</comment><comment><USER4> Sometimes even a corrupt immoral puppet authoritarian inquisitor goes after a legitimate target. Stopped clock and all that.

The Borkian "consumer welfare" standard is judicial revisionist history.</comment>


Bitcoin as a public leger - <AUTHOR> http://erratasec.blogspot.com/2013/05/bitcoin-is-public-ledger.html#.Uaq4wrG9KK0

<comment><USER2> This was posted and somewhat heavily discussed yesterday: <https://news.ycombinator.com/item?id=5796935></comment>


Zero to Production in Rust #0: Foreword - <AUTHOR> https://www.lpalmieri.com/posts/2020-05-24-zero-to-production-0-foreword/ <comment><USER2> I look forward to reading this. It's hard to find good examples of production ready Rust codebases's.</comment>


Hacker movement gains visibility in Paris - <AUTHOR> http://openpicus.blogspot.it/2012/09/openpicus-sponsors-first-ouishare.html

<comment><USER2> 1\. What "hacker movement"? Do you think being a hacker is innately political?

2\. There is nothing about a "hacker movement" in the linked article. It seems you made it up.

</comment><comment><USER3> Weird title for a blog post showing an advertising flyer and... uh, that's it.</comment>


Hacker House in Palo Alto needs another hacker - <AUTHOR>

Hacker House is a house in Palo Alto where several YC startups live and work.
One of our roommates just moved out, and we've got space for one more! Rent is ~ $800/month.
Read more here: http://hackerhouse.bluwiki.com/
Contact sam dot odio at gmail dot com if you're interested. <comment><USER2> How much of the $800/month = proximity premium?

Or does $800/month only buy a room in Palo Alto?

<comment><USER3> $800/month for only a room in Palo Alto is actually a pretty good deal, depending on where the house is. :(

</comment></comment><comment><USER4> Hey dude, a hacker over here. Too bad about the hacker bailing on your hackhouse, are you having open hacking tryouts so I can hack your gibson before hacking my way into your heart? I'm email@example.com; hack back at me if you want to get together & hack!

Happy Hacking!

<comment><USER4> Hacks a lot for all the negative karma, hackers. Hack you, too. >:(</comment></comment>


Captain Crunch medical fund - <AUTHOR> https://www.gofundme.com/crunch-medical-fund <comment><USER2> shhh-beep-shhh-shhh-beep-beep-shhh-beep--pause-shhh-beep-beep-shhh-shhh-shhh- shhh-beep--pause-shhh-beep-beep-shhh-beep-shhh-beep-beep--pause-shhh-beep- beep-shhh-shhh-beep-shhh-beep--pause-shhh-shhh-beep-shhh-shhh-shhh-shhh-shhh-- pause-shhh-beep-beep-shhh-shhh-shhh-shhh-beep--pause-shhh-shhh-beep-shhh-shhh- shhh-shhh-shhh--pause-shhh-beep-beep-shhh-shhh-beep-shhh-shhh--pause-shhh- beep-beep-shhh-beep-beep-beep-beep--pause-shhh-beep-beep-shhh-beep-beep-beep- shhh--pause-shhh-beep-beep-shhh-shhh-shhh-shhh-beep--pause-shhh-beep-beep- beep-shhh-beep-shhh-shhh--pause-shhh-beep-beep-shhh-beep-shhh-shhh-beep-- pause-shhh-beep-beep-shhh-beep-beep-beep-beep--pause-shhh-beep-beep-shhh-beep- beep-beep-shhh--pause-shhh-shhh-beep-shhh-shhh-shhh-shhh-beep.

<comment><USER2> Probably more appropriate to the inventor of the telephone modem, but you get my point.</comment></comment>


Show HN: MyPastes, a quick way to share text b/t devices & people (via MHacks) - <AUTHOR> http://mypast.es/

<comment><USER2> Apparently, it could also be used for chat. <http://mypast.es/penn></comment>


Travis CI integrated into GitHub pull requests thanks to new Commit Status API - <AUTHOR> https://github.com/blog/1227-commit-status-api

<comment><USER2> I love this _a lot_ , but I would love this more if GitHub bought up Travis so I can do things like have Travis run on private repositories.

I'm really glad Travis has such awesome sponsors keeping them alive, but I think most paying customers of GitHub would be more than happy to pay an extra $5 a month or something to have priority queuing on Travis, and ability to run on private repos and such. With build checking brought in-house, I really don't know what else GitHub would be missing from the overall process of checking in code.

<comment><USER3> It looks like Travis has a "pro" edition coming, but the link goes to a placeholder page ATM

<http://about.travis-ci.org/docs/user/travis-pro/>

<comment><USER2> Oh, neat!

I think there is an aspect which I didn't mention of "Who do you trust with your code?" and GitHub has done well to earn the trust of lots of great companies, but I can certainly see IT managers getting a bit ancy at adding another point of confidentiality failure by looping in Travis as well.

<comment><USER3> Maybe "Enterprise" accounts could have VMs with FDE; Travis gives them a bare image that's then encrypted w/ a user-provided key, so (barring a hostile attack on the host's memory) only the user has access to their data.

Though the same users that want such a thing are likely also running (locally hosted) GitHub Enterprise, it'd make more sense to provide a similar option for Travis.

</comment></comment></comment></comment><comment><USER4> Great to see Travis supporting Pull Requests.

At Mozilla we've been using Bot.io for several of our Github projects (PDF.js, Firefox OS, Popcorn.js, etc) since mid-2011 to launch regression tests right from Pull Requests. It's fully customizeable (runs on Windows, Linux, Mac, etc), open source, and a breeze to install:

<http://github.com/arturadib/botio>

We'll likely be implementing the status API very soon. Let me know if I can help at @arturadib.

<comment><USER5> I think BuildHive (<https://buildhive.cloudbees.com/>) supports Pull Requests too. I'm using for my repositories, and I have an internal Jenkins server for private repositories.

<comment><USER6> Yes, they do: <https://github.com/jenkinsci/github-plugin/pull/17>

Kohsuke Kawaguchi (the creator of Jenkins) has added this API to his Java library for Github: [https://github.com/kohsuke/github- api/commit/892d2acaa2ca737...](https://github.com/kohsuke/github- api/commit/892d2acaa2ca737223c13b2c22705041eeca3917) So, it's just a matter of time until that trickles downstream to the plugin and BuildHive.

</comment></comment></comment><comment><USER7> For all who use Ruby and want to have great CI of private projects today, Semaphore (<https://semaphoreapp.com>) already implemented support for this awesome API: [http://renderedtext.com/blog/2012/09/04/semaphore- implements...](http://renderedtext.com/blog/2012/09/04/semaphore-implements- githubs-status-api-in-record-time/).

</comment><comment><USER8> CircleCI (www.circleci.com), which we use has similarly promised this functionality in the coming day.

</comment><comment> UK-AL The problem with github for business, is that you pay via the amount of repositories. You could have huge projects, or lots of small projects yet you still pay via the amount of repos you have.

This makes it impractical for certain types of business.</comment>


Should HN get a dark theme? - <AUTHOR> HN is my primary source for tech news. I'd love to have ability to toggle dark theme, and save my eyes a little bit. What are your thoughts? <comment><USER2> they should enable it as a bonus feature if you have at least 100 karma.</comment>


Bezos shares profanity-laced email from customer angry about Black Lives Matter - tech-historian https://www.businessinsider.com/jeff-bezos-instagram-angry-customer-email-black-lives-matter-support-2020-6 <comment><AUTHOR> The customer is a bigot, as evidenced by his use of racial epithets, but BLM has likely cost black lives by reducing enforcement, as explained in [https://www.city-journal.org/html/ferguson-effect- lives-1491...](https://www.city-journal.org/html/ferguson-effect- lives-14919.html) .

</comment><comment><USER2> As controversial and problematic as Bezos can be. This is a good take on a bad customer.

They can't always be right and sometimes need to be told how wrong they are before they hurt themselves.

I do hope there was a formal response from Amazon too, preferably one the form of confirming their intent to no longer use the service.

</comment><comment><USER3> Bezos might also want to defund the police to provide Amazon security services. If I had a corporate conglomerate that would be top priority.</comment>


Why User Experience Cannot Be Designed (2011) - <AUTHOR> http://www.smashingmagazine.com/2011/03/15/why-user-experience-cannot-be-designed/

<comment><USER2> I tend to find that UX is just a recent term for what use to be called art direction and interface design. I think it comes from the fact that so many IA pros can organize a complex website but can't hack a simple screen layout. By the way in graphic design circles the term "Experience Design" (XD) has gained a great deal of popularity: <http://en.wikipedia.org/wiki/Experience_design></comment>


If your CV only contains jQuery… - <AUTHOR> https://ayende.com/blog/183650-A/if-your-cv-only-contains-jquery <comment> FLUX-YOU What the fuck.

React/Angular is not that complicated to get started with. You can just teach them on the job and have an opportunity to teach them correctly. These frameworks aren't some high arcana that you need to take a sabbatical from the world and isolate yourself on a mountain village to learn.

I dove in and did reasonably well coming from exactly this person's background with no prior experience except for tutorials.

You basically responded with "We can't afford a single week and a pluralsight subscription".

>It indicates a lot about the candidate, including the ability to learn and develop oneself on your own.

Oh nice, let's just ignore 4 years of university + X years at the first job because that certainly indicates nothing about someone's learning and development.

Many compsci professors will be sad to learn that Github replaces their entire usefulness to society.

<comment><USER3> Would you mind not swearing?

<comment><USER4> Why the fuck would some goddamn swearing bother you, and more importantly, why would you try to get other sons of bitches from indulging in something so hecking wonderful? Frick!

</comment></comment></comment><comment><USER5> > but I'm certain that they will be able to find another position in a company > where their jQuery skills will be very valuable. However, I don't expect > that they'll learn anything new in that place, and in 3 years or so, if they > will be looking for a new job, they will be in the same exact same place.

As opposed to React or any other modern web stuff. Those skills will last a lifetime.

<comment><USER6> I mean, if you're at a company that's working in React, it's a decent sign they're at least keeping up with trends in development, and may be more likely to let you study and work on the next one when it comes along.

If you're still on jQuery at this point, with no effort to move off it, it's likely either a small project, or one with excessive tech debt, or one with no desire to modernize.

<comment><USER7> > it's likely either a small project, or one with excessive tech debt, or one > with no desire to modernize.

I disagree. JQuery and React are just tools. Using one or the other doesn't mean one has more tech debt or its a small project. You should use the one that gets the job done. By saying JQuery is 'bad' and React is 'good', the programmer fails to understand the purpose of the tool.

The question the programmer should ask is whether choosing one over the other has any advantage in that particular project. I program frontend reluctantly when needed because I am a backend programmer. But I would choose either tool depending on what is needed.

<comment><USER6> I would argue my assumptions (and I recognize that they're not always going to be true) are based specifically off of the nature of the tools in question. If you're a React shop, and you've recently and competently decided that it's the best tool for you, that's likely because you're building a large and modular app that includes data handling of the type that React is good at.

Unless jQuery has added a lot of features I'm not familiar with, it's not comparatively well-suited to larger and more modular projects like that. These days, it would mostly be used in projects that are small enough to not need the extra features from React, are bound to an architecture that makes implementing it hard, or has management/senior developers who prefer to stay with older tech.

It's not that one is bad and one is good. It's that they're specifically good at different things that tend to point to different styles of development and project scope.

<comment><USER8> I agree with your last point but have seen so much fad chasing that I wouldn't be so sure about the assertion that people using React have done that nuanced analysis. An awful lot of these comparisons come down to what whoever is leading the project wants on their resume, and I've seen a ton of small sites using huge frameworks because that person didn't want to learn a few bits of standard JS or CSS.

<comment><USER6> I'm not trying to say that most places do that analysis. I was just trying to frame it in the sense of "it's already been decided, and if you're wanting to work there, you have to hope it was done competently." It's far from that case that every project using React is all fad-chasing. Sometimes the new thing is actually good.

I agree with the lack of analysis portion being a common thing, but that's something you have to work out for yourself as a part of the process. It's not as if React is the only faddish tool over the years - I'm sure there are plenty of older projects that are only using jQuery because it was the new hotness. And even more that were initially done with jQuery, but would probably work better with React if it weren't for the Lead's disinclination to learn a new framework. There's plenty of fad chasing, but there's also plenty of bull-headed resistance to new tech.

The question of if React or jQuery or Vue or whatever is the best framework to use for a specific company or product is tangential to the question of if someone with only jQuery experience can be effective on a team with React as its core tech. The decisions have been made at that point.

<comment><USER8> Agreed on both directions: my position is that actually doing the analysis rather than going by gut instincts is less common than it should be for a field with pretenses of being a type of engineering. Cost analysis is especially big on that since most JS hype tends to be "3ns faster on this benchmark!" or "look at how easy this trivial task was!" rather than, say, development velocity on overhead on a non-trivial project over a year+ timeframe.

</comment></comment></comment></comment></comment></comment></comment><comment><USER9> "It appears that the first job the candidate had after university was maintaining and building an already existing application. "

First. This is the most difficult software to work on. Something already created, in production, you must learn what 'they were thinking', make modifications _AND_ not creating side effects. _Anyone_ , can take on a new project, google, and pick React. This statement shows a complete lack in software design experience.

Next. Maybe the person was working at a startup and the startup was stretched for cash. Maybe this person really believed in the idea and was trying to help the company survive and thrive. Rewriting everything from scratch is the worst thing you can do [documented by people with much more credibility [1]] -- so maybe this person put the company first and worked late nights finishing features.

Some people do not follow RBF software design principles [Resume build first]. But oh well, you learned React at some point through a web video, so _you_ are much more valuable employee: bullshit. I hope the person the OP hires, wastes work hours convincing others to convert everything to 'vue.js' and digs into why React was a bad choice.

[1] [https://www.joelonsoftware.com/2000/04/06/things-you- should-...](https://www.joelonsoftware.com/2000/04/06/things-you-should-never- do-part-i/)

</comment><comment><USER10> If the candidate's name were posted, this would be public shaming, plain and simple. If I were the applicant, heard nothing back, and read this blog post about my resume, I would be very emotionally upset.

It's hard enough to look for a job...

</comment><comment><USER11> This reads more like a no-hire report for @ayande than whoever they were interviewing. Turning a bunch of confidential interview notes into an article basically about yourself.. whoa.

The only meaningful tidbit is buried at the end: of course it's important to demonstrate a willingness to learn, and many people fail to demonstrate that time and time again.

<comment><USER12> > of course it's important to demonstrate a willingness to learn, and many > people fail to demonstrate that time and time again.

Fuck react. I have tried so many times to pick it up and run with it - <USER2> every time it just gets more confusing and absurd. I have _never_ come across a technology like this before, with such ridiculous & obscure surface area and changing implementation.

I mention this because to the casual observer (or hiring manager) it would appear as unwillingness. But the reality is: not everything can be learned equally. some people _get_ react in a way they've never gotten anything else before. I get that, because that's what Rails is for me.

People have limits - React is one of mine. Which is unfortunate given its popularity.

<comment><USER13> > People have limits - React is one of mine. Which is unfortunate given its > popularity.

If you define those limits and don't get turned down _before_ the interview you can articulate that in the interview.

</comment></comment></comment><comment><USER14> Wow, what kind of public shaming is going on here. I doubt the candidate would even wanna work for this company - if that post reflects how they treat and talk about folks internally, the candidate dodged a bullet.

<comment><USER15> Ha, my thoughts exactly. Agree with the author at the end though, but this reads like a cringy mystery thriller "he put clue of only jQuery on his resume, I decided to investigate further to this strange mystery of the CV...".

In all seriousness, everyone starts somewhere. I have seen people with zero experience in a technology become complete beasts in months with a little direction and help - even better (or just as good) than someone with a good amount of experience. You find the right person willing to learn, it's a bargain.

</comment></comment><comment><USER16> Shaming applicants publicly on your blog - not classy. I've no doubt this will deter many otherwise skilled candidates from ever applying to work with you, and it opens you to potential liability besides. (If you don't understand this last part: stop hiring immediately until you do.)

So here's some free advice: don't talk about individual candidates publicly, not even anonymously, and especially not in such a negative way. It's in extremely bad taste, and you have nothing whatsoever to gain from it.

</comment><comment><USER17> Really ? So if you don't know React your entire client side knowledge is automatically useless ? What kind thinking is this ?

Those guys must hire by keywords.

<comment><USER12> Been doing html/css/js for 8-10 years; but because I don't know react or angular I apparently have no frontend experience when talking with recruiters.

<comment><USER18> Is it fair or rational? Probably not. I'm no front e d maestro and the limit of my front end skills is html/JS/css + Jquery/HandlebarsJS and Bootstrap.

No one would ever hire me for my front end skills.

But the market has spoken. It's on my agenda to learn at least one front end framework. ASP.Net MVC isn't going to cut it in today's market.

</comment></comment></comment><comment><USER19> Albeit a bit strange, it's still ignoring the fact that jQuery is good enough for most of things people do anyways.

</comment><comment><USER20> I don't understand this article, the author is public shaming people, but doesn't him/herself seem to understand what a full stack developer is.

Also, if he does html, css, jquery and ajax and you'd be ok with hiring an angular dev... then why not hire the guy who actually knows JavaScript?

</comment><comment><USER21> > I mean, <table> is still how you properly layout things today, as far as I'm > concerned. However, in a rare moment of self reflection, I have to admit > that I wouldn't hire myself to do anything related to the browser.

Extend the moment of self-reflection and ask yourself if you're in a position to give out advice on hiring _others_.

(For candidates, the implied advice — latch on to buzzwords and be insincere about your actual knowledge — is unfortunately effective in many places, of course.)

</comment><comment><USER22> This is stupid. If you are a react shop and you would have been ok to see some Angular on the CV, then you are clearly expecting the new hire to do some learning on the job. Why not try to figure out if this candidate is up to the task of learning your framework?

Also I tend not to put technologies on my CV unless I have done something more substantial than online classes and tutorials. I don't want to have to answer an interview question about "what's your experience with Foo?" with "oh just some tutorials..." . That would cast doubt on the rest of my experience. Ask the candidate if they have experience in any frameworks and they might surprise you and say that they have been learning one in their spare time.

<comment><USER23> Agreed, I dip my toes in a lot of things but would never consider putting them on my resume unless I have at least a substantial project that I can talk about in depth.

</comment></comment><comment><USER24> I think jQuery gets a bad name because of it's historical context. Newer devs in the field view it as outdated and seasoned devs have seen the mess it can lead to when just sprinkled in here and there for this and that reason; and as frontend work became increasingly more programmatic and complex, this sort of approach becomes pretty hard to maintain.

Because frameworks/libraries like Angular and React were largely adopted due to this issue, people who have had success with them (or just need to justify the switch), have come to see these as part of the solution and jQuery as part of the problem.

If you're an interviewer who only sees jQuery on an application, you can use this as a chance to get to see what the candidate thinks about the evolution of web development. See if they can have a reasonable discussion about trade- offs made on choosing one over the other. This will expose their critical thinking skills and values as a developer and you may even get a new perspective yourself. To be honest, I'd rather work with someone who could have this discussion rather than just blindly adopt what everyone else is using ... well ... just because.

</comment><comment><USER25> I'd never turn an application down automatically just because the candidate didn't list the javascript framework of the month in their CV.

In my job -where I'm not in HR- I've seen plenty of candidates with hundreds of skills listed in their LinkedIn profile, only to find out later, when they were hired, their complete lack of understanding of the most basic principles related to the field we're working on.

</comment><comment><USER26> The only thing I could think about when I read this post was this classic tweet:

[https://twitter.com/wesbos/status/598144948559605760](https://twitter.com/wesbos/status/598144948559605760)

</comment><comment><USER27> this article contains all that's wrong with the current hiring managers condensed, except unironically.

from the elitist attitude who jumped the fence off development and pretends to measure a cv with, by his own admission, outdated knowledge

then there's the shaming of a guy that's just entered the workforce (because three years are very little all considered, whatever the ba tries to make you believe) for not being skilled enough in more than the basics, pretending someone to have experience in dozen advanced frameworks even if it's likely to be out of place for a junior to start working react/angular off the bat.

there's that shitty management attitude too of "we don't train people here only leverage existing knowledge" which smells of a very very bad workplace environment to be, sold as if it were a plus

and the icing on the cake: "I would expect the candidate at this point to actively work at improving their skills." \- jesus, you can feel the privilege oozing out of the paragraphs.

<comment><USER28> > there's that shitty management attitude too of "we don't train people here > only leverage existing knowledge"

It seems to me that people switch jobs frequently. There's no sense in training people if they leave before your investment in training pays off. Why wouldn't you want to profit from the fact that people _can_ educate themselves on programming skills?

You brought up privilege, but a good and friendly workplace environment _is_ only for the privileged. Potential workers are everywhere, but employment is scarce. There's no business incentive to bend over for your workers when you don't have to.

<comment><USER29> > It seems to me that people switch jobs frequently. There's no sense in > training people if they leave before your investment in training pays off.

This is exactly why golden handcuffs exist.

> Potential workers are everywhere, but employment is scarce.

It's not 2009 anymore. U-5 (unemployed + discouraged workers + marginally attached workers) is currently less than 5%. The last time it was that low was Dec 2000. That's all workers of any type. The market for programmers is even tighter still.

</comment></comment></comment><comment><USER30> This is bullshit. Hiring by keywords and hype? How about actually ship software that actually works. Unbelievable. [http://mir.aculo.us/2015/08/25/how-to-actually-ship- software...](http://mir.aculo.us/2015/08/25/how-to-actually-ship-software- that-actually-works/)

</comment><comment><USER31> The article describes the perfect recipe for hiring the same type of a person for every open role.

</comment><comment><USER32> With the mentioned tools, you can build a fantastic and bloat-less website. Like HackerNews. The person who sent that CV could build the HackerNews frontend.

It all depends on what your goals are: Do you want a modern, bloated, ugly, generic, JavaScript framework heavy site or do you want to put actual content out there in a beautiful, professional and minimalist manner? Your choice.

<comment><USER12> I like that modern = bloated, ugly, generic javascript; and professional = beautiful, minimalist. And agree!

I consider it unprofessional to rubber stamp SPA as an approach. Yes, it's "modern" but often overkill. I am all about choosing the right tool/approach for the job. 9 times out of 10, that means HTML/CSS and a sprinkling of JS. For all other times, there's SPA.</comment></comment>


First indie game created for the Kindle - <AUTHOR> http://www.lostgarden.com/2010/10/triple-town-released-for-amazon-kindle.html

<comment><AUTHOR> I thought this was a good explanation of the design constraints and their motivation for using that platform.</comment>


IOS Dev Doing Android, Best Device to Dev For? - <AUTHOR>

I'm an iOS developer with an app about to launch in the iTunes App Store. Going to be building an Android version of the same app next, but I have no experience using or dev'ing Android at all.
I plan to get a used no-contract device in order to start understanding the platform.
What would HN'ers suggest as a good representative device that a typical 25-45 yr old Android user might have? <comment><USER2> A relatively recent Nexus device is a good proposition, Google are pretty good at providing the latest OS revisions on the devices and if needed you can flash it to older versions of the OS.

[https://developers.google.com/android/nexus/images](https://developers.google.com/android/nexus/images)

</comment><comment><USER3> I'd just download the SDK toolkit, it's got a decent emulator that supports host-GPU acceleration and you can at least get your feet wet.

A typical 25-45 year old Android user is a pretty wide open space dude. I have a HTC OneS but I also had to buy it out of contract.

</comment><comment><USER4> There are two parts to the answer:

1\. Get a device because you will need one for debugging. Some things can't be debugged in the emulator. The easy thing is to buy a Nexus 4 in the Play store. That's a great price for a really nice device. If you have the money, get a 10" tablet, too. Asus tablets are very nice.

2\. Understand that no device is adequately representative of the devices you want to target. So don't assume anything about screen size or density, and don't assume that if it looks good on your device, you are done. Make lots of emulator configurations. Make very large screen configurations. Rotate the screens. Change the font size preference. You would be surprised how easy it is to break apps by changing the font size.

What you will learn form this is that you can't make a separate layout for every device. Don't try. Don't limit the user. Let them change screen orientation. Let them change font size. Let them run your app on a 22" landscape mode display connected to the HDMI port.</comment>


New election systems use vulnerable software, Windows 7 - <AUTHOR> https://www.apnews.com/e5e070c31f3c497fa9e6875f426ccde1 <comment><USER2> I don't like how the article implies that if these systems passed some "cybersecurity verification", they'd be safe against a nation-state attacker, or internal sabotage.

<comment><USER3> Frankly, low-tech systems with more human involvement and cross-checks are much safer in this regard, because if the sheer amount of natural intelligence involved (and the amount of corruption required to interfere). This is why they are also slow and expensive.

<comment><USER2> > This is why they are also slow and expensive.

They're not all that expensive - data is inconclusive, but looks like they're anywhere from twice as expensive as e-voting [1] to cheaper [2].

And they're not all that slow either - only takes about two days to get results, about a week to make them official. Which is much, _much_ faster than necessary, since the time it takes to form a coalition, or take over governing, is longer.

So it's entirely unclear what problem e-voting is meant to solve, other than enriching voting machine vendors.

[1] [https://www.researchgate.net/publication/327977453_How_Much_...](https://www.researchgate.net/publication/327977453_How_Much_Does_an_e- Vote_Cost_Cost_Comparison_per_Vote_in_Multichannel_Elections_in_Estonia)

[2] [https://www.wired.com/2008/04/the-cost-of- e-v/](https://www.wired.com/2008/04/the-cost-of-e-v/)

<comment><USER4> The problem, at least what I remember, was that each state had a different voting style. Some had punches, some had squares you filled in by hand. The chance to make mistakes and the like was there (crossing out a square or double punching) and some voting booths/voting locations only allow straight votes (all x or y party only). Voting machines were designed to make those mistakes/situations less likely.

</comment></comment></comment></comment><comment><USER5> In Sweden all votes are done manually, on papers. To me It's the only thing that makes sense.

There's a lot of people involved in doing this though, as everything is counted several times until all numbers add up. And the numbers are public information so anyone could verify.

</comment><comment><USER6> Per usual, here's the video from Computerphile on why digital election systems are a terrible, terrible idea:

[https://youtu.be/w3_0x6oaDmI](https://youtu.be/w3_0x6oaDmI)</comment>


Stackable Traits Pattern in Scala - <AUTHOR> https://code.sahebmotiani.com/patterns-in-scala-101-5d0fa70aaf3f#.1d15x2akq <comment><USER2> I like the way Scala solves the problem with multiple inheritance as described in [https://fuhm.net/super-harmful/](https://fuhm.net/super-harmful/) : multiple inheritance is allowed, but only classes (not traits) may have constructors, and a class may only have one parent class (i.e. only one parent with a constructor).

For my part I still prefer composition over inheritance and prefer to do composition "by hand" (i.e. explicit members and delegation) where necessary; I wouldn't use this style at all. But Scala's great strength (and great weakness) is that it has absolutely first-class support for traditional OO like this as well as all the functional stuff.

<comment><USER3> Could you expand on why you would say having support for traditional OO is a great weakness?

<comment><USER2> It means there's a diversity of Scala styles; one person's Scala won't necessarily look like someone else's. More concretely it causes a lot of problems for type inference (particularly when ADTs in Scala are modeled as traits with implementing classes, so e.g. the type of Some(x) ends up as Some rather than Option). Other ML family languages that don't have traditional OO inheritance generally have perfect type inference (at least in the absence of higher kinds) via Hindley-Milner.

<comment><USER4> Practical type inference for Hindley-Milner-style languages with higher kinds is not a problem, see e.g. [1]. The problem is adding sub-typing.

I'm also not 100% sure it's correct to say that ML-style languages have no problem with type-inference. I'm sure Robin Milner would have preferred having full, unrestricted parametric polymorphism (i.e. System F) in ML. Alas System F has undecidable type inference [2]. Hindley-Milner is a restriction of full parametric polymorphism that enjoys type inference, and is expressive enough to type many programs. BC Pierce says that the Hindley-Milner "has hit a sweetspot". I concur.

[1] M. P. Jones, A system of constructor classes: overloading and implicit higher-order polymorphism. [http://www.cs.tufts.edu/comp/150GIT/archive/mark- jones/fpca9...](http://www.cs.tufts.edu/comp/150GIT/archive/mark- jones/fpca93.pdf)

[2] J. B. Wells, Typability and type checking in System F are equivalent and undecidable. [http://www.macs.hw.ac.uk/~jbw/papers/f-undecidable- APAL.ps.g...](http://www.macs.hw.ac.uk/~jbw/papers/f-undecidable-APAL.ps.gz)

</comment></comment></comment></comment><comment><USER5> > The example is based on characters of Game of Thrones, to make understanding > concepts less boring.

For those of us who don't know anything about Game of Thrones, and can't pronounce Elvish names, the example in this article reads like:

Flarg → Twipptch → Glorp → Boop → Fwyxnth → AnyRef → Any

So instead of being less boring, I have to use a decoder ring to figure out what's going on here.

<comment><AUTHOR> I agree to your point, but was it that difficult to decode or follow till the end? You think A, B, C, D would have been better? Or something more logical names to everyone

<comment><USER5> No, it wasn't impossible to follow, but the extra layer of indirection made me jump back to the top a few times to make sure I had everything straight.

        //Legacy
        abstract class Lannister

        //Father
        trait Tywin extends Lannister

could have just been:

        abstract class Family

        trait Father extends Family

Otherwise, I appreciate the article - it was informative.

<comment><AUTHOR> Thanks, got your point, will keep it more simple and generic next time :)

</comment></comment></comment></comment><comment><USER6> I think that it does not make sense that Jamie extends Tywin etc. This is not "is a" relation.

<comment><AUTHOR> traits in Scala doesn't always have to be in a "is a" relationship. If it makes you understand then think of them as adding behavior/mixins. And about why the syntax confused you, the first "with" trait has to be extended, if it could replace extends with "with" in case of traits then maybe you would have liked it better.

<comment><USER6> Trait in scala represents interface (your type understands some message) or "is a" relation (your type is more specific specialization of type). In your example it is not the case (Tywin is Jamie's father, which should be solved by composition). I do not think that Tywin, Jamie etc. is separate type. In my opinion, those are instances of some type. It is not good practise to call super implementation of method either. You are mixing inheritance and overriding, which in more complex programs always cause trouble (you may break inherited method by changing super implementation). You should solve this by composition (Jamie should not inherit Tywin addToDebt but should depend on Tywin for paying his depts).

I understand what you wanted to show but your example is really confusing and definitely is not correct.

<comment><AUTHOR> I agree its not a real life example :) It was never meant to be. And definitely there is some better approach to implement the same hierarchy.

</comment></comment></comment></comment><comment><USER7> This seems like more of an antipattern to me. If you have to be thinking about linearization order, your hierarchy is probably too complex.

<comment><USER8> I think the point is that if the hierarchy is complex enough that you have to think about it it's simple enough to figure. The cases presented are obviously over complex to describe the behavior.

<comment><AUTHOR> Maybe to make it more interesting, it turned out to complex as you are saying. But idea was not to use A, B, C etc. Will try to come up with something different next time.

</comment></comment></comment><comment><USER9> Alternate view:

[https://en.wikipedia.org/wiki/Composition_over_inheritance](https://en.wikipedia.org/wiki/Composition_over_inheritance)

<comment><USER10> This sort of _is_ composition. It's like a static version of the Decorator pattern. Here's a vaguely realistic example:

[http://blog.ryannedolan.info/2014/03/scala-pattern- stackable...](http://blog.ryannedolan.info/2014/03/scala-pattern-stackable- traits.html)

<comment><USER9> Not really, at all. Order the traits differently and you can get different behavior. Inherit one subtrait vs another and you can get different behavior. You can reason about all of this, but I'm not that smart, so I prefer composition.

Composition locks away the behavior you want so that you know exactly what you're getting.

<comment><USER10> I don't get it. If you're decorating, then ordering the decorators differently gets you different behaviour. It's exactly the same.

Indeed, you could write a straightforward mechanical method to convert any trait stacking into a decoration.

<comment><USER9> Yeah -- I'm arguing for composition because it's harder to screw up, at the cost of being less pretty. The manner and order in which composed objects are delegated to is crystal clear if you're wiring them yourself (or with your IDE). I've seen some messy, confusing code involving traits and just slapping 'with Thingy' 10 times in a row. The phrase 'emergent behavior' is how I would best describe it.</comment></comment></comment></comment></comment>


A Kickstarter to improve spacex video retransmission - <AUTHOR> Let's start a Kickstarter to improve the video quality for spacex launches.
It could be anything: From providing reliable satellite feed to launching a small rocket-mounted camera preceding the rocket in the firsts instants of the launch.
That would greatly enhance the fun factor of the videos and make more people interested in space again.
And that's a Good Thing, right?
Who's in? <comment><USER2> There is a -100% probability that they will authorize someone else to launch a small camera rocket preceding the main rocket.

There is already a big exclusion zone for planes. If a screw or nut fall from the leading rocket and hit the main rocket, it's a recipe for a disaster. And ...

<comment><AUTHOR> Any other idea, then? Maybe a powerful propeller drone with a good climbing speed?</comment></comment>


Facebook IPO likely after late 2012: board member - <AUTHOR> http://www.reuters.com/article/idUSTRE68Q5HF20100928 <comment><USER2> Wonder if it'll be just another myspace or bebo by then? Certain to have a new competitor not even dreamt of yet perhaps?

</comment><comment><USER3> On the one hand with the momentum Facebook has, and the market's hunger for a great tech IPO I think they're nuts not to be rolling out sooner than later.

On the other hand if they're pointing to 2012 they must have big things in store over the next 18 months for revenue generation - going to be interesting.

<comment><USER2> I guess by 2012 the markets will have sorted out any double dip potential too.

I'm always amazed how many major brands don't advertise through facebook. At some point they will. I guess that's when they'll make their money.</comment></comment>


How can an undergrad programmer make money over winter break? - <AUTHOR>

Hi, I'm a student at a big flagship state school, studying math and computer science. I can program in Ruby, Java, and C with great proficiency, with C being my strongest, Ruby next, but Java I spent the most time with of the three.
Anyways, I'm in an LDR and so I'm spending winter break (December 19 to January 23) with my SO in Florida, specifically Ft. Lauderdale/Davie because I never learned how to drive (personally I find metro/walking to be more conducive to reading/thinking)
I plan on working on a social network just for fun because I've always wanted to get into pure HTML/CSS/JavaScript web design/development without bullshit templates and stuff, but I was wondering how I can support myself and not be a leech over winter break so I don't deplete all my savings. I am open to ideas, and any input from people in similar positions (programmers who wanted to stay nimble while making money) or anyone in FLL who needs a programmer for a month, definitely PM me or just reply to this thread.
I really enjoy problem solving, and even if it takes me a long time to arrive at a solution, I generally keep at it until I'm satisfied with what I've come up with.
Thanks. <comment><USER2> Have you tried any of the freelance sites (oDesk, Elance, Guru, etc.)?

My two concerns would be the rate and the amount of time it takes to become somewhat established on these sites, but I believe some flexibility on the rate--which wouldn't seem unreasonable given the situation you describe--could help there (and my understanding is that some developers can raise their rates there to something approaching professional levels, with experience).

<comment><USER3> Also check out [http://gun.io](http://gun.io) which has some short-term gigs.

<comment><USER4> Much love :)

</comment></comment></comment><comment><USER5> I don't have the answers that you seek, but you can find out how to format HN posts here (it doesn't support
 tags).

[https://news.ycombinator.com/formatdoc](https://news.ycombinator.com/formatdoc)

Also, HN doesn't have private messaging, so you need to add contact info to the about section on your user profile.

[https://news.ycombinator.com/user?id=ULAM_SPIRAL_OMG](https://news.ycombinator.com/user?id=ULAM_SPIRAL_OMG)

</comment><comment><USER6> You're probably not going to find a temporary programming job where you make appreciably more money than unrelated work so I would suggest finding a job where you're going to meet a lot of people around your age in a similar situation and kick around ideas for projects to do together. Never know what might come of it and the lessons you'll learn from trying to actually build a product will be invaluable.

</comment><comment><USER7> Good luck with your plan. My advice on the subject of side programming gigs, is to start now.

I've found, when doing any kind of freelance work, that things generally ramp up slowly and steadily over time through referrals, new leads and whatnot. So if you want to have a reasonable amount of work to do over winter break, start getting out there and finding leads as soon as possible.

</comment><comment><USER8> \- Freelancing (Elance, Freelance.com, Freelancer.com, Guru, oDesk)</comment>


Ask HN: How to raise money for a Covid 19 WhatsApp Chatbot? - <AUTHOR> I'm currently trying to build a Whatsapp based chatbot to provide food and basic necessities to the people under quarantine in Kerala, India.
Most people in Kerala who owns a smartphone has access to Whatsapp so a bot to provide authentic news, and to request food and ambulace would be of paramount importance.
Raising money from the government for a bot is really hard, so is there any way to raise the necessary funds for this project ?
All ideas, links to grants are all welcome. <comment><USER2> [https://wefunder.com/fight-the-virus](https://wefunder.com/fight-the-virus) started a new program. I think their goal is (eventually) profitable startups and what you describe would likely need a business model.

With so many app/web developers trying to help on local and global level you effectively compete with volunteers (people working for free).</comment>


San Francisco Sends Problematic Gross Receipts Tax to November Ballot - <AUTHOR> http://taxfoundation.org/blog/san-francisco-sends-problematic-gross-receipts-tax-november-ballot

<comment><AUTHOR> I still have no idea why SF went with a gross receipts tax vs. an income tax. I don't like paying taxes, but an SF-specific income tax (business and personal, including people who commute in) does seem a lot more fair than either payroll or gross receipts.

The argument against income tax is that it's hard to administer, but in SF, they can just piggyback off the free tax returns from US IRS and CA FTB. To make the correct income, it could probably be something like 0.1% or less.

This is surprising because the proponents of this tax (SF.Citi, Ron Conway et al) are really smart.

(One of the only bad things about Washington State is the B&O tax, which I also think should be replaced with another form of tax making at least the same revenue, although at the state level, there's an argument about collection and administration cost. Still, they can just piggyback on the federal returns, or even better, just raise sales and property tax, or other inexpensive to collect taxes.)</comment>


Locations I've been... - <AUTHOR> http://diplodoc.us/loclog/demo3/

<comment><USER2> Woah! 90 bucks for the App? Cool idea, but I'll pass.

<comment><AUTHOR> Niche Apps must by priced accordingly.</comment></comment>


Ask HN: What are must know DBA concepts for developers? - <AUTHOR> Could you tag your responses as beginner/intermediate/advanced concepts? <comment><USER2> Understand ACID and the isolation levels available in your database server.

Understand transactions.

Read an explain plan and understand basic indexing.

Test recovery of your server and implement a standby/ failover.

Understand the pros and cons of where to put the logic of the application (db objects, stored proc, backend services, ui etc).

Understand the pros and cons of using an orm and how you might tune or scale an app using one.

<comment><USER3> Do you have any pointers as to where one might learn more about the topics you mentioned? I'd be interested in reading more about #5 in particular

<comment><USER2> One of the problems is that people will give different answers depending on their expertise and there are very few people who have deep knowledge of database development and backend development and supporting large production systems because in the larger enterprise organizations people tend to specialise. I have around 20 years experience using Oracle database and can kind of translate that to other database servers e.g. postgres, sql server etc. I have a bit of knowledge of writing services in c#, ruby or java. Previously I would have advocated putting all the logic into the database but I'm starting to realise some of the compromises involved.

Reading the Oracle or postgres documentation gives a lot of information about the internals, tuning, acid etc although it can be a bit dry...

<comment><USER3> That's an interesting perspective. Coming from a background of primarily developing backend services and using databases as a necessary tool, I usually approach it the other way and steer clear of stored procedures, triggers and the like. I guess it's also a matter of using the tools that you're most comfortable with.

<comment><USER2> Of course. At least in the UK and probably elsewhere large businesses, banks, government etc often have a large centralized systems based on a single or set of relational databases. A lot of the logic was controlled on the database either by constraints/checks etc or stored procedure access so it didn't have to to be replicated across the many disparate systems which connect to it. This is slowly changing, very slowly in some cases!

I can understand why that might be a surprise if you've been working for <10 years and mainly on new SAAS style products.

</comment></comment></comment></comment></comment><comment><USER4> On the deployment side of things...

Many developers don't get the concept of deploying a patch. They envision a script for each DB object stored in source control. Mimicking the the Java class files for all their objects. That's fine for code which can be re-built from scratch. But you can't re-build your DB, it must be patched to preserve the precious data.

It works fine for DB release #1. But when DB release #2 comes around there's no way to deploy the DB changes. Special diff tools are brought in to generate the patch. The auto generated patch drops a column.. ooops.

</comment><comment><USER5> intermediate/advanced

Know that most databases can spit out a "worst performing queries" and "overall most expensive" reports. The method varies per engine. Always illuminating, and usually not the queries you were expecting.

Know how to turn logging on/off and where the logs go.

Know there are a bunch of system tables that keep data about all your tables in it in most engines, information_schema tables. Rows, size, columns, etc. These are actually defined in the SQL spec, but various SQL vendors have even more available, e.g. there's a load of extra stored procedures in SQL Server.

Be able to generate and read a query plan report for your engine, which will tell you what's causing a slow query.</comment>


Ask HN: Which startups have flexible vacations policy? - <AUTHOR>

Meaning that vacations are not tracked but also not guaranteed. I'm not judging whether that is good or bad, but just want to understand how many startups are practicing this new approach. <comment><USER2> We have always had unlimited vacations at NewsCred and have never had anyone abuse it. We are approx 20 people now. People love it.

<comment><USER3> May I ask you what is an average vacation time per year in your company?

<comment><USER2> Honestly I don't know. I would guess it's slightly under the average at most companies. Cetainly less than 20 days as an average. But we've had people take a month and work in Thailand which is not counted as vacation. So this is not some scheme to get people to work more. It's simply offering flexibility and empowering our team to make their own choices.</comment></comment></comment>


The New Graveyards of Free Speech - <AUTHOR> https://spectator.org/the-new-graveyards-of-free-speech/ <comment><USER2> This article makes a pretense of balance. It does acknowledge the tension between ownership and free speech:

"the conversation around censorship (especially in regard to Big Tech) pits two important ideological tenets of standard conservatism against each other: the right of private companies to operate as they please and the necessity for absolute freedom of speech in the political sphere."

But it goes on to totally ignore the property rights side of the tension in favor of what it refers to as "absolute freedom of speech in the political sphere".

The author (or more clearly the seminar reported on, would have done well to consider a couple of things.

First, the very recent SCOTUS decision about property rights and (essentially) the platform owner not having to pay for your dumb FREEDOM OF SPEACH.

Second, the history of forcing platforms to "be fair" or "carry opposing opinions" or whatever you want to call it. The USA got rid of the Fairness Doctrine in the 80s. Collectively, we decided to put property rights first, and free speech second. Arguably, this led to the overwhelming prevalence of conservative talk radio and Fox News. That's the kind of viewpoints that platform owners wanted to put out there, I guess.

I have a certain amount of sympathy with the Heritage Foundation on this issue: I'm not a platform owner. My kind of opinions aren't very well represented in mass media today. But until the American Spectator and Heritage Foundation deal with having backed eliminating non-conservative viewpoints during the 80s and 90s broadcast media consolidation, and now wanting guaranteed access to consolidated internet media, and using two reasons that are in tension with each other, they will just look like they're advocating for conservative opinion affirmative action.</comment>