Bash is the love of my life! I have been working for years on this problem now (not full-time of course), gradually moving in the direction of finally being able to challenge this:
"Inappropriate use
shell is the main domain specific language designed to manipulate the UNIX abstractions for data and logic, i.e. files and processes. ... Correspondingly, please be wary of writing scripts that deviate from these abstractions, and have significant data manipulation in the shell process itself. While flexible, shell is not designed as a general purpose language and becomes unwieldly when ... "
Another person has actually solved the most important show stopper already: http://ctypes.sh.
What now remains to be solved, are a few minor, additional details, and then simply writing a good manual of how to very successfully use bash as a general-purpose language.
My personal belief is that everything that you can do in other scripting languages, you can also do in Bash, only better.
We already have good alternatives to these things. My financial life runs entirely in bitcoin, except for the shrinking list of payees who are still allowed to request payment in fiat money. Of course, I had to move out, live elsewhere, and continue trading from there, to make it happen. But then again, everything is so much cheaper here ...
The presence of honey attracts bees, the presence of horse shit attracts flies, the presence of sheep attracts wolves, and the presence of manipulable people attracts manipulators.
If these people started visiting another part of the web, "Ad Tech" would immediately re-emerge there too. The tigers just follow the herds of wild buffalos.
So, yes, watch out, if you can see wild buffalos, that means indeed that the tigers cannot be far away.
The article wants to jeopardize the god-given right of some of the manipulators to manipulate the manipulable crowds.
"Ad dollars are being stolen from publishers who actually put in an effort to create original, useful content. This is very wrong."
Ha ha ha hah ha!
Apparently, there are legitimate and illegitimate manipulators. The good and the bad thieves! The good and the bad burglars!
They are in a daggers-drawn contest on who exactly has the right to rip off the idiots!
Yes, good question, who is the one who legitimately "owns" these idiots?
For a starters, in any discriminatable situation, I do not show pictures of myself.
That is indeed one reason on a long list, why I only work online. I simply do not accept job offers or service contracts in which I would have to disclose racial information.
Generally, if the counterparty decides to proceed, and then breaks our contract on impermissible grounds, they will obviously be facing a bill for the damage, as specified in the T & C of the marketplace in which we execute the trade. In those cases, we do not discuss. We repossess and confiscate only.
Fundamentally, I believe that anybody has the right to be as racist as he wants and towards any race of his own choosing. That is certainly not the problem.
I only demand that the third party who will be the judge of it, must be color blind, objective, and impartial. That is one reason on the list of so many, why I never agree to any part of any state apparatus to be the judge of such situation.
I am personally not racist. That would be utterly contrary to my fundamental beliefs. In the Farewell Sermon, delivered after the final double recitation, as narrated by Ibn Hanbal, you can find my fundamental belief about racism:
Indeed, there is no superiority of an Arab over a non-Arab, nor of a non-Arab over an Arab, nor of a white over a black, nor a black over a white, except for his greater obedience to the laws of God and his good works.
> Why do people have problems with taxes? I don't. Never have.
Fine. However, that is a personal decision of yours. Other people make other decisions.
> When taxes build schools and infrastructure and provide policing and social support it's a good thing. When taxes are misused (military industrial complex perhaps) that's an issue with the system of government, not taxes.
Why not do it with sandwiches? The government collects 500 dollars from you in taxes and gives a 5-dollar sandwich in return. From now on, taxes are necessary, because how else would we get hold of sandwiches?
> I do have an issue with the wealthiest people sheltering their money from taxation.
If it were your money, I would understand. It isn't your money. You insist that other people should make decisions as you like them to. Why? And why not the other way around?
> But you are left with A LOT MORE money after taxes. And this is the issue for me.
Again, it is not YOUR money. It is THEIRS. You cannot impose your opinion of what is right and wrong onto others. I could perfectly do the same, and insist that you must adopt MY views on right and wrong.
You could say that your view is backed by government violence, but as you know, violence is not something particularly complex to orchestrate. In fact, it is trivially easily matched. Nowadays we have got people incessantly bombing other people exactly over this kind of problems. Your desire to impose your beliefs onto others, will inevitably turn out to be very costly, because people like you are doing that in too many areas and to too many people.
Ultimately, what you believe to be right or wrong will no longer matter. Sooner or later, it will only be what you are willing to risk your life and die for that will matter.
Imagine person A invoices person B for services delivered. In such case, it is always possible to get A invoice C and then C invoice B. C would just be a middleman. There is nothing wrong with that.
Then, you could easily "chainify" the concept: A -> C1 -> C2 -> C3 -> B
Now you turn C1 into a reservoir. It does not pay out to A, because A prefers to save his revenue inside C1. Therefore, A never gets taxed on income that remains in C1.
Also, whenever reasonable, C2 and C3 pay for A's spending. That money does not hit A either, and not even C1. Therefore, A actually needs little actual money to be paid out to him. His expenses are taken care of by C2,C3, ..., while his savings are held up in the C1 reservoir.
Even though B could pay millions for A's services, in terms of taxation, A makes almost no money at all. The money remains legally stuck in the C chain. Even though A is a real person, the C chain is not. It is a chain of virtual persons: "incorporations". They used to exist only on paper. These days they only exist on a computer screen.
Moving nodes in the chain to another state or to countries, pretty much amounts to just updating a field in a database. Depending on what you fill out in that database field, you pay more or less tax. Hence, the reason why they consistently fill out the cheapest choices on the screen.
In other words, there is never a valid reason to pay income tax for a "chainified" income stream. Therefore, income tax is in reality not a tax on income but on the inability to "chainify" income.
In technology, programming work is about looking up, composing, and debugging code. I yet have to meet one person who learned it at school.
In the school environment, the emphasis is, has always been, and will always be, to repeat things from memory.
If the IT teacher were good at looking up, composing, and debugging, and given the kind of salaries you that get when you are good at that, he would not be teaching. He would seek to multiply his income often ten times by actually doing it, instead of teaching it.
In fact, you can only learn from people who are doing it themselves. Everybody else does not really know how to do it.
Therefore, the teacher is only good at what will give you beautiful credentials: repeating from memory. That is also what he will seek to perpetuate with his own students.
Formal education does not only NOT fix poverty. Formal education actively creates it. Instead of spending your formative years learning the skill that will make you gain income, you learn to repeat from memory. There is not one industry where this would be of value.
You need to be able to produce things of value, just to survive. It is exceedingly dangerous to spend all your time on things that will never produce any value at all.
I am non-American mixed-race. I personally consider racism to be -- in and of itself -- a non-issue. It does not kill you, and everything that does not kill you, ultimately makes you stronger.
I consider racism to be irrelevant because it mostly is. I can barely imagine a new situation in which someone would be able to stage a racist attack. I am probably entirely hedged against those already.
The real problem is always the abuse of government power: "I’ve been interrogated at gunpoint by police because I fit the description".
So, yes, if they choose the time and the place, they can indeed attack you, if they so desire. However, it perfectly well works the other around as well. If you chose the time and the place, it would work too. The only solution that truly works against the problem of lack of respect, is to inflict respect-instilling reprisals.
Therefore, the real problem, are your false beliefs in their fake legitimacy. Hence, in reality, state racism is a problem of religion.
Racism against Muslims pretty much fails, because they are increasingly making that very practice insanely dangerous. The police are very aware of that. They know that there will routinely be reprisals. This is the enormous attraction of Islam. It pretty much solves all the problems of abuse of power, including state racism.
Well, since software engineering is a field where the government is not able to settle the matter just by slapping the obligation to have a particular degree or certification just to be admitted to the job, employers are allowed to choose. If you have an aptitude for programming, you will be better off just programming for 4 years. Going to college and reading books about programming will turn out to be only marginally useful, and actually quite costly. Instead of learning, and making quite good money, you will be digging yourself into a debt hole, while you will still need to pick up the real skills afterwards, at the expense of an ever more skeptical employer.
bcwallet is a cli with an interactive user interface. I never use a cli program that possibly could start waiting for user input. It could cause a "halting problem" in the script that incorporates it. That is literally a show stopper. Waiting for user input in a commandline script, is bug. It is not a feature. That bcwallet thing is simply full of bugs.
Browsers and things like that are valid interactive user interfaces. The cli/shell mostly exists to test stuff so that you can add it to a script, which you can add again to another script, ad nauseam ;-)
The actually interesting part in all of this has been done by bitmerchant.
Unfortunately, bitmerchant has no simple cli program attached. You need to deal with python instead, even if you have nothing to do with python. That is also a show stopper. Please, also learn haskell, ocaml, perl, lua, and two other undecisive motherfuckers, just because you want to incorporate one or two cli actions written in another scripting vernacular, into your own script.
I don't want to know in what it was written. If I cannot ignore in what it was written, I will probably avoid using it.
So, we almost had a functioning solution.
Of course, a simple man page would have been phanthastick.
But ok, we are not going to incessantly demand that people work for free! ;-)
> Tax rates on the top 1% or 0.5% of earners could double over-night ...
They are not after the 1%, never have, and never will. They are after you and me, my friend. So, gear up for a good fight, because I am giving them zilch. I'd rather flush my money down the toilet.
> So your argument for not redistributing some percentage of the wealth of billionaires is that they're petty assholes who will take their ball and go home?
Yes, and that is why the factories have been rebuilt in China over the last 25 years. It is not going to get any better in the future. I don't know what they will be doing next, but it will certainly not include "redistributing some percentage of their wealth". Why would they? But then again, who cares? I don't want their money. I have my own.
In order to outsmart them, you will have to be smarter, but if you could, you would be one of them. ;-)
> and lessen nation states' ability to combat inequality with policy
Ok, one person is a great programmer making good money and another person is not interested in any of that and makes less money. I do not see any inequality here that needs to be combated with policy. One possible result of such policy would be that both will turn out to be less interested.
You cannot turn the losers into winners, but you can certainly alienate the surviving winners and convince them to build their next factory in China instead, or do their next startup from a beach in the Philippines.
Instead of reducing inequality, the outcome will become very biased by profits made in China or the Philippines, and therefore lead to even more inequality. Lather, rinse, repeat.
At the basis, quite a bit of inequality is caused by the fact that some people happen to be smarter. Your policy will obviously not outsmart them. Therefore, if your policy has any effect, it will inevitably be exactly the opposite of what it was meant to be.
If American technology is generally back-doored for access by US government agencies, nobody elsewhere on the planet will want to touch it.
Heck, the contract cancellation-zilla that already started with the Snowden affair will just start snowballing.
With technology pretty much permeating everything, it means that it may no longer be possible to export almost anything to other countries. Get used to widespread rampant poverty now already, when international trade will be mostly gone.
The FBI say that all they want is to protect the United States, and indeed that will become much easier to do when there will be pretty much nothing left to protect! ;-)
It really depends on what you believe about the legitimacy of man-made law. Large segments in the world population do not consider it be legitimate. Even the papacy openly questioned its legitimacy in 1937, quite before Hitler became truly obnoxious. Therefore, the issue is rather about laws that are enforceable. If the law is really enforceable, you may indeed want to refrain from breaking it. Otherwise, it is your own call.
You could manage your own data volumes or else let docker do it for you. I don't see the difference. In the end, you will still need a backup policy. I snapshot all data every 30 minutes for storage on another device. Nothing would change to that policy when using external data containers.
> Don’t ship your application in two pieces
Internally -and externally provided software have different dynamics. Issues are different. I update my own software with bug fixes and new features quite frequently. I don't need to do that for externally provided software. If that happens, I will indeed rebuild the container. In all practical terms, my own software sits in a host folder where I can update it, without rebuilding the container.
> Don’t use only the “latest” tag
I use debian:latest. I don't see a problem with that. It may lead to trouble some day, but then I just change the tag to the latest but one version before rebuilding. The problem has not occurred up till now.
> Don’t run more than one process in a single container
I have containers that internally queue their tasks. The queue processor is then a second process, besides the main network listener process. There are many reasons why it could be meaningful for a program to use more than one process. A categorical imperative in this respect is misguided. Other engineering concerns will take precedence.
You see, if I can reasonably split a container into two, I will. It's just like with a function. If it is possible to split it in two, I will most likely do so. But then again, such design recommendation should never be phrased as a categorical imperative.
> Don’t store credentials in the image. Use environment variables
Both are pretty much the same problem. If the attacker can read files containing credentials, he will also be able to read environment variables with them.
> Containers are ephemeral
A network-based service uses a long-running listener to process requests. Why shut it down? That would just disrupt the service. Containers may very well be long-lived. They are not necessarily ephemeral.
This subject is not part of a domain such as morality where categorical imperatives are the norm. There are pretty much no categorical imperatives in software engineering. Software is mostly subject to just an Aristotelian non-contradiction policy. If your choices are non-contradictory, feel free to go with them. Furthermore, unmotivated, categorical imperatives simply have no place in this field.
> That’s partly because restrictive zoning and overzealous building codes drive up the price.
The problem is self-inflicted. As ever, it is the government that causes this problem. They do not want third-world shanty towns popping up, but on the other hand the demographic with incomes below $15 000/year will not magically disappear either.
I live in Southeast Asia. American zoning -and building codes would mean that 95% of the population in this country would be homeless, destitute, and begging in the streets. They are not and at the moment they are still doing fine, but only for now. Someone could copy bad ideas, imported from elsewhere, and start kicking out people into the streets.
> Formal mathematics has no concept of absolute truth ...
Well, it does. If you drag the propositional calculus into the fray, "true" is arbitrarily but probably most elegantly defined as following:
true(x) = x or not x
False is defined like this:
false(x) = x and not x
These definitions are pretty much arbitrary. The lambda calculus does this:
true(a,b)=a
false(a,b)=b
It also works absolutely fine.
> It's just concerned with axioms and theorems (and their proofs)
In the general case, theorems are indeed "provable" or "unprovable" (not "true" or "false").
However, if a theorem has exclusively been derived from propositional calculus, it can also be "true".
Gödel's incompleteness is exactly about statements that are "true but unprovable". In terms of propositional calculus, the theorem is "true" but since you can show that the theorem can never be derived from the axioms, it is also "unprovable".
> many founders of high-technology startups believe they stand a much greater chance of becoming wealthy by launching a startup than by ordinary employment. If many founders really do believe this, it appears they are largely wrong.
Not true. There is no massive upside to being an employee. There is one to launching a startup.
> All told, entrepreneurs earned 35% less over a 10-year period than they could have in a “paid job”.
Not true. An enterpreneur could just sell hours as a consultant to a client. In all practical terms, it would be the same as selling hours to an employer. The consultant pretty much always makes more money than the employee.
> And of course, founding a company is far more risky than earning a salary. This suggests that entrepreneurs are in most cases giving up security and making no extra money in return.
Not true. It is not more risky, if you are just selling hours, for example. It is often exactly the same as being an employee, with the difference that you send out an invoice instead of getting a paycheck.
> In contrast, the average unincorporated self-employed person earns 16.5% less than their salaried counterparts.
What it really means, is: the average unincorporated self-employed person declares 16.5% less as personal income than their salaried counterparts. It does not mean anything beyond that.
> Will you earn more if you become an entrepreneur?
An employer is just a middleman between you and the real customers. If you cannot sell to the real customers directly, that means that you will also have trouble selling to employers.
If you are actually able to sell to real customers directly, you will have a much better negotiation position when dealing with middlemen. Therefore, you will automatically make more, regardless of whether you do that as an employee or a self-employed person.
"Inappropriate use
shell is the main domain specific language designed to manipulate the UNIX abstractions for data and logic, i.e. files and processes. ... Correspondingly, please be wary of writing scripts that deviate from these abstractions, and have significant data manipulation in the shell process itself. While flexible, shell is not designed as a general purpose language and becomes unwieldly when ... "
Another person has actually solved the most important show stopper already: http://ctypes.sh.
What now remains to be solved, are a few minor, additional details, and then simply writing a good manual of how to very successfully use bash as a general-purpose language.
My personal belief is that everything that you can do in other scripting languages, you can also do in Bash, only better.