Marc's Public Blog


All | Aquariums | Arduino | Btrfs | Cars | Cats | Clubbing | Computers | Dining | Diving | Electronics | Exercising | Festivals | Flying | Halloween | Hiking | Linux | Linuxha | Monuments | Museums | Outings | Public | Rc | Sciencemuseums | Solar | Tfsf | Trips




More pages: March 2024 February 2024 January 2024 December 2023 November 2023 October 2023 September 2023 August 2023 July 2023 June 2023 May 2023 April 2023 March 2023 February 2023 January 2023 December 2022 November 2022 October 2022 September 2022 August 2022 July 2022 June 2022 May 2022 April 2022 March 2022 February 2022 January 2022 December 2021 November 2021 October 2021 September 2021 August 2021 July 2021 June 2021 May 2021 April 2021 March 2021 February 2021 January 2021 December 2020 November 2020 October 2020 September 2020 August 2020 July 2020 June 2020 May 2020 April 2020 March 2020 February 2020 January 2020 December 2019 November 2019 October 2019 September 2019 August 2019 July 2019 June 2019 May 2019 April 2019 March 2019 February 2019 January 2019 December 2018 November 2018 October 2018 September 2018 August 2018 July 2018 June 2018 May 2018 April 2018 March 2018 February 2018 January 2018 December 2017 November 2017 October 2017 September 2017 August 2017 July 2017 June 2017 May 2017 April 2017 March 2017 February 2017 January 2017 December 2016 November 2016 October 2016 September 2016 August 2016 July 2016 June 2016 May 2016 April 2016 March 2016 February 2016 January 2016 December 2015 November 2015 October 2015 September 2015 August 2015 July 2015 June 2015 May 2015 April 2015 March 2015 February 2015 January 2015 December 2014 November 2014 October 2014 September 2014 August 2014 July 2014 June 2014 May 2014 April 2014 March 2014 February 2014 January 2014 December 2013 November 2013 October 2013 September 2013 August 2013 July 2013 June 2013 May 2013 April 2013 March 2013 February 2013 January 2013 December 2012 November 2012 October 2012 September 2012 August 2012 July 2012 June 2012 May 2012 April 2012 March 2012 February 2012 January 2012 December 2011 November 2011 October 2011 September 2011 August 2011 July 2011 June 2011 May 2011 April 2011 March 2011 February 2011 January 2011 December 2010 November 2010 October 2010 September 2010 August 2010 July 2010 June 2010 May 2010 April 2010 March 2010 February 2010 January 2010 December 2009 November 2009 October 2009 September 2009 August 2009 July 2009 June 2009 May 2009 April 2009 March 2009 February 2009 January 2009 December 2008 November 2008 October 2008 September 2008 August 2008 July 2008 June 2008 May 2008 April 2008 March 2008 February 2008 January 2008 December 2007 November 2007 October 2007 September 2007 August 2007 July 2007 June 2007 May 2007 April 2007 March 2007 February 2007 January 2007 December 2006 November 2006 October 2006 September 2006 August 2006 July 2006 June 2006 May 2006 April 2006 March 2006 February 2006 January 2006 December 2005 November 2005 October 2005 September 2005 August 2005 July 2005 June 2005 May 2005 April 2005 March 2005 February 2005 January 2005 December 2004 November 2004 October 2004 September 2004 August 2004 July 2004 June 2004 May 2004 April 2004 March 2004 February 2004 January 2004 October 2003 August 2003 July 2003 May 2003 April 2003 March 2003 January 2003 November 2002 October 2002 July 2002 May 2002 April 2002 March 2002 February 2002 November 2001 October 2001 September 2001 August 2001 July 2001 June 2001 May 2001 April 2001 March 2001 February 2001 January 2001 December 2000 November 2000 October 2000 September 2000 August 2000 July 2000 June 2000 April 1999 March 1999 September 1997 August 1997 July 1996 September 1993 July 1991 December 1988 December 1985 January 1980



2011/12/28 Champs Elyses Car Displays
π 2011-12-28 01:01 in Cars, Ncars
When walking up and down the Champs Elysées, we went to see all the displays from car manufacturers:

Renault:


Toyota:



Peugeot:



Mercedes:


Citroën:


the many year winning WRC champion car, cool
the many year winning WRC champion car, cool



That was a good match for Sébastien I had just met :)
That was a good match for Sébastien I had just met :)

See more images for Champs Elyses Car Displays
2011/12/28 Video Games Expo at the Grand Palais, Paris
π 2011-12-28 01:01 in Sciencemuseums
We happened to be around when they had a Video Games expo. We only had 45mn to go through it before it closed, but it was quite cool to see so many vintage games I used to play with way back in the day. Great trip in nostalgia land :)

ok, doesn't get older than that :)
ok, doesn't get older than that :)

I remember playing this
I remember playing this

Arkanoid, I was good at this!
Arkanoid, I was good at this!

Out Run, that used to be the game I thought was so cool and pretty back then
Out Run, that used to be the game I thought was so cool and pretty back then

I actually finished Super Mario 64 in 1997
I actually finished Super Mario 64 in 1997

Good times...

2011/12/27 Lunch with Tata
π 2011-12-27 01:01 in Family
Since we were obviously starving between all those meals that were enough to feed you for a day and a half each :), Tata invited us for lunch:




2011/12/24 Xmas eve, dinner with Dad's friends, and New Year's eve
π 2011-12-24 01:01 in Family

this is one of the things I found for my dad
this is one of the things I found for my dad

early Xmas gifts for the kids
early Xmas gifts for the kids

let's not screw around here, there's some cooking to do :)
let's not screw around here, there's some cooking to do :)

Jennifer, trying out for Cabaret :)

We were then invited by friends of my dad's:





Jennifer enjoyed holding their rabbit (which didn't enjoy it nearly as much :)



Yum!
Yum!

Just a few days later, it was time for more of this for New Years Eve. It was tough to keep up with the food :)












2011/12/24 Pictures of Paris over Xmas 2011
π 2011-12-24 00:00 in France, Ntrips, Paris, Trips
The first day, Jennifer and I went to visit a somewhat park in Bagnolet where I grew up just outside of Paris. It's not an awesome park, but for there, i's pretty good still :)



When then took advantage of great sunny weather and unseasonably high temperatures during the winter to visit Paris:



Jussieu, one of Paris' main universities is being rebuilt from the ground up to remove all the toxic asbestos. Doesn't look shabby right now:


We then went towards Sacré Coeur to see if we could climb to the top this time, something I had tried 3 times already but failed due to chronic Xmas absentees, preventing staffing for ascent to the top. It was beautiful weather:






The views from the top were great that day:













Sainte Chapelle
Sainte Chapelle

Grand Palais and La Défence
Grand Palais and La Défence

After that we headed to the Panthéon, which I had never seen inside (bad me). Lots of famous people are burried in the crypt, and the foucault pendulum is cool:


[rigimg:1024:302"]





and we then went through the jardins du luxembourg towards tour Montparnasse:





We unfortunately got to the top a tad late, just as the sun was setting, but we raced to get some pictures while the light was fading:


Pont Alexandre 3 and Grand Palais
Pont Alexandre 3 and Grand Palais

Notre Dame
Notre Dame

La Défence in the background
La Défence in the background



Louvre and Jardin des Tuileries leading to l'obélixe
Louvre and Jardin des Tuileries leading to l'obélixe

Centre Georges Pompidou and Tour St Jacques
Centre Georges Pompidou and Tour St Jacques





The next day we went to the Musée des arts forains and Court St Emilion







After that, we walked the Champs Elysées from the Obélix up to see all the little Xmas shops, and then went to see some of the displays in the last section:



Piggie!
Piggie!





We then went to the Grand Palais to see a computer game expo and the faire in the main hall:






and finished the night with Duck Choucroute and foie gras

A few days later, with another nice day, we went to the Sacré Coeur for some great clear views of Paris and seeing their own Xmas shops:







Centre Georges Pompidou
Centre Georges Pompidou







More piggie!
More piggie!

We then went to the nearby Place du Tertre:













Yet another day, we went to Musée Grévin:











Then, we walked through Passage Verdeau, Jouffroy, and Passage des Panoramas, and we finished at the Louvre's shopping gallery:










That's all folks. 'till next year.

See more images for Pictures of Paris over Xmas 2011
2011/12/23 Spending time with Mom over Xmas
π 2011-12-23 01:01 in Family
We went to see my mom first this year, and due to the horrible weather last year, barely making the flight to Paris tha was half shutdown by weather, and almost missing Xmas eve, we arrived on the 23rd. Turns out weather was the best it's ever been in years.

We had a nice Xmas lunch:






Birds thought it was spring already :)


2011/12/19 Re-Visit of Kleenspeed
π 2011-12-19 01:01 in Cars, Ncars
They invited us again to tell us about their progress since last time we stopped by. They are now expending and looking for investors.


the electric bike
the electric bike

the scooter had plenty of pull
the scooter had plenty of pull

they still have their race car
they still have their race car



They definitely have good technology, I hope they do well in helping spreading electrically powered vehicles to the consumer.

See more images for Re-Visit of Kleenspeed
2011/12/18 Droids, they breed at night :)
π 2011-12-18 01:01 in Public
And the new children look bigger :)


See more images for Droids, they breed at night :)
2011/12/17 Zeo Raw Library Simple Callback Example
π 2011-12-17 01:01 in Linux, Osa
The MyZeo folks definitely deserve credit for releasing open firmware and instructions on how to interface with their bedside Zeo device via a custom made serial port: http://zeorawdata.sourceforge.net/starting.html

Since I had been working on arduino, I happened to have one of those 3.3V FTDI USB-serial converters, and was able to make a cable that connects my bedside Zeo to my server closer via a custom cable going through my existing Cat-5 wiring.

The example code they gave is however, while very fancy, not that simple to borrow from for a more simple application that simply needs to keep track of the sleep stage.

So, after finding the relevant info, I compiled the code below, which I'm posting for others to use (you can also download it here: zeo raw data code sample).

#!/usr/bin/python

# This is based off the Zeo Raw Data Library at the bottom of # http://zeorawdata.sourceforge.net/starting.html # This script is a much simpler version of how to log basic data than the cool # and pretty GUI_Viewer from http://zeorawdata.sourceforge.net/examples.html # This script is an easier example to steal from for simple logging/integration.

# By Marc MERLIN <marc_soft@merlins.org> / 2011/12/17 # License: GPLv3.

#gandalfthegrey [mc]$ ./logsleep.py # 2011-12-17 12:19:10: HeadbandDocked # 2011-12-17 12:19:15: HeadbandUnDocked # 2011-12-17 12:19:22: Sleep state: Undefined # 2011-12-17 12:19:52: Sleep state: Undefined # 2011-12-17 12:20:22: Sleep state: Undefined # 2011-12-17 12:20:52: Sleep state: Undefined # 2011-12-17 12:21:22: Sleep state: Undefined # 2011-12-17 12:21:52: Sleep state: Undefined # 2011-12-17 12:22:22: Sleep state: Undefined # 2011-12-17 12:22:52: Sleep state: Undefined # 2011-12-17 12:23:22: Sleep state: Undefined # 2011-12-17 12:23:52: NightStart # 2011-12-17 12:23:52: Sleep state: Awake # 2011-12-17 12:24:22: Sleep state: Awake # 2011-12-17 12:24:52: Sleep state: Awake # 2011-12-17 12:25:22: Sleep state: Awake # 2011-12-17 12:25:52: Sleep state: Awake # 2011-12-17 12:26:23: Sleep state: Awake # 2011-12-17 12:26:32: HeadbandDocked

# System Libraries import time import sys

# Zeo Libraries from ZeoRawData import BaseLink, Parser from ZeoRawData.Utility import *

# User customizable variables port = '/dev/ttyUSB0'

class Callbacks: def logtime(self): return time.strftime("%Y-%m-%d %H:%M:%S: ", time.localtime())

def SliceCallback(self, slice): if slice['SleepStage']: print self.logtime() + "Sleep state: " + slice['SleepStage']

def EventCallback(self, logtime, version, event): print self.logtime() + event

if __name__ = "__main__": link = BaseLink.BaseLink(port) parser = Parser.Parser()

callbacks = Callbacks()

# Add Callbacks and Start the Link link.addCallback(parser.update) parser.addSliceCallback(callbacks.SliceCallback) parser.addEventCallback(callbacks.EventCallback) link.start()

# Infinitely loop to allow the script to run continuously while(True): time.sleep(5)

2011/12/16 Let is snow for Android
π 2011-12-16 01:01 in Google
This year has been quite low on snow in California, probably the first year in quite a while that I won't have gone snowboarding before Xmas. Shame...

Android team took matter in their own hands, and brought snow to their building.



It was kind of cool to see how huge blocks of ice were turned into something that mostly looked like snow :)



The end result:



A few days later, it was mostly gone, as expected, but still, it was a fun stunt :)



See more images for Let is snow for Android
2011/12/14 Interesting Stanford Sleep Study and comparing data with Zeo and personal SPO2 logger
π 2011-12-14 01:01 in Osa
My sleep has definitely improved this year. I do occasionally wake up for no good reason, or have nights that are shorter than they should be (wake up without an alarm and can't fall back asleep), but I would say that my issues of having 8H of sleep and waking up tired the next day are mostly gone.
This is good news from the OSA standpoint.

Now, because I need to wear a retainer every night anyway after I got my teeth moved, I figured I might as well get a sleep appliance again (think of a retainer with hardware that forces your bottom jaw forward) and improve my airway and room for my tongue when I sleep, just in case that helps further.

I was due for a sleep study at Standford, so we did a split night, first half withe sleep appliance and second half without it. While it's true that my sleep is not the same at the begining of the night vs the end, my sleep is usually deeper at the beginning of the night.

Apnea results

Long story short, my sleep was clearly worse with the sleep appliance than without. My AHI/RDI was 15.5 along with SPO2 drops with the appliance (That counts as apnea), while it went down to an almost normal 9 without SPO2 drops without the appliance.

So, there are 3 possibilities:

  • My sleep wasn't as good at the beginning of the night than the end, maybe because I wasn't doing well with all the wires and unnatural sleeping position (I remember dreaming a lot, which I never ever do in my first hours of sleep). My Zeo and the stanford report both showed I was in and out of deep sleep, and hit a good bit of REM around midnight. This means that if we had done the sleep study the other way around, the results could have changed. Still, the first part of the night does show desaturation and more SPO2 drops than the second part, both on the stanford graph and my own SPO2 recorder, and the stanford sleep graph really shows a bit of apnea (not hypopnea) for the first part of the night.
  • My sleep appliance *really* makes my sleep worse. It's unclear as to how since it's meant to do the opposite, but maybe my tongue isn't as happy with the little extra space it takes in my mouth.
  • However stanford computes the apnea score isn't that accurate or relevant to apnea. I don't think that's the case, their data looks very accurate and mostly matches the data I took separately from them. While I am pretty convinced by now that the Stanford test does influence the results, my own SPO2 sensor also seems to show that I may have gotten more consistent better SPO2 readings than they did. I'm not sure if their tech correctly excluded each and every reading anomaly on their graph vs my own recording which was much more consistent.
  • So let's have a look at the stanford graph, knowing that I removed the appliance around 03:00 but took almost 30mn to sleep again after that (and got up once to drink around 03:20):


    Clearly, things get better after 03:20, although my sleep was so disturbed around 03:00 that it shows a lot hypopnea without the appliance on, supporting my guess that the test itself is also messing with the results in my opinion.

    Stanford vs Zeo

    I brought my Zeo sleep monitor and the tech allowed me to wear it on top of their sensors to record the night on my phone while they were recording it themselves.
    Let's compare the two (note that the Zeo monitor which consolidates stages 1 and 2 as light sleep, and 3 and 4 as deep sleep):



    Having a quick look the Zeo does a reasonable job, even if not perfect:

  • it does consolidate data compared to the stanford graph, but for a home appliance, that's good enough.
  • it did however miss some period of awakeness at 02:30.
  • it also claims I was in REM around 03:10, but stanford's better sensors say I was in light sleep bouncing back to awake (which Zeo picks up afterwards. Generally Zeo is known not to do a super good job between light sleep and awake at times).
  • at 05:30, Zeo says I was in deep sleep for quite a while, Stanford disagrees, I apparently just barely touched stage 3 a few times.
  • Zeo has a quick explanation on their consolidated stages of sleep, and what each means and more articles on sleep stages.

    Verdict for Zeo? I'd say it wasn't bad considering, especially since it is designed to smooth and average data, while Stanford is meant to show raw data.

    Stanford vs Bluetooth Pulse Oximeter CMS50EW

    This brings us to my SPO2 saturation. I used a CMS50EW finger clamp SPO2 monitor which actually worked a bit more reliably than the stanford sensor which dropped signal a couple of times during the study.


    The drop around 03:20 is because I god unhooked, but the drops at 03:00 (to 60%?) and later around 06:00, look like monitoring issues. It seems that the tech who did the report did reject them as such.

    Here are the dumps from my own monitor for that night:

    My graph, first part of the night, with sleep appliance
    My graph, first part of the night, with sleep appliance

    Stanford graph
    Stanford graph

    My graph, second part of the night, without sleep appliance
    My graph, second part of the night, without sleep appliance

    Comparing the results, my monitor did show the drops at 23:35, 00:55, but it missed 01:25 and 03:00. I'm not sure who's right there, you'd think Stanford obviously has more sensitive equipment, but I also think it might be too sensitive. I think their sensor might show big drops when it'd bumped wrong, or the analog plug is touched.
    At 03:20, I was unplugged so that drop is expected. After that, the big drops around 06:00 seem to be bad data which my own monitor did not record.
    Because my own recorder was built in and did not rely on wires that would be messed with when I move, I actually think I got better SPO2 readings than they did. Too bad it's soo uncomfortable to wear and requires a good amount of tape to make sure I don't have it drop off my finger, or move enough to affect its readings.

    Verdict?

  • My study is still very perplexing. While I am not fully certain that the stanford data recording was 100% accurate, at least for SPO2, I still agree that the data shows that the first part of the night was worst than the second, which is the wrong way around compared to expectations (I should have had less apnea the first part of the night with the sleep appliance/mouth piece).
  • The Zeo monitor did well enough compared to what I expected out of it. It gets a pass :) (and actually gets better than pass if you consider how unobtrusive it is).
  • The CMS50EW did really well. If only I could get its data wirelessly from linux, but its drivers suck so badly that it can barely talk to windows. What a shame...
  • I am feel like Schroedinger's cat, being observed at stanford definitely influences my night and therefore the results. They really should reconsider their apparatus for something simpler depending on what needs to be measured. If I'm only here for apnea, give me just the sensors for that and use a much smaller device (which should be wireless) and let me sleep on my tummy and turn around freely.
  • what a mess :)
    what a mess :)

  • I'm not sure if I can fully consider that my AHI/RDI is now under 10, but if so, great! :) Actually if stanford counted those SPO2 drops around 06:00, and they were wrong, then my score gets even a bit better. But really, it's hard to say. I feel like there could be a variance of up to 5 points doing the same study 3 nights in a row. That's not very feasible though since Stanford is the most expensive hotel I've ever slept at :)
  • This is why I've been working on my own recording at home so that I can get as much data as I can over several nights and average that out.

    2011/12/13 Steve Job's Biography at the Computer History Museum
    π 2011-12-13 01:01 in Public
    This was a 'sold out' event where the members took all the spots within hours of the Email announcement. Walter Isaacson gave us a summary of the biography he wrong on Steve.

    I had already read a fair amount about Steve, but I was still impressed by the details of how Steve would believe in something that seemed unachievable strongly enough that he would manage to convince his engineers that it was achievable, and they would often make it happen.

    I also didn't know that all Apple devices were not upgradable, or even meant to be opened, because Steve believed they were works of art that should not be disturbed since they were perfect as is :)



    I never was a Steve fanboy, but I do admire the guy for some of what he did, and all in all, it was a quite interesting evening.

    2011/12/12 GCC-AVR-4.5.3-2 Breaks Arduino NewSoftSerial
    π 2011-12-12 01:01 in Arduino
    Dear Google, please index this.

    TL;DR: gcc-avr 4.5.3 breaks Arduino NewSoftSerial on 328p. I had to downgrade back to 4.3.5.

    Full story:
    I had my arduino mobsendat board (328P based) working fine and after uploading some changes, it startsending a few of my characters over my Xbee, mixed with garbage. Most characters actually seemed lost.

  • https://github.com/lukeweston/RocketInstrumentation/blob/master/RocketInstrumentation-board.png
  • https://github.com/lukeweston/RocketInstrumentation/blob/master/RocketInstrumentation-schematic.png
  • In other words, I got less traffic than I should, a few were original characters, and some were garbage on a board and Xbee that were sending traffic at 38,400bps just fine for the last year.

    I used my xprotolab to decode the sending pin on the xbee directly to rule out RF issues, and I see the garbage there too. If you want to know what I mean, look at the last picture on http://www.gabotronics.com/product-info/xprotolab-pictures.htm

    So I was bit confused. The Xbee worked fine separately from the board and the serial bits getting to the xbee pins were damaged before they were sent on a simple program like this:

    #include <NewSoftSerial.h>
    

    const int XBEE_SLEEP = 8; // pin 14

    NewSoftSerial mySerial = NewSoftSerial(2, 3);

    void setup(void) { Serial.begin(38400); mySerial.begin(38400); // Switch pin to digital mode with pullup. pinMode(XBEE_SLEEP, OUTPUT); digitalWrite(XBEE_SLEEP, LOW); while (1) { Serial.println("AB12"); mySerial.println("AB12"); delay(1000); } }

    void loop(void) { }

    Arduino IDE is 0.22ubuntu0.1 on ubuntu oneiric. I thought that maybe an update to the arduino IDE broke it when I went from ubuntu marverick/natty to oneiric, but that wasn't it.

    Then I thought that maybe I damaged my hardware (maybe the clock/crystal is messed up, but then I suppose serial over USB wouldn't work either, and it does work), or if upgrading ubuntu recently broke NewSoftSerial in some subtle way, but I verified I had NewSoftSerial 10, and upgrading to 11 beta did not help.

    This is where it got wild: if I listened to the serial traffic going to the xbee from NewSoftSerial (I had version 10), and if I used the RX UART decoding pin of my Xprotolab, it could see the traffic ok. If I used the TX pin on the Xprotolab, then the same traffic mostly looked like garbage (actually most characters were lost). Putting 2 stop bits did not help.

    I talked to Gabriel Anzziani who made the Xprotolab and he said 'The RX and TX decoding are done differently in the Xprotolab. The RX is done by the XMEGA hardware, and the TX is done in firmware.'

    So clearly, there was a timing issue in what NewSoftSerial was doing at 38400 even though it had worked with the same NewSoftSerial library for about a year and NewSoftSerial 11 did not help.

    So, out of desperation, I took the nfs backup from my laptop before I upgraded from ubuntu maverick to ubuntu oneiric. While it was a bit hard to get the arduino IDE to work over an NFS chroot, I eventually got it to run, compile and upload my same Hello world serial program. And it worked!

    From there, it took a binary search to pin this down to the gcc-avr upgrade.

    gandalfthegrey:/var/local/src/arduino# dpkg -i gcc-avr-4.3.5-1.deb
    dpkg: warning: downgrading gcc-avr from 1:4.5.3-2 to 1:4.3.5-1.
    Yes, that really was the fix :(

    My guess is that the new gcc-avr changes some compilation timings/optimizations in a way that NewSoftSerial breaks :(

    2011/12/11 Company Group Offsite to the Crucible
    π 2011-12-11 01:01 in Google
    We went there to learn blacksmithing, glass flameworking and glass ladling. That was some interesting learning.



    this was what I made
    this was what I made


    the glass blowing was interesting and hard
    the glass blowing was interesting and hard



    2011/12/03 2011 Company Xmas Party
    π 2011-12-03 01:01 in Google
    We dressed up for the annual Xmas party, and met a few friends there. The first 2H or so were actually pretty nice, we had a chance to talk and enjoy the good food, and then it happened, again, the dreadful stupidly loud music that mostly ruined the rest of the evening by making sure that you couldn't talk to anyone without shouting a few words at a time in their ear.





    To be honest, I'm getting tired of this 'without loud music to drown out the entire room and dancing or nothing'. It's the same thing every year :( It's really too bad because it was otherwise a nice party.

    Some went to hide in the small room next door, the scotch bar, but it was way too small for the number of people wanting to hide there.


    Since talking was mostly impossible at that point, Jennifer wanted to try some fake gambling, so we played some blackjack where I 'won' ten times my original bid before we had enough of the noise and just went home.



    See more images for 2011 Company Xmas Party

    More pages: March 2024 February 2024 January 2024 December 2023 November 2023 October 2023 September 2023 August 2023 July 2023 June 2023 May 2023 April 2023 March 2023 February 2023 January 2023 December 2022 November 2022 October 2022 September 2022 August 2022 July 2022 June 2022 May 2022 April 2022 March 2022 February 2022 January 2022 December 2021 November 2021 October 2021 September 2021 August 2021 July 2021 June 2021 May 2021 April 2021 March 2021 February 2021 January 2021 December 2020 November 2020 October 2020 September 2020 August 2020 July 2020 June 2020 May 2020 April 2020 March 2020 February 2020 January 2020 December 2019 November 2019 October 2019 September 2019 August 2019 July 2019 June 2019 May 2019 April 2019 March 2019 February 2019 January 2019 December 2018 November 2018 October 2018 September 2018 August 2018 July 2018 June 2018 May 2018 April 2018 March 2018 February 2018 January 2018 December 2017 November 2017 October 2017 September 2017 August 2017 July 2017 June 2017 May 2017 April 2017 March 2017 February 2017 January 2017 December 2016 November 2016 October 2016 September 2016 August 2016 July 2016 June 2016 May 2016 April 2016 March 2016 February 2016 January 2016 December 2015 November 2015 October 2015 September 2015 August 2015 July 2015 June 2015 May 2015 April 2015 March 2015 February 2015 January 2015 December 2014 November 2014 October 2014 September 2014 August 2014 July 2014 June 2014 May 2014 April 2014 March 2014 February 2014 January 2014 December 2013 November 2013 October 2013 September 2013 August 2013 July 2013 June 2013 May 2013 April 2013 March 2013 February 2013 January 2013 December 2012 November 2012 October 2012 September 2012 August 2012 July 2012 June 2012 May 2012 April 2012 March 2012 February 2012 January 2012 December 2011 November 2011 October 2011 September 2011 August 2011 July 2011 June 2011 May 2011 April 2011 March 2011 February 2011 January 2011 December 2010 November 2010 October 2010 September 2010 August 2010 July 2010 June 2010 May 2010 April 2010 March 2010 February 2010 January 2010 December 2009 November 2009 October 2009 September 2009 August 2009 July 2009 June 2009 May 2009 April 2009 March 2009 February 2009 January 2009 December 2008 November 2008 October 2008 September 2008 August 2008 July 2008 June 2008 May 2008 April 2008 March 2008 February 2008 January 2008 December 2007 November 2007 October 2007 September 2007 August 2007 July 2007 June 2007 May 2007 April 2007 March 2007 February 2007 January 2007 December 2006 November 2006 October 2006 September 2006 August 2006 July 2006 June 2006 May 2006 April 2006 March 2006 February 2006 January 2006 December 2005 November 2005 October 2005 September 2005 August 2005 July 2005 June 2005 May 2005 April 2005 March 2005 February 2005 January 2005 December 2004 November 2004 October 2004 September 2004 August 2004 July 2004 June 2004 May 2004 April 2004 March 2004 February 2004 January 2004 October 2003 August 2003 July 2003 May 2003 April 2003 March 2003 January 2003 November 2002 October 2002 July 2002 May 2002 April 2002 March 2002 February 2002 November 2001 October 2001 September 2001 August 2001 July 2001 June 2001 May 2001 April 2001 March 2001 February 2001 January 2001 December 2000 November 2000 October 2000 September 2000 August 2000 July 2000 June 2000 April 1999 March 1999 September 1997 August 1997 July 1996 September 1993 July 1991 December 1988 December 1985 January 1980

    Contact Email