Gratis bloggen bei

Quit smoking explained - Part one


I started smoking cigarettes when I was 16. Now I am 52 and I went through various attempts to quit smoking. Here is what I found out, what works and what does not.

Just quit

This is the advice you probably hear most frequently. It does not work well. Still you hear it over and over again, maybe even with the remark that there is no alternative to just quitting. Still there are many smokers who did successfully quit smoking this way.

So what is wrong with this method? 

  • You are told that only the initial phase will be hard and but that in the long run you will not have to sacrifice anything. This is not true. Nicotine is a drug and I does have a real pleasant effect. You will sacrifice a lot. You will sacrifice much much more than a Jeniffer Aniston fan who is no longer allowed to watch her movies.
  • You are given the impression that only idiots smoke and that only idiots can't quit. This add a negative aspect to your entire life. Any quit smoking method that doesn't work will do this to you.

Many smokers have managed to quit smoking temporarily using this method and most of them have started smoking again and they enjoyed it. For me this is definitely true and it has disasterous effects. Not only you will find yourself still smoking, but

  • The idea that you should quit smoking becomes your daily companion. Much of your brain power is absorbed for fighting this inner battle, trying to justify why you smoke. In a way a smoker who never tried to quit is much better off.
  •  Your life will go in circles. You will get used to circles. Maybe you have some other vices to fight and chances are, these will go in circles as well. As soon as you start smoking again a lot of these "I might as well" thoughts will enter your mind. I actually gain weight when I'm smoking, because I think "I might as well overeat".

If you really try to quit smoking using this method, here are some hints which I found useful:

  • Leave your usual environment. It is best to travel east or west so you have a substantial jet lag. Your inner clock controls your smoking behavior too and it tolerates not smoking at night. You can can put yourself into a situation where your inner clock thinks it is night while it is really day and your urge to smoke will be much weaker than usual.
  • You need to go through all the situations where you would usually smoke but this time you refuse to smoke. This is quite painful and you won't have as much fun as you would usually have. But the list of such situations is not infinite. If you ever start smoking again, chances are that this happens in an unexpected situation, a situation you didn't train for.

Smoking cigars

Smoking cigars is better than smoking cigarettes because you don't inhale. It is better for your lungs, but bear in mind that you still breathe smoke-filled air. Some of my friends have completely switched from smoking a pack of cigarettes a day to smoking one cigar a week.

Cigars have their strong points:

  • You are doing something stylish. There are good and bad cigars and you can "do yourself something good" by buying a good cigar. You don't have to give up this rewarding mechanism entirely.
  • The give you nicotine, but it takes much longer until you feel the effect. The shorter the time between taking a drug and feeling an effect the more addictive the drug is. This is true for Cocaine vs. Crack taking Heroine pills vs. injecting Herione and it is also true for Cigars vs. Cigarettes. In any case, smoking cigars still allows some nicotine in your life and you don't have to accept the thought of a life without nicotine, which would be hard to swallow for most smokers.

But cigars also have their problems. The biggest problem for me was

  • It takes at least 30 minutes to smoke a cigar. Even today, where smoking cigarettes has become really difficult it is still easier to smoke cigarettes than smoking cigars. Once you are down to one cigar a week you will probably be able to find an arrangement where you can smoke in peace.
  • Smoking cigars is even less tolerated than smoking cigarettes. I don't know why this is so. Cigars smell much better than cigarettes, if you ask me.

Smoking pipe

I never tried pipe smoking, but I believe it is very similar to smoking cigars, except it may be a little cheaper in the long run.

Nicotine patches

Nicotine patches do work. They take away the craving to some extent, but they are simply no fun and all and they are expensive.

  • There is no oral satisfaction at all.
  • You need to buy them at a pharmacy. I don't like the idea being recognized by the pharmacy clerk "here is this guy again, seems he still did not manage to quit smoking".
  • Your nicotine level will be constant or slowly degrading as the patch wears out. But what us smokers need is a nicotine deficiency ever so often. We can then "fix" this problem by smoking another cigarette. A nicotine patch does not do this.
  • It shows. I hate it when I go to the shower in my gymn and notice that I am still wearing a nicotine patch.
  • You will have to spend about the same amount of money for nicotine patches as you spent on cigarettes.

So for me, nicotine patches have proven not to be a permanent solution.

Nicotine chewing gum

Nicotine chewing gum is slightly better than patches as they provide oral pleasure and the much desired up and down of nicotine levels. Still they are epensive, you need to buy them at a pharmacy and they don't taste good.

Snuff tobacco

Snuff tobacco is tobacco powder you "sniff" like cocaine. It is actually quite cool, it frees up your nose an it gives you a "tobacco" taste. Also there are lots of different brands, so you can play with different flavors. You'll spend much less money on snuff than on cigarettes.

Still there are two problems:

  • It is difficult to manage. You always need lots of handkerchiefs around. It creates a mess.
  • You may not be able to get as much nicotine as you'd like. You can only stuff that much tobacco into you nose.

The nocotine effect with snuff tobacco comes quite quickly, so I's assume it is pretty adictive.





24.5.09 15:23


Quite smoking explained - Part two

Oral Tobacco

Oral tobacco is tobacco you put into your mouth and let the oral mucosa (the skin in your mouth) absorb the nicotine.  Some nicotine may get swallowed and get absorbed by your stomach and intestine. Oral tobacco is sometimes branded as "smokeless tobacco".

Oral tobacco has huge advantages:

  • You can get as much nicotine as you want and when you want it. It still allows nicotine levels to go up and down but the effect kicks in more slowly compared to smoking, so it should be less addictive.
  • It is cheap. You will spend less than a quarter of what you would spend on cigarettes. You won't spend any money to compensate for the lost pleasure as many quitting smokers do.
  • You don't have to buy it at a pharmacy
  • It does not create any mess. You won't even need an ashtray.
  •  You can do nicotine in situations where no other method (including smoking) would work. You can do it on a bicycle, in the bathtub or in the gymn.
  • It does not show much. People stick things into their mouths all the time. You don't have to "spit" at least not with the stuff I discuss here.
  • There are lots of different brands and flavors.

Oral tobacco is the method which worked for me. If you are an ex smoker and you like smoking weed, then you will need to find a way to smoke weed without tobacco or you will start smoking again. Oral tobacco  gave me complete control over my smoking habit. I can now smoke a pack of cigarettes and quit smoking the next day, without any feeling of loss.

The taste of most oral tobaccos has a chilly-hot component. I believe that this is the nicotine itself, because even nicotine chewing gum has this taste to it. You will initially no like this, but you will get used to it quickly, up to the point where you even want this taste.

There are lots of different brands and I will now explain some of them. I will not mention American "dip" because I know next to nothing about it.

 Tobacco pastilles

Tobacco pastilles are small black cylinders of tobacco. You place them between your cheek and jaw. They are initially solid but may "dissolve" into tobacco leaves if you leave them in the mouth long enough. 

They come in a variety of flavors. I don't like the fruity ones like lemon or orange, because these flavors do not go well with tobacco. Licorice or anis suit tobacco much better. Nicotine intake seems to be less than one cigratte, though I don't have any hard numbers to prove that. If you are a heavy smoker then one pastille probably won't do.

Oliver Twist  (by house of Oliver Twist, Denmark) comes in four flavors with fantasy names like "Sunberry" or "Tropical". Oliver Twist should be quite easy to get.

Rogfri Tobak (by McBarren, Denmark) is pretty much equivalent to Oliver Twist. The pastilles are a bit more mushy and they come in properly named flavors like "Lakrids" (licorice) and Anis. One thing I don't like about them is the box with a big "no smoking" sign on them. If you use them in public it will show.

Kruse Nr 5 + 7 (by Grimm&Triepel Germany) are larger than the previous two (the Nr 5 is even thicker than the Nr.7, but the taste is the same). The taste is a lot more interesting. It is the oral tobacco with the least chilly-hot taste to it, really mild. It does not taste like anything you could name, somewhere between leather and plums. It is my favorite so far. Kruse can be difficult to get in shops, but they have an online store.

Tobacco Bits (large)

General and Röda Lacket (by Swedish Match, Sweden) are even bigger than any of the previous ones. The look like a chopped of piece of a slim cigar. There is not much "juice" added to them and you can unroll them easily. The taste of both of them is primarily tobacco. Switching from any of the smaller ones to the Swedish Match brands feels like smoking a cigar after smoking cigarettes. I initially didn't like them at all. They almost made me puke. It took a while getting used to the taste and to develop a proper technique, so they don't get too much saliva at once. Still I only use them like every other day.


 Snus is a moist tobacco powder which is either packaged in small tea bags ("portion" ) or just as-is ("Lös" ). The Portions can be sprayed with tobacco juice, which gives them a brown surface. If the bags aren't sprayed, then they are called "white portion". Lös is the traditional way of doing Snus, but it is messy and it shows. For most people portion or white portion is the way to go.

Snus is probably the way to do nicotine with the least health risks.

  • You don't inhale. It does not hurt your lungs
  • You don't burn the tobacco. Many of the carcinogenic substances of tobacco are only created when the tobacco is burnt.
  • The tobacco isn't fermented, which is another process which produces dangerous substances.

For this reason you will not find warnings that this stuff causes cancer. The boxes only tell you that it is addictive and "dangerous for your health".

It is not allowed to sell Snus in the European Union. The only exception is Sweden. They actually managed to get excepted from that law. I don't know the rationale behind that law, but I am sure it not for the sake of public health. Sweden is the country with the least tobacco related deaths in the European Union and the country with the most Snus users.

Snus can be a real nicotine bomb. There is no risk you cannot get enough nicotine with snus. They come in small, mini and large and then in regular, strong and extra strong.

I am only a beginning Snus user, so I won't go into all the different brands and flavors.


24.5.09 16:39

Locic Programming in Python - PyLog

PyLog by Christophe Delord



There are two PyLogs out there. One is a bridge to swi-prolog, the other one allows entering und unifying "Terms" using python syntax. This is the one I am talking about here.It is a singly .py file containing less than 700 lines of code.

PyLog uses python syntax, i.e. it does not parse Strings. Instead it implements

  • __init__(),
  • __call__() and
  • __iter__()

in clever ways, so you can write prolog semantics using python syntax.


There is a base class "Term" in PyLog from which you can subclass your own functors. You can e.g. write:

  • class f(Term):pass
  • class g(Term):pass
  • aTerm = f(g(1))

In the above exampte f and g are classes and when you write g(1) the class's __init__() method is invoked and you get a g object. It internally remembers:

  • its functor (which is equal to its class  (here the class g - not its class name !),
  • the arguments you passed ("1" in this example) and
  • its arity (which is the number of arguments passed - 1 in this case).

The cool thing here is that no extra parser is needed. If you stored your Terms in Strings you would have to parse the Strings. Here the syntax is strictly pyhon.

At the bottom line you now have a way to construct Terms from class names, round brackets and commas and python itself checks that the syntax is correct.

Unifying Terms

You can see a Term as a tree and unifying two terms is putting two trees on top of each other and see if they match. It only becomes interesting, because a Term can contain unbound variables. This is like having a tree node which says "anything could be here". When unifying two Terms PyLog may replace Variables by terms. Unifying

  • f(X) with (f(f(1))

would bind X to f(1). If there are variables on both sides as when unifying

  • f(X) with f(Y)

PyLog would bind X to Y making them equal even though none of them has a value yet.

There is a Unify class (which is a subclass of Term) and you can do unifications using the following code:

for s in Unify(f(X), f(f(1))):
    print s(X)

This prints:

  • f(1)

The Stack

The only class which is not derived from Term is Stack. It maintains a stack of variable bindings. If you call a Stack object with a variable you will get the value of that variable if it has a binding. So

s(X) return the value of X if X is a bound variable (otherwise it returns the unbound variable a _1, _2 etc.)

Unifcation is first of all a method of Stack. You can call aStack.unify(T1, T2) which will yield a new Stack object, So calling

s = Stack()
for s1 in s.unify(f(X), f(f(1))):
    print s1(X)

prints: f(1)

There is also a Unify class which is a subclass of Term. So

  • Unify(f(X), f(f(1))) is a Term.

When you print this Term you get

  • Unify(f(_1),f(f(1)))

When you call this Term you need to pass it a Stack object and you get a generator which yields Stack objects as the result.

When you iterate over the result you will get Stack objects.

When you write for s in Unify(T1, T2) you will first get a Term and then this  Term gets iterated. The __iter__() method in Term calls the term with a new Stack object:

  • def __iter__(self): return self(Stack())

So iterating over the Unify Term is the same as calling it with a new Stack object. Not all Terms have a __call__ method but Unify does. It looks like this:

    def __call__(self, s):
        return s.unify(*self.args)

The s is our newly created Stack object. *self.args are the two Terms we want to unify.  Again the result is one Stack object for each iteration. 

Example Programs

The uncle program implements the knowledge that a person has an uncle if this person has a parent and this parent has a brother. So we need to be able to talk about parents and brothers first.

 class brother(Term2):
    def __call__(self, s):
        X,Y = self.args
        for b1,b2 in (
            ("pit", "john" ),
            ("pit", "james" ),
            ("jim", "paul" )
            for s1 in s.unify(brother(X,Y),brother(b1,b2)):
                yield s1
            for s1 in s.unify(brother(X,Y),brother(b2,b1)):
                yield s1

What we're doing here is yielding Stack objects which bind the free variable to pairs of person names. Note that we bind both ways, because if A is a brother of B then B is a brother of A. In order to call Stack.unify() we must pass it the two Terms to be unified.

Now a Variable is a Term too and we could bind both variables one by one, but this looks ugly and we need a nested loop. Instead we create a new Term brother(X,Y) which can be seen as brother(*self.args) and unify the entire Term with brother(b1,b2). The functor brother does not really matter here, we could have used f(X,Y) just as well, but brother is the only functor we can be certain it exists.

I am not too happy about the way I have to write brother() because a lot of the code has nothing to do with the original problem. The two loops seem like an implementation detail. Likewise the fact that the two variables can be found on the stack. Maybe there is a more concise way of writing this or maybe we should implement a common base class for Fact

You can write parent in the same way, except you only need one loop, because if A is parent of B then B is not a parent of A.

Finally you can write uncle as

class uncle(Term2):
    def __call__(self, s):
        _ =Var()
        X,Y = self.args
        return  (parent(X,_) & brother(_,Y))(s)

 The Term  parent(X,_) & brother(_,Y) is - well - a Term. In order to bind Variables you have to call this Term with a Stack object as parameter.

 To get all uncles you have to iterate as follows:

 def uncleExample():
    X = Var()
    Y = Var()

    for s1 in uncle(X,Y):
        print s1(X),s1(Y)


This is about as far as I got exploring PyLog. I did non manage to locate the Prolog engine, which was supposed to be included. I have the impression, that Christophe Delord once had a more complete albeit buggy version and then stripped out everything which did dot work 100%. Someone said that it easy to write an engine once you got the unification right, so maybe this applies to PyLog too.

In any case I like the approach of usiging python syntax and python 1st class objects. This offers a lot of possibilities. But the there is no engine. If you are a python programmer and not an AI expert PyLog may be too incomplete for you. OTOH the fact that everything is pythons offers a lot of possibilities.

1.5.09 09:03

I want more nerds

The internet and steganography

The internet has changed from a promising source of information to a steganographic encryption system. The relevant information is so well hidden, that it is next to impossible to find. Today you can probably store your passwords on the internet and nobody, no even you, will be able to find them. If you search for your passowrds you will no doubt find

  • an Ebay auction about passwords
  • cheapest prices for passwords
  • wikipedia articles about passwords
  • porn sites

Most of that stuff can be dealt with using customizegoogle. Simply exclude ebay and wikipedia from your matches.

But this is not enough. There are way too many sites which only cite other sites. You find the same information hundreds of times. I don't quite understand why people bother to set up a site which does not add any useful information.

I had some hopes that the usenet will remain a valid source of information. There crossposting is  definitiely deprecated. Also the usenet is not for everybody. You need more than a web browser to use it. So I was hoping that the general public would use the web and the inspired people would use the usenet. But it seems that today even nerds use the web.

The internet used to be great for solving computer related problems. Today the quality of postings has gone downhill. The majority of postings are like

  • I have the same problem
  • Try this and that, it has helped some ...
  • Try to reboot
  • Try to reinstall the latest drivers

If we're talking about Microsoft Windows, this is not a surprise. Windows system administrators can usually get away with these three types of recommendations (click a lot, reboot, reinstall). But today you get the same kind of advices for Linux.

Maybe some day there will be a stealth layer of the internet, which is not known to the general public. Maybe such a layer even exists today. I should google for it. But then again I guess it will be impossible to find.



19.9.08 19:01

Verantwortlich für die Inhalte ist der Autor. Dein kostenloses Blog bei myblog.de! Datenschutzerklärung