Psychiatry iOS app

My Psychiatry app is now on sale for iPhone, iPad and iPod Touch. It is significantly bigger and better than my previous philosophy oriented apps. It has more content as well as more programming (e.g. I included a quiz).

It is a universal app. I also recently updated my previous apps to be universal.

If you're interested in psychiatry, you'll love it. Also if you haven't read Szasz, you really absolutely must read the app as well as some Szasz -- you are likely to make some major moral blunders in your life if you never learn about this stuff. Some of the prevailing, mainstream views in this area are grossly immoral and harmful, so you really better learn something about the topic before you screw up.

Not trying to do a hard sell, but I'm serious, psychiatry is important and affects at least tens of millions of Americans every year, and the illiberal, anti-freedom ways a lot of "mentally ill" persons are treated are a big deal (e.g. imprisonment without trial), and there's also a whole host of more subtle issues that you better know about before you, say, get couple's therapy, or have a conversation with your friend about the couple's therapy he is considering getting, or go see a shrink, or let a guidance counselor see your kid, and so on...

Elliot Temple | Permalink | Messages (0)

Elliot Temple | Permalink | Messages (0)

How To Create Knowledge

So you want to participate in the TCS or ARR projects. How does one do that?

The primary thing to do is knowledge creation: learn the ideas and help improve on them. And learning them enables using them to improve one's own life, while improving them allows one to further improve own's own life.

Secondarily, one can promote the ideas, spread the word, hire people to work on it, publish on the topic, and so on. This will help people as well as creating a bigger community with more people to contribute improvements, which can benefit you.

Let's consider knowledge creation in more detail because there are some misconceptions and confusions about how it works, and because some understanding of Karl Popper's philosophy is helpful to doing it better.

How are ideas like TCS or ARR created? Learned? Further refined and improved?

All knowledge is created by *guesses* and *criticism*. It is a process of trial and error, not one of deriving, induction, abduction, justification or empiricism.

Knowledge also addresses problems. Problems aren't necessarily a bad thing but would include any question one has, or anything one wants to get and isn't sure how to get it.

Step one is to identify a problem. Just find anything that one thinks could be better in any way.

In step two, brainstorm ideas which might solve the problem; make guesses. There's no quality standards here, no rules or limitations, anything goes. And don't worry about coming up with enough ideas right away, you'll have unlimited chances to revisit this step later, so just move on as soon as you want.

Step three is to criticize the ideas. If anything at all is wrong with them, that's grounds for criticism. A criticism is an explanation of a flaw in an idea, and we want to be merciless here and find every flaw we can.

Step four is to do a mix of the previous steps in no particular order. You can have a lot of things in progress at once and bounce around between them, or you can be more methodical, either way is fine. Every time you criticize an idea, you have created a new problem: how could that idea be improved not to have the flaw criticized? And you've also created a new idea (the criticism itself) which can be exposed to criticism. So step three naturally feeds back into steps one and three.

So, criticism drives the process. Criticism identifies new problems we can try to solve, must be criticized itself in case it's mistaken, and sends us back to brainstorming as ideas are rejected. Criticism is the reason the initial steps are relaxed and easy: if any mistakes are made, they are supposed to be caught in the criticism step, you don't have to worry about them in the first steps.

The goal is to come up with a single idea which has no criticisms of it which you think will solve the problem best. When you reach that point, you're done. Everything you learned along the way, and this final result, are knowledge you have created.

There's also the possibility of criticizing the problem one is trying to solve, itself. Problems can have flaws too. Maybe there is a better way to frame the issue, or a better goal to try to accomplish instead. If a problem is criticized, one can try to brainstorm better problems or ways to improve it.

Now that we're familiar with the general method of knowledge creation, let's consider some specifics.

This covers how to solve problems, such as trying to improve an idea. How does this apply to learning?

Learning is itself a problem: trying to gain knowledge one didn't have before. This is accomplished by brainstorming what the ideas one is learning are, and how they work, and improving on that with criticism. It is fundamentally the same process. The main difference is that existing material on the topic can provide suggestions for problems to consider, brainstormed ideas to consider, criticisms, and so on. And one can criticize his brainstormed ideas not just by considering if they are good or bad, but also by considering if they are compatible with the existing material on the topic that one is trying to learn.

How much can this be a collaborative process? Or does it work best as an individual process? It works either way. This process is just as valid within one mind as for a group discussion.

People always do some of their thinking in their own mind, even in the midst of a group discussion. That's important and good. And it leads to the question: is collaboration is important too, or can we rely on individual thinking? And does collaboration create too much extra work having to deal with other people?

Collaboration is extremely important and valuable for two reasons. But first let's consider how difficult it is. Actually, people can frequently work together to create knowledge in an efficient and effective way. All they have to do is share what problem(s) they are working on, share any brainstormed ideas for a combined list, and share their criticisms. This is simple to organize since the basic outline of knowledge creation involves two lists associated with each problem, and anyone could add to the list, all they'd need to do is read it first to avoid duplicates.

To collaborate, people also need to explain their ideas clearly enough for others to understand them. This does take some effort but on the other hand clarifying one's ideas is important even if one is doing individual thinking. Making them clear instead of vague improves their quality and addresses the criticism of the vagueness flaw.

The first benefit of collaboration is that if someone else has a good problem, brainstormed idea, or criticism, then I don't have to think of it myself. Instead of having to figure everything out personally, I can benefit from thinking other people do, and they can benefit form thinking I do. This is the same principle as not reinventing the wheel, and learning math from other people instead of trying to figure it all out from scratch by yourself.

A lot of ideas about TCS and ARR have already been figured out, and it's advantageous to learn those instead of trying to think of them all yourself.

The second benefit of collaboration is that we all have weaknesses, blind spots, irrationalities, and hang ups, as well as strengths and areas of expertise. Thus, someone else might be good at what I'm bad at, and vice versa. So that provides an opportunity to help each other.

It's too hard and unrealistic to find all of our own mistakes. We can find a lot, but we're not perfect at everything and will miss some that other people might find. This is one of the reasons that people who don't collaborate enough sometimes get stuck and don't make much progress.

For topics like romance and parenting, virtually everyone has blind spots and irrationalities. Sometimes it's hard enough for one person in a group of a thousand to see an error that everyone else is making without realizing it. Trying to do that all by oneself every time would be folly. Making mistakes where we don't realize anything is wrong is common for everyone, and it's a hard problem, and collaboration helps us better deal with it since only one person has to find a mistake and can share it with thousands of other people to help them get past their blindness or irrationality.

Now we've covered how to create knowledge to help the TCS and ARR projects make progress, and we've seen why collaboration is important. Let's consider a few specifics.

The best medium for collaborative discussion is email lists. That is why TCS and ARR have email lists which you should join here:

Email lists enable people to brainstorm ideas and share them, to explain problems they are interested in solving (such as problems with current TCS or ARR ideas), and to share criticisms. They also enable asking questions people may have.

Some people like to have discussions in person. That's fine, but it's no substitute for an email lists which allows for worldwide collaboration. Worldwide collaboration means that anyone in the world who knows about this stuff can criticize or contribute, and it means that people from different cultures can use the strengths of their differing perspectives to augment weaknesses of other cultures -- the added variety of perspectives is helpful.

Exposing one's ideas to criticism -- from oneself as well as others -- is crucial. Otherwise one's ideas will have lots of mistakes. This includes one's understanding of what TCS or ARR are. It's not just improvement that works by critical discussion but also learning the existing ideas. Learning is not trivial and needs criticism to deal with mistakes.

This means that people who read a lot of stuff, but never write anything which could be criticized by others, almost certainly do not understand the ideas very well (which may be why they never think of anything they want to say). One needs to expose his understanding to criticism to get it to high quality, not just expose his proposals for improvements to criticism.

Besides email lists, online forums are another good tool. Any online collaborative tool can also be valuable such as instant messaging, IRC chat channels, wikis, collaborate document creation websites, and so on. Computers and the internet are amazing technologies which surpass what came before. The various offline options have some use but are more limited.

Elliot Temple | Permalink | Messages (2)

Taking Children Seriously

Disclaimer: Taking Children Seriously (TCS) has a lot of bad ideas. Its founders, David Deutsch and Sarah Fitz-Claridge, are bad, dangerous people. Stay away. I still agree with Popperian epistemology and being nicer to children, but I recommend against reading their TCS articles. I think their articles are misleading in both blatant ways and subtle ways, and are good at tricking people into hurting their children. I think my own TCS articles have some good parts and aren't so dangerous, but I've changed my mind about some issues and haven't revised the articles, so read critically and skeptically. Don’t try to follow any ideas you aren’t fully comfortable with and fully persuaded of (meaning your conscious logical/intellectual analysis and intuition/emotions/subconscious both agree with no doubts/hesitations).

All long lived ideas are spread from older persons to younger persons. If that didn't happen, an idea could not outlive the current generation. The future of civilization depends on its knowledge (including traditions, institutions, ideas about a good society, etc...) continuing to exist over time. Consequently, the future depends on which ideas are passed on to younger persons, and in what way. Any civilization which does a bad job of this cannot last but will die off.

For passing on ideas to younger persons, the most important thing is the behavior of parents. Parenting is by far the biggest influence and factor here. Bear in mind that for a child to attend school, his parents choose to send him, and if they behaved otherwise then the child would not attend. (There are exceptions for some countries with laws suppressing that freedom, but they could choose to emigrate instead of comply, so again the behavior of parents is the most important consideration.)

All the major current civilizations do manage to reliably transmit ideas to the next generation. However, there is a second issue: this needs to be done in a way that allows for improvement and progress. Otherwise the civilization will never change for the better and will inevitably die off when some problem comes along that its knowledge cannot handle (like a meteor impact, or even just a tsunami for a civilization stuck with less technology and wealth).

Western civilization is in a mixed state. Improvement and progress are possible, but they are limited and we could do a better job. Better parenting and educational ideas can address this problem, as well as making family life happier.

Imagine a way of life which is perfectly transmitted to the next generation. They will therefore do the same things their parents did, including the same methods of parenting. So they will transmit that same way of life to the next generation, and this will repeat until external circumstances intervene. But no progress will ever happen. This is the nightmare scenario of a static society.

Western society is not static, but most people do parent similar to how their own parents did, in most respects. Unfortunately, that means passing on many mistaken ideas. What would be better is a method of parenting which can pass on good ideas while selectively not passing on any mistaken ideas.

No method can accomplish that perfectly because that would require omniscience. But we can do a better job of it. The most important issue is how disagreements, disputes and conflicts are approached, and whether it is in a rational and truth seeking way or an irrational way that suppresses innovation.

What most parents in the West do is consider what they think is a good or bad idea. If they judge something is bad, they'll try not to teach it to their children. This is a good start which allows for some progress over the generations. However, it has weaknesses. It misses the opportunity for the child to contribute. Parents make mistakes and those will be taught to their children. And, sometimes parents decide an idea is bad but accidentally pass it on to their children anyway.

Parenting and education can be improved by addressing these weaknesses. How can do we that?

Taking Children Seriously (TCS) is an educational and parenting philosophy. Its most distinctive feature is the idea that it is possible and desirable to bring up children entirely without doing things to them against their will, or making them do things against their will, and that they are entitled to the same rights, respect, and control over their lives as adults.

TCS is the only educational philosophy that draws heavily on the correct philosophy of knowledge (explained by Karl Popper). By applying some of the most important existing philosophical knowledge to this area, and finding its implications, TCS provides important insight. TCS is also the only parenting philosophy fully compatible with (classical) liberalism.

TCS has the philosophical answers for addressing the weaknesses.

TCS proposes that family disagreements, disputes and conflicts be approached by finding a common preference -- a way of proceeding which everyone prefers. This is different from a compromise in which the action taken matches no one's preference.

Common preferences are always possible and are a better approach than compromises, sacrifices, or the use of force. A common preference can be thought of as any solution to a problem. Anything else is not a solution but at best a "partial solution" which means some problems are not solved.

Solving problems is good. When they are not solved, people get hurt and suffer.

Let's now return to the issue of passing on ideas to the next generation while correcting mistakes in those ideas, improving them and filtering out bad ideas. Solving problems is one of the elements of how to accomplish this. It is not accomplished by people being hurt or suffering.

It's important that children use their own minds. Children should only accept ideas they are persuaded of, which is the rational approach to thinking. This will help filter out bad ideas.

As long as parent and child agree, life is easy and a wide variety of parenting approaches are in agreement about what to do: do what both the parent and child agree on. It might not be perfect but it's the best option known to them.

What sets people apart more is how they handle disagreement. If the parent and child disagree, what happens next? Does the parent force, pressure or manipulate the child to "listen" (obey, believe) as the parent says to? If so, that is irrational. It is not a truth seeking approach. If the parent is mistaken, his idea is passed on anyway, even though the child initially recognized the potential that this particular idea is a mistake. The child's input is ignored in the cases where it's most important because it could correct a parental mistake.

A rational approach which can do a better job of filtering out bad ideas must, in the face of disagreement, judge ideas based on their merits not their sources. It must not be biased against the child's mind in favor of the parent's mind. When there is a conflict it needs to open mindedly seek the truth. That means that the parent and child each may try to persuade each other and explain themselves. They both have a voice.

So, they discuss it. They explain their understanding of the problem at issue, and how it can be solved, and what they see as flaws in the other proposed solutions. And they explain how their solution can be altered to meet any criticism, or why that criticism is itself mistaken. But they still disagree. What next? They can either agree to disagree and drop the issue for now, or try to come up with better, more persuasive ideas.

Although parents know more than their children in general, that has no bearing on the specific case where the child -- knowing that his parent is knowledgeable -- still thinks he knows something important, or his parenting is missing something, about a specific issue. Because parents know more, children will usually agree with their ideas, but in the case of a disagreement then people must not assume the parent is correct. When a parent says, "Because I said so," or, "I know best, so just listen to me," that is the epitome of irrationality.

Especially crucial is that a parent never coerce his child. And it's in disagreements, disputes and conflicts in particular where parents may be tempted, but must instead rely on voluntary, mutual persuasion (just the same as liberalism's approach to disputes between adults).

All problems have solutions which are best for everyone, and if a parent fails to persuade his child of something -- if the parent is offering something the child does not see as best for himself -- then this indicates a weakness of the parent's thinking, not a character flaw in the child. The child may be ignorant, but if the parent fails to explain the issue to correct the child's ignorance then that is the parent's mistake and he should learn to be a better educator. The child may be mistaken and have bad ideas, but if the parent fails to come up with compelling criticisms of them, that is his own weakness. And if the parent offers something which isn't best for everyone, so the child rejects it, again that is the parent's mistake not to have come up with a better idea that wouldn't compromise the child's well being.

When a parent fails to rationally persuade, this is exactly the sign we need to identify potentially bad ideas being passed on to the next generation. This is the perfect opportunity to stop trying to pass on the idea and reconsider it, and only to pass it on if the parent can improve it to the child's satisfaction.

The issue of parents accidentally passing on bad ideas can also be ameliorated by never making children do anything against their will. If they are in control of their lives, they can resist picking up ideas they don't want to. So at least in some cases we can get a better result.

Although we cannot have perfection, we can recognize disagreements as places where at least one person is mistaken, and therefore as opportunities for learning, progress and improvement. If a child is mistaken, help him understand better instead of becoming frustrated and coercing him. And the more he resists parental explanations, the more unsure the parent should become, and the more the parent should begin to question the quality of his knowledge on this topic which is either mistaken or not good enough to help the child understand.

Normal parenting and educational practices today are routinely irrational. Parents punish and force their children. They coerce and manipulate. Teachers have curriculums and lesson plans and make it their goal that the child learn and agree with the material; they irrationally expect the material to have no mistakes and not to need improvement (despite the evidence that it has plenty of room for improvement: bored and unhappy children getting test questions wrong or, contrary to the irrational assumption, perhaps disagreeing about some test questions the teacher may have gotten wrong).

The irrationality of forcing children to do things applies to brushing their teeth, attending school, having a bedtime, and everything else that parents might want to make an exception for.

Improvement in this area can change lives and change the world. It's a huge opportunity. Join us and help expand and refine TCS. Learn it yourself and explain it to others.

Join the TCS discussion group:

Update: TCS discussion has moved to the Fallible Ideas group.

Elliot Temple | Permalink | Messages (11)

Autonomy Respecting Relationships

Disclaimer: Autonomy Respecting Relationships (ARR) has a lot of bad ideas. Its founders, David Deutsch and Sarah Fitz-Claridge, are bad, dangerous people. Stay away. I still agree with Popperian epistemology and some flaws in romance, but I think polyamory is broadly a bad idea and I recommend against reading their ARR articles. I think my own ARR articles have some good parts but also flaws, and I haven’t revised them, so please read critically and skeptically. Don’t try to follow any ideas you aren’t fully comfortable with and fully persuaded of (meaning your conscious logical/intellectual analysis and intuition/emotions/subconscious both agree with no doubts/hesitations).

Relationships normally infringe on autonomy. Romantic/love/sexual/intimate relationships in particular routinely hurt people.

Broken hearts hurt. A lot. This is not something to gloss over or accept. The end of a lengthy relationship can be especially awful; think of bitter, messy divorces.

Everyone knows that breakups are common. But they also say, "Not me! My relationship is special! It's different."

People also bring up love. "We're in love, and love conquers all, so that will solve our problems and prevent a breakup."

Since most relationships are deemed special, different or loving, none of those claims actually make one's relationship different. They've been tried and don't work effectively.

Anyone getting into a romantic relationship, without some good explanation of what they will do differently, is setting themselves up for immense suffering. A good explanation of how one will avoid suffering will have to be something that hasn't been tried a thousand times without solving the problem or else we can't really expect it to work. It will also have to be exposed to critical evaluation and pass.

There's room for improvement here because people have no answer to this, but go ahead anyway, and commonly delude themselves into thinking they are different. So they're acting irrationally and consequently suffering.

Once in relationships, people have expectations of each other. Certain actions are deemed "betraying the relationship" -- for example having sex with someone else, or "not making an effort" consisting of doing things one doesn't want to. These expectations infringe on autonomy. They reduce one's ability to control his own life however he considers best.

Autonomy is a good thing. Any losses should be minimized or avoided. They shouldn't be accepted of a matter of course, or casually assumed to be necessary without a specific and compelling reason that each instance is needed.

Non-romantic relationships also routinely infringe on autonomy. People say things like, "You should have told me because I'm your friend." Or, "You have to come in on Saturday because I'm your boss." Or, "You have to take out the trash and do your homework because I'm your parent." In each of those cases there are rules one is expected to follow about what he does and doesn't do.

There are different sorts of rules in life. One set of rules is the laws of physics. You can't violate those. They don't infringe on your autonomy. There are other rules we might call *artificial*. They add extra restrictions that aren't necessary but could be avoided. Those are the ones that harm autonomy.

Correct moral rules do not reduce autonomy. It's not a loss of autonomy or liberty or freedom that one isn't permitted to be a mass murderer. Morality makes one's life better by one's own standards and violating that is hurting oneself (and others), so that is off limits.

The restrictions that come with relationships in our culture are largely parochial, cultural customs. They should be questioned and people should seek ways to solve the problems they cause such as loss of autonomy and heartbreak.

Our culture presents of a model of a romantic relationship which virtually everyone follows in important ways if not every detail. The model involves dating and monogamous marriage, with accompanying life roles. This model is not the only possibility and is not something to take for granted as beyond questioning. Especially because it's not working: it hurts people, a lot, frequently.

It's not just the breakups that hurt. It is generally believed that if one only fights with one's spouse a "small" amount then that's good and above average. So some amount of ongoing suffering is taken for granted in what is considered a successful relationship.

Non-romantic relationships also have well known models like "friendship", "family", or "boss". And these also have well known flaws like peer pressure, unwanted visiting relatives, and unfair and unreasonable boss decisions.

How come people keep doing these things even though it hurts them? The traditions also hurt them for not participating. For example, it makes non-participants feel lonely, there's social stigma, it's hard to have a satisfactory role in life and society when one doesn't obey the cultural rules.

Underlying these persistent problems, mistakes and blindnesses people have is irrationality caused by static memes (see the book _The Beginning of Infinity_ by David Deutsch for an explanation of memes). Our culture's sexual traditions especially are not "human nature" but static memes -- old and bad traditions.

Autonomy Respecting Relationships (ARR) is a philosophy which applies good philosophical ideas to these problems. It has a particular focus on ideas from Taking Children Seriously, as well as Karl Popper (especially for epistemology), and a certain conception of (classical) liberalism. Understanding relationships from the perspective of this worldview is the purpose of ARR.

ARR has room for refinement and advancement but has also reached a number of conclusions and figured some things out.

For example, monogamy is not rationally defensible. Nor is love. Nor the way people approach sex, and sexual relationships. These things are mistakes as well as static memes, and they have been refuted by ARR's criticism.

ARR also has some things which may seem like its own conclusions, but which are really conclusions of TCS or the general worldview behind ARR. For example, it rejects compromise and sacrifice, and insists that conflicts should be resolved in a rational, truth-seeking way. It says human interaction should be non-coercive and people should seek common preferences. It says problems are soluble and not a part of life to simply accept, and that people can change and improve their preferences.

Applying epistemology can quickly reach notable conclusions. For example, sex is not inherently super pleasurable as everyone claims. Rather, the enjoyment is an interpretation according to people's ideas. This follows directly from a Popperian understanding.

People will object that this is contradicted by experience, even though it literally isn't since it explains their experience. Further, a keen observer will see that experience contradicts the conventional perspective on this matter. People put effort into making themselves enjoy sex. People regard insufficient desire for sex as a problem which they try to fix. They are under pressure to like sex, so they do their best to make themselves like it. The evidence is readily available and the reason people miss it is because they misinterpret it.

From a sophisticated rational perspective, criticisms of so much of people's lives are not very hard to come by. Join us and move beyond the stage of clinging to these mistakes. The real project is reforming the traditions and finding non-Utopian replacements. This requires critical discussion.

For example promises are irrational (because either the promise turns out to coincide with morality, in which case it serves no purpose, or it does not, in which case it is a promise to do wrong). And one can refrain from ever saying, "Promise you'll never leave me" or demanding promises from friends or family or employees. But this creates problems. Promising served a purpose and without it you'll have to find a new way to communicate that the issue is important. But more than that, you'll need a new perspective which takes more personal responsibility instead of trying to shift responsibility onto others as promises do. This is the bigger issue than simply pointing out that promises are irrational.

Promises are just one issue. There's bigger things. We can recognize that the unpleasant nervousness people feel when asking someone out on a first date is bad. But there's no straightforward solution. Just don't feel nervous? How? People have already put a lot of effort into figuring that out that without success. Just don't ask people on dates? Well, then how will you get to know people? Some kind of replacement is needed, and it needs to work with conventional people who aren't yet aware of the new way of life.

The unexamined life is not worth living. Join us and think these things through instead of mindlessly conforming to conventional, cultural rules, and rationalizing them in accordance with one's static memes. Help solve these important problems instead of wasting your life suffering through another non-ARR relationship. Participate in progress.

You should join the ARR discussion group here:

Update: ARR discussion has moved to the Fallible Ideas group.

Elliot Temple | Permalink | Messages (0)

MacRuby and the Mac App Store

I wrote a MacRuby platformer game called Gruesomely Hard Platformer and it is now for sale in the Mac App Store. I made the graphics myself. I'm not an artist :) But I think it's fun. I wrote the physics and gameplay and everything from scratch, it doesn't use any game making framework or engine.

Click here to see screenshots or buy it.

Click here to see a demo video on youtube.

I wanted to record some tips and tricks for how to get a MacRuby app to work. There's a few problems that are not user friendly at all. I had to find solutions in a bunch of different places. Hopefully this compilation will be helpful to some. This is what worked for me October 2011 with Xcode 4.1 and OS X 10.7.

- MacRuby version 0.10 (the latest stable) will give you an error about symbolic links when you try to validate for app store submission. Download and install the latest nightly version.

- You need three certificates for code signing. In the Certificate Utility, download the WWDR certificate from the Overview section. Then go to Certificates and create two distribution certificates. Do not select both checkboxes. Choose Distribution then only check the first box. Then create a certificate following the instructions. Then do the same thing again using the same CSR (Certificate Signing Request) file, but with only the second checkbox checked. Double click the certificates after you download to add to your keychain.

- You need an app ID. You do not need a provisioning profile unless you're using specific features like Push Notifications or iCloud.

- In Xcode, add your app as a build target to the deployment scheme.

- In Xcode build settings, remove the i386 architecture.

- In Xcode build settings, add 3rd Party Mac Developer Application as the code signing entity.

- For testing your app, use the scheme named after your app and click Run.

- Use NSBundle.mainBundle.resourcePath.fileSystemRepresentation instead of File.dirname(__FILE__)

- To test the standalone app you will submit to the app store, change to the Deployment scheme and choose Archive from the Product menu. Then choose to share and the Application radio button and you can save it to disk.

- For submitting to the app store, first get your app in the "Waiting For Upload" state not preparing for upload. You have to click a button in iTunes connect that sounds like you're going to upload it now, even though you aren't actually going to upload via your browser. Then go back to Xcode and do Archive, then deal with code signing (see next item), then choose Validate followed by Submit. You cannot validate it before getting to the ready to upload state in iTunes connect.

- Xcode will code sign your app, and it will pass validation, but it doesn't work. You need to manually sign it. Right click the archive and pick Show in Finder. Then type "cd " (with the space) into a terminal window and drag the archive in, then enter. That gets you to the archive folder. Then I did this:
cd Products/Applications/; codesign -f -s "3rd Party Mac Developer Application: Elliot Temple" Gruesomely\ Hard\
- If Apple automatically detects problems with your app submission, such as code signing issues, they will email you with the errors. But in Apple Mail the email may appear blank (it did for me with my Google Apps email). If so, read it in webmail.

I still got a bunch of code signing warnings emailed from iTunes. They were for files inside the app, but not the main bundle. I don't know how to fix them, but Apple accepted my app anyway, so they can be safely ignored. Hopefully a future version of MacRuby or Xcode will fix it.

Elliot Temple | Permalink | Messages (0)

How to Disable VLC Crash Reporting

VLC crashes pretty often. For me it usually crashes jumping forward or back, like with the skip ahead 60 seconds command. Then when it reopens, it brings up a crash dialog that you have to dismiss. It's annoying. I looked through the many preferences, and googled, and couldn't find any known way to disable it.

I tried solving this myself and found a simple solution that works!

On Mac, open /Users/YOU/Library/Preferences/org.videolan.vlc.plist

Find the field LatestCrashReportYear and change it to the future like 2020. Save. You're done.

Presumably there's something equivalent on Windows.

I don't know exactly why this works, I assume it's trying not to send out of date crash reports, only a new one.

Elliot Temple | Permalink | Messages (7)

The Beginning of Infinity

_The Beginning of Infinity_ by David Deutsch is out. It is the best book ever written.

I have made a website with information about it such as an excerpt, a review, and an interview with the author.

At least read the excerpt from the book and my interview. And when you're very impressed, then read the whole book.

I have also made a discussion group for it. My good writing mostly goes there. Join!

Elliot Temple | Permalink | Messages (0)