Why Programmers are NOT Engineers (and that's a good thing)
===========================================================
1. Engineers design and build the same types of things over and over again, from principles that have been developed, tested and put into practice over, literally, thousands of years. These principles are rarely expanded upon, and only after careful testing and proven performance. Programmers on the other hand consider building the same thing over and over again to fall in one of three categories (1) stupidity (2) ignorance or (3) market failure.
2. If an engineer builds two bridges of exactly the same specification, the cost of building the second bridge will be reasonably close to the cost of building the first one (technological advances and inflation not withstanding). If a programmer writes a useful program, and wants to share it with his friends and family, the cost of each additional copy of the program is fairly close to zero. Unlike the engineer building a second or third bridge, there is no need or reason for the programmer to create another copy of the software by designing, writing the code and compiling a second or third time.
3. Following on from (1) and (2) above, an engineer designs blueprints that describe _exactly_ how the structure is to be built, but a programmer usually has no idea how the program is to be built, because if s/he did know, then it means someone has built this before, and therefore there is no reason to build it again, because the marginal cost of copying a previous design is zero. This tends to make the best programmers experimentalists (because the risk is small) and plagiarists (because the cost of copying existing designs is zero), and the worst programmers are those that think like engineers. Conversely, experimentation in engineering is discouraged, especially on things like bridges, because it is costly and dangerous.
4. But what about the domain known as computer security? Shouldn't security be 'engineered'? Yeah, good luck with that. People who crack computer security are nimble experimentalists. Because the cost of experimentation is so low, security cracking tends to be a never ending series of probes until a weakness is found. Protecting against that approach cannot be 'engineered', because the engineering process is one in which you plan for every known contingency. But if you knew every possible contingency, there would be no security issues, because they would all be covered off.
Sorry, the above is a bit rough. I'm still refining my ideas on the topic. Feedback welcomed.
First of all, you need to distinguish between content that is illegal and that which infringes copyright. Child pornography is illegal, copyright infringement depends on legal jurisdiction. There is no such thing as pirated media, that is specious nonsense made up by the marketing department of some media association.
In some jurisdictions, it is permissible under copyright law to make a backup of media that you own, and in others it is not. If you were to host the service in the latter jurisdiction, you may have an issue, if the former, probably not.
If you were to encrypt the files when storing them, and decrypt only when a user has been authenticated, that would be a strong argument against claims of copyright infringement, but adds a technical hurdle to your application.
At any rate, IANAL, so seek professional advice if your finances permit.
I'm recruiting at the moment. Having just gone through 153 resumes in a week, and 4 phone interviews so far, there are a number of things that will get you to the top of the resume list, the top of the interview list and the job.
As a potential employer, in my mind I am really asking myself the following of any candidate.
1. Is this person the solution to my problems, or another problem to add to my long list of problems? Or, will this person make my workload lighter, or heavier?
2. Does this person really want to work in this capacity, in this industry, doing these types of tasks? Or, are they desperate for work, and will use me as a stepping stone to another position and in 6 months I am back looking at 153 resumes again?
3. Does this person think first, and ask questions later, or the other way around? Questions that could have been answered with just a tiny bit of thinking are part of my list of problems. Great questions, honed to the crux of the issue, after thought and research are actually beneficial for me and the person asking, as they are opportunities to not only fix things, but improve the end solution as well.
Following on from this, if I were you I would redo your resume AND your interview technique with the above in mind. Your potential employer is a potential client of yours, and you are a micro business of one person. You need to convince your potential client that YOU are the solution to their problem(s), not another problem sucking down a paycheck.
How do you do this? Personally, I would recommend listing 2 or 3 problems you solved in each of your last positions. Being self-employed/contractor is no different to being employed. You are a small business, hired by your client to solve problems. So list them. If there are disclosure or confidentiality concerns, make your description of the problem and solution very high level.
I know this will probably sound strange, particularly in this particular forum, but nobody really cares what you KNOW, they care about what you can DO. When I read your story about getting 895/900 in the Security+ exam, what it tells me is that you can learn complex subjects in a short time frame. The mark is irrelevant to me, you might just have a very good memory. The REAL question I need answering, is can you put that knowledge to practical use. Will you protect my company's network like it was your first born child? Or will you take advantage of the fact that I don't really understand what it is you do and do nothing all day leaving my business at risk?
It's not easy for technical people to do this, but you need to put yourself in your potential employer's shoes for a minute. Imagine YOU own your own company, and you need a network guy to solve your security problems. You need this person to be capable, competent,responsible and reliable. You need to know that they wont leave you hanging in 6 months because this wasn't what they really wanted to do, and they flit off to something else. How can you be THAT guy?
Inflation is extremely harmful in the long term. Deflation is harmful in the short term. When you get a deflationary spiral, the shock to the economic system is sharp and sudden, and causes political/social unrest, economic upheaval, capital flight and sometimes horrendous wars.
Inflation on the other hand, in the long term, guarantees bifurcation of rich and poor (wealth disparity). The reason for this is fairly simple. The poor spend between 100 and 110 percent of their disposable income, and they spend it on consumption. The rich, on the other hand, invest at least 10 percent of their disposable income in some kind of asset, either fixed assets or financial assets. Assets can then be used as collateral against loans which are used to purchase more assets. Inflation erodes the real value of the loan i.e. the nominal principal of the loan does not inflate, but it's real value deflates with inflation. Thus, inflation is a virtuous circle of asset ownership, which gives access to credit, which both increases assets owned, and whose liability decreases with inflation.
To put it another way, never ending inflation is a transfer mechanism of wealth from the poor to the rich. Once the poor realise this, they demand a political solution. The political solution inevitably involves increasing taxes on the middle class (the rich don't pay taxes), to pay for social welfare programs (i.e. free money). In this way, inflation not only transfers wealth from the poor to the rich, it also indirectly destroys the middle class by crushing them with a punitive tax burden to placate the poor.
Intrest rates generally take into account inflation (the rate should be greater than anticipated inflation as part of risk) unless there is a consumption deficit (e.g. China can't use all the dollars it earns without overhearing their own economy so it lends them back to the US at a small loss; the US's role as debtor of last resort is what makes the dollar appealing as a reserve currency).
If you have savings and investments, inflation puts pressure on you to make them perform, otherwise you are losing money; it works like a capital tax in that regard. You just can't sit on it since money can't really be saved without someone else borrowing it (production and consumption have to even out at the end of the day!). So no, the rich don't really get richer off inflation. They aren't brorowing money from the poor at any rate.
I think I may have not been clear, or I am misinterpreting your post.
If you think of a person as having a balance sheet, with assets (property, shares, bonds, cash) and liabilities (loans), and a profit and loss of revenues (salary, dividends, coupons, rents, i.e cashflows) and expenses (food, shelter, clothing, transport, interest etc), then inflation:
* increases the value of your assets => asset prices rise with inflation
* decreases your liabilities => loan balances stay constant in nominal terms, but in real terms the liability is decreasing.
* increases your income => wages and salaries rise with inflation
* increases your expenses => the price of consumables increases with inflation.
So, ideally, in a high inflation environment, you want to hold as many assets as you can afford, levered as much as possible, with a high income, and low expenses.
So the rich purchase assets with debt. Inflation pushes the price of assets up, and the real value of the debt down. I agree that the assets you purchase should generate a cashflow to cover the financing drag. Inflation also increases dividends, rents and coupons.
Because the poor have expenses (outgoings) equal to or greater than income (wages, salary), price inflation erodes their disposable income, and price inflation is elastic, but wages are sticky, so the poor are always playing catchup, and in the interim, the rich are buying up their assets with cheap debt.
The poor have nothing to protect from inflation: they don't have significant savings, they spend their income the day/week/month that they get it. Their wages should go up to match inflation, and if they don't, its not really related to inflation itself but stingy bosses who aren't sharing increased prices (since given inflation, prices are supposed to rise, right?).
The rich are both lending and borrowing money; again, who do you think they are borrowing money from? Who are they buying the assets from? Again, it is not the poor, unless you are suggesting they are accumulating previously non-existing or non-utilized assets?
Stingy bosses has got nothing to do with it. Those who control the means of production can set their prices. The poor's only means of rising wages is through force (either government intervention or strike action). Any wage increase they receive is eaten by inflation. If prices started deflating, it is the poor who would immediately benefit and the rich would immediately be worse off. This is why the rich lobby politicians and academics to maintain inflation at any cost. Once prices start deflating, the immediate effect is relief for the poor and credit stress for the rich. The poor have no savings because they are inflated away. Look at the GINI index for the US and Japan during the "lost decades". In deflationary Japan, the index contracted (i.e. wealth disparity declined), in the inflationary US, it increased.
The rich are not borrowing from each other. Banks create money endogenously. They are buying existing assets from each other, and they are also buying new assets as they are created. Without inflation, asset purchases would look less attractive on a cash return basis, so inflation does serve that purpose. However, persistent inflation is forcing the market to be investors when they may want to save or spend.
Your description of balance illustrates the problem.
Lets say you have two groups of people, one of which thinks you should put sugar in bread, and the other which thinks putting sugar in bread is blasphemous. On the issue of sugar in bread, you will get a rigorous debate for the affirmative and negative.
However, if someone posts something to the effect of "Humans shouldn't be eating bread", both of those groups of people will vote that comment down, regardless of the argument presented.
Apple, Google and Microsoft fans all agree that computers and software are 'good things', it is the implementation details where they disagree, so any dissenting opinion to common ground that those groups share will be prejudicially downvoted into oblivion.
It is this common ground where group think is created and reinforced.
That's a pretty fair criticism, and I have to agree with everything that you write here. But I don't see any way around that. I can't imagine a general interest site could possibly function like HN.
About 18 months ago I stopped posting regularly on HN after my former account was downvoted into a type of purgatory that was impossible to escape from. I still read the interesting articles and the occasional interesting discussion, but something I discovered in the intervening period of participating in unmoderated/uncensored forums is that trolls make you THINK.
There are some exceptional trolls out there on the interwebs, some of whom do it as a day job. They post articulate but specious arguments that are very difficult to debunk unless you do meticulous research, double check your calculations, edit your reply for succinctness, remove any possible semantic ambiguity.
I think there is an argument to be made for the stimulating effect of trolls on the rigour and effort of the opposing participants. I agree however that trolls can and have destroyed valuable forums of discussion, but so has lack of interest.
>something I discovered in the intervening period of participating in unmoderated/uncensored forums is that trolls make you THINK
Some trolls make you think. Some trolls only hope to destroy online communities, and they are usually very good at it. It can be very hard sometimes to differentiate between the two.
Also, it's entirely possible to make people think without trolling (and I know you weren't claiming this). For example, your response to my remark made me think without being trollish. I personally prefer to participate in communities that promote your type of provocative comment, and not in ones where trolls are given free reign. But that's just me.
I agree with what you say. There is a fine line, however, between censuring trolls and suppressing dissent. I think anonymous downvoting and no right of reply, risks the latter to gain the former.
Exactly. I spent a couple weeks building up my little HN points once. Then I made a comment like "That was a very interesting article!" and was downvoted to hell. I asked why, and that was downvoted to hell. Negative karma after working on positive for two weeks.
So fsck you very much you guys. Every last one of you with your little down vote button. Now when I feel the urge to post here, I create a single use throwaway account, say whatever I feel like, and then log out.
HN is very much a hivemind. It's easy to see when you're not worried about your negative internet points.
I'm sorry you were downvoted with no explanation, I'm sure that sucked after gaining positive karma.
As you may know, what you ran into there were two foundational ideas in HN culture, which are:
1. Don't post "trivial" comments that are common on Reddit, like "+1", "thanks for that!", "interesting article!". HN tries to maintain a very high signal to "noise" ratio by discouraging these kinds of comments, and I actually appreciate it, since reading through lots of those types of comments makes it difficult to focus on comments meant to foster further discussion, or to inform.
2. It's an official guideline not to complain about being downvoted. Your comment asking why you were downvoted may have been interpreted as complaining about being downvoted. If you were just asking why, I'm sorry you were downvoted and that no one bothered to explain.
Every online community has its quirks, and you just happened to run into two of them with your comments in that post. Personally, I've never worried too much about accumulating points on HN. I just try to post informative comments, or comments meant to provoke discussion, and things have gone well.
Again, sorry you were downvoted for asking a simple question. I'd not do that.
> Negative karma after working on positive for two weeks...I create a single use throwaway account, say whatever I feel like, and then log out.
> HN is very much a hivemind. It's easy to see when you're not worried about your negative internet points.
The problem isn't HN and the hivemind. The problem here is you. You still care about the points (or rather the consequences of them) because you take the trouble to create a throwaway account, so that when your post is upvoted, or downvoted, you don't feel tied to it.
If you truly didn't care you would either:
1) stop posting on here altogether
2) not care about what others thought of your comments, and stop using throwaway accounts.
dreamhost, bluehost, hostgator etc are notorious for this. It works fine at low volumes, but as soon as you are getting a few thousand hits per day, the site is mysteriously unavailable. Their offering is basically a bait and switch. As soon as your volume increases, they encourage you to upgrade your plan.
In the modern fascist plutocracy, the only effect you will ever have on the behaviour of corporations is through where you spend your money. The beast can only be starved, not tamed.
Thanks, that was equally informative as it was depressing.
It's not exactly something that is winning the hearts and minds of people in the middle east. I guess the western powers are passed that now, and are engaged in a crusade.
Out of curiosity, not being a US citizen, can I ask what was wrong with:
The right of the people to be secure in their persons, houses, papers, and effects, against unreasonable searches and seizures, shall not be violated, and no Warrants shall issue, but upon probable cause, supported by Oath or affirmation, and particularly describing the place to be searched, and the persons or things to be seized
Seems like a pretty good basis for a framework for surveillance. Is there something about the 21st century that renders the 4th amendment unusable in framing legislation?
1. Engineers design and build the same types of things over and over again, from principles that have been developed, tested and put into practice over, literally, thousands of years. These principles are rarely expanded upon, and only after careful testing and proven performance. Programmers on the other hand consider building the same thing over and over again to fall in one of three categories (1) stupidity (2) ignorance or (3) market failure.
2. If an engineer builds two bridges of exactly the same specification, the cost of building the second bridge will be reasonably close to the cost of building the first one (technological advances and inflation not withstanding). If a programmer writes a useful program, and wants to share it with his friends and family, the cost of each additional copy of the program is fairly close to zero. Unlike the engineer building a second or third bridge, there is no need or reason for the programmer to create another copy of the software by designing, writing the code and compiling a second or third time.
3. Following on from (1) and (2) above, an engineer designs blueprints that describe _exactly_ how the structure is to be built, but a programmer usually has no idea how the program is to be built, because if s/he did know, then it means someone has built this before, and therefore there is no reason to build it again, because the marginal cost of copying a previous design is zero. This tends to make the best programmers experimentalists (because the risk is small) and plagiarists (because the cost of copying existing designs is zero), and the worst programmers are those that think like engineers. Conversely, experimentation in engineering is discouraged, especially on things like bridges, because it is costly and dangerous.
4. But what about the domain known as computer security? Shouldn't security be 'engineered'? Yeah, good luck with that. People who crack computer security are nimble experimentalists. Because the cost of experimentation is so low, security cracking tends to be a never ending series of probes until a weakness is found. Protecting against that approach cannot be 'engineered', because the engineering process is one in which you plan for every known contingency. But if you knew every possible contingency, there would be no security issues, because they would all be covered off.
Sorry, the above is a bit rough. I'm still refining my ideas on the topic. Feedback welcomed.