Amillia Publishing Company Advertisement  ยฉ
HOME RESUME ABOUT DEMOS Connect Message Mobile Right Column Mobile Left Column Mobile Poem Shards Mobile Coder's Edge Mobile
header_image copyright APC 2010

Paging Control

previousprevious click through previousprevious click through previousprevious click through previousprevious click through previousprevious click through previousprevious click through previousprevious click through previousprevious click through nextnext click through nextnext click through nextnext click through nextnext click through nextnext click through nextnext click through nextnext click through nextnewest column

Coders Edge

From Pattern to Process

a discussion on application development.

we are not able to do this in C11:

int ๐ŸŒœ๐ŸŒ›;

Maybe someday.

here is some output showing what I mean, from a g++ compile:

c++ -Wall -std=gnu++11    array_test_02.cpp -o kick3
array_test_02.cpp:20:1: error: stray โ€˜\360โ€™ in program
 int ๐ŸŒœ๐ŸŒ›;
 ^
array_test_02.cpp:20:1: error: stray โ€˜\237โ€™ in program
array_test_02.cpp:20:1: error: stray โ€˜\214โ€™ in program
array_test_02.cpp:20:1: error: stray โ€˜\234โ€™ in program
array_test_02.cpp:20:1: error: stray โ€˜\360โ€™ in program
array_test_02.cpp:20:1: error: stray โ€˜\237โ€™ in program
array_test_02.cpp:20:1: error: stray โ€˜\214โ€™ in program
array_test_02.cpp:20:1: error: stray โ€˜\233โ€™ in program
array_test_02.cpp:20:1: error: declaration does not declare anything [-fpermissive]
array_test_02.cpp: In function โ€˜int main(int, char**)โ€™:

Because I know how cutting edge the C standards people are, and I am sure mine is not a novel idea, is there some way to tell the compiler that we have Unicode? and that the stray codes are actually that? So I won't conclude that C11 has no way to do what I covet to do, ie, use in c++

int ๐ŸŒœ๐ŸŒ›;

instead of

int eye_locked_moons;

Could I even do

#define ๐ŸŒœ๐ŸŒ› eye_locked_moons

that would defeat the purpose because it is just syntactic sugar.

The compiler does not care if I comment out the Unicode symbols, but it doesn't want them for variable names. Maybe there are other codes that I need to know to use? Flags I can give the compiler?

promises from the gcc man page. there is no c++ manpage:

-municode

This option is available for MinGW-w64 targets. It causes the "UNICODE" preprocessor macro to be

predefined, and chooses Unicode-capable runtime startup code.

I am not building for a MinGW-w64 target, so the flag doesn't work. If I were building for that kind of a target I am still not sure if the code would work.

but from the unicode man page I see:

Unicode under Linux

Under GNU/Linux, the C type wchar_t is a signed 32-bit integer type. Its values are always interpreted

by the C library as UCS code values (in all locales), a convention that is signaled by the GNU C

library to applications by defining the constant __STDC_ISO_10646__ as specified in the ISO C99 stanโ€

dard.

so I put

#define __STDC_ISO_10646__

in my code, only to be told by the compiler that it is already defined in a standard include file.

in the cutting and bleeding places where middle aged guys can't get jobs despite the fact of others saying there are very many of them one spends a lot of time sharpening up on things. If things are not working now, they will later. It's only a matter of time before:

int ๐ŸŒœ๐ŸŒ›;

will compile as standard C/C++. All I need to do, as a note in a section on application development, is note that it doesn't work. The compiler experts will eventually get around to making this work. I know it.

Isn't it wonderful living in the modern age?

"Why don't we BASH ๐Ÿš€ for a while?"

I Ching Characters

fun with unicode and backslash u

here are the trigrams of the I Ching

โ˜ท,โ˜ถ,โ˜ต,โ˜ด,โ˜ณ,โ˜ฒ,โ˜ฑ,โ˜ฐ

Using these we can easily use brace expansion to construct all of the hexagram of the I Ching.

echo -e {โ˜ท,โ˜ถ,โ˜ต,โ˜ด,โ˜ณ,โ˜ฒ,โ˜ฑ,โ˜ฐ}{โ˜ท,โ˜ถ,โ˜ต,โ˜ด,โ˜ณ,โ˜ฒ,โ˜ฑ,โ˜ฐ}"
" 

the ouput of this is large.

echo -e {โ˜ท,โ˜ถ,โ˜ต,โ˜ด,โ˜ณ,โ˜ฒ,โ˜ฑ,โ˜ฐ}{โ˜ท,โ˜ถ,โ˜ต,โ˜ด,โ˜ณ,โ˜ฒ,โ˜ฑ,โ˜ฐ}" " |fmt -w60
echo -e {โ˜ท,โ˜ถ,โ˜ต,โ˜ด,โ˜ณ,โ˜ฒ,โ˜ฑ,โ˜ฐ}{โ˜ท,โ˜ถ,โ˜ต,โ˜ด,โ˜ณ,โ˜ฒ,โ˜ฑ,โ˜ฐ}" " |fmt  -w 70
โ˜ทโ˜ท  โ˜ทโ˜ถ  โ˜ทโ˜ต  โ˜ทโ˜ด  โ˜ทโ˜ณ  โ˜ทโ˜ฒ  โ˜ทโ˜ฑ  โ˜ทโ˜ฐ
โ˜ถโ˜ท  โ˜ถโ˜ถ  โ˜ถโ˜ต  โ˜ถโ˜ด  โ˜ถโ˜ณ  โ˜ถโ˜ฒ  โ˜ถโ˜ฑ  โ˜ถโ˜ฐ
โ˜ตโ˜ท  โ˜ตโ˜ถ  โ˜ตโ˜ต  โ˜ตโ˜ด  โ˜ตโ˜ณ  โ˜ตโ˜ฒ  โ˜ตโ˜ฑ  โ˜ตโ˜ฐ
โ˜ดโ˜ท  โ˜ดโ˜ถ  โ˜ดโ˜ต  โ˜ดโ˜ด  โ˜ดโ˜ณ  โ˜ดโ˜ฒ  โ˜ดโ˜ฑ  โ˜ดโ˜ฐ
โ˜ณโ˜ท  โ˜ณโ˜ถ  โ˜ณโ˜ต  โ˜ณโ˜ด  โ˜ณโ˜ณ  โ˜ณโ˜ฒ  โ˜ณโ˜ฑ  โ˜ณโ˜ฐ
โ˜ฒโ˜ท  โ˜ฒโ˜ถ  โ˜ฒโ˜ต  โ˜ฒโ˜ด  โ˜ฒโ˜ณ  โ˜ฒโ˜ฒ  โ˜ฒโ˜ฑ  โ˜ฒโ˜ฐ
โ˜ฑโ˜ท  โ˜ฑโ˜ถ  โ˜ฑโ˜ต  โ˜ฑโ˜ด  โ˜ฑโ˜ณ  โ˜ฑโ˜ฒ  โ˜ฑโ˜ฑ  โ˜ฑโ˜ฐ
โ˜ฐโ˜ท  โ˜ฐโ˜ถ  โ˜ฐโ˜ต  โ˜ฐโ˜ด  โ˜ฐโ˜ณ  โ˜ฐโ˜ฒ  โ˜ฐโ˜ฑ  โ˜ฐโ˜ฐ

Laying them out was not so easy. I was unable to lay them out one on top of the other. I don't know if this is because the font is supposed to flow in a certain direction or I just was doing something incorrect with the unicode. Fortunatly there are 64 different hexagram characters, and we can just use those!

echo -e {โ˜ท,โ˜ถ,โ˜ต,โ˜ด,โ˜ณ,โ˜ฒ,โ˜ฑ,โ˜ฐ}{โ˜ท,โ˜ถ,โ˜ต,โ˜ด,โ˜ณ,โ˜ฒ,โ˜ฑ,โ˜ฐ}

experimenting with the '\n' in different places, it gives a different result. the CR doesn't behave as it does with characters of ASCII.

try these too:

echo -e {โ˜ท,โ˜ถ,โ˜ต,โ˜ด,โ˜ณ,โ˜ฒ,โ˜ฑ,โ˜ฐ}"\n"{โ˜ท,โ˜ถ,โ˜ต,โ˜ด,โ˜ณ,โ˜ฒ,โ˜ฑ,โ˜ฐ}
echo -e {โ˜ท,โ˜ถ,โ˜ต,โ˜ด,โ˜ณ,โ˜ฒ,โ˜ฑ,โ˜ฐ}{โ˜ท,โ˜ถ,โ˜ต,โ˜ด,โ˜ณ,โ˜ฒ,โ˜ฑ,โ˜ฐ}"\n"

Or how about this one:

echo -e {ไท€..ไทฟ}"\n"

It doesn't work for me. I let backslash-u do it's thing Here is what does, a little more customized, but it gets the job done:

(for var in {4dc,4dd,4de,4df}{0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f}; do echo -e "\\u"$var" ";done;) |fmt -w 35

ไท€ ไท ไท‚ ไทƒ ไท„ ไท… ไท† ไท‡
ไทˆ ไท‰ ไทŠ ไท‹ ไทŒ ไท ไทŽ ไท
ไท ไท‘ ไท’ ไท“ ไท” ไท• ไท– ไท—
ไท˜ ไท™ ไทš ไท› ไทœ ไท ไทž ไทŸ
ไท  ไทก ไทข ไทฃ ไทค ไทฅ ไทฆ ไทง
ไทจ ไทฉ ไทช ไทซ ไทฌ ไทญ ไทฎ ไทฏ
ไทฐ ไทฑ ไทฒ ไทณ ไทด ไทต ไทถ ไทท
ไทธ ไทน ไทบ ไทป ไทผ ไทฝ ไทพ ไทฟ

escape codes for these are hard to master. If it doesn't work for you, it will. I almost think I might start doing screen captures of the bash command lines because they don't always show up the same when displayed on my pages due to missing escape sequences.

I formated the output 8x8, which is appropriate for the I Ching, by piping my echo commands from array brace expansion into the fmt -w 35




consider the following code snippit for brace expansion, a Bash command that with it's output as follows:


echo -e {He,She}" sings "{his,her}" song of "{him,her}"
  with "{his,her}" every breath
 as "{he,she}" sings of "{him,her}" too
 all of this in silence

"
He sings his song of her with his every breath as she sings of him too ๐ŸŽถ all of this in silence ๐ŸŽถ She sings her song of him with her every breath as he sings of her too all of this in silence ๐ŸŽถ She sings ๐ŸŽถ his song of him with her every breath as she sings of him too all of this in silence She ๐ŸŽตsings his song of her with her every breath as he sings๐ŸŽต of her too all of this in silence ๐ŸŽต She sings her song of her ๐ŸŽต with her every ๐ŸŽต breath as she sings ๐ŸŽต of him too all of this ๐ŸŽต in silence ๐ŸŽต She sings her song of her with her every breath as she sings of her too ๐ŸŽถ all ๐ŸŽต of this in silence

๐ŸŽต๐ŸŽถ๐ŸŽต๐ŸŽถ๐ŸŽต๐ŸŽถ๐ŸŽต๐ŸŽถ๐ŸŽต๐ŸŽถ๐ŸŽต

 echo -e {๐ŸŽต,๐ŸŽต๐ŸŽต,๐ŸŽต๐ŸŽถ๐ŸŽถ}" should ๐ŸŽต for "{๐ŸŽต๐ŸŽถ๐ŸŽต,๐ŸŽต,๐ŸŽต๐ŸŽถ๐ŸŽต๐ŸŽถ๐ŸŽต,๐ŸŽต,๐ŸŽต,๐ŸŽต,๐ŸŽต}{๐ŸŽต๐ŸŽถ๐ŸŽต,๐ŸŽต,๐ŸŽต๐ŸŽถ๐ŸŽต๐ŸŽถ๐ŸŽต,๐ŸŽต,๐ŸŽต,๐ŸŽต,๐ŸŽต}" "
๐ŸŽต๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽถ๐ŸŽต๐ŸŽถ๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต
 ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽถ๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽถ๐ŸŽต๐ŸŽถ๐ŸŽต 
๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽถ๐ŸŽต
 ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽถ๐ŸŽต๐ŸŽถ๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต 
๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽถ๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽถ๐ŸŽต๐ŸŽถ๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต
๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽถ๐ŸŽต๐ŸŽต๐ŸŽถ๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต
๐ŸŽถ๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽถ๐ŸŽต๐ŸŽต๐ŸŽถ๐ŸŽต๐ŸŽถ๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽถ๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽถ๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต
๐ŸŽถ๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽถ๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽถ๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽถ๐ŸŽต
๐ŸŽถ๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽถ๐ŸŽต๐ŸŽถ๐ŸŽต๐ŸŽต๐ŸŽถ
๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽถ๐ŸŽต๐ŸŽถ๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽถ๐ŸŽต๐ŸŽถ๐ŸŽต๐ŸŽต๐ŸŽถ๐ŸŽต๐ŸŽถ๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽถ๐ŸŽต๐ŸŽถ๐ŸŽต๐ŸŽต 
๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽถ๐ŸŽต๐ŸŽถ๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽถ๐ŸŽต๐ŸŽถ๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽถ๐ŸŽต๐ŸŽถ๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽถ๐ŸŽต
 ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽถ๐ŸŽต๐ŸŽถ๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต
๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต
๐ŸŽต๐ŸŽถ๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽถ๐ŸŽต๐ŸŽถ๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต
๐ŸŽต๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽถ๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽถ๐ŸŽต๐ŸŽถ๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต
๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽถ๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต
๐ŸŽต๐ŸŽถ๐ŸŽต๐ŸŽถ๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽถ๐ŸŽต๐ŸŽต๐ŸŽถ๐ŸŽต 
๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽถ๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽถ๐ŸŽต๐ŸŽต๐ŸŽถ๐ŸŽต๐ŸŽถ๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽถ๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽถ๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต
๐ŸŽต๐ŸŽถ๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽถ๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽถ๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽถ๐ŸŽต๐ŸŽถ๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต
๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽถ๐ŸŽต๐ŸŽถ๐ŸŽต๐ŸŽต๐ŸŽถ๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽถ๐ŸŽต๐ŸŽถ๐ŸŽต
๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽถ๐ŸŽต๐ŸŽถ๐ŸŽต๐ŸŽต๐ŸŽถ๐ŸŽต๐ŸŽถ๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽถ๐ŸŽต๐ŸŽถ๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽถ๐ŸŽต๐ŸŽถ๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽถ
๐ŸŽต๐ŸŽถ๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽถ๐ŸŽต๐ŸŽถ๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽถ๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽถ๐ŸŽต๐ŸŽถ๐ŸŽต ๐ŸŽต๐ŸŽต
๐ŸŽต๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽถ๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽถ
๐ŸŽต๐ŸŽถ๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽถ๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต
 ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽถ๐ŸŽต๐ŸŽถ๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽถ๐ŸŽต
 ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽถ๐ŸŽต๐ŸŽถ๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต 
๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽถ๐ŸŽต๐ŸŽต๐ŸŽถ๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽถ๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽถ๐ŸŽต๐ŸŽต๐ŸŽถ๐ŸŽต๐ŸŽถ๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽถ๐ŸŽต๐ŸŽต 
๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽถ๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽถ๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽถ๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽถ๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต 
๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽถ๐ŸŽต๐ŸŽถ๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต
 ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽถ๐ŸŽต๐ŸŽถ๐ŸŽต๐ŸŽต๐ŸŽถ๐ŸŽต
 ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽถ๐ŸŽต๐ŸŽถ๐ŸŽต๐ŸŽต
 ๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽต๐ŸŽถ๐ŸŽต

I won't run that one for you. It is a bunch of lines, you can run it on your own command line if you want to. Question: how would you modify the above to output these as questions or statements of direction? So the construct of the output needs to get modified based upon the rules of the language used, in this case English. OK, so, the example above is suggesting that everyone should pray for everyone. So would there be a way to 'filter', in a sense, the output, so that the redundancy is removed? The answer: it is all inanity anyway in one sense.

So, there it is, folks, fun with brace expansion.

Fun with Brace Expansion

Fedora ๐ŸŽญ 20 ๐ŸŽก

yum? Something is not quite right!

yum was not so yum this week. ๐ŸŽฌ I think it was an SeLinux thing.

I've been trying to do some upgrades and the system keeps getting things wrong and giving warning messages. I've gone on about how awesome yum made life ten years ago. I guess it is making things less awesome for some who are trying to dance on the cutting edge of it. They ahve a new feature called 'groups', which I ignored when it came out. That benefits me because it was a major bug in the sense that it overloaded people's machines with very many

bug report.

If I don't have the dependencies, and that is rare given how good people are at making proper rpm files and giving a good list of dependancies, which are very easy to find for compiled code, not so much with non compiled code.

if one runs the ldd command in a shell that will list the library files needed to run a compiled object. One can usually figure out dependencies from that.

There was a bug, they say it is fixed, with the new groups feature recently where the other files in various groups were all uploaded too. So someone has their harddrive filled up. I know why this is a problem, and I wrote about it before which is why I am writing about it now. There are some kinds of packages, such as fonts and language packs that usually contain no executilbes and no interpreted code, but just large groups of static files that could just as easily be aliased off to the Internet because most people are not ever going to use most of the ones that get loaded. So all of that slows down the upgrade cycle. Drastically.

I think that yum should take a better look, or the dfs fork of it, at the HTTP concepts of restful data. Fonts, language packs, game images, usually don't change that much between distros. They ought to come up with not just 'groups' but also 'restful' and 'notrestful' like what httpd does. For example for some reason I have all the languages loaded for KDE. Why? I don't really care. It isn't harming anything. Only when it wants to be upgraded. So, how about a way to mark some kinds of usible data for upgrade on use? If the font or language pack is being upgraded and noone is using it, how could that data get coupled?

Obviously it is a complex task for desktop systems. If it were a custom machine for private or institutional use, government, industry or research or commerical, then engineers would quickly draw up all kinds of automatic update for best efficiency. But it's a free operating system and all of it's dew-dads. The system doesn't seem to have a resident daemon that persists.

I say this last line and think at the same time that there is such a part now in the architecture. Yum now has a proper daemon process that runs called yum-updatesd. Couldn't a process that uses such high-bandwidth restful data like fonts be there at the point of use to say 'hey, we need this now, we haven't used it yet, and we want to go and get it.' Are these fonts really dependancies or just nice to have around? If we use the older version of it through an upgrade cycle is that really going to brake things? And during an upgrade cycle, when we kick to a new revision of the Operating system, doesn't the tool (anaconda?) let people choose the language they have? Why not have the fedup (orwhatever they call it now) upgrade process sequence have the ability to tell the operating system that 'these things are new, too, but the old restful things will work in the meantime', and then do lazy evaluation on all the fonts and goodies that are necessary. So if dude in foriegn place needs his Farsi Character set to make the system work right away (because a computer is a valuble resource in a lot of the world, and a necessary component of various infrastructure and not good to keep on line when it's a working system). He/she gets to select a set of langauges, and all of their necessary fonts. So if he also happens to have other things loaded too, that he might not even know that he as and that make it easier for the system to be properly administered and to render all content properly in all of it's forms, then his up grade doesn't have to take a week. And if the content is needed, all of the other fonts that get rarely used, or language packs for other workers who speak differently or arty people who just like having every font that they can find. None of that stuff needs to slow down the OS upgrade as long as there is no use for those things during the upgrade itself.

The system would need to tell yum-updatesd that these things are there still needing upgrade and then that process would do it and the system could much quicker get back on line.

It's too bad that the upgrade failed so bad for some people with the concept of groups. It is a concept that needs reworking. Things that are addons, like tracks, that are only useful for one application, ought never hold up an upgrade cycle. If things don't get upgraded that need to before they will work, and they are not mission critical and system necessities, then, they ought to be just put into a context and acessed as being 'of the past'. Like if I am needing to upgrade the OS I don't care if get the lastest version of rosegarden to work as soon as the operating system has ticked to the next revolution (you say you want one? one every 6 months? try Fedora core for ten years and see why the term 'fedup' as an upgrade process name, got over and did the users of said systems run away and hide in the bushes? No. We just endure with the experiment because we can make it work and we do. End of self plug.

Dependencies are always tricky. Soemtimes the people who wrap up the various packages don't make proper dependency lists. If that is the case and a subsystem doesn't work it is often just because you don't have a package that you need. So, for example, you might need some XML library package that has a proper DOM. Or some Phython Regular expression package.

The modern way is to have all of this spelled out for the whole world to know, out in the open, listed within the RPM for the package. That way the people who install the package will be met with a message that says, basically, "You need to have this stuff too". Without these other software entities, pieces of code, libraries, modules, and well thought-out frameworks, interpretors, compilers, linkers, and all of the other goodies, stuff don't work.

if you use yum the very simple command:

yum check

will go through some rigorous and exhaustive proceedures of checking each package and making sure that everything that it says that it is supposed to have, as listed in its rpm, and as shown in the rpm database, is actually there as it is supposed to be. Or, does the package conflict with anyother package? Or, are there files in this package that show up in other packages that, if I installed them, would clobber (over-write) other files that are actually different files but named the same?

๐ŸŽ  ๐ŸŽก ๐ŸŽข ๐ŸŽฃ ๐ŸŽค ๐ŸŽฅ
๐ŸŽฆ ๐ŸŽง ๐ŸŽจ ๐ŸŽฉ ๐ŸŽช ๐ŸŽซ ๐ŸŽฌ ๐ŸŽญ ๐ŸŽฎ ๐ŸŽฏ ๐ŸŽฐ ๐ŸŽฑ ๐ŸŽฒ ๐ŸŽณ
๐ŸŽด ๐ŸŽต ๐ŸŽถ ๐ŸŽท ๐ŸŽธ ๐ŸŽน ๐ŸŽบ ๐ŸŽป ๐ŸŽผ ๐ŸŽฝ ๐ŸŽพ

When it all works it is like the sunrise. ๐ŸŒ„ or is it a sunset? If you knew which mountains they were, what direction the image faces, you would know. If the mountains are to the west it is probably a sunset. If the mountains are in the Arctic then it could be any time at all. Sun at the horizon? ๐ŸŒ„ ambiguous.

at ๐ŸŽธ Urge Central you will find an image collage.

Dec 3, 2013

Bootstrap js

This very easy to use framework makes layout a breeze! here is a link to a sample page utilzing the bootstrap framework. Well, it isn't much, and the links don't do anything. It is just to show how easy bootstrap is to use.

Here is another bootstrap page, with some animated graphics.

Supertuxkart 0.8.1!

Supertuxkart 0.8.1! It's not much different from the 0.8. Some of the items are different, like the turbo powerups are blue now. That's cool. It was very easy to build it just by following their directions. I was playing the game almost as soon as it was done compiling. One hitch: when you run it with out installing it you need to be in the correct directory in order for it to work. Basically at the root of the build.

I haven't learned how to build a track for the game, but I do sometimes change the graphics. I have all of the new graphics here, so I used some of it for one of the levels. It's not hard to do it. I copied it and renamed it, and put references to it where it needed to be so now I have two 'museum' levels, one with my special graphics.

I did discover some cool stuff to do with Supertuxkart 0.8.1 (which has just been released, by the way). There is an 'artist's mode' that I did not know existed. Also, by using this mode, I can have the kart consume as many power ups as I would like. I't is sort of an ultimate cheat level. the game is rich in the way that it works. Some of the levels are far more detailed than others. All of them are far too short.

I love the idea of taking elevation data and crafting tracks like that. It seems as though that shouldn't be too hard to generate. I actually thought of that idea over 15 years ago by telling my friends that I knew that, someday, we would play with tracks that were just the same as what is in the real world. I am sure I am not the first one to think of this idea.

Some of the levels being more detailed, I decided to go and explore in places where the game, when you don't play in 'artist's mode, won't let you go otherwise. I also shut off an 'invisible wall' on one track by just removing the file in question that was the invisible wall (I don't like invisible walls). The wall was no longer there. And then, well, then it was obvious to me why the wall had been there in the first place. The reason: because without it if one gets too close to the edge one falls right off and over it. The old version: you smack into the invisible wall. You don't careen over.

I played the new soccer level (by myself) which was cute. I went to artist level on the city at night level. There is a cool thing with all of the buildings being really really tall. You can fly off to the tops of them and land on them. It makes me think we would make a race track that only goes along the tops of buildings. There would be no railings. Falling is always a posibility.

I modded the skyline level, calling that Railtrail Skyline. It would be cool to have a level that would be a skyline/city at night level where one would race along the streets, but then also race all the way along the sky, and then get back by hopping down the buildings one at a time. Is there any way to 'merge levels' so to speak? If you put the skyline level way up high above the city at night level you could just copy all the files together, I am guess, if the invisible wall was so easy to remove. It must be just as easy to add new things just by adding them. Of course, if the models intersect, it might be a little bit confusing to play the game, if not impossible.

And as far as artist mode goes, why switch back? The new Supertux level is significantly harder (thank the upgrade for that, I suppose) that I can not, and have not, won a single race in the Supertux mode. If you crash and die even once it leaves you way far behind. Commonly the other karts are dogging behind you at the end of 8 or so laps even in on a large track, which doesn't often happen in the 'expert' level.

I guess they changed the axis orientation of the tracks so that the coordinates of the old versions of tracks are 90 degrees askew of the old game (it might be some other value, say 180). And so on some of hte levels the karts are in places where the game checks for it, and it finds that the kart is in a bad place, and it doesn't start the game. It actually kicks you out of the game all the way! Kind of annoying. Anywho, the 'artist' level takes away that annoyance, and you can still play the game without a hitch (and fly around, and barrage the opponents with an endless and carpel tunnel inducing endless stream. It's really kind of cool They all bounce and arch off and do their thing, and it makes kind of a pretty sound. Or how about endless powerups? Don't do it! You'll hurt your thumb. I suppose map it to a keyboard key and just leave a piece of lead on it and the barrage will just keep going.

So in Artist mode I play the level with the problem with the karts being in bad starting locations. Some of them end up underneath the track. So throughout the game play they constantly die and are regenerated over and over. They progress backwards as their kart is placed further back everytime they die. Little flying hawk rises from the road and then the kart dies again. If it ever found a place that was not below the track it might have a chance and not die again

Also interesting is that when the kart starts too high it falls from the sky at the start.

There is a lot more that can be done with this software than just a racing game. The formats for the save models do not seem to have a readily available way to translate them into something that blender can use. There is a blitz3D company that will sell you an 80 dollar tool. That isn't really a lot of money to be able to have a starting point with which to create a new track. But, I suppose, open source and all that, the stuff is probably not provided by the developers of the game because they would really like the formats that they use to be unencumbered. They can provide the xport tool and not the import one. That will spawn people to use the software available. People to whom 70 dollars is a lot of money.

My latest Resume. some demos.


my antique mirror

I'll get to a place where that is a main page to access me, but I'm still not there. Now I use billperilli.com as a place for the demos. It's the supped up version, with all of the spinning, too annoying for most people I suppose.

fork and merge

consider the following fantasy fork-n-merge

SuperTuxWebKart

it's not a video game it's a cube collective. I can see it now: the spawn of ten thousand websites idea of mine can go like this: every single little square of a graphic that shows up as the face of a building on any of the supertuxkart levels could each be a feed from a website, and a full browser. How? Well, it would be a browswer in that it would show a current snap of the forward face of that page, probably don't want a full simubot dork-enabled dork-snot snark-inserter there too (though I am sure that some sadist is thinking about it right now and cutting code to do it even as I am here imagining the horrer of such a person who would do such a thing.

There is a city at night level that will give you a good idea of what I mean. You should put yourself into artists-view (I won't make it easy for you, if you don't know how to do it and you can't figure it out by websearching it yourself, you prob aren't reallying going to fork and merge these two items.


 Software Metal
 If it can't be broke
 you won't be either


Paging Control

previousprevious click through previousprevious click through previousprevious click through previousprevious click through previousprevious click through previousprevious click through previousprevious click through previousprevious click through nextnext click through nextnext click through nextnext click through nextnext click through nextnext click through nextnext click through nextnext click through nextnewest column ConnectAmillia Publishing Company Advertisement  ยฉ