O HAI THIS BLOG PURPZIEZ 2 B UZED AZ MAH PLESIOUS MEM. :)

2008/03/07

FixBug(&eFTE); /* WRT X11 hints */

最近、仕事でモニョモニョしているhg repoをcloneするのがダルくなってきたので、
ちょーしこいてmergeするのに邪魔だった変更中のブツをrevertしてムニャムニャ
していたら、*.origなヤツがいつの間にか消えてハイパー萎えた。 :(
[Hmm, I now really regret what I didn't clone my bloated hg repo at
that time. So, I did revert a modified source file, this means it was
implicitly backed up w/ .orig suffix. But *.orig is gone accidentally,
OMGWTF, GIMMEH BAK MAH PRECIOS C0DE!!11!1 :(]

で、気晴らしにapp-editors/efteつーのがぶちこまれていたのを思い出したので
モニョる。
[BTW, I poked app-editors/efte.]
  • ビルドディレクトリで実行出来ないのはコンフィグファイルの所為で1.0で直る予定。
    [It couldn't exec at build dir is a known issue for 1.0.]
  • efte.desktopにテキトーな日本語訳を追加した。
    [Added my stupid japanese translation into efte.desktop.]
  • 日本語は入力出来るけどUTF-8に対応してないので文字化けする。
    [It can be input Japanese, but isn't capable of UTF-8, so multibyte character will be garbled ATM, but is planned.]
  • キーボード入力がバグってたのはX11 hintsの問題で、svn trunkでは直ってる。
    [A bug WRT keyboard input is caused by wrong X11 hints, these are fixed in svn trunk.]
つー感じだった。以下、#efteでのログ。
[The following is t3h log on #efte.]
03/06 21:17:54 hiyuh
hi
03/06 21:18:11 Bushmills
hi hiyuh
03/06 21:18:14 hiyuh
efte can not run its build dir?
03/06 21:18:18 hiyuh
just running ./src/efte in build dir here, but it vomits error about
missing mymain.fte.
03/06 21:18:20 Bushmills
oheio goseimas
03/06 21:18:53 Bushmills
hm... should be a one liner, in the config dir. what version do
you run?
03/06 21:19:13 hiyuh
just pulled from svn repos. :)
03/06 21:19:30 Bushmills
ok. i'd suggest to hand-make the missing file:
03/06 21:19:42 Bushmills
create a directory .efte in your home dir ..
03/06 21:20:05 hiyuh
and btw, it's about 21:20 in japan. so I'd have to say "konbanwa" :)
03/06 21:20:05 Bushmills
and in there, create a file which contains:
03/06 21:20:12 Bushmills
include "systemmain.fte";
03/06 21:20:23 Bushmills
sorry, my bad. konbanwa
03/06 21:20:31 hiyuh
no problem
03/06 21:21:03 Bushmills
that mymain.fte in .efte can serve as base for your personal
customization
03/06 21:21:43 Bushmills
a copy of it was supposed to be in ~/efte/config
03/06 21:21:52 hiyuh
ok
03/06 21:24:30 Bushmills
running efte with optionss -v or -v -v should show the files
it includes, or attempts to.
03/06 21:24:44 Bushmills
on std err
03/06 21:25:43 Bushmills
running efte with -v or -v -v from an xterm is probably maybe
the easiest way to see that output
03/06 21:26:33 hiyuh
heh
03/06 21:26:48 hiyuh
oh, ITJUSTWORKS(tm) :)
03/06 21:27:25 Bushmills
sound good. what OS, what CPU is that?
03/06 21:28:39 Bushmills
you may like the new script language, it incorporates a bit of
japanese grammar :)
03/06 21:28:58 hiyuh
Gentoo Linux/PowerPC, Apple PowerBook 12' last model.
03/06 21:30:08 Bushmills
great.
03/06 21:31:11 Bushmills
can you look into your svn dirs of efte, especially in efte/config,
whether you can see a mymain.fte in there?
03/06 21:33:31 hiyuh
yup, it has 'include "systemmain.fte";', others are #-prefixed.
03/06 21:34:11 Bushmills
hm .. efte should have found and used that one, when not finding
your local .efte/ ... versiin.
03/06 21:34:13 Bushmills
ion
03/06 21:35:00 Bushmills
japanese grammar uses a lot of noun verb structures?
03/06 21:35:07 Bushmills
cake eat?
03/06 21:35:43 hiyuh
whut?
03/06 21:35:46 hiyuh
:)
03/06 21:37:00 Bushmills
object ... action structures seem to be common in japanese language?
03/06 21:37:59 Bushmills
"cake have not if cake eat not then"
03/06 21:56:35 Bushmills
that's what new efte script language incorporates too
03/06 22:06:27 hiyuh
hmm, I'm not sure what you mean though. could you mind to input
sentence as engrish to me? then I can translate it to japanese and
japanese-order words.
03/06 22:06:42 hiyuh
s/engrish/english/

03/06 22:11:58 ln-
hello hiyuh
03/06 22:12:13 hiyuh
hi ln- :)
03/06 22:12:52 ln-
would you like to help all japanese eFTE-on-linux users and translate
the following two menu item descriptions into japanese:
03/06 22:12:55 ln-
GenericName=Text Editor
03/06 22:12:57 ln-
Comment=Fast, extendable programmers' text editor
03/06 22:13:09 ln-
they can also be found in packaging/shared/efte.desktop on svn.
03/06 22:13:27 hiyuh
ah
03/06 22:16:50 hiyuh
hmm, "fast" is fuzzy word to me. :)
03/06 22:18:48 ln-
fast, quick, light, ...
03/06 22:26:16 hiyuh
http://dev.gentoo.gr.jp/~hiyuh/misc/efte.desktop.+ja.diff
03/06 22:31:34 ln-
great, thanks.
03/06 22:32:16 CIA-39
efte: lanurmi * r905 /trunk/packaging/shared/efte.desktop: Added
Japanese translation (thanks to hiyuh).
03/06 22:32:48 hiyuh
nice :)
03/06 22:40:42 ln-
so is (e)FTE usable at all for writing Japanese? (due to charset
limitations)
03/06 22:54:19 hiyuh
omg, nefte can be input japanese but it becomes garbled charcter. any
setting is required for utf-8 or unicode env?
03/06 22:56:51 Bushmills
not yet, but addition is planned

03/06 22:57:46 jeremy_c
gm all.
03/06 22:57:53 hiyuh
and omg again, efte (not nefte) doesn't response any keyboard input
on wmii which is my favorite wm.
03/06 22:58:31 jeremy_c
hiyuh: really? I've used wmii before (using awesome right now). I'll
check it out.
03/06 22:59:27 jeremy_c
hiyuh: do you get any load errors/warnings? Maybe a config file is
not found? We have been doing *heavy* work on the config system,
it's possible that if not found, it loads w/an empty config, thus,
no keys are mapped to any action.
03/06 23:01:07 Bushmills
gm jeremy_c
03/06 23:03:12 jeremy_c
hiyuh: hm, I just read back, and yes, that is a current problem
w/eFTE and one reason it's not 1.0 yet. It should run from it's
build directory. However, it searches in common locations. The
quickest solution to fix your keyboard problem, config problems,
etc... is do to:
03/06 23:03:22 jeremy_c
mkdir /usr/local/share/efte
03/06 23:03:36 jeremy_c
ln -s ~/path/to/efte/config /usr/local/share/efte/config
03/06 23:04:26 jeremy_c
if you do that, efte will begin responding correctly. Just finding
a mymain is not quite enough, it needs to find the other files such
as the key mapping, menu and mode setup. Can you please give that
a try and I'll bet it starts responding in wmii.
03/06 23:11:04 jeremy_c
hiyuh: also, out of curiosity, how did you find efte? we are pretty
new and curious how people find us.
03/06 23:13:08 hiyuh
hmm, made symlink as you said. but it doesn't response too. :(
03/06 23:13:25 hiyuh
and I found efte at portage tree.
03/06 23:14:29 jeremy_c
hm, that's not making sense. I *really* appriciate you coming here
and reporting this problem.
03/06 23:14:54 jeremy_c
can you do efte -v and paste the results to rafb.net/paste ?
03/06 23:15:01 hiyuh
k
03/06 23:17:00 hiyuh
http://dev.gentoo.gr.jp/~hiyuh/misc/efte-v.txt
03/06 23:18:09 jeremy_c
well, it found all the config scripts, so that's not the problem.
03/06 23:20:01 jeremy_c
Ok, and just checked out the latest efte also from svn (was sleeping
and not caught up on Bushmills changes). Let me install wmii.

03/06 23:22:38 Bushmills
always when i break it, jeremy_c has to fix it again :)
03/06 23:22:54 hiyuh
jeremy_c: efte can only response by mouse input.
03/06 23:23:01 hiyuh
Bushmills: lolz
03/06 23:23:21 jeremy_c
hiyuh: hm, working fine here in this wmii. this is very strange.
03/06 23:23:52 jeremy_c
hiyuh: how do I get a new xterm in wmii?
03/06 23:25:10 jeremy_c
Ok, it would take a bit of getting use to again, but I got a new
xterm. I do not seem to be seeing any problem while running in wmii.
03/06 23:25:50 hiyuh
jeremy_c: $MODKEY-Retern, my $MODKEY is Mod4 (Apple key), default
is Mod1 (Alt) as you know.
03/06 23:27:35 hiyuh
and FYI I'm using wmii of hg tip (2292).
03/06 23:28:07 jeremy_c
I just did a pacman -S wmii, it installed 3.6
03/06 23:28:25 jeremy_c
does it support multihead?
03/06 23:28:46 jeremy_c
right now all my windows are vertically split stretched across
two monitors.
03/06 23:29:14 jeremy_c
http://jeremy.cowgar.com/snap/1204813731061956285.png
03/06 23:32:00 jeremy_c
ah, now I remember why I did not continue using wmii, it does not
right now, seems it is going to be added in v4. However, that's
secondary problem, right now, why does eFTE not respond to key
input!?!?
03/06 23:33:13 Bushmills
i wonder whether that problem is wmii related. maybe try to run it
just from an xterm, no wm at all.
03/06 23:33:33 Bushmills
startx $(which xterm) -- :1
03/06 23:33:58 Bushmills
might work from within X, starting a new X server
03/06 23:34:01 jeremy_c
Bushmills: I was just in wmii and had no problems, however, it was
not the dev edition, but I can't see what wmii would be doing to cause
efte not to work, but other apps to. this is truely a weird situation.
03/06 23:35:16 jeremy_c
hiyuh: but it would give us another thing to eliminate if you could
do that.
03/06 23:35:18 Bushmills
but before efte accepted chars. UTF input, but not outputting well,
of course
03/06 23:36:51 hiyuh
k, I'll try on twm. :p
03/06 23:39:47 jeremy_c
hiyuh: thanks for giving this a go, sorry your having problems.
03/06 23:41:02 hiyuh
jeremy_c: no problem. twm is emerged just now. I'll test it at
home, bbl.

03/07 00:10:58 jeremy_c
hiyuh: wb.
03/07 00:11:21 hiyuh
yo
03/07 00:13:07 hiyuh
zomg, efte works fine on twm
03/07 00:13:30 jeremy_c
ok... I think I may have found the problem. I was in #wmii talking.
03/07 00:13:44 jeremy_c
Let me make a change to eFTE and see if that fixes your problem, OK?
03/07 00:13:56 hiyuh
yup, do it :)
03/07 00:16:14 CIA-39
efte: jeremy_c * r906 /trunk/src/con_x11.cpp: Set InputHint in
X11 version
03/07 00:16:35 jeremy_c
give svn up and give it a go again. Be sure to svn up in the root
efte dir.
03/07 00:17:18 hiyuh
k
03/07 00:18:05 hiyuh
bbl

03/07 00:20:05 jeremy_c
any luck?
03/07 00:20:39 hiyuh
yup, ITJUSTWORKS(tm) :)
03/07 00:20:59 jeremy_c
Great!
03/07 00:21:31 jeremy_c
we will get the problem of not being able to run it from the source
tree fixed soon.
03/07 00:22:42 hiyuh
hehe
03/07 00:22:54 jeremy_c
hiyuh: the docs on configuration are a bit out of date... we've
been heavily modifying the scripting/configuration and have not been
able to keep up w/every change on the wiki. Before we release 1.0,
we will update the docs.
03/07 00:38:51 CIA-39
efte: jeremy_c * r907 /trunk/src/con_x11.cpp: Another minor fix to
the X11 state hints
03/07 00:42:57 CIA-39
efte: jeremy_c * r908 /trunk/src/con_x11.cpp: Ok, this is the last
WM_HINTS patch, really.
03/07 00:43:07 jeremy_c
hiyuh: I'm sorry, my quick fix wasn't quite complete, can I bug you
to svn up and try again and see if it still works as expected?
03/07 00:46:48 *
hiyuh does svn up
03/07 00:53:48 hiyuh
jeremy_c: works fine too. :)
03/07 00:53:59 jeremy_c
hiyuh: great. thanks for your help w/that bug.
03/07 00:54:30 hiyuh
jeremy_c: yw

2008/03/06

FXT.karma++; /* but C++ */

モニョモニョしてたらみつけた、正統派低レベルプログラミング in C++っぽい。
ソースコードが付属しているのと他の論文へのハイパーリンクがすげーのってるが良い。 :)
[Hmm, I found nice one. Sound like "t3h low-level programing in C++".
There is bundled source code and ton of link to other paper, *NOM* :)]
the fxtbook

2008/03/01

GentooJP.NomiKai++; /* OSC 2008 Spring */

今日はOSC2008 Springでした。以下、メモっぽいもの。
  • 会社で徹夜した所為か電車の時間を間違えた。
  • 展示の場所に行くと、もうmatsuuさんが来てた。
  • nabekenさんが来て一緒にネットワークの設定をムニャムニャしている間に、Kojimaさんとidaniさんも合流。前日、IRCでshindoさんは「仕事が忙しいので行けない」と言っていた、残念。 :(
  • 「何気に隣は日本KDEじゃん」と気付くが時既に遅し。 :P
  • matsuuさんの営業にチョッカイを出しつつ、wmii on ~ppc/Gentooを放置プレイ展示。
  • trombikさんが来て、idaniさん特製の2008.0 pre-release by catalystな生タイルLiveTileなCDを一枚奪って「これから仕事だ」とか言い残して去って行った。さすが流しの管理者。 :p
  • 昼飯はカレー屋、オヤジさんが「*はもう終わっちゃったんですよー」とか言うので「じゃあ、何があるんだよ!」とプチ逆ギレした。反省はしてない。 :p
  • 昼飯から帰ってくると、「ppcにGentooを入れたい」と言っていた人が来てたとidaniさんに言われたけど、その人は行方不明に。 :p
  • 昼飯後組(?)と交代して展示をやった。
  • nabekenさんが頑張ってawesomeを布教していたので、隣で再びサボる見守る。 :p
  • 残念な事に二回ほどバトン(?)が回ってきて、wmiiの説明をした。
  • 一回目は簡単な操作とタグによる異なるヴューでの同一のクライアントの共有から例のプロパガンダまで。
  • 二回目はIceWMを使っていると言う人と話がかみ合わなくてダルくなったので、「そのまんまWIMPyなIceWM使ってれば?」とプチ逆ギレした。反省はしてない。 :p
  • 懇親会まで時間があったので、懇親会の場所の近くのローレルとか言う喫茶店(?)でケーキセットを喰いながら、matsuuさんとnabekenさんがidaniさんのemobileをイジっているのを見てた。
  • 懇親会は蝶混雑していたので、食い物の奪い合いが素晴らしく(?)激しかった。
  • 窓際の立ち食いスタイルの場所に陣取り、nabekenさんがいつの間にか買ってきてたHUBを共有させてもらって、I CAN HAS CHEEZBURGERやらlamdacatsを見つつ、テキトーにダベってた。
  • 結局、懇親会ではずーっと立ちっぱなしで、ビミョーに疲れたので何話してたか良く覚えてない。 :p
  • 帰りの新宿駅でnabekenさんにauの携帯電話による電車時刻の検索を教えてもらった。「つーか、ソラでショートカットの数字覚えているとかすごくね?」とプチビビったのは秘密だ。 :P
と言う訳で、何か忘れている事もあるかもしれないけど、とりあえず皆さんお疲れ様でした。 :)
今日は疲れたのでEng'r'ishは無しな!!1 :P

MeasureSLOC(&B2); /* fork(3p) */

今日はOSC2008なのだが、ボスが新しいブツを試したいと言うのでヨナベ(?)してB2なVHDLを論理合成してた。おかげで徹夜になるが別に何ともないぜ!!1 :p
[Today is t3h OSC. But my boss said "plz synthesize your B2, k?" So I did. Yes, REAL MAN DOESN'T SLEEP!!1 :p]

で、PCが蝶頑張って論理合成している間にまたも無意味にSLOCをグラフ化。SISOとMIMOで共通のマクロを使いつつ、別のレポジトリで管理してforward mergeしてるから、いい感じにfork(3p)してる。 :)
[While synthesizing my junk code, I make t3h SLOC graph again. It shows me nice fork(3p) image b/c I managed shared macros, separated 2 repos for SISO and MIMO. And doing forward merge the former to latter ATM. :)]

omg - a command for EVERYTHING(tm)

#-bugsにて。
[At #-bugs,]
02/29 21:43:04 jeeves
[New Bug] https://bugs.gentoo.org/211886 min, P2, All,
wasti.redl.gmx.net.bug-wranglers.gentoo.org, NEW, pending,
mail-mta/ssmtp depends on virtual/libc (Reassign bug to net-mail ?)
02/29 21:46:18 hiyuh
omg
02/29 22:05:00 drac
err wtf bug 211861
02/29 22:05:04 jeeves
drac: https://bugs.gentoo.org/211861 nor, P2, All,
wuno.lsvw.de.xfce.gentoo.org, NEW, pending, [fPIC]
xfce-base/xfdesktop-4.4.2-r1 fails to compile on amd64
02/29 22:05:19 drac
WFM on stable and ~arch.. I wonder how the user managed to bork it
02/29 22:08:17 drac
ah ccache prolly
02/29 22:45:12 hiyuh
hmm, LDFLAGS="-Wl,-O1 -Wl,--sort-common -Wl,--as-needed"
03/01 00:32:41 Betelgeuse
hiyuh: two of those are valid
03/01 00:32:47 Betelgeuse
hiyuh: don't know about sort-common
03/01 00:35:29 Betelgeuse
hiyuh: seems harmless
03/01 00:47:07 yngwin
Betelgeuse: i thought sort-common was enabled by default on gentoo
03/01 00:47:22 Betelgeuse
yngwin: dunno
03/01 01:25:24 hiyuh
gcc -v help 2>&1 | grep -e '--sort-common'
03/01 01:25:55 hiyuh
Sort common symbols by size
03/01 01:29:02 hiyuh
omg s/help/--help/
03/01 01:29:17 bonsaikitten
I thought it was called sed
03/01 01:29:24 bonsaikitten
but omg sounds like a great command too ;)
03/01 01:29:57 hiyuh
yup, it works well for EVERYTHING(tm)
03/01 01:30:15 bonsaikitten
omg --wtf zomg
03/01 01:30:30 cla
omg --wtf bonsaikitten
03/01 01:30:31 cla
:)
03/01 01:30:45 hiyuh
omg --lol rofl
03/01 01:30:58 cla
lol --help hiyuh
何て便利なんだ!!1 :DDD
[omg --rly-useful :DDD]

2008/02/28

push(&overlay, &s9fes);

ちょっと前に、On Lispを読んで、「LISP、最強じゃね?」とあからさまに影響されてLisperにジョブチェンジしようかと思ったが、マクロを覚えられないと言う罠にハマった。
[I've read On Lisp, "ZOMG, LISP IS BESTEST!!1", I thought. But it has ton of macros.]

で、「とりあえず、Schemeでよくね?」と妥協して、DrSchemeを使いつつ、SICPに浮気した。
けど、DrSchemeはメジャー過ぎる(?)ので、schemers.orgで、build infrastructureがfubarだったり、アセンブリ言語を使ってx86でしか動かなかったり、GCCの最適化をアテにして実行速度を稼いだりしている様なブツは華麗にスルーして、Scheme 9 from Empty Spaceを無意味に再チョイス。
それなりに動く様なので、俺様overlayに突っ込んだ。
[Then, "K, ILL TAKE THIZ, SCHEME", I re-thought. And been using DrScheme w/ SICP as a text. But I realized, DrScheme is too major. Then I re-chose Scheme 9 from Empty Space from implementation links of schemers.org, b/c there is many ones which are using suck0rz build infrastructure, x86 specific assembler crpas and heavily depend GCC uber-optimization. S9fES is tested on ~ppc/Gentoo, ITJUSTWORKS(tm), so now in my overlay.]

それから、これ、おもろい。 :DDD
[BTW, LOL. :DDD]

2008/02/21

for BEING in LOL way ; do somthing ; done ;

某電気通信大学の研究室のアカウントが消されてimgが死んでいるのに気づいたので、
テキトーにテンプレートを選んで、1337ish but n00bishな感じにしたら、
すげーワケワカランものになったが、ま、いいや。 :p
[This blog's img is gone b/c my account at UEC is dead, I guess.
So I chose new template and poking to be 1337ish but n00bish.
Hmm, WTH is this? :p]

2008/02/10

XXX for kernel 2.6.17 - 2.6.24.1

ファイル名がアレな件. :DDD
[OMG, THIS FILE NAME IZ NOT 4 UNDER 18!!1 :DDD]
bug #209460

以下,#-bugsでの騒ぎ.
[Yup, dudes on #-bugs GONNAGONUTZ!!1]
02/10 08:17:58 jakub
plopzie! Bug 209460
02/10 08:18:02 jeeves
jakub: https://bugs.gentoo.org/209460 cri, P2, All,
commando2004.yandex.ru-security.gentoo.org, NEW, pending, Linux
vmsplice Local Root Exploit
02/10 08:20:45 hiyuh
omg
02/10 08:20:46 hiyuh
jessica_biel_naked_in_my_bed.c
02/10 08:21:53 Jarda
ok
02/10 08:22:30 bheekling
Jarda, let's not be skeptical; maybe he has some nice ascii pr0n
02/10 08:23:01 eroyf
awesome
02/10 08:23:06 jakub
bheekling: hmmm well, it works ;P
02/10 08:23:27 bheekling
wheeeeee
02/10 08:23:28 jeeves
dooooooork
02/10 08:24:47 jakub
just needs sed -i -e "s:#include asm/page.h:#define PAGE_SIZE
sysconf(_SC_PAGE_SIZE):" - use while it's hot *g*
02/10 08:25:01 eroyf
it's actually a fairly nice exploit
02/10 08:26:12 *
jakub opens a beer :D
02/10 08:26:37 jakub
now I've got couple more root account :D
02/10 08:27:10 *
eroyf too
02/10 08:27:31 *
bheekling sips orange juice
02/10 08:27:37 bheekling
cheers jakub :P
02/10 08:27:52 jakub
pffft... juice is t3h fail :D
02/10 08:27:55 jakub
beer!
02/10 08:28:26 bheekling
beer, pfft, orange juice is great -- it's got electrolytes!
02/10 08:28:38 jakub
only w/ 50% of vodka ;P
02/10 08:29:59 *
bheekling sips his orange juice and looks down on these vodka/beer
drinking mortals
02/10 08:33:21 Jarda
does that work with vanilla?
02/10 08:33:28 Jarda
or only with gentoo-sources
02/10 08:34:36 eroyf
very likely.
02/10 08:34:54 jakub
vanilla works perfectly fine
02/10 08:34:56 eroyf
i can't see any reason why gentoo-sources would touch vmsplice
02/10 08:35:21 jakub
you can try hardened-sources as well for more phun :D
02/10 08:36:13 *
bheekling tries
02/10 08:36:32 eroyf
you should fix it instead of testing the exploit!
02/10 08:36:50 jakub
eroyf: why? I want more roots! :P
02/10 08:37:02 eroyf
heh.
02/10 08:37:57 eroyf
the exploit, as i read it, wouldn't currently affect selinux enabled
machines, but the error the exploit exploits could do some naughty
stuff
02/10 08:37:58 Jarda
oh, it works on older also
02/10 08:38:01 *
eroyf might be wrong though
02/10 08:39:38 jakub
don't have any selinux box... root or not :P
02/10 08:39:54 bheekling
w00t, works on debian too
02/10 08:40:02 hiyuh
w000000000t
02/10 08:40:02 bheekling
doesn't compile on hardened-sources
02/10 08:40:08 Jarda
bheekling: works from .17-.24
02/10 08:40:19 jakub
bheekling: I posted you a patch above :P
02/10 08:40:26 eroyf
selinux is made of awesome
02/10 08:40:41 bheekling
jakub, aaah
02/10 08:41:15 bheekling
w00t, works
02/10 08:41:29 jakub
*plop*
02/10 08:42:07 *
bheekling considers using selinux on his hardened server
02/10 08:42:17 bheekling
Or maybe apparmour
02/10 08:43:15 eroyf
apparmor is shit
02/10 08:43:29 jakub
didn't they bury the thing?
02/10 08:43:34 eroyf
i wish
02/10 08:43:37 bheekling
jakub, ubuntu uses it by default now :P
02/10 08:43:50 eroyf
ubuntu is also shit
02/10 08:44:12 bheekling
eroyf, but it also rules -
http://www.cafuego.net/2008/02/06/lca-stat-wars :P
02/10 08:44:21 bheekling
literally
02/10 08:46:49 bheekling
"[-] vmsplice: Function not implemented"
02/10 08:46:55 bheekling
dammit _
02/10 08:47:39 jakub
bheekling: running 2.0 kernel? :D
02/10 08:48:07 bheekling
jakub, 2.6.11-1.1369_FC4smp -- FC4 doesn't have it it seems :P
02/10 08:48:14 jakub
bheekling: too old
02/10 08:48:18 jakub
2.6.17+
02/10 08:48:18 Jarda
bheekling: applies only .17-
02/10 08:48:18 bheekling
Yeah
02/10 08:48:53 bheekling
Jarda, yeah, I remember; you mentioned it only a few lines above :)
02/10 08:49:11 bheekling
didn't check kernel version before trying it out
02/10 08:51:16 eroyf
jakub: run the exploit on dev.gentoo.org you pansy
02/10 08:51:28 eroyf
and add to solar's login file echo "LOLOLOL PWNED"
02/10 08:51:34 jakub
aaahahahah!
02/10 08:51:49 bheekling
:D
02/10 08:52:02 eroyf
do it!
02/10 08:52:18 jakub
eroyf: might finally get us rid of cvs as well... *g*
02/10 08:52:21 jakub
tempting
02/10 08:52:23 Jarda
echo "exit" /home/vapier/.bashrc
02/10 08:52:24 eroyf
haha.
02/10 08:52:30 Ken69267
but you could get something worse than cvs in return
02/10 08:52:31 Ken69267
:po

polish(&overlay, &wmii_hg);

DESTDIRの事だけでこんなに長いticketになるとは思わなんだ。 :DDD
[Ha, Kris really doesn't like DESTDIR, AKA pepper the makefiles. :DDD]
[FIXED] DESTDIR support for mk/*

push(&overlay, &netsurf);

俺様overlayにNetSurfのsvn live ebuildを突っ込んだ。
[Yup, NetSurf svn live ebuild is in my overlay now.]



GIFがbig endianだとピンクっぽくなる問題はムニャヘニャして直った。
dev-db/sqliteがアレでlemonとlempar.cが不整合を起こしてアボートする問題もあったけど直した。
なんかmultibyte文字のline wrappingが変だけどwebkitとmidoriみたく豆腐になるよりはマシかも。
ただし、Java Scriptとかは動きません。 :P
[Pinky GIF issue was fixed. Abort by lemon and lempar.c incompatibilities was
also fixed. multibyte line wrapping is still kinda wierd though. But it suck less
"all TOUFU are belong to multibyte characters" problem like webkit and midori.
Oh wait, NetSurf has no Java Script ready. :P]

2008/02/08

JTWMPC.karam++; /* launch t3h Wiki */

日本タイル型ウィンドウマネージャ推進委員会 JTWMPC,略称日本タイル.
matsuuさんがsf.jpのWikiを使うと言うのでwmiiの部分をシコシコ書いていたら,
もう三時過ぎかよ、おやつの時間を逃した!!1 :P
[Japan Tiling Window Manager Promotion Committee, JTWMPC, Japan tile for short.
matsuu sez "WE CAN HAS WIKI AT sf.jp NOW!!1", so I did bit.
Eh, ZOMG. It's already 3:30 AM here. so I miss precious cookie!!1 :P]
02/08 02:53:56 jakub
wheeeee, zzam! :D
02/08 02:55:02 zzam
morning jakub ;)
02/08 02:57:22 jakub
zzam: a bit late morning here *g*
02/08 02:57:30 zzam
*g*
02/08 02:57:43 zzam
already up since 10h
02/08 02:58:10 zzam
so it is not morning
02/08 02:58:39 jakub
hehe

02/08 03:22:14 Jarda
8pm...
02/08 03:23:38 jakub
Jarda: your clock is broken *g*
02/08 03:23:52 Jarda
only by 22mins and 13 secs
02/08 03:24:25 *
jakub hands ntpd to Jarda

02/08 03:37:33 hiyuh
3:30 am here
02/08 03:37:42 *
hiyuh zomgs
02/08 03:40:09 jakub
hiyuh: insomniac? :D
02/08 03:41:28 cla
lol
02/08 03:42:00 hiyuh
:p
02/08 03:42:09 *
cla digs a bit

2008/02/07

GMail != GentooMail

変なbugは日常茶飯事なGentoo bugzieですが,こいつは流石にお手上げです. :P
[At Gentoo bugzie, all funny bug is kinda welcome. But THIS BAG IZ T00 AWESUM. :P]

2008/02/02

{dmenu,9base,libixp,wmii}-hg # *BUMB*

全部hg tipにした.
とりあえず動いているらしい. :)
[All ones are now hg tip.
Yup, ITJUSTWORKS(tm) here. :)]

次はいつ壊れるかな? :P
[Hmm, I'm looking forward to t3h fubar. :P]

2008/01/25

(lion < tiger) ? (tiger < fish) ? YUP : NAH : NAH ;

Urban Dictionaryをボケーと見ていたら,こんなんがあった.
[Browsing Urban Dictionary, I found this.]

lion
A big, furry brown cat, found in the savvanna of Africa. NOT the jungle, you phyco's.
Often toated as the king of beasts, and no one knows why. Some say that the lion is the
biggest cat, even though the tiger is the biggest cat in the world. Often hunted for trophies.

Lion- Bwa ha ha! I'm the lord of the jungle!
Tiger- (walks out of jungle) Dude, you live in a savvanna
Lion- Shut up and bow, slave!
Tiger- (bashes lion with paw, instantly snapping neck) Bitch!

ライオンよりトラが強いかも! :D
[LOL K. tiger pwn3d lion! :D]

tiger
A big orange and black striped liony thing with sharp claws and rather a nasty bite.
They don't usually eat men but that's only because they don't usually get the chance.
Obviously, if you live near a tiger it may consider eating you. Basically, what I am
saying is - the further away you live from a tiger, the less chance you have of getting
eaten by one. I live in Selhurst in South London and NOBODY here has been eaten by
a tiger since 1922 and I'm not even sure that it was a real tiger then (although I suppose
if it ate someone it must have been a large carnivore so it may as well have been a tiger
as anything else). Perhaps it was some sort of mock-tiger. Or maybe a stripey bear or
something. I don't know, I wasn't even born then and you know what old people are like...
The whole thing is probably a tissue of lies from start to finish. Anyway, thats sort of
what a tiger is. So thats cleared that up then. Actually, I don't know why I bothered.
I've never met a single person who didn't have some idea of what a tiger was so it seems
a bit pointless describing one. I don't really think that the purpose of urban dictionary
is to define the bleeding obvious. It really seems to be a forum for 'street' types to say
things like "Yo!" and "Your mutherfucking sister's a ho!" and "Janice is such a slut" etc.
Even such people as this probably know what a tiger is.

" I say George, your hand looks sore."
" Yeah, a tiger bit me. It's true, honest, go on, hit me in the stomach!"

or

"Mary, you'll never get anywhere in life by just lying around without a head, you know."
"Gurgle gurgle gurgle"
(Translation: "This is true mother, but as a tiger has bitten off my head and eaten it, I'm
afraid I have no choice. In fact, that is the very reason why I'm finding it a little difficult
to communicate with you at the moment and so I shall stop forthwith. Goodbye for ever")

ナンテコッタ,トラは人を喰わないだって? :D
[WTF, tiger don't usually eat men? :D]

更に調査した結果,サカナ最強説が有力か! :D
[Finally, I realized fish is t3h bestest animal! :D]

fish
An animal that lives in the water and swims. They might kill you in some instances.

"Where's Kenny?"
"Dude, a fish killed him."
"Damn."
"Let's go play wiffle ball."

水族館に逝く時は動物園に逝く以上に注意しよう! :D
["Aquarium is more dangerous than zoo", I HAS NEW UNDERSTANDIN! :D]

2008/01/24

wmii.karma++;

matsuuさんがタイル型ウィンドウマネージャのまとめをしているので,反応.もちろん,wmiiしか使ってないがな!!1 :p

2008/01/24 00:30 JSTではmatsuuさんのwmiiのまとめはこんなんになっとる.
  • 特徴: 柔軟なウィンドウ制御
  • 開発言語: C
  • 設定ファイルの有無: ×
  • キーバインドの変更: ○
  • floating機能: ?
  • 仮想デスクトップ: ○
  • タブ機能: ×
  • Compositeサポート: ×
  • フォントの扱い: Xlib
  • マルチディスプレイ制御: ×
  • XRandRサポート: ×
  • 機能拡張: ×
  • Xを再起動せず設定ファイル反映: ○
  • ライセンス: MIT

matsuuさんは既にawesomeに浮気してしまったし,使った事が無い人には色々誤解しそうな点をwmiiユーザーとして説明する.

特徴
一言で言えば,non-WIMPyで9ishだと言う事.良く分からんと思うので,dev達が書いプロパガンダやガイドを見ると良い.「日本語訳は無ぇーのかよ?」と言う方は,随分前に暇潰しに訳していたプロパガンダとガイドを晒し上げておいた.尚、当該ガイドの翻訳は途中までしか無い上に,最新版のwmii-3.6やhg tipとは設定や動作に整合性が無かったりするけれど,コンセプトは変わっていないので問題無いと思う. :P

開発言語
C言語.それからデフォルトではPlan 9 rcかPOSIX shサブセット.コアはC言語で記述されているけれど,後二者はユーザーへの配慮があまりにも柔軟"過ぎる"為,FILE I/Oのあるモノなら何でも良い.但し,FILE I/Oが有っても9pを直接喋る事が出来なければ,libixp付属のixpcを介すか,Linuxなら9p2000でマウントして,wmiiが使用する9ishなファイルシステムを使える必要が有る.実際,「RubyやらPythonででっち上げました!」みたいな投稿がMLを漁れば有るはず.

設定ファイルの有無
*nixアプリに付き物の${HOME}/.*rcとかに該当する静的な設定ファイルは無い.hg tipでは,ビルド時に決まる${ETC}/wmii-${VERSION}/{rc.wmii,wmiirc}かユーザー毎の${HOME}/wmii-${VERSION}/{rc.wmii,wmiirc}が設定をwmii起動時,あるいはユーザーの指示に応じて,wmiiが使用する9ishなファイルシステムに動的に書き込む.

キーバインドの変更
キーバインドについても同上.また,ユーザーへの配慮があまりにも柔軟"過ぎる"為,MODKEYと呼ばれるキーイベントを捕まえる為の特別なキー以外はほぼ何でも有り.MODKEY自体もCtrlキー, Shiftキー, Altキー, Windowsキー, Appleキーなどが使える.例えば,rc.wmiiやwmiircをシコシコ書いて,「Alt+Iを押してAlt+R押してAlt+Cを押す」と言うキーバインドコンビーネーションで「IRCクライアントを起動する」とかも出来る.

floating機能
wmiiはWIMPyなクライアントもnon-WIMPyなクライアントもをfloatingさせる事が出来る.デフォルトではクライアントにフォーカスして,Mod1-Shift-Spaceでfloating状態とfloatingさせない状態を切り替える.floatingさせるクライアントには~と言うタグを付ける.rc.wmiiやwmiircをシコシコ書いて,タグルールを生成する事で起動時に自動的にfloatingさせる事も出来る.が,タグルール自体はfloatingさせる事が目的では無く,「起動時にデフォルトのタグを割り当てる事が出来る」と言う事実の副産物. :P

仮想デスクトップ
wmiiではタグとヴューを使用すれば,仮想デスクトップを作る事が出来るが,タグとヴューによる管理は仮想デスクトップ以上のモノを提供する.例えば,xterm上のvimとxterm上のtopを起動して,それぞれ
coding+tasks, tasksとタグをつけてcoding, tasksと言うヴューを生成すれば,同一のxterm上のvimを異なるヴューで共有出来る.

タブ機能
タブ機能はタブの数が増えるとタイトルバーが見えなくなると言う問題が有る為,wmiiにタブ機能は無い.その代わりにレイアウトと呼ばれるモノの一つでスタッキングと言うモノが有る.タブは,
+--------+--------+
| title1 | title2 |
+--------+--------+
|                 |
|     window1     |
|       or        |
|     window2     |
+-----------------+
となるのに対して,スタッキングレイアウトは
+-----------------+
| title1          |
+-----------------+
| title2          |
+-----------------+
|                 |
|     window2     | <--- window1 hides under client2
|                 |
+-----------------+
となる. デフォルトではMod1-jとMod1-kでそれぞれ上下方向にクライアントが切り替わる.
+-----------------+
| title1          |
+-----------------+
|                 |
|     window1     | <--- window2 hides under client1
|                 |
+-----------------+
| title2          |
+-----------------+
「タイトルバーが上と下に出てウザいよ?」と言う方はボトムスタックやら トップスタックやらパッチが転がっていたハズなので好みで使えば良い. 「クライアントは横に並べるだろ?」と言う人はカラム分割すれば良い. クライアント1にフォーカスしてMod1+Shift+l.
+--------+--------+
| title2 | title1 |
+--------+--------+
|        |        |
|window2 | window1|
|        |        |
+--------+--------+
右カラムを動的に生成,分割比もrc.wmiiやwmiircで設定. 因みに,それぞれのカラムは別のレイアウトに出来る.「フォーカスしていないクライアントのタイトルバー要らね」と言う人は マキシマムレイアウトすれば,問題無し.クライアント1にフォーカスして Mod1+Shift+hで元に戻せば右カラムは動的に破棄されて,更にMod1+m.
+-----------------+
| title1          | <- title2 hides under title1
+-----------------+
|                 | 
|    window1      | <- window2 hides under window1
|                 |
+-----------------+
mplayer何かでmplayer自身のタイトルもウザい場合にはフルスクリーンにすれば,問題無し.Mod1+fで.
+-----------------+ <--- title 1 is gone
|                 | 
|    window1      | <--- client2 hides under client1
|                 |
+-----------------+
但し,フルスクリーンはレイアウトじゃないので注意.

Compositeサポート
wmiiはネイティブCompositeはサポートしていない.因みにdev達はサポート する気が無い様なので,xcompmgrでも使って下さい.スケスケが見た目ちょっと 格好良いのは百歩譲って認めるとしても「透明度がアレで背景が透けて見える 所為で読み難くなったターミナルなんか要らない」と言うのが理由の 一つみたい.個人的にもCompositeサポート要らねぇ派. :P

フォントの扱い
フォントの設定はX論理フォント記述なXLFD,UTF-8な適当なフォントが 用意できればタイトルもステータスもそのフォントで表示出来る.勿論, 日本語も問題無い.

マルチディスプレイ制御
と言うか,「どデカいディスプレイを何個も並べて,同時に何個もディスプレイ を見てるんか?」と言うそもそもの疑問が個人的には有る.wmiiはレイアウト とカラムを保存しつつ,タグとヴューを使用する事が出来るのでマルチディスプレイ 制御の必要性は低い.一応,${DISPLAY}による制御は可能.元々,X11が マルチディスプレイ制御に設計上向いていなかったと言うのは禁句な!!1 :P

XRandRサポート
XRandR,はじめました. :)

機能拡張
「特徴」で書いた様に,FILE I/O + 9pで何でもありなので拡張自体に縛りが無い.

Xを再起動せず設定ファイル反映
「設定ファイルの有無」で書いた様に,元々設定自体が動的なのでXの再起動は必要無い.

ライセンス
短いライセンスでmoronic coder向きですね. :P

久しぶりに結構書いたので,面倒臭いからEng'r'ish無しにしておこう. :P

更新: TYPO修正.

2008/01/11

MeasureSLOC(&B2); nonsense = x11 - X;

B2なVHDLのSLOC,ただし合成可能なRTL記述のみ.
まだまだ終わらんよ!!1 :P
[Here is SLOC trend of B2 (RTL VHDL only).
Well, it's bloat. But more!!1 :P]


#-bugsにて.
[At #-bugs.]
01/10 19:25:04 jeeves
[New Bug] https://bugs.gentoo.org/205164 nor, P2,
x86, kim.khh.dk=bug-wranglers.gentoo.org, NEW, pending,
x11-terms/eterm-0.9.4 doesn't compile with USE -X on imlib2 (Reassign
bug to vapier.gentoo.org ?)
01/10 19:27:31 hiyuh
-X w/ x11-terms for whut?
01/10 19:28:00 kimrhh
hiyuh: well yes :)
01/10 19:28:05 kimrhh
it wasn't me actually
01/10 19:28:24 *
hiyuh zomgs
01/10 19:28:44 kimrhh
hiyuh: but still the ebuild should check this if needed right?
01/10 19:29:44 jakub
shrug
01/10 19:32:00 hiyuh
kimrhh: I dunno ebuild policy properly, but only what I can not
understand the mind who will do "emerge USE="-X" emerge x11-*/*".
01/10 19:32:22 hiyuh
s/the/is the/
01/10 19:32:48 jakub
hiyuh: yeah indeed
01/10 19:39:15 kimrhh
hiyuh: now I see, I was confused because some ebuilds use the
built_with_use check, which is not supported
01/10 19:41:26 hiyuh
kimrhh: yup, i know. but when check fails, emerge aborts. so t3h
result is not changed to me.
01/10 19:42:36 *
jakub shakes his head and moves on...
01/10 19:44:13 hiyuh
kimrhh: and where is proven that t3h check is correct? non-properly
check ebuilds are, you see. so wrong check may be, imho.
01/10 19:44:35 hiyuh
so just compile fails is simple to me, lolz.
01/10 19:45:49 kimrhh
hiyuh: well, if you think messages with "unresolved symbol blah blah"
makes sense to all users, then there is no difference
01/10 19:45:58 kimrhh
but I wouldn't say it does
01/10 19:46:29 kimrhh
hiyuh: but yes, that check is a hack apparantly, so nothing wrong
with this app
01/10 19:46:51 kimrhh
hiyuh: as you said, it is weird to try to install an X app with -X
01/10 19:47:02 kimrhh
but people do weird things :)
01/10 19:47:35 hiyuh
kimrhh: yeah, you're user-friendly guy. sorry I'm a moronic coder. :)
01/10 19:50:37 jakub
lolz
うはは. :DDD
[LAMO. :DDD]

2008/01/07

cal {2007,2008} ;

あ(略).
[HNY2U.]

とりあえず,年が明けても#-bugsは相変わらずです.
[K, #-bugs still amuses me.]
(begin flame by bonsaikitten and eroyf.)

01/05 02:36:11 jakub
hrrm.... popcorn time it seems

(still flame by bonsaikitten and eroyf.)

01/05 02:43:47 *
jakub sticks more popcorn to the microwave

(end flame by bonsaikitten and eroyf.)

01/05 03:10:56 hiyuh
lol, i missed my popcorn-time. :p
01/05 03:11:22 bonsaikitten
hiyuh: yeah, you suck :)
01/05 03:11:42 *
bonsaikitten hands out free flames for cooking ;)
01/05 03:11:50 jakub
;o]
今年はポップコーンを喰いっ逸れない様にします. :P
[So, I won't miss my precious popcorn-time again. :P]

2007/12/14

ifdef.karma--; /* app-text/xpdf-3.02-r1 */

matsuuさんが蝶頑張って直したっぽいpTeXのテストも兼ねて,以前作った
日本語のPDFを見ようとしたら,app-text/xpdfがぶっ壊れている事に気づいた.
で,モニョモニョして直した. :)
[Matsuu fix0r pTeX. I tested it and seeing my Japanese PDF. But app-text/xpdf
was b0rk, I realized. So I fixed. PLZ FIX0R IN T3H TREE 2 ASAP KTHX. :)]

bug #200023

#ifdefを安易に使うなとあれほど言ったのに!!1 :P
[#ifdef considered harmful, we know!!1 :P]
Google "#ifdef considered harmful"

2007/12/06

return PowerBook;

PowerBookが修理から戻って来たのでムニャムニャするのを再開.
[My PowerBook return, it's time to restart do REALLYSOMETHING(tm).]

Nils本人からrelease announceによりoverlayのsys-devel/nwccを0.7.4にbumb.
実はrenameだけだがな!!1 :P
[I did *just* rename my overlay's sys-devel/nwcc to bumb 0.7.4!!1 :P]

media-libs/libcacaで遊ぶついでにapp-misc/toiletをemergeしようと思ったら,
MISSINGKEYWORD(tm)だったのでekeyword ~ppcしてoverlayに突っ込んだ.
いい感じにITJUSTWORKS(tm)なので,bugzieにレポった.
[To poke media-libs/libcaca, I've tried to emerge app-misc/toilet
but emerge vomits MISSINGKEYWORD(tm). So I did ekeyword ~ppc it
and pushed into my overlay. Sure, ITJUSTWORKS(tm). I filed keyword
request to bugzie, of course.]

bug #201363

で,なぜか#-bugsでネタにされる. :DDD
[Then, #-bugs dudes were going to go nuts. :DDD]
12/06 00:38:05 jeeves
[New Bug] https://bugs.gentoo.org/201363 enh, P2, PPC,
hiyuh.root.gmail.com->bug-wranglers.gentoo.org, NEW, pending, ~ppc
keyword request for app-misc/toilet (Reassign bug to drac.gentoo.org
?)
12/06 00:38:14 kojiro
say what?
12/06 00:38:32 kojiro
aargh, I really gotta pee but the toilet's MASKED
12/06 00:38:35 kojiro
halp!
12/06 00:39:56 welp
LOL
12/06 00:40:01 hiyuh
hehe
12/06 00:40:05 welp
ok, that toilet bug is just too cool :P
12/06 00:40:11 *
welp pets hiyuh
12/06 00:40:17 welp
who's a clever boy ;)
ふざけすぎてbugzieには一ヶ所typoがあるけど気にしない,気にしない. :p
[U CAN HAS INVIZIBLE MAI TYPO at the bug report. :p]

2007/11/22

echo "STFU, do code" > /me

B2なVHDLマクロをfsckin'だのjunkだのとぼやきながらモニョっていたら,
先日の人事考課の時に「お前,もう少し丁寧な言葉遣いしろよ」みたいな
事をボスに言われてしまったので,実験的に年が明けるまで会社では極力
喋らないでコーディングをしてみる事にした.
[I've been vomiting about B2's VHDL macros like, "U fsckin' XXX!!1",
"koo, t3h junk!!1" though, then my bossez sez to me, "why you can
not do STFU?". So, I'm doing STFU now in office, yup only do codin' ATM.]

で,黙る前より何かイイ感じにガリガリやれる事に気付く.
「黙ってコードを書けよ,ハゲ」ってのは多分実績に裏打ちされている. :P
[Well, I'd have to say "STFU, do code" goes a long way to increase commits,
I realized. It's now proven, "STFU, do code" is FTW. :P]

全然関係無いが,昼飯時に定食屋で見たTVでこんな事も有ったみたいで
何気に"たいむりー". :DDD
[Hmm, that' sounds like good OT news to me. :DDD]
2007 Ibero-American Summit controversy
- Juan Carlos I of Spain, Wikipedia

2007/11/05

push(&overlay, &webkit); push(&overlay, &midori);

net-libs/webkitとwww-client/midoriをoverlayに突っ込んだ.
マルチバイト文字は豆腐になるみたいなのであまり期待しないように.
とりあえず,webkitはsafari powered by appleなブツなので
気長に待つつもりならすこし期待してもいいかもね. :p
[Pushed net-libs/webkit and www-client/midori into my overlay.
But it has no multibyte capabilities ATM, I guess. B/c it won't
display multibyte character correctly. webkit is known as a part
of safari by apple. So we will see... :p]

2007/11/04

IS_BC_BUMB(bug) || IS_BC_DRUMB(bug)

bumbとdrumbは違うらしい. :DDD
[bumb is not drumb, heh. :DDD]
11/04 01:10:55 jeeves
[New Bug] https://bugs.gentoo.org/197968 min, P2, All,
felix@h.d-bug-wranglers@g.o, NEW, pending, vym installs into wrong
prefix
11/04 01:11:17 drac
bad
11/04 01:12:00 jakub
failees again :)
11/04 01:12:14 jakub
ColdWind: ^^^ :)
11/04 01:13:26 hiyuh_jabberwoch
lolz
11/04 01:14:32 ColdWind
daaamn
11/04 01:14:45 ColdWind
that's what happens when you do drunk bumps
11/04 01:16:13 eroyf
that was one of my few rules when i was a dev
11/04 01:16:24 eroyf
never enter my cvs checkout while i was drunk
11/04 01:17:40 ColdWind
I'll do some pam rules for it ;)
11/04 01:18:02 jakub
ColdWind: lol :D
11/04 01:18:07 jokey_mobile
indeed, pam rulz ;)
11/04 01:18:08 jakub
drunk bump :D
11/04 01:19:43 armin76
bumb?
11/04 01:19:49 drac
bumb.
11/04 01:19:58 hiyuh_jabberwoch
*bumb*
11/04 01:20:59 kojiro
drumb
11/04 01:22:33 bonsaikitten
Gump!
11/04 01:22:56 drac
+1 for drumb
11/04 01:23:04 drac
don't spoil our bumbs with booze.
11/04 01:23:44 kojiro
how d'you pronounce 'bumb'? Is it like "bum", or like "bumbee"?
11/04 01:24:21 ColdWind
kojiro: just bumb, can't you pronounce that? :p
11/04 01:24:34 kojiro
heh

2007/11/03

ricecmp(&me, &others) ? me.rice.karma++ : others.rice.karma++;

#-bugsにて,変な流れでrice比べに. :p
[At #-bugs, there is many fsckin' ricers who would show his uname -a to each others. :)]
11/03 22:52:50 loki_val
please do my homework for me.
11/03 22:53:35 loki_val
get_libdir; does it supply lib{,32,64} with or without finishing slash
11/03 22:53:50 jakub
see multilib.eclass :)
11/03 22:54:44 loki_val
jakub: I adore you. You're so cute when you're right.
11/03 22:55:05 pchrist
everyone adores jacub
11/03 22:56:36 *
hiyuh_jabberwoch adorez.
11/03 22:57:40 pchrist
hiyuh_jabberwoch: I liked that poem
11/03 22:58:34 Lap_64
peoms everyone we write about how to get wild on bed
11/03 22:59:29 hiyuh_jabberwoch
lolz
11/03 23:00:59 hiyuh_jabberwoch
Linux jabberwocky 2.6.21-gentoo-r3-mactel #1 SMP PREEMPT Sat Jun
30 22:36:16 JST 2007 x86_64 Intel(R) Core(TM)2 CPU T7400 @ 2.16GHz
GenuineIntel GNU/Linux
11/03 23:01:36 Lap_64
Linux localhost 2.6.20.3 #1 SMP Fri Mar 16 12:34:47 IST 2007 x86_64
AMD Turion(tm) 64 Mobile Technology MT-28 AuthenticAMD GNU/Linux
11/03 23:01:59 hiyuh_jabberwoch
heh
11/03 23:02:52 Lap_64
oink oink
11/03 23:02:55 ColdWind
loosers...
11/03 23:02:57 ColdWind
Linux localhost 2.6.23-gentoo #2 SMP PREEMPT Tue Oct 23 23:01:41 CEST
2007 i686 Intel(R) Pentium(R) 4 CPU 3.00GHz GenuineIntel GNU/Linux
11/03 23:03:23 hiyuh_jabberwoch
zomg
11/03 23:03:25 pchrist
Linux Erato 2.6.20.4 #1 SMP Sun Apr 1 18:47:23 EEST 2007 x86_64
Intel(R) Xeon(TM) CPU 3.00GHz GenuineIntel GNU/Linux
11/03 23:03:28 pchrist
what about that?
11/03 23:03:41 Lap_64
ColdWind, that doesnt make you a winner
11/03 23:03:49 jakub
pchrist: faileees as kernel ricer :P
11/03 23:03:54 ColdWind
Lap_64: no? err! faiiil
11/03 23:03:54 Lap_64
pchrist, you are next to jesus christ
11/03 23:05:05 pchrist
this is the nice part of working in a university
11/03 23:05:26 Lap_64
hehe
11/03 23:07:37 jakub
lol
11/03 23:07:56 loki_val
Linux loki 2.6.22-gentoo-r8 #1 Thu Sep 27 00:35:17 CEST 2007 i686
AMD Sempron(tm) AuthenticAMD GNU/Linux
11/03 23:08:11 loki_val
Beat that for sheer vintage glory.
11/03 23:08:18 welp
Linux dev 2.6.16.16 #2 SMP Fri Jun 30 13:52:41 CEST 2006 x86_64 AMD
Athlon(tm) 64 Processor 3200+ AuthenticAMD GNU/Linux
11/03 23:08:21 *
Lap_64 beats
11/03 23:08:22 welp
*wins*
11/03 23:08:29 pchrist
Lap_64: What I really want, is if I could be next to a new SGI
itanium machine
11/03 23:08:38 hiyuh_jabberwoch
wtf
11/03 23:08:45 *
Lap_64 claps for welp
11/03 23:08:47 jakub
armin76: where are you with your git sources? :P
11/03 23:09:45 *
loki_val twocks welp.
11/03 23:09:57 welp
twocks?! you mean thwocks, right? :P
11/03 23:10:03 Lap_64
hehe
11/03 23:10:15 pchrist
I just realized that my machine has wrong date
11/03 23:10:16 loki_val
omsgz. grammar nazi.
11/03 23:10:22 Lap_64
welp, i am afrid if he ment ahem two cocks :P
11/03 23:11:15 *
loki_val meant "cleans welps pipe".
11/03 23:11:26 loki_val
with an iron brush.
11/03 23:13:14 Lap_64
rofl

2007/11/02

ReMeasureSLOC(&ADJJV);

ADJJVのSLOCなグラフ,再び.無駄に最小自乗法を適用.
[Here is SLOC trend of ADJJV, again. w/ LSM fitting.]

仮説:
VHDLマクロのSLOCはcommit revisionに対して,
SLOC = L(1 - exp(-sqrt(revision/R)))
の様相を呈す.ここにLは(論理的な)最終release時のSLOC,Rは前の(論理的な)release時の
revisionから数えて次の(論理的な)release時の第一candidateまでの平均commit数.
[Hypothesis:
VHDL macro's SLOC trend per commit revision would be expected like,
SLOC = L(1 - exp(-sqrt(revision/R)))
where L is (logical) last release SLOC, R is average number of commit
between (logical) previous release and (logical) next release candidate
of first.]

2007/11/01

PowerBook.Keyboard.Key[eENTER] = FSCKed;

PowerBookのENTERキーがぶっ壊れた.
ターミナルでコマンドを実行する時にバチバチ無駄に気合を入れて押しているのが原因です.
ほんとうににありがとうございました(ぼーよみ). :P
[My PB's enter key is now fscked.
Guess, b/c everytime executing command in terminal, I kinda smack t3h ENTER.
Yeah, it has no effect to execute it, I know. :P ]

週末にでも修理に出すかな.
[I'd have to fix0rz it ASAP.]

2007/10/26

JunkCode.karma++; /* br10_stim.c */

問題: このコードは何でしょう? :9
[Q. This code for what? :9]
#include <stdio.h>
#include <stdint.h>

#define MSK16(i, b) ((i) & ((uint16_t)0x0001 << (b)))
#define SLL16(i, b) ((uint16_t)(i) << (b))
#define SLR16(i, b) ((uint16_t)(i) >> (b))
#define ORG16(i, b) (SLR16(MSK16((i), (b)), (b)))
#define MOV16(i, b1, b2) (SLL16(ORG16((i), (b1)), (b2)))

uint16_t br10(uint16_t i) {
uint8_t b;
uint16_t bri;

for (bri = 0x0000, b = 0; b < 10; b++) {
bri |= MOV16(i, b, (10 - 1) - b);
}

return bri;
}

int main(int argc, char *argv[]) {
uint16_t i, bri, brbri;

for (i = 0x0000; i < SLL16(0x0001, 10); i++) {
bri = br10(i);
brbri = br10(bri);
printf("%4d <-BR10-> %4d <-BR10-> %4d ... %s\n",
i, bri, brbri, (i == brbri) ? "OK" : "NG");
}

return 0;
}

2007/10/23

while(1) Xilinx.ISE->EatMEM(malloc(sizeof(void)));

会社の自分のPCのISEを8.2iか9.2iにversion bumb.bumpではありません.
最近,#-bugsではversion bum*b*が流行りです. :DDD
[Version bumb 8.2i to 9.2i of fsckin' ISE at my local work PC. It's not
typo. You can see t3h rox0rz phrase, version bum*b* at #-bugs
sometimes. :DDD]

メジャーヴァージョンが上がってメモリ効率が良くなったとか,fmax云々だの
騒いでいるけれど,決め手は8.2iのままだと例のFFT IPが今回の用途で
びみょーにbugりそうだから. :p
[T3h 9.2i sez "KK, I WONT EAT UR MEM ANYMORE", "I CAN HAS FMAX
POWERZ". But all reason of what I've bumbed to 9.2i is t3h crappy FFT
IP w/ 8.2i will have a stupid bug for this project use. *STAB* :p]

Answer Record #29427
LogiCORE Fast Fourier Transform (FFT) v4.0
Why do I see incorrect outputs when I simulate an unscaled FFT with
a point size larger than 1024, and the Complex Multiplier Optimize for
Speed option is selected?

昨日のOUTPUTIFの問題は既にモニョモニョして解決した.
現在,awk(1p)な俺様VHDLバックエンドでTSVなファイルからstimulusと
expectationの対をシコシコと生成中.
[T3h Q of OUTPUTIF is already marked as RESO FIXED in this design.
ATM, I've been codin' awk(1p) back end to generate VHDL of the
stimulus and expectation pairs from TSVs.]

週末の予定メモ.
modular texliveをモニョる.
[This weekend plan: Pokin' modular texlive.]
bug #195815

xcg.fft.spec.karma--; /* fsckin' misprints */

XilinxのFast Fourier Transform v4.0のProduct specificationが低品質過ぎる.
タイミングチャートのport名が全然違うとか何考えてんだ?まじありえねー. :P
[Xilinx's Fast Fourier Transform v4.0 Product specification really suX0rz.
*STAB*. Why on the earth did dudes misprint t3h port names on timing chart?
NFC at all, KTHXBYE. :P]

で,なんとかその辺を誤魔化して,件のFFTマクロをでっち上げて,後方互換性の為に
そのまんま入出力のIFを移植した.で,予想通り,動作予定クロックで動かないと言う罠.
以下,出力IFの簡易ヴァージョンとヤル気の無いテストベンチ,さらにその手の人しか
解けないかもしれない問題っぽいモノ.
[For fsckin' backward compat, I've ported previous I/F w/o explicit changes to
t3h FFT macro by using that crap. Yup, ITDOESNTWORK(tm) w/ planning clock
ATM. These are stripped version output IF, dumb test bench, and a practical
VHDL Q.]

問題:どこがクロック高速化のボトルネックか?出来れば修正を施して示せ.
なお,OUTPUTIF.vhdlへの修正はoDATA,oOVRそれぞれのレイテンシー
は適当に増やして構わないが,修正以前と同様にアラインメントが揃っている
と好ましい.
[Q: Whre is fsckin' bottleneck to increase clock speed? Fix0rz it. You can
increase latencies of oDATA and oOVR as you like, and to sort their
alignment would be good for following ones.]

修正:typoとか.
[FIX: for typos.]
--
-- OUTPUTIF.vhdl
--
library ieee;
use ieee.std_logic_1164.all;

entity OUTPUTIF is
port (
iCLK : in std_logic;
iCLR : in std_logic;
iDATA : in std_logic_vector(22 downto 0);
iGAIN : in std_logic_vector( 3 downto 0);
oDATA : out std_logic_vector(11 downto 0);
oOVR : out std_logic
);
begin
end entity OUTPUTIF;

architecture RTL of OUTPUTIF is

begin

-- Tune Gain and OVeRflow detection
P_TG_OVR : process (iCLK)
begin
if (iCLK'event and iCLK = '1') then
if (iCLR = '1') then
oDATA <= (others => '0');
oOVR <= '0';
else
case iGAIN is
when "0000" => -- 2^0
oDATA <= iDATA(22 downto 11);
oOVR <= '0';
when "0001" => -- 2^1
if (iDATA(22 downto 21) = "00" or
iDATA(22 downto 21) = "11") then
oDATA <= iDATA(21 downto 10);
oOVR <= '0';
else
oDATA(11) <= iDATA(22);
oDATA(10 downto 0) <= (others => not iDATA(22));
oOVR <= '1';
end if;
when "0010" => -- 2^2
if (iDATA(22 downto 20) = "000" or
iDATA(22 downto 20) = "111") then
oDATA <= iDATA(20 downto 9);
oOVR <= '0';
else
oDATA(11) <= iDATA(22);
oDATA(10 downto 0) <= (others => not iDATA(22));
oOVR <= '1';
end if;
when "0011" => -- 2^3
if (iDATA(22 downto 19) = "0000" or
iDATA(22 downto 19) = "1111") then
oDATA <= iDATA(19 downto 8);
oOVR <= '0';
else
oDATA(11) <= iDATA(22);
oDATA(10 downto 0) <= (others => not iDATA(22));
oOVR <= '1';
end if;
when "0100" => -- 2^4
if (iDATA(22 downto 18) = "00000" or
iDATA(22 downto 18) = "11111") then
oDATA <= iDATA(18 downto 7);
oOVR <= '0';
else
oDATA(11) <= iDATA(22);
oDATA(10 downto 0) <= (others => not iDATA(22));
oOVR <= '1';
end if;
when "0101" => -- 2^5
if (iDATA(22 downto 17) = "000000" or
iDATA(22 downto 17) = "111111") then
oDATA <= iDATA(17 downto 6);
oOVR <= '0';
else
oDATA(11) <= iDATA(22);
oDATA(10 downto 0) <= (others => not iDATA(22));
oOVR <= '1';
end if;
when "0110" => -- 2^6
if (iDATA(22 downto 16) = "0000000" or
iDATA(22 downto 16) = "1111111") then
oDATA <= iDATA(16 downto 5);
oOVR <= '0';
else
oDATA(11) <= iDATA(22);
oDATA(10 downto 0) <= (others => not iDATA(22));
oOVR <= '1';
end if;
when "0111" => -- 2^7
if (iDATA(22 downto 15) = "00000000" or
iDATA(22 downto 15) = "11111111") then
oDATA <= iDATA(15 downto 4);
oOVR <= '0';
else
oDATA(11) <= iDATA(22);
oDATA(10 downto 0) <= (others => not iDATA(22));
oOVR <= '1';
end if;
when "1000" => -- 2^8
if (iDATA(22 downto 14) = "000000000" or
iDATA(22 downto 14) = "111111111") then
oDATA <= iDATA(14 downto 3);
oOVR <= '0';
else
oDATA(11) <= iDATA(22);
oDATA(10 downto 0) <= (others => not iDATA(22));
oOVR <= '1';
end if;
when "1001" => -- 2^9
if (iDATA(22 downto 13) = "0000000000" or
iDATA(22 downto 13) = "1111111111") then
oDATA <= iDATA(13 downto 2);
oOVR <= '0';
else
oDATA(11) <= iDATA(22);
oDATA(10 downto 0) <= (others => not iDATA(22));
oOVR <= '1';
end if;
when "1010" => -- 2^10
if (iDATA(22 downto 12) = "00000000000" or
iDATA(22 downto 12) = "11111111111") then
oDATA <= iDATA(12 downto 1);
oOVR <= '0';
else
oDATA(11) <= iDATA(22);
oDATA(10 downto 0) <= (others => not iDATA(22));
oOVR <= '1';
end if;
when "1011" => -- 2^11
if (iDATA(22 downto 11) = "000000000000" or
iDATA(22 downto 11) = "111111111111") then
oDATA <= iDATA(11 downto 0);
oOVR <= '0';
else
oDATA(11) <= iDATA(22);
oDATA(10 downto 0) <= (others => not iDATA(22));
oOVR <= '1';
end if;
when "1100" => -- 2^12
if (iDATA(22 downto 10) = "0000000000000" or
iDATA(22 downto 10) = "1111111111111") then
oDATA <= iDATA(10 downto 0) & '0';
oOVR <= '0';
else
oDATA(11) <= iDATA(22);
oDATA(10 downto 0) <= (others => not iDATA(22));
oOVR <= '1';
end if;
when "1101" => -- 2^13
if (iDATA(22 downto 9) = "00000000000000" or
iDATA(22 downto 9) = "11111111111111") then
oDATA <= iDATA(9 downto 0) & "00";
oOVR <= '0';
else
oDATA(11) <= iDATA(22);
oDATA(10 downto 0) <= (others => not iDATA(22));
oOVR <= '1';
end if;
when "1110" => -- 2^14
if (iDATA(22 downto 8) = "000000000000000" or
iDATA(22 downto 8) = "111111111111111") then
oDATA <= iDATA(8 downto 0) & "000";
oOVR <= '0';
else
oDATA(11) <= iDATA(22);
oDATA(10 downto 0) <= (others => not iDATA(22));
oOVR <= '1';
end if;
when "1111" => -- 2^15
if (iDATA(22 downto 7) = "0000000000000000" or
iDATA(22 downto 7) = "1111111111111111") then
oDATA <= iDATA(7 downto 0) & "0000";
oOVR <= '0';
else
oDATA(11) <= iDATA(22);
oDATA(10 downto 0) <= (others => not iDATA(22));
oOVR <= '1';
end if;
when others => -- 2^0
oDATA <= iDATA(22 downto 11);
oOVR <= '0';
end case;
end if;
end if;
end process P_TG_OVR;

end architecture RTL;

--
-- BENCH_OUTPUTIF.vhdl
--
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;

entity BENCH_OUTPUTIF is
begin
end entity BENCH_OUTPUTIF;

architecture BENCH of BENCH_OUTPUTIF is

component OUTPUTIF is
port (
iCLK : in std_logic;
iCLR : in std_logic;
iDATA : in std_logic_vector(22 downto 0);
iGAIN : in std_logic_vector( 3 downto 0);
oDATA : out std_logic_vector(11 downto 0);
oOVR : out std_logic
);
end component OUTPUTIF;

signal sCLK : std_logic;
signal sCLR : std_logic;
signal sDATA : std_logic_vector(22 downto 0);
signal sGAIN : std_logic_vector( 3 downto 0);

signal sOUTPUTIF_oDATA : std_logic_vector(11 downto 0);
signal sOUTPUTIF_oOVR : std_logic;

begin

P_CLK : process
begin
sCLK <= '1'; wait for 0.5 us;
sCLK <= '0'; wait for 0.5 us;
end process P_CLK;

P_CLR : process
begin
sCLR <= '1'; wait for 10.0 us;
sCLR <= '0'; wait;
end process P_CLR;

P_DATA : process (sCLK)
begin
if (sCLK'event and sCLK = '1') then
if (sCLR = '1') then
sDATA <= (others => '0'); -- signed zero
else
sDATA <= signed(sDATA) + 1;
end if;
end if;
end process P_DATA;

P_GAIN : process (sCLK)
begin
if (sCLK'event and sCLK = '1') then
if (sCLR = '1') then
sGAIN <= (others => '0'); -- unsigned zero
else
if (signed(sDATA) = 0) then
sGAIN <= unsigned(sGAIN) + 1;
else
sGAIN <= sGAIN;
end if;
end if;
end if;
end process P_GAIN;

U_OUTPUTIF : OUTPUTIF
port map (
iCLK => sCLK,
iCLR => sCLR,
iDATA => sDATA,
iGAIN => sGAIN,
oDATA => sOUTPUTIF_oDATA,
oOVR => sOUTPUTIF_oOVR
);

end architecture BENCH;

2007/10/18

Suspend(&ADJJV); read(xcg.fft.spec, &me, ALL);

ADJJVが一段落,まだおわってないけど.記念にあとでSLOCのグラフも作っとくかな.
[I'd suspend to be codin' ADJJV, (is not completed yet). I'll make its
SLOC trend graph as a ceremonial crap soonish.]

続いて,XilinxのCoreGenのFFTの英語な仕様書を読む予定.
なんでも,あるブツがLX200なボードに入りきらんので,FFTの部分をソイツに取り替えた上で,
動作速度を上げる事で回路容量を減らすんだとか.
ボス曰く,ストリーム処理の回路容量を減らす為に,多入力多出力同一回路を単一回路にして,
動作速度をその分上げて,入力後段MUX+FIFOと出力前段にDEMUX+FIFOな感じすればいい,と.
今でも128MHzで動いてるのにホントに大丈夫なんかな? :9
[Then, I'd have to read fsckin' Xilinx CoreGen's FFT spec written in English.
To diet bloated t3h macro, my bosses sez "multiple input/output macro
has some identical inside sub-macro, FFT that is. The plain is to rip it
for making it be unified. Plus, input MUX+FIFO and output DEMUX+FIFO,
then input faster clock, period."
...Oh dear, I'd have to say "yes sir", but WTF? :)]

2007/10/14

bus(eBIDIRECT).collison.karma--;

#vhdl@irc.freenode.netで双方向バスの話.
[Here is snippet log of #vhdl@irc.freenode.net.
The subject is bidirectional bus.]
10/13 23:48:13 joe2371
I do not understand iobuf. What happens if I is driven to (NOT IO)?
Which input wins?
10/13 23:50:28 joe2371
Would this condition tie Vcc to ground?
10/13 23:57:15 joe2371
Do I use T to select input vs. output mode? The table I have in my
documentation does not make this clear to me.
10/14 00:08:35 joe2371
I am going to assume that the table is simply unclear and the
schematic symbol probably represents a combination of obuft with
ibuf. That would make a lot of sense, but I am surprised that the
Xilinx documentation would describe the operation the way it does.
Unless my original interpretation of the documentation is correct and
I need to use seperate ibuf and obuft components in my design. Ugh.
10/14 00:23:54 joe2371
Please look at this and tell me if I am right or wrong. Thank
you. http://rafb.net/p/y1DT3Y68.html
10/14 00:30:40 joe2371
Hans, can you please answer my question if you have time?
http://rafb.net/p/y1DT3Y68.html
(BEGIN_SNIPPET_FROM_THE_LINK)
iobuf

T ____
|
|\|
I __| \______ IO
| / |
|/ |
/| |
O ___/ |__|
\ |
\|


Xilinx iobuf table:

T I IO O
1 X Z X
0 1 1 1
0 0 0 0

But I think I want this:

T I IO O
1 X 0 0
1 X 1 1
0 0 0 X
0 1 1 X

Is this what I get?
(END_SNIPPET_FROM_THE_LINK)
10/14 00:31:57 joe2371
I am trying to learn how to use the iobuf component and the
documentation is not clear to me.
10/14 00:33:12 joe2371
And I don't know how to test my understanding in simulation because
it is a buffer.
10/14 01:31:34 hiyuh
joe2371: did you understand...
10/14 01:31:46 hiyuh
1. "I is input from inside of FPGA, to output to IO"?
10/14 01:31:53 hiyuh
2. "O is output from outside of FPGA, to input from IO"?
10/14 01:31:55 hiyuh
3. "buffered I and unbuffered O is shared at inside of FPGA"?
10/14 01:32:33 joe2371
IO is pin side. I,O are FPGA side, right?
10/14 01:32:47 hiyuh
yup
10/14 01:33:23 joe2371
does T select input/output mode? I mean, what happens if I is 0
but IO goes to 1?
10/14 01:35:19 joe2371
I mean, if SRAM is driving IO, how do I disable I from trying to
drive it also?
10/14 01:36:08 joe2371
Do I have to output Z to the I?
10/14 01:37:07 hiyuh
nope, T selects buffered I's state (it may not be IO's state) to 'Z'
(T = 1) or unbuffered I (T = 0).
10/14 01:38:13 joe2371
So T disables the I pin of the iobuf, but does prevent IO from
changing O?
10/14 01:40:12 joe2371
I am trying to learn how to read the value of IO into the FPGA.
10/14 01:42:06 joe2371
I guess I still don't understand. And I have not been able to simulate
an iobuf to learn how it works. :-/
10/14 01:44:20 joe2371
Maybe you have answered my question already. If T=1 makes I=Z,
then hopefully O=IO.
10/14 01:45:46 joe2371
I am sorry if I do not immediately understand your explanation.
10/14 01:52:39 hiyuh
"if T <= 1, then buffered I <= 'Z' and O <= IO", "if T =
0, buffered I <= I. so O and IO <= wired(buffered I, IO comes
from as others' output)"
10/14 01:53:44 joe2371
Thank you. I think that is exactly what I want.
10/14 01:53:55 hiyuh
yw
10/14 01:57:27 hiyuh
... so bus collision make your day, I guess. :p
10/14 01:57:35 hiyuh
s/make/makes/
10/14 01:57:36 *
hiyuh runs.
10/14 01:59:37 hiyuh
FYI, to read about "I-BEFORE" and "OUT-AFTER" for ucf files' timing
constrain would be useful.
10/14 01:59:53 hiyuh
s/I-/IN-/
10/14 02:00:31 joe2371
oh, no. This means "O and IO <= wired(I, IO comes from SRAM)"
means two inputs on same bus. That is not what I want, of course.
10/14 02:01:34 hiyuh
yeah
10/14 02:02:13 joe2371
"assign IO = I and assign IO = SRAM-output" at the same time is not
what I want. Does this mean I cannot use iobuf for my design?
10/14 02:03:05 joe2371
I will look for "I-BEFORE" and "OUT-AFTER" for ucf files.
10/14 02:07:54 hiyuh
so, to keep IO <= 'Z' w/ T = '1' as neutral. when you really want
to output via IOBUF, make sure SRAM is input-state before output
via IOBUF. when others, you should think SRAM may be output-state.
10/14 02:08:53 joe2371
oh, I see.
10/14 02:08:56 hiyuh
otherwise, bus collisoin makes your day. :p

2007/10/13

snipLog("/me@#vhdl");

久しぶりにIRCのログを貼り付けてみる.
#vhdl@irc.freenode.netでMemory I/Fなお話.
[Here is a snippet log #vhdl@irc.freenode.net. The subject is a memory I/F.]
10/13 04:14:34 joe2371
Are questions about schematics portable between languages and
software? I'm trying to find out the correct way to connect one
signal to two FPGA pins. Do I want to treat my signal as a 1-bit bus
and put two taps on it? I thought that bus taps required the nets
on both sides to have compatible names (eg: Addr(19:0) -> Addr(15)
and not Addr(19:0) -> Foo). Is this splitting best done in the pin
assignment file (.ucf) ?
10/13 04:28:44 hiyuh
depends on transfer speed, imho.
10/13 04:32:33 hiyuh
e.g. I'm now working 8 boards (each one has 4 virtex4).
10/13 04:33:21 hiyuh
each virtex4 will input/output from/to others, the data syncs 128MHz
via simple parallel bus.
10/13 04:33:26 hiyuh
the output to outside of the board will be syncs 256MHz as LVDS.
10/13 04:33:38 hiyuh
sample pic is http://dev.gentoo.gr.jp/~hiyuh/misc/V4LXB.jpg
10/13 04:35:12 hiyuh
reference clock's accuracy and deskewing of sync clock is also PITA.
10/13 04:35:32 hiyuh
s/is/are/
10/13 04:38:47 joe2371
That's a nice looking board. The Virtices have fans on them?
10/13 04:39:58 hiyuh
yup
10/13 04:41:38 hiyuh
the left side one is japanese tobacco box, btw.
10/13 04:41:59 joe2371
With the letter C ?
10/13 04:42:10 hiyuh
yeah
10/13 04:43:12 joe2371
pretty neat. I'd hate to think what it costs.
10/13 04:44:27 joe2371
Do tools exists that can map a design across multiple chips
automatically?
10/13 04:45:51 joe2371
...basically treating four FPGAs like one larger one, I mean.
The more I think about it, the less likely I imagine that is.
10/13 04:46:02 hiyuh
my bosses said, one Virtex4 LX200 (the best one of Virtex4 LX series)
will costs about 1000000 yen. but it should depends on quantities
of order, I guess. :p
10/13 04:47:05 joe2371
It's something like 1000 yen to the dollar, I think. Ouch.
10/13 04:47:43 hiyuh
I dunno that neat tool which automatically map it to them.
10/13 04:48:29 joe2371
I guess if they are Virtex chips, you are stuck with Xilinx tools.
10/13 04:49:39 hiyuh
yeah, it's kinda corporate (or project's?) policy, maybe.
10/13 04:50:48 hiyuh
so I can take a screenshot of fsckin' ISE crashing per working day. :p
10/13 04:51:15 joe2371
Only once per day? ISE crashes sometimes 3-5 times on me.
10/13 04:51:50 joe2371
At least it recovers my work OK. (so far)
10/13 04:52:49 hiyuh
I'd have to treat that crap *gently*, b/c it's my job atm. :p
10/13 04:55:31 hiyuh
well, using same name in sch and logical vhdl design is a bit of
difficult, if it's a dead-lined project.
10/13 04:57:03 hiyuh
and ucf craps are not only for constraining the pin assign.
10/13 04:57:40 hiyuh
splitting them to ucf is a good way to go, though.
10/13 04:57:44 joe2371
Ok. My lab homework assignment is to create a 1MB memory controller
with only 14 address pins. I am trying to connect one signal to
two memory chips (same signal, different pins).
10/13 04:58:04 hiyuh
heh
10/13 04:58:09 joe2371
I created that 1-bit bus with two taps.
10/13 04:58:16 joe2371
I don't know if it works, though.
10/13 05:00:58 hiyuh
have you consider about the memories' I/F, driving load, or something?
10/13 05:01:19 hiyuh
s/consider/considered/
10/13 05:02:16 joe2371
oh, no. I am still experimenting with my initial concept for
the design. I don't know what difficulties to expect.
10/13 05:03:31 hiyuh
ah, ok. then first step is to gaze the memories' spec sheet, I
guess. :)
10/13 05:03:49 joe2371
The documentation for the board did not talk about driving load
that I can remember. It just says which pins of the FPGA are tied
to which pins of the SRAMs
10/13 05:04:04 joe2371
I have the specs for the SRAM here
10/13 05:05:17 hiyuh
SRAM? then it doesn't need to be refreshing, right?
10/13 05:05:25 joe2371
right
10/13 05:05:39 joe2371
yes, I am lucky it is SRAM
10/13 05:06:18 joe2371
But I am unlucky I have only 14 address bus pins connected.
10/13 05:07:50 hiyuh
SRAM's address is 14bits?
10/13 05:08:02 hiyuh
or you have only 14bits on FPGA to specify SRAM's address but SRAM's
address is not 14bits?
10/13 05:09:38 joe2371
no, 18 bits for a 16-bit memory location, plus upper byte and lower
byte pins, plus there are two chips. So SRAMs actually have 20-bit
address (of bytes). But I have a CPU which has only 14 address pins
connected to the FPGA.
10/13 05:10:12 joe2371
I want to use the LSB of the address to select upper/lower byte.
And LSB+1 to select SRAM0/SRAM1.
10/13 05:10:34 joe2371
the missing MSBits are provided from a register tied to a port.
10/13 05:11:16 joe2371
but I need to connect the LSB and LSB+1 to four pins.
10/13 05:11:28 hiyuh
oic
10/13 05:14:44 joe2371
I just thought of something. If chip enable is off, these SRAMs
go to low power mode. Maybe I should organize my pins differently
so that I will use less power when the memory is less than half
full... Hmmm... I'll think about that.
10/13 05:16:22 joe2371
I think it means changing one line of HDL. Then I can say my design
not only works, but is also efficient. :-)
10/13 05:17:43 joe2371
Nevermind. CE only goes high on reads and writes. It does not
matter if the memory contains data. (/me needs more coffee)
10/13 05:17:56 hiyuh
yeah, "separated CEs and shared others" sound good to me though.
10/13 05:18:38 joe2371
the data pins are not shared, though. Address pins are. But UB/LB/CE
are not shared either.
10/13 05:21:26 joe2371
the SRAM data sheet talks about "test load" only.
10/13 05:21:49 hiyuh
I guess "when CE is disabled, it doesn't care other signals". why
not shared address/data bus for that?
10/13 05:22:19 joe2371
They want you to be able to read 32 bits at one time, I think.
10/13 05:22:31 hiyuh
ah ok
10/13 05:23:25 joe2371
they do have shared address, though.
10/13 05:23:40 hiyuh
heh
10/13 05:25:25 joe2371
Since the connection between SRAM and FPGA cannot be changed, then I
think I can't think of anything I can do about the load from inside
the FPGA.
10/13 05:26:08 joe2371
s/I\ think\ I\ can't\ think\ of/I can't think of/
10/13 05:26:23 hiyuh
well, the spec sheet should have typ val of rw timing by pic or
table. so all what you do may be to constrain some timing of FPGA's
output.
10/13 05:27:05 joe2371
The SRAM is about 200 times faster than my CPU and is almost as fast
as the FPGA.
10/13 05:29:02 joe2371
My guess is that the SRAM will provide data long before the CPU
tries to read it. I hope I don't have too many timing problems.
10/13 05:31:57 hiyuh
deskewing for I/O like feedback path may have many timing problems,
too bad. ;p
10/13 05:33:10 hiyuh
only for output has little problem of timing (like for D/A), iirc.
10/13 05:33:40 joe2371
Do you know somewhere I can read more about this?
10/13 05:33:47 joe2371
What should I search for?
10/13 05:35:02 hiyuh
deskewing is common issue for FPGA design, see I/O and clock
management section of your device's users guide.
10/13 05:35:12 joe2371
oh, ok
10/13 05:35:20 hiyuh
good luck :)
10/13 05:35:34 joe2371
thanks. :-/
10/13 05:37:49 joe2371
"skew" was not found in the documentation. :-/
10/13 05:39:32 hiyuh
lol, what's your device?
10/13 05:40:08 joe2371
Digilent starter board with spartan3
10/13 05:42:35 joe2371
I found this in a referenced document "Digital Clock Managers also
eliminate clock skew"
10/13 05:43:19 hiyuh
yeah, DCM is a way for deskewing. :)
10/13 05:44:06 joe2371
I have 4 of them, it looks like.
10/13 05:47:19 hiyuh
well, maybe you want to use DCM_BASE or DCM_PS, I guess.
10/13 05:47:36 joe2371
I'll look them up. Thanks.
10/13 05:47:51 hiyuh
yw

Xilinx.ISE.karma--; /* MSVC++ runtime error!!1 */


今日のクラッシュ,もう何も言うまいて. :p
[Today's crash. All what I can say is only "WTF". :p]

2007/10/12

JunkCode.karma++; /* csa_stim.c */

問題: このコードは何でしょう? :9
[Q. This code for what? :9]
#include <stdio.h>
#include <stdint.h>
#include <string.h>

uint8_t do_csa(uint8_t *pa, uint8_t *pb)
{
uint8_t a_xor_b, a_and_b;

a_xor_b = *pa ^ *pb;
a_and_b = *pa & *pb;

*pa = a_xor_b;
*pb = a_and_b << 1;

return (a_and_b >> 7);
}

char *uint8_to_str(char *pstr, uint8_t q)
{
switch (q & (uint8_t)0xF0) {
case (uint8_t)0x00 : strcpy(&pstr[0], "0000"); break;
case (uint8_t)0x10 : strcpy(&pstr[0], "0001"); break;
case (uint8_t)0x20 : strcpy(&pstr[0], "0010"); break;
case (uint8_t)0x30 : strcpy(&pstr[0], "0011"); break;
case (uint8_t)0x40 : strcpy(&pstr[0], "0100"); break;
case (uint8_t)0x50 : strcpy(&pstr[0], "0101"); break;
case (uint8_t)0x60 : strcpy(&pstr[0], "0110"); break;
case (uint8_t)0x70 : strcpy(&pstr[0], "0111"); break;
case (uint8_t)0x80 : strcpy(&pstr[0], "1000"); break;
case (uint8_t)0x90 : strcpy(&pstr[0], "1001"); break;
case (uint8_t)0xA0 : strcpy(&pstr[0], "1010"); break;
case (uint8_t)0xB0 : strcpy(&pstr[0], "1011"); break;
case (uint8_t)0xC0 : strcpy(&pstr[0], "1100"); break;
case (uint8_t)0xD0 : strcpy(&pstr[0], "1101"); break;
case (uint8_t)0xE0 : strcpy(&pstr[0], "1110"); break;
case (uint8_t)0xF0 : strcpy(&pstr[0], "1111"); break;
default : strcpy(&pstr[0], "????"); break;
}

switch (q & (uint8_t)0x0F) {
case (uint8_t)0x00 : strcpy(&pstr[4], "0000"); break;
case (uint8_t)0x01 : strcpy(&pstr[4], "0001"); break;
case (uint8_t)0x02 : strcpy(&pstr[4], "0010"); break;
case (uint8_t)0x03 : strcpy(&pstr[4], "0011"); break;
case (uint8_t)0x04 : strcpy(&pstr[4], "0100"); break;
case (uint8_t)0x05 : strcpy(&pstr[4], "0101"); break;
case (uint8_t)0x06 : strcpy(&pstr[4], "0110"); break;
case (uint8_t)0x07 : strcpy(&pstr[4], "0111"); break;
case (uint8_t)0x08 : strcpy(&pstr[4], "1000"); break;
case (uint8_t)0x09 : strcpy(&pstr[4], "1001"); break;
case (uint8_t)0x0A : strcpy(&pstr[4], "1010"); break;
case (uint8_t)0x0B : strcpy(&pstr[4], "1011"); break;
case (uint8_t)0x0C : strcpy(&pstr[4], "1100"); break;
case (uint8_t)0x0D : strcpy(&pstr[4], "1101"); break;
case (uint8_t)0x0E : strcpy(&pstr[4], "1110"); break;
case (uint8_t)0x0F : strcpy(&pstr[4], "1111"); break;
default : strcpy(&pstr[4], "????"); break;
}

return pstr;
}

int main(int argc, char *arcv[])
{
uint8_t a, b;
uint8_t a_add_b;
uint8_t a_csa, b_csa;
uint8_t n_csa;
char a_str[] = "00000000";
char b_str[] = "00000000";

for (a = 0; a < (uint8_t)0x80; a++) {
for (b = 0; b < (uint8_t)0x80; b++) {
a_add_b= a + b;

a_csa = a;
b_csa = b;
n_csa = 0;
do {
printf(" CSA(%s, %s)",
uint8_to_str(a_str, a_csa),
uint8_to_str(b_str, b_csa));
do_csa(&a_csa, &b_csa);
n_csa++;
printf(" = (%s, %s) ... %d\n",
uint8_to_str(a_str, a_csa),
uint8_to_str(b_str, b_csa), n_csa);
} while (b_csa != (uint8_t)0x00);

printf("%02X | %02X || %02X | %02X || %s\n",
a, b, a_add_b,
a_csa, (a_add_b != a_csa) ? "NG" : "OK");
}
}

return 0;
}

2007/10/10

Xilinx.ISE.karma--; /* Stack corrupted!!1 */

ISEが低品質過ぎます,仕事じゃなかったらこんなブツは速攻でabandonだな. :(
[ISE really suXX0rz!!1 All why the hell I can not abandon this crap is b/c it's my job ATM.]

何してたかと言うと,200bitsのバスを隣のFPGAに突っ込むので,ボード上でのタイミング制約
を課す為に物理パッドの論理集合を作っていた.
どうみても固定長配列での集合演算ルーチンです,本当にありがとうございました. :P
[So what I did is to create logical group from physical pads to constrain
bus I/O timing between 2 FPGAs.
That *is* fsckin' set operation routines w/ fixed length array, thank god. :p]

修正:
slangだらけの英語追加.
[Add fskin' my Eng'r'ish.]

2007/10/07

GentooJP.NomiKai++; /* OSC 2007 Fall */

京急蒲田の辺りでOSC 2007 Fallでした.
[OSC 2007 Fall @ Keikyu-Kamata.]

今回は開始早々から遥々福井県からmasayukoさん達が参加してくれました.
masayukoさんはGentooJP Java leadな方です,多分. :p
[Dudes came from Fukui-pref. masayuko, AKA GentooJP Java lead... J/K. :p]

展示の方はamd64, x86, ppcのノートPC三台で,全てがタイル型ウィンドウマネージャ
(awesome x2, wmii x1)と言う基本構成で,matsuuさんはデモ用にLive CD 2007.0
も動作させていました.両隣のNetBSDの中の人達やsuseの中の人達とムニャヘニャしつつ,
「にーはお」と言う変な中華料理屋でのお昼を挟んで展示を見に来て頂いた人達にebuildの中身
を説明したり,SH*な人にアドバイスしたりとか.
[Exhibiting w/ 3 laptops. amd64, x86 and ppc, all laptop is running w/ tiling
window manager (awesome x2, wmii x1). Of course, we did w/ Live CD 2007.0
to demo. Talking w/ NetBSD and suse dudes sometimes. Lunch at "Ni-Hao".
And I've explained ebuild inside or minor arch maintenance policy for FreeBSD
and SH* guys.]

夕方からは飲み会.とりあえず,idaniさんの案内で蒲田の手羽先なお店に入った.
trombik先生のOpenBSD節を基本に,レイヤの高いお話などなどが展開されておりましたので,
レイヤの低い私には理解出来ない所が多々ありましたが,そんな事は気にしません. :D
[OSC was over, then we went to do NomiKai, first one is Tebasaki by idani.
Trombik talk passionately about OpenBSD, and something about higher layers'
that's what I can not understand a bit, but it's not problem. :D]

で,trombik先生オススメ(?)の冥土喫茶に突撃したが,満席と言う罠.
「いってらっしゃいませ,ごしゅじんさま」ってマジで言うのか. :DDD
[Then, trombik leads to his favorite Maid-Cafe.
But all the tables have been taken.
"itte rassyai mase, goshujin-sama" really rock0rz. :DDD]

更に,お好み焼き屋で二次会.
北海道vs福井県とか,日本はもうダメだとか,でも日本のお笑いには将来性があるとか,
スカパーのディスカバリーチャンネルを見ていると仕事にならねーとか.
[Second one is Okonomi-Yaki.
Hokkai-Do vs Fukui-Pref, Japan has no IAP but Japanese comedy has IAP,
Discovery channel of sky prefect TV made us sometimes "WTF".]

masayukoさんは日曜日にお子さんの運動会があるので,10時位に切り上げ.
上野まで御一緒させてもらいました.それから夜行列車で福井まで戻るそうで,大変だ!
乗り換えギリギリまでjavaの話とかをしていたので慌しくなってしまいましたが,
また話が出来ればいいですね. ;)
["Time to call it a night", at about 10:00 PM.
I came back w/ masayuko till the train arrived at Ueno.
We've been talking about java or something, so masayuko almost
missed its stop, though. Let's get together soon. :)]

2007/10/06

LX200 = pow(10, 6) * YEN; pOSC->bugz(eLIVE);


今,遊んでいるVirtex4なブツ.
[This is Virtex4 board I'm codin' for.]

Virtex4はLX, SX, FXの三種類,それぞれロジック,DSPとメモリ,I/Oに特化している(らしい).
LX200はLXシリーズの最高クラスのブツ.で,こいつLX200が四つ載っている.
LX200は百万円/個だとボスが言っていた.つまり,ボード一枚の部品代で四百万円.
そんなんが八枚もこの青い箱の中に入っている. :DDD
[Virtex4 has 3 series LX, SX and FX. They are for logic performance,
DSP and memory, I/O oriented. LX200 is highest one of LX series.
This board has 4 LX200s. LX200 costs about 1000000 yen, my bosses said.
Well, so 8 boards are in this blue box, so WTF? :DDD]

で,その蝶高級ボードに突っ込む予定のヘタレVHDLはこんな感じでSLOCが膨れ上がっています. :)
[An VHDL test sources for t3h boards are being now bloated by me. :)]


ところで明日はOSCです.bugdayな感じでテキトーにやりますのでヒマな方はお越し下さい. :)
[BTW, 10/6 is OSC, it will be bugday. Let us fix0rz bugz? :)]

2007/10/02

I HAS 1337 VHDL. LOL!!1


この野郎,思わず爆笑しそうになったじゃねーか!!1 :DDD
[WTF, I'D LOLZ!!1 :DDD]

2007/09/21

goto PinAssignHell;


イルカよ,お前が最後の頼りだ!11 :DDD
[OH MY DOLPHIN, PLZ HALP ME!11 :DDD]

buildOK(mfdlibm) ? me.karma++ : me.karma--;

やっと-std=c99 -pedantic-errorsでビルド出来る様になった. :)
なお,テストはしていないので,動作は保証出来ません. :p
[w00t, mfdlibm can be build w/ -std=c99 -pedantic-errors. :)
But IT JUST WORKS(tm), is not tested yet. :p]
mfdlibm mercurial repository

2007/09/19

Xilinx.Virtex4.UCF.karma--; fdlibm.lvalue.karma--;

ブツの製品検査の為にVirtex4が四つほど載っているボードのテスト用ファームウェアをムニャる.
[Poking Virtex4 x4 board w/ its firmware for inspection.]

ボードは全部で8枚,Virtex4が1個あたり800~900本ほど最上位層のVHDL entityから物理配線
制約を課すUCFなファイルを生成,と言うか改造.
今回使用するブツは改版後のモノで,改版前のUCFなファイルをあちこち修正する必要があった.
40ページの改版前の回路図と改版後の回路図と12時間ほど格闘.
で,やっと内部配線のチェックが出来るくらいまで修正した. :)
[Planning to use 4 boards for t3h B2. Each Virtex4's top VHDL entity has about
800 ~ 900 bits signal. So I'd have to modify the previous UCF file to constrain
physical pin assign. Gazing previous and current schematics which has A4 x40 in
about 12 hours. Finally, IT JUST WORKS(tm). :) But it's only for internal
connections inspection ATM.]

fdlibmを引き続きムニャっている.
[Poking fdlibm, as well.]
#if __BYTE_ORDER == __LITTLE_ENDIAN
#define __HI(x) *(1 + (int*)&x)
#elif __BYTE_ORDER == __BIG_ENDIAN
#define __HI(x) *(int*)&x
#endif

...

double z;
__HI(z) ^= 0x80000000;

...

コイツぁ,ひどいlvalueですね. ;p
こんなのを見た時はコイツを引用したくなる. :DDD
[ZOMG, how nice lvalue abusing... ;p
Well, this nice pic is kinda my feeling. :DDD]
128320993454987500dudewaitw.jpg

2007/09/18

Xilinx.Virtex4.DSP48.karma--;

AGC B2 forkを予定動作クロックで動く様にグローバルクロック制約付きでISEにてモニョる.
具体的に言うと,突っ込む予定のVirtex4なFPGAの中にあるDSPになる様に結合乗加算やら
結合加乗算をFFで分離したり,運用で対処出来る範囲でコンパレータのbit幅を縮めたり.
[Poking AGC B2 fork w/ working (planning) global clock on fscking ISE.
So, isolate fused multiply-add/add-multiply, or shrinking comparator
bit length to push into Virtex4's internal DSP.]

で,結局,受信側PHY下位層で動くブツは,予定動作クロック128MHzに対して130MHz.
送信側PHY下位層で動くブツは,予定動作クロック256MHzに対して,141MHz.
やっぱ,256MHzは無理やん.中のDSPは500MHzで動くとか言っとるらしいけど,
たぶんハッタリと見た. :DDD
[Finally, I did the one which function at where lower layer than reception
PHY will function w/ 130MHz (planning clock is 128MHz), and the one at where
lower layer than transmission PHY will function w/ 141MHz (planning clock is
256MHz). Bah, it might be impossible to function w/ 256MHz to me. *stab*.
T3h fscking DSP won't function w/ 500MHz, unlike t3h spec saz.
/me failz. :DDD]

つーか,後者は配線遅延が既に六割を越えてるし,オーバーサンプリング前のクロックで
動かす方向で検討せねばならんね,コイツは. :p
[Well, the latter's route delay takes over six out of ten. There is no way to
make it capable, I guess. I should reconsider to make it function at where
pre-oversampling domain. :p]

2007/09/11

Bump("x11-base/xorg-x11", 7, 3); CodeCleanUp(fdlibm);

x11-base/xorg-x11-7.3が入ったので,速攻でemerge.
で,x11-drivers/synapticsのbugを喰らう.
そこで困った時のbugzie,これで直る,多分. :p
bug #191924
[Emerged x11-base/xorg-x11-7.3. Eh, x11-drivers/synaptics sucks.
Kk, do dig bugzie, will fix0r soonish!!1 :p
bug #191924]

fdlibmをモニョっている.SoftFloatと合わせて,IEEE 754{,r}もチェックすれば,
あなたも明日から"ばいなりー"な浮動小数点生活をenjoy出来ます. ;)
[Poking fdlibm now. See also SoftFloat and IEEE 754{,r} for enjoy
your "binary floating-point" life. ;)]

2007/09/06

CXX.karma--;

sys-devel/gcc-4.2.0がbuggy過ぎるのとDもやりたくなってきたので,
USE=multislotでtoolchain overlayを使ってSLOT=4.1, 4.2共存の上,
4.3のalphaを突っ込んだが,ICEやらsanity check errorが止まらなーい.
やっぱりCXXはアレ気だ. :DDD
[sys-devel/gcc-4.2.0 is kinda buggy, and am interested in D.
So, now time to USE=multislot w/ toolchain overlay.
I did emerge SLOT=4.1, 4.2, and 4.3 alpha. Yay, ICE and sanity
check error floods!!1 Oh dear, CXX su^H^Hrocks!11 :DDD]

で,具体的にどれぐらいアレかと言うと,これくらい. :p
[Eh, if you'd like to see how CXX su^H^Hrocks, see this. :p]

2007/09/03

ReMeasureSLOC(&AGC_B2Fork);

例によってAGC B2ForkのSLOCを晒し上げ.
[Here is AGC B2Fork's SLOC trend to revision 124.]

前回の1.5倍位に膨れ上がっているのはテストベンチを突っ込んだから.
[Add bunch of test bench made total SLOC x1.5 bloated.]
  • revision 100辺りまでAdd draft test benches.
  • revision 120辺りまでBunch of fix for the benches.
  • revision 124で増えているのはテストベンチをまとめるラッパーを突っ込んだから.

IfGenerateStatement.karma--;

仕様なのは知ってるけど,VHDLのif-generateはなんでelseが使えないんだ? :(
[VHDL's if-generate statement kinda sux. :(]
:
:
entity FOO is
generic (
:
nDW : integer 3 to integer'high := 12;
nDELAY : integer 0 to integer'high := 2**8 - 1;
nNL : integer 3 to integer'high := 2**4 - 1;
:
);
port (
:
iCLR : in std_logic;
iDIN : in std_logic_vector(nDW-1 downto 0);
oDOUT : out std_logic_vector(nDW-1 downto 0);
:
);
end FOO;
:
architecture RTL of FOO is
:
:
constant cZEROxDW : std_logic_vector(nDW-1 downto 0) := (others => '0');
type tDMEM is array (0 to nNL-2) of std_logic_vector(nDW-1 downto 0);
signal rDMEM : tDMEM := (others => cZEROxDW);
:
:
begin
:
:
G_0FF_DELAY : if (nDELAY = 0) generate
oDOUT <= cZEROxDW when (iCLR = '1') else iDIN;
end generate;

G_1FF_DELAY : if (nDELAY = 1) generate
P_1FF_DELAY : process (iCLK)
if (iCLK'event and iCLK = '1') then
if (iCLR = '1') then
oDOUT <= cZEROxDW;
else
oDOUT <= iDIN;
end if;
end if;
end process;
end generate;

G_nFF_DELAY : if (nDELAY > 1) generate
P_nFF_DELAY : process (iCLK)
if (iCLK'event and iCLK = '1') then
nADDR <= (nADDR + 1) mod (nNL - 1)
if (iCLR = '1') then
for v in rDMEM'range loop
rDMEM(v) <= cZEROxDW;
end loop;
oDOUT <= cZEROxDW;
else
rDMEM(nADDR) <= iDIN;
oDOUT <= rDMEM(nADDR);
end if;
end if;
end process;
end generate;
:
:
end RTL;
それからModelSim XE 6.2gがこうやって書くとmultiple sourcesだと勘違いしやがる.
coverage機能がどうのこうのと言う前に嘘の警告を出さない様にしてくれ. :P
[And ModelSim XE 6.2g also sux, it'd buzz me about this code has multiple
sources, WTF. To fix wrong buzz should be given priority over to improve
coverage features, IMHO. :p]

修正: "type tDMEM us" -> "type tDMEM is"
[FIX: "type tDMEM us" -> "type tDMEM is"]

2007/08/02

MeasureSLOC(&AGC_B2Fork);

以下,AGC B2Forkの状況を晒し上げ.
[Here is AGC B2Fork's SLOC trend to revision 70.]

  • revision 5辺りまででadd FIXMEs.
  • revision 15辺りまでdelete unrelated provious' comments.
  • revision 30辺りまでexport internal generics.
  • revision 50辺りまでvarious fixes for pipeline calculations.
  • revision 50辺りでinternal statemachine rewrite.
  • revision 70辺りまでsanitize entities' name.

IsCppNewbie(&me);

ビミョーに仕事をサボりつつ,STLport関連のページとかをホゲホゲ.
個人的にC++は食わず嫌い,実際にブツを作ってみると果たしてどうなるんか少し試す事にした.
以下,メモ.
[Going on a jaunt STLport. I'm not C++ haX0r, but I don't line C++. But tasting is always not bad idea. The following is a part of diff C to C++ for me.]
  • line comment
  • default value of function's argument
  • overloaded function
  • dynamic memory
  • anonymous unions
  • class
  • constructor, destructor
  • overloading operater
  • this
  • polymorphisms
  • templates
  • name spaces
  • exception
  • type casting

単純なブツなら副作用に気を付けてCで#define使って実装してしまいそうだとか,そんな書き方は怠け過ぎだろとか思ったりするけど. :p
[Some of the aboves looks to be able to be implemented by #define macro magiX. Or looks too lazy codin' stuffs, blah blah blah... :p]

2007/07/27

agc = fork(); read(CoreConnect, &me, sizeof(ALL));

新しいRFなブツの為にAGCをfork(2).
この前のRFなブツは色々ダメダメだったのでPHY下位層はAGCも含めてかなりアレ気だったが,
今回は楽かもしれないと淡い期待をしてみる.今の所,心配なのは前回のブツの1.5倍位の
クロックで動かすつもりだという事と例のブツ一式でマンションが買える値段(ボス談)の
装置だって事だけ. :p
[Fork(2) for new RF module. The previous one really su^H^Hrocks,
it beats entire lower-than-PHY layer's consistencies includes AGC.
However, new one looks sane characteristics, IMHO. ATM, what I'm a
little worried about is it will function w/ x1.5 faster clock than previous
one and it's worth a lot of money to buy some condos. :p]

PA-RISCなブツも一通り目を通したので,ISA関連はヒトマズ終了.
次はon-chip interconnectとperipheral.
取り敢えず,CoreConnectが分かり易そうなのでコイツを読むべす. :)
[Skimed through PA-RISC's, to read something related ISA will be suspended.
Next is on-chip interconnect and peripheral. Well, CoreConnect tastes good
to me. :)]

2007/07/14

ForcedVacation(&me, 7 * WeekDay);

例のP4が終わり,その罪で今日(2007/07/14)から強制休暇一週間の刑に服役. :P
尚,今週末から来週前半は実家に戻る為,IP unreachableになります.
[Finally, I will serve 7 weekdays in forced vacation. :P
And I'd have to be IP unreachable at this weekend and few next weekdays
b/c returning to my hometown.]

以下,ここで音信不通だった間にムニャヘニャした主なモノ.
[Here is some stuffs what I was poking.]

multitalk 1.2.1のebuild及びパッチを作成.
で,「パッチ作ったから次のreleaseでマージじやがれ」なEng'r'ishなメールを送信.
「そんなデカいif文はありえんので.switch文にdefaultを足すよ」
「ハードコードされているpathはディストリビューション依存だからだめ」
つーダメ出し以外は全部マージしてくれたっぽい. :)
[ebuild and patches for multitalk 1.2.1.
And I e-mail-ed to submit these patches to merge upstream w/ my Eng'r'ish.
Upstream dev replied like
"Big if statement is crazy, I'd like to add default case to the switch statement."
"To change the hard-coded path is a bit of distribution specific, I won't merge."
So, other ones are fully merged. :)]

長らくbugzieで熟成されたghdl 0.26が公式ツリーに入った.
#gentoo-ppc@irc.freenode.netでppc herdのmabiを突っついて,
「~ppcにキーワードしてーな」
と先週末位にお願いしたのにまだ~x86しかキーワードされてねーじゃん! :(
まぁ,俺様overlayの方にも残っているのでどーでもいいと言えばどうでもいいが.
[bugzie's ghdl 0.26 pwns now in official tree.
At #gentoo-ppc@irc.freenode.net, I've poked one of ppc herd, mabi
to add ~ppc to the offcial ebuild though.
That promise would be done at last weekend, but not ~ppc even now! :(
Well, but that's OK to me b/c the old one still stuffed my own overlay.]

Alpha Architechture Handbookを一通り読んだ.
PowerとMIPSのブツも読んだし,次はPA-RISC.
[Alpha Architechture Handbook was pwnt.
Power and MIPS ones were already pwnt.
So next one is PA-RISC.]

他にも色々やった気がするけど,忘れた.忘れたって事は大した事ではないので割愛. :P
[Well, I can't remember other stuffs correctly. So I guess it's not so important ones. :P]