東京都武蔵野市生まれ。小金井市立南小学校、小金井市立小金井第二中学校、東京都立清瀬高等学校卒業。1年間の浪人生活を経て、獨協大学経済学部経営学科に入学し、1993年3月に卒業。同年4月、自由民主党本部事務局に入職した。同年8月、新党さきがけの結党により、同党事務局へ移籍。1996年11月、アメリカ合衆国政府インターナショナル・ビジター・プログラムにより、訪米。1997年、小金井市議会議員選挙に無所属で出馬し、初当選した。小金井市議は2期8年務める。2005年に東京都議会議員選挙に鞍替えし、小金井市選挙区から民主党公認で立候補して当選した。民主党に強い追い風が吹いた2009年の東京都議会議員選挙でも再選されたが、2013年の東京都議会議員選挙では自民党公認の新人に敗れ、落選した。2014年11月よりチャイルド社グループの保育園で事務長を務める。
國學院大學文学部卒業。日本教育テレビ（現・テレビ朝日）入社。アナウンサー・キャスターを務め、ニュース番組、スポーツ中継等を担当し、テレビ朝日アナウンス部長他。近年では元アナウンサーである経験を活かし、「正しい日本語」「美しい日本語」に関する講演活動を行っている。
光明週間（こうめいしゅうかん、ギリシア語: Διακαινήσιμος εβδομάδα, ロシア語: Светлая седмица, 英語: Bright Week）もしくは光明週（こうめいしゅう）とは、復活大祭の後に続く1週間を指していう、正教会暦における期間。復活の喜びと永遠の生命の賜物の満ち溢れる期間とされる。復活祭期は復活大祭から升天祭前日まで設定されており、光明週間は復活祭期の始まりの週である。復活大祭、光明週間月曜日、光明週間火曜日、光明週間水曜日、光明週間木曜日、光明週間金曜日、光明週間土曜日の、計7日間で構成される。正教会では復活大祭についてイースターよりもパスハという呼称が好まれること、日本語表記「光明週間月曜日」が存在することなどから、これにつき「イースターマンデー」といった表記は日本正教会では用いられない。また光明週間は不禁食週間（ふきんしょくしゅうかん）と位置づけられ、斎 (ものいみ)は行われず、ご馳走を食べ、神の恵みに感謝する。不禁食週間としては他に、大斎の前にある「税吏とファリセイの主日」に続く週、降誕祭の期間などがある。光明週間中、普段は奉神礼で定められた場面以外では閉ざされているイコノスタシスの門が開け放たれる。ただし光明週間であっても、門を勝手に必要なく出入りすることは（未信徒はもとより、正教徒であっても、さらに至聖所に普段仕えている教衆であっても）許されない。日本正教会においては通例、門扉を開けた上で、花瓶などを使って花などが門に置かれ、勝手に出入りしないよう示す。光明週間には、復活大祭と同様の聖体礼儀をはじめとした奉事が毎日行われ、十字行が毎日繰り返される奉事例（ティピコン）がある（但し大規模な修道院を除き、日本正教会を含め多くの街の教会では、この奉事例通りに奉神礼を執行しているものは極めて稀である）。聖体礼儀、婚配機密、時課、パニヒダ・埋葬式・永眠者のためのリティヤといった永眠者の記憶のための諸奉神礼などの公祈祷はもとより、私祈祷に至るまで様々な祈りにおいて、光明週間を含む復活祭期の間パスハの讃詞などが歌われ、復活が特に記憶されることとなっている。
プロジェクト全体の基盤であり、RDD抽象化を中心とするアプリケーションプログラミングインターフェイス（Java、Python、Scala、R）を介して公開される分散タスクディスパッチ、スケジューリング、および基本I/O機能を実装している。（Java APIは他のJVM言語でも使用でき、Juliaなどの他の非JVM言語でも使用できる。）「ドライバ」プログラムは、関数をSparkに渡すことによってRDD上でmap、 filter 、reduceなどの並列操作を呼び出し、関数の実行をクラスタ上で並列にスケジュールする。 [2]これらの操作や結合などの追加操作は、RDDを入力として受け取り、新しいRDDを生成する。RDDはイミュータブルで遅延評価している。耐故障性は、データ消失の場合に再構成できるように各RDDの「系統」（生成操作）を追跡により達成される。RDDには任意の種類のPython、Java、Scalaオブジェクトを含められる。RDD指向の機能的プログラミングスタイルの他に、共有変数の2つの制限形式がある。ブロードキャスト変数はすべてのノードで利用可能な読み取り専用データを参照し、アキュムレータは命令型プログラミングの削減をプログラムできる。RDD中心の関数型プログラミングの典型例は、テキストファイルのセット内に出現するすべての単語の頻度を計算し、最も一般的なものを表示する次のScalaプログラムである。各マップflatMap（マップの変形）とreduceByKeyは、単一のデータ項目（または項目のペア）に対して簡単な操作を実行し、その引数を適用してRDDを新しいRDDに変換する無名関数をとる。val conf = new SparkConf().setAppName("wiki_test") // create a spark config objectval sc = new SparkContext(conf) // Create a spark contextval data = sc.textFile("/path/to/somedir") // Read files from "somedir" into an RDD of (filename, content) pairs.val tokens = data.flatMap(_.split(" ")) // Split each file into a list of tokens (words).val wordFreq = tokens.map((_, 1)).reduceByKey(_ + _) // Add a count of one to each token, then sum the counts per word type.wordFreq.sortBy(s => -s._2).map(x => (x._2, x._1)).top(10) // Get the top 10 words. Swap word and count to sort by count.