|
|
便利なツール Emacs らくらく 入門 ![]() |
|
Namazu for hns による簡易全文検索 詳しくは 詳細指定/ヘルプを参照して下さい |
||||||||||||||||||||||||||||||||||||||||||||||||
2024年01月21日(日) 旧暦 [n年日記] [更新:"2004/08/09 23:43:33"]#1 [pkgsrc] uselocale vs setlocale (textproc/R-readxl)libxls/locale.c: In function 'xls_wcstombs_l': libxls/locale.c:84:26: warning: implicit declaration of function 'uselocale'; did you mean 'setlocale'? [-Wimplicit-function-declaration] 84 | locale_t oldlocale = uselocale(loc); | ^~~~~~~~ @ Ubuntu /usr/include/locale.h:
cat -n /usr/include/locale.h
182 /* Switch the current thread's locale to DATASET. 183 If DATASET is null, instead just return the current setting. 184 The special value LC_GLOBAL_LOCALE is the initial setting 185 for all threads and can also be installed any time, meaning 186 the thread uses the global settings controlled by `setlocale'. */ 187 extern locale_t uselocale (locale_t __dataset) __THROW; 188 189 /* This value can be passed to `uselocale' and may be returned by it. 190 Passing this value to any other function has undefined behavior. */ 191 # define LC_GLOBAL_LOCALE ((locale_t) -1L) ( つっこみ )
2014年01月21日(火) 旧暦 [n年日記] [更新:"2014/01/23 23:54:47"]#1 [NetBSD] PR kern/41974 (panic in cpu_in_cksum)
On ML115 G1, NetBSD/amd64 6.1.2 with 8GB memory, packaging
misc/openoffice3 gives 100% trap 6 (MAKE_JOBS=4)
PR kern/41974 (panic in cpu_in_cksum) 5.0 NFS-related panic (current-users 2008/12/23) In my diary I'm seeing following address constantly: rip ffffffff805f8a7dSo, search this PC address: objdump -d /netbsd ffffffff805f889e <pmap_enter_ma>: ffffffff805f889e: 55 push %rbp ... ffffffff805f8a1b: 0f 84 35 04 00 00 je ffffffff805f8e56 <pmap_enter_ma+0x5b8> ffffffff805f8a21: 48 b9 00 f0 ff ff ff movabs $0xffffffffff000,%rcx ffffffff805f8a28: ff 0f 00 ffffffff805f8a2b: 48 21 ca and %rcx,%rdx ffffffff805f8a2e: 48 c7 45 98 00 00 00 movq $0x0,-0x68(%rbp) ffffffff805f8a35: 00 ffffffff805f8a36: 4d 89 ec mov %r13,%r12 ffffffff805f8a39: 4d 85 ed test %r13,%r13 ffffffff805f8a3c: 75 aa jne ffffffff805f89e8 <pmap_enter_ma+0x14a> ffffffff805f8a3e: 4c 89 db mov %r11,%rbx ffffffff805f8a41: 4d 89 f5 mov %r14,%r13 ffffffff805f8a44: 45 89 fe mov %r15d,%r14d ffffffff805f8a47: 4d 89 d7 mov %r10,%r15 ffffffff805f8a4a: 48 83 7d 98 00 cmpq $0x0,-0x68(%rbp) ffffffff805f8a4f: 0f 84 d5 04 00 00 je ffffffff805f8f2a <pmap_enter_ma+0x68c> ffffffff805f8a55: 48 8b 55 98 mov -0x68(%rbp),%rdx ffffffff805f8a59: 49 89 95 28 01 00 00 mov %rdx,0x128(%r13) ffffffff805f8a60: 48 85 d2 test %rdx,%rdx ffffffff805f8a63: 0f 84 19 05 00 00 je ffffffff805f8f82 <pmap_enter_ma+0x6e4> ffffffff805f8a69: 4c 8b 75 a0 mov -0x60(%rbp),%r14 ffffffff805f8a6d: 49 c1 e6 10 shl $0x10,%r14 ffffffff805f8a71: 49 c1 ee 1c shr $0x1c,%r14 ffffffff805f8a75: 49 c1 e6 03 shl $0x3,%r14 ffffffff805f8a79: 4c 03 75 c8 add -0x38(%rbp),%r14 ffffffff805f8a7d: 4d 8b 26 mov (%r14),%r12 ffffffff805f8a80: 48 89 d8 mov %rbx,%raxpmap.s 3744 movabsq $4503599627366400, %rcx (fffffffffffff000 = -4096) 3745 andq %rcx, %rdx 3746 movq $0, -104(%rbp) 3747 .L382: 3748 movq %r13, %r12 3749 testq %r13, %r13 3750 jne .L387 3751 movq %r11, %rbx 3752 movq %r14, %r13 3753 movl %r15d, %r14d 3754 movq %r10, %r15 3755 cmpq $0, -104(%rbp) 3756 je .L420 3757 .L388: 3758 movq -104(%rbp), %rdx 3759 movq %rdx, 296(%r13) 3760 testq %rdx, %rdx 3761 je .L383 3762 .L380: 3763 movq -96(%rbp), %r14 3764 salq $16, %r14 3765 shrq $28, %r14 3766 salq $3, %r14 3767 addq -56(%rbp), %r14 3768 .L393: 3769 movq (%r14), %r12 3770 movq %rbx, %rax 3771 xorq %r12, %rax 3772 movabsq $4503599627366401, %rcx (ffffffffffff001 = -4095)Generating Mixed Source and Assembly List using GCC ( -Wa,-adhln -g ) .LVL546: .L380: .loc 1 3984 0 movq -96(%rbp), %r14 .LVL547: salq $16, %r14 shrq $28, %r14 salq $3, %r14 .LVL548: addq -56(%rbp), %r14 .LVL549: .L393: .loc 1 3986 0 movq (%r14), %r12 .LVL550: .loc 1 3991 0 movq %rbx, %rax xorq %r12, %rax movabsq $4503599627366401, %rcxcat -n x86/x86/pmap.c |less 3980 /* 3981 * update the pte. 3982 */ 3983 3984 ptep = &ptes[pl1_i(va)]; 3985 do { 3986 opte = *ptep; 3987 3988 /* 3989 * if the same page, inherit PG_U and PG_M. 3990 */ 3991 if (((opte ^ npte) & (PG_FRAME | PG_V)) == 0) { 3992 npte |= opte & (PG_U | PG_M); 3993 } 3994 #if defined(XEN) 3995 if (domid != DOMID_SELF) { 3996 /* pmap_pte_cas with error handling */ 3997 int s = splvm(); 3998 if (opte != *ptep) { 3999 splx(s); 4000 continue; 4001 } 4002 error = xpq_update_foreign( 4003 vtomach((vaddr_t)ptep), npte, domid); 4004 splx(s); 4005 if (error) { 4006 if (ptp != NULL && ptp->wire_count <= 1) { 4007 pmap_free_ptp(pmap, ptp, va, ptes, pdes); 4008 } 4009 pmap_unmap_ptes(pmap, pmap2); 4010 goto out; 4011 } 4012 break; 4013 } 4014 #endif /* defined(XEN) */ 4015 } while (pmap_pte_cas(ptep, opte, npte) != opte);By the way, /usr/include/x86/trap.h tells trap 6 is page fault. 48 #define T_PAGEFLT 6 /* page fault */ @ (Added lated day):
With (another similar machine) ML115 G1, 8GB Memory, openoffice successfully packaged.
OS(NetBSD/amd64) and Release(6.1.2) are the same. The difference is
misc/ misc/openoffice3-3.1.1nb52.tgz -> ../All/openoffice3-3.1.1nb52.tgz perl5/p5-Archive-Zip-1.30nb5.tgz -> ../All/p5-Archive-Zip-1.30nb5.tgz textproc/raptor2-2.0.12nb1.tgz -> ../All/raptor2-2.0.12nb1.tgz www/neon-0.30.0nb1.tgz -> ../All/neon-0.30.0nb1.tgz www/xulrunner17-17.0.11nb1.tgz -> ../All/xulrunner17-17.0.11nb1.tgz sent 176,430,319 bytes received 49,206 bytes 18,576,792.11 bytes/sec total size is 318,199,208 speedup is 1.80 sh env-bulkbuild-script 17222.94s user 3500.45s system 90% cpu 6:20:32.52 total genova# date Thu Jan 23 17:42:23 JST 2014 genova#with tmpfs: sent 135,927,229 bytes received 136 bytes 24,714,066.36 bytes/sec total size is 318,223,841 speedup is 2.34 sh env-bulkbuild-script 16333.43s user 3217.40s system 97% cpu 5:33:00.03 total genova# ( つっこみ )
2011年01月21日(金) 旧暦 [n年日記] [更新:"2011/01/22 11:19:02"]#2 [pkgsrc] DEPENDS, including buildlink3.mk, BUILD_DEPENDS, USE_TOOLS
pkgsrc の Makefile (等)に記述する、次の文、
DEPENDS+= .include "../../hoge/var/buildlink3.mk" BUILD_DEPENDS USE_TOOLSの四つは、とても似ている。 これらの共通点と、違いを理解しておくのは大切だと思っている。 共通点は、依存している、ということ。
DEPENDS よりは buildlink3.mk の方が、好ましいけれど、buildlink3.mk は用意 されていないもの(用意する性質ではないもの)もある。また buildlink3.mk の場合に は、pkgsrc 以下に置いてある link 先に版指定があるが、DEPENDS は自分(参照側)で版指定 をするので、自由度がある。しかしそれが都合の悪いこともある。 以上、間違っていたら、教えて下さいね。 ( Read More... (1) | つっこみ )
Comments related this article
#1 [pkgsrc] GS_RESOURCEDIR
Ghostscript の Resource directory は何か、という疑問があって、僕は
Before /usr/pkg/share/ghostscript/Resource Now /usr/pkg/share/ghostscript/8.71/Resourceという理解をしている。しかし ghostscript-cidfonts はそう思っていなくて、 Before の位置に入れるようだ。 を見ると、 CID fonts must be placed in the /Resource/CIDFont/ directory.とあるから、というのが理由の一つらしい。しかし今調べているが、 print/ghostscript を make package-install すると、 stable@makoto 10:45:09/110122(..print/ghostscript)% ls /usr/pkg/share/ghostscript/ 8.71 fontsしか入っていない。ここに fonts/ghostscript-cidfonts で make package-install すると stable@makoto 10:55:59/110122(..fonts/ghostscript-cidfonts)% ls /usr/pkg/share/ghostscript/ 8.71 Resource fontsとなり、初めて Resource directory が出来る。 ( つっこみ )
2009年01月21日(水) 旧暦 [n年日記] [更新:"2009/01/22 12:10:31"]#1 [機械] Disk の製造番号を調べる方法
最近某製造会社の Disk が問題になっているらしいが、
実のところ僕は WD (Western Digital) が一番の好みで、
とは言っても手元には IBM, Hitachi, HGST, Samsung とか、いろいろあるが
多分 Seagate は自分からは買わない製造会社かも知れない。しかし、
完成品を買うと、中にたまたま入っているということは良くある。
で本題だけれど、最近の NetBSD では atactl を使って、 動作中のものの製造番号 (Serial) を調べることが出来る。 こんな具合にだ。 pts/0:makoto@t-105 1:05:47/090122(...gcc/work)> \ sudo atactl /dev/wd0 identify | grep -i 'serial #' Model: WDC WD800AAJS-18TDA1, Rev: 01.00A0, Serial #: WD-WMAM9CPP455次のものは HP の Firmware が入っている、さて、どこのだったかな。 Model: FB080C4080, Rev: HPF0, Serial #: 5RW20BRJ Model: FB080C4080, Rev: HPF0, Serial #: 5RW2K07S Model: FB080C4080, Rev: HPF, Serial #: 5RW2K065 Model: FB080C4080, Rev: HPF0, Serial #: 9RW0EBMPどうもこれらが、箱を買ったらたまたま入っている、問題の会社のものかも知れない。 ( つっこみ )
2007年01月21日(日) 旧暦 [n年日記] [更新:"2007/01/28 23:50:04"]#1 [NetBSD][ps3][PLAYSTATION3] もう一度 build.sh release108 14:18 cvs update > & ../log.co-src-5 109 15:23 mv common/lib/libc/arch/powerpc common/lib/libc/arch/powerpc-k 110 15:23 mv common/lib/libc/arch/powerpc64 common/lib/libc/arch/powerpc64-k 111 15:23 mv lib/csu/powerpc64/ lib/csu/powerpc64-k 112 15:23 mv lib/libc/arch/powerpc lib/libc/arch/powerpc-k 113 15:23 mv lib/libc/arch/powerpc64 lib/libc/arch/powerpc64-k 114 15:24 mv lib/libc/compat/arch/powerpc lib/libc/compat/arch/powerpc-k 115 15:24 mv lib/libc/compat/arch/powerpc64 lib/libc/compat/arch/powerpc64-k 116 15:24 mv lib/libpthread/arch/powerpc lib/libpthread/arch/powerpc-k 117 15:24 mv lib/libpthread/arch/powerpc64 lib/libpthread/arch/powerpc64-k 118 15:25 mv sys/arch/powerpc/ sys/arch/powerpc-k 121 15:26 tar zxf /e/u/j/nandra/ps3/ps3-070108-add.tar.gz 122 15:26 patch -s -p0 < /e/u/j/nandra/ps3/ehci.diff 123 15:29 cvs -d /export/cvs-root import -ko -m 'Fukaumi 20070108' -I \! -I CVS src FKUM d_20070108 > & ../log-import 124 15:52 less ../log-import 126 15:52 grep ^I ../log-import | grep -v CVS 127 15:52 cd .. 128 15:52 mv src src-import 129 15:52 mkdir src 133 15:53 cvs -d /export/cvs-root co src > & log.co-src-fukaumi 135 16:05 cd src 136 16:06 time sudo ./build.sh -m ps3 -a powerpc64 release > & log.fukaumi-release 140 16:20 mv lib/csu/powerpc64-k lib/csu/powerpc64 141 16:20 time sudo ./build.sh -m ps3 -a powerpc64 release > & log.fukaumi-release-csu-powerpc64 ttyp0:makoto@ml 16:20:25/070121(...20070115ps3/src)> time sudo ./build.sh -m ps3 -a powerpc64 release > & log.fukaumi-release-csu-powerpc64 Password: 7469.113u 2657.229s 2:50:24.59 99.0% 0+0k 19160+436652io 34776pf+247wこれでも以前と同じ症状だったけれど、121 番の行を間違えて、古いものを使っていた、 140 番の行は不要ということが分り、 やり直し。 ( つっこみ )
2006年01月21日(土) 旧暦 [n年日記] [更新:"2006/01/21 20:48:37"]#2 [NetBSD] build.sh (20060120, i386)
(cvs co -D 20060120-UTC src) の Log data from daily binary snapshots の辺りを見ると、 の 200601200000Z は、checkflist に失敗しているとあって、その中に qsafe.0 のような字があるので、cvs repostory の src/distrib/sets/lists/games/mi,v:./usr/share/man/cat6/qsafe.0 games-utils-catman .catという字を見つけて この mi を cvs update -A miしてから、 cvs diff -r1.37 -r1.38 mi すると、何やら関係ありそうな変更がしてある。 これで build.sh して見よう。 ttyp1:makoto@tc2120 16:00:59/060121(...20060120/src)> time sudo ./build.sh release > & ../log 4060.826u 936.460s 1:33:56.48 88.6% 0+0k 12532+472900io 16516pf+105w ttyp1:makoto@tc2120 17:35:01/060121(...20060120/src)>しかし: ======= 2 extra files in DESTDIR ========= Files in DESTDIR but missing from flist. File is obsolete or flist is out of date ? ------------------------------------------ ./qsafe ./qsieve ========= end of 2 extra files =========== ====== 2 missing files in DESTDIR ======== Files in flist but missing from DESTDIR. File wasn't installed ? ------------------------------------------ ./usr/games/qsafe ./usr/games/qsieve ======== end of 2 missing files ==========移動したっていうことかな。 current-users を見ると、どうも迷ったのと、作業ミスのような ? 僕としては、こまかいところはどうでもいいので、現物合せで いくとしましょうか。 -./usr/games/qsafe games-utils-bin -./usr/games/qsieve games-utils-bin +./qsafe games-utils-bin +./qsieve games-utils-binさて checkflist で止った時 には: ./build.sh setsかな。何故か、いくつか環境変数の設定が必要だった。 ttyp1:makoto@tc2120 17:59:50/060121(...20060120/src)> time sudo env \ TOOLDIR=/export/20060120/src/tooldir.NetBSD-2.0-i386 \ DESTDIR=/export/20060120/src/destdir.i386 \ RELEASEDIR=/export/20060120/src/releasedir \ ./build.sh sets >& ../sets-3こうしないと obj という字が余分に入ってしまう。 49288 Jan 21 17:27 sys/arch/i386/stand/pxeboot/obj/pxeboot_ia32.binpxeboot も出来ている。 @ 良く分らないが kernel が出来ていなかった。:
で ./build.sh -u release したら、かなり進んだが、 floppy 用の譜が大きすぎる、という最近 の releng と同じ ところで失敗している。そちらの方が先に進んでいるのだという理解が なかった。で floppy はなくてもいいので、 distrib/i386/floppies/Makefile を 次のように変更してもう一度 +#SUBDIR+= bootfloppy +#SUBDIR+= bootfloppy-big +#SUBDIR+= bootfloppy-com +#SUBDIR+= bootfloppy-laptop-big +#SUBDIR+= bootfloppy-laptop +#SUBDIR+= bootfloppy-ps2 +#SUBDIR+= bootfloppy-small +#SUBDIR+= bootfloppy-tiny +#SUBDIR+= rescue-tiny ( つっこみ )
#1 [機械][NetBSD] Let's Note R1
外出する時用の Let's Note R1 の調子が少しおかしい。
きょうは雪になり、これでは近くのじゃんぱらにも行けないなと思って いたが、どうしてもヨドバシカメラに行かなくてはならない用事が出来、 ついでに寄ったら、128MB 増設済 のものが 59,800 円で、程度は いま使っているより(どうも)はるかに良さそうなので、買って来た。 @ 選択肢:
2813270 Jan 21 13:07 netbsd-INSTALL.gz 2813270 Jan 21 13:07 netbsd.install-i386tftpboot に置いて F12 で起動すると、この binary は大きくてだめ、 のようなことを言うので pxeboot.bin を探すこととする。 ( つっこみ )
2004年01月21日(水) 旧暦 [n年日記]#2 [TeX] @{\vrule width 0.1pt} って
\begin{table}{l @{\vrule width 0.1pt} l} って
何故か左右がつまってしまう。
Google の検索に -nw とかやると、- は、「それは含まないもの」の意味
になってしまう。"-nw" ってやれば大丈夫そう。 ( つっこみ )
#1 [Emacs] きょうの *Backtrace*
Wl で 朝日新聞を見ている時に、メニューから Mhc -> This month, 続いて
Modify (C-c m)
Debugger entered--Lisp error: (void-function elmo-multi-get-real-folder-number) mhc-version "mhc version 0.25" emacs-w3m-version "1.3.80" wl-version "2.10.1"w3m は関係ないか。 wl-2.8.1とMHC-0.25 寺西さん: MHC は CVS 最新版もしくは開発版スナップショットを使ってください。 cd mhc/emacs make EMACS=/usr/pkg/bin/emcws make EMACS=/usr/pkg/bin/emcws install mv /usr/pkg/share/emacs/site-lisp/mhc{,-20040121} cd /usr/pkg/share/emacs/site-lisp mv mhc-0.25.1 .mhc-0.25.1 Debugger entered--Lisp error: (error "Invalid face" mhc-calendar-face-saturday)何か全然違うことをしているらしい。 三好さん なお、開発版 snapshot のインストールは下記の手順とまったく異なりますruby 入れてまで mhc 使うかなぁ。(また例によって勘違い?) ( つっこみ )
2002年01月21日(月) 旧暦 [n年日記]#3 [NetBSD] panic: kernel diagnostic assertion "bytes != 0" failed:Jan 21 03:18:10 graphite /netbsd: uid 0 comm sendmail on /: file system full文字入力出来ず。 ( つっこみ )
#2 [NetBSD] CDROM -boot
椿井さんの bootcd/bootxx.c には、
int block_table[MAXBLOCKNUM] = { 0x7c, 0 }; /* XXX FIXED BLOCK NUMBER */というのがあって、更に addr = (char *)entry_point; bs = block_size; for (i = 0; i < block_count; i++) { blk = block_table[i]; OF_seek(fd, (u_quad_t)blk * 512); OF_read(fd, addr, bs); addr += bs; }でその部分を読んでいる。16 進にすると 0x7c * 512 は 0xF800 起動する方には 0000f800 39 00 00 00 39 20 01 00 7d 29 03 a6 7c 00 40 ac |9...9 ..})..|.@.|とあるが、起動しない方には 0000f800 66 00 1f 00 00 00 00 00 00 1f 00 08 00 00 00 00 |f...............|となって、正しいコード(ofwboot) が書いてない (どうも中身を沢山入れてしまうと、ここではなくなる?).... 00025800 39 00 00 00 39 20 01 00 7d 29 03 a6 7c 00 40 ac |9...9 ..})..|.@.|に書いてある。椿井さんのは決め打ちなのかも知れない。 NetBSD 方式で書いたものは次のところにある 00027000 39 00 00 00 39 20 01 00 7d 29 03 a6 7c 00 40 ac |9...9 ..})..|.@.|いちど iso の形式を作って、ofwboot がどこに書かれているか調べて、今回は 270 00 だから 0x270/2 = 0x138 から読めばいい ? で bootxx.c をそう変更して、作り 直し。 F800 -> 0x7c 27000 -> 0x138という訳で、これで作り直したら、やっと起動 CDROM が出来た。 WARNING: clock gained 155 days -- CHECK AND RESET THE DATE!というのはあまり気持のいいものでもないが、止むを得ないか。 ( つっこみ )
#1 [NetBSD] (pkg_add) sylpheed-0.6.3
自分で使うつもりはないのだけれど、ちょっと試しに入れて見た。
% pkg_info sylpheed Information for sylpheed-0.6.3: Comment: X based e-mail and netnews client Requires: gettext-lib>=0.10.35nb1 glib>=1.2.8 gtk+>=1.2.8 pth>=1.3.2で、 makoto@u 7:51:47/020121(~)> sylpheed Shared object "libssl.so.1" not foundとなる。w3m の時も同じようなものを見た気がする。1.5-Y で使ってはいけな いのかな。 1.5.2 libssl.so.1 1.5Y libssl.so.2という関係だから。でも libssl.so を link していれば動くのではないかと。 ( つっこみ )
2001年01月21日(日) 旧暦 [n年日記]#5 [URL] MacOSonLinux( つっこみ )
#4 [SPAM] やはり From 詐称されている。Received: from hyweb.hywoman.ac.kr (www.hywoman.ac.kr [128.134.111.4]) by mx1.boston.juno.com with SMTP id AAA7GXRAVAVUXBJS (sender <rkereid@komekome.bay.prug.or.jp>); Sun, 21 Jan 2001 05:38:11 -0500 (EST) Received: from kheta.ge (1Cust78.tnt1.auburn.wa.da.uu.net [63.39.49.78]) by hyweb.hywoman.ac.kr (8.8.8H1/8.8.8) with SMTP id TAA18841; Sun, 21 Jan 2001 19:46:23 +0900 (KST) To: <aarni.ton.tut.fi@hyweb.hywoman.ac.kr> Subject: Restore your FINANCES, FAMILY, & FUTURE!!! ... From: rkereid@komekome.bay.prug.or.jp Message-ID: <0000139a7728$00007a77$00005766@komc.dk> Date: Sun, 21 Jan 2001 02:28:17 -0800 MIME-Version: 1.0 Content-Type: text/plain; charset="Windows-1252" Content-Transfer-Encoding: 8bit X-Priority: 3 X-MSMail-Priority: Normal Errors-To: nondel93@yahoo.com Look, we don't want to waste your time...or ours ( つっこみ )
#3 [X_Window_System] 24 dot font で Emacs を起動して、なおかつ
太字 bold, 斜体 italics が表示出来るようにといくつか ~/.Xdefaults に書いて試したが、
うまく行かない。
Emacs.Fontset-1: -*-fixed-medium-r-normal--14-*-*-*-*-*-fontset-14のようにして、Fontset-1: から順に定義して行く。 いま試している ~/.Xdefaults これだと、通常の英文字が斜体になってしまう。 ( つっこみ )
#2 Wanderlust と C-x k
Wanderlust を使っていて、今まで、
( つっこみ )
#1 [Emacs] mu-cite( つっこみ )
|
最近の日記 2025年02月13日 ・dvipdfmx ICC profile format spec. version 4.3.0 2025年01月29日 ・ham/wsjtx 2025年01月27日 ・wip/wsjtx 5.4.2 2025年01月25日 ・ham/wsjtx 2025年01月15日 ・今更 advent calendar | ||||||||||||||||||||||||||||||||||||||