Showing posts with label apps. Show all posts
Showing posts with label apps. Show all posts

Inside and outside the Kart in SVG

The source for Super Tux Kart is well laid out and has good style. It includes instructional information about methods, and has an overall structure that is professional. I look forward to doing some personal mods that travel through molecules or in n-space. Nice work.

The image is of a concept that is of recent concern. It is design by recursion. Stepping back from any project and asking how can the entire process be modified to control a program that creates the end result. An example that I implemented recently is a script to use ImageMagick to produce textures as part of `make`. Instead of editing images and saving them as textures, the script is modified to create the graphics on the destination platform. What this gains is the bandwidth compression from a 4 megabyte image to a 10 line script. It is possible to pass the script as the knowledge of how to make the image.

The drawing above is my first attempt to use the "NEW" and improved Inkscape. (It didn't turn out too well as I was stunned by the number of new tools and need to have a bit of practice with the filters as many are completely new concepts.) It is way more elegant and so many new features. It is typical of the new Linux packages. If you tried Linux a year ago and again today, it would stun you to see how far it has progressed. This is the true power of open source becoming evident.It is not so much the improvement that surprises me, it is the rate of improvement. The interaction is becoming more coherent and the applications are improving exponentially in stages. I suspect that in as little as a few months it will again double in utility. The integration of XML and SVG along with standardized interfaces makes it possible to reuse in ways that I never suspected would be possible. The extensions of export from Inkscape is something I have to learn and also connect to my `blender` and `gimp` scheme and Python scripts. Lots of wonderful new things are happening.

sudo apt-get source supertuxkart

The case against education

Education may not be for everybody. In my case it was my goal to know how the universe worked and since no one knew that, it was TBD and how could somebody teach me if it is unknown? There is something lost when you accept the path most traveled and I know for a fact that some self trained hackers are better because they were forced to create their own solutions and if you just take a can of "Code Whip"© and spray it as a solution to a tree log2(problem), you never build the mechanism to say: "How do I make an algorithm?".

So, it isn't always the right answer and it isn't any more guaranteed than the path well traveled and I like the fact that I can have what I created for myself and now that I am skilled, fill in blanks and extend other's methods quickly, because I first learned to take what is and find what comes next.

BTW the new SpeedCrunch with extra crunch is standard with Ubuntu 9.10

Krita and Gimp comparison

You may assume the swan is white, but you would be wrong. Okay gimp wins easily, but I thought of something, I can make a C program that uses dot, convert, dvipng and other utilities to generate images that get loaded as a UI using openGL to write a program that is a UI to write itself that generates its UI by using convert, etc ... Complete loop recursion.

BTW, krita-KDE4 was a bit crashy for me and so it must be a WIP and I wonder if they are going to abandon and apply effort to gimp as it really has little difference ( except fewer features ), is that itself a feature?

I think I hit on something with recursion that solves a lot of paradoxes while I was listening to the programming courses at UNSW Sydney. Richard Buckland is very funny and could easily do some Monty Python.

ADDED: Krita isn't going to be abandoned and here is a link to Krita.org if you want to help.

New improved crunchy math with SpeedCrunch

I happened on a question about logs in different bases and in my wandering I see there is a new version of speed crunch that may have a math book popup which I wanted to try.. So I downloaded it unpacked it, switched to the directory,


`vim README` `cmake src` `make` `./speedcrunch`

And it has a neat shell script for cmake with c o l o r s. And the program has a lot of neat new features. Sweet! So why is log(x)/log(2) = log2(x)? Is it because 10(log10(2))=2? That is a rhetorical question.

You can get an early look at this from HERE at Google code before it comes down the chain of command from debian to Ubuntu, (If that is your distribution). Thank you Google, you seem to keep your promise of doing no evil, by doing a lot of good instead. It is in translated into 21 languages too.

The source package contains a lot of documentation on the new engine and a manual in open document format which is current. Great work, I love that program and now there is more to love. It has SVG support also and they really did some art with this. (Avagadro's Number)6.0221415e23 AND 927.400949e-26 The Bohr-Procopiu magneton, ooh donuts!

You can learn so many things every day, by accident I right clicked after selecting that and Google has an extra option, or is it Firefox? Oh my, it is Firefox and a word that I think should be in dictionary can be added! That answers my question about Wikipedia , so I will try it. Holy s2t, it is Firefox that wonders about Wikipedia and now it knows, what a lark. I think I will add moteyalpha :) These people deserve a lot of praise and support as they really hit the mark on new features and these gains can be enjoyed by everybody. It is a shame that 95% of the world will never know what they are missing by not using Linux. At least a lot of people have Firefox and that is a good thing. I misspoke about this as there is a Windows and Mac version of SpeedCrunch, so everybody can use it.

Antonym Identical. State? (AI)? no, (IA).

I was looking through Wiktionary and they have anagrams of words and there are anagrams of AI which is would assume would be quite limited and yet they have many. One is IA, where I live and I started thinking about states and AI. The result is this. Yes that is correct, the logic that leads there is convolved and left to the imagination. Some would say the antonym of AI was IA and it is also the mirror image and should be the only anagram IMHO. The link above is from Wikipedia and ranks right up there with the best of Monty Python, it is worth a listen to the ogg audio file. Misc Tech Symbols.


sudo apt-get install kivio

I am fairly certain that I can establish a tree that is:

[desired state and structure] [connector or converter to states(+method)] [other states]

What it means is that I identify the desired state based on an input to the program and it identifies current state and then constructs a state sequence that fulfills the goal. It also produces a `kivio` diagram of what it did and why it decided that a specific path was optimal between State(m) and State(n). I do believe this is the best distillation of the nature of directed thought which I have developed yet. BTW `kivio` is "coo all". I think this is it, but I need to implement and test today, but I think I can pipe this to the protein interface and make a projective parallel solution single molecule. It is very much like growing a crystal from the starting point ( current state ) to the ending point ( desired state ), through all the possible dimensions. That gave me a new idea.Wow, I think I get it! A single simultaneous solution matrix in nD space.

Something you won't see on a blog by somebody at DoD. "I was typing commands and I put in 'Kill everybody.' and I meant to type 'Kill everybody else.', damn, that was a stupid mistake." ... "Who forgot to add a reset button to this drone interface?" <NO CARRIER> BOT: "Searching for command and control carrier."

ADDED: This( the state logic of backward and forward induction) is a ponderous solution and it will take me days to analyze the output and take care of glitches. From past experience, I guess I will not blog on the subject until it becomes coherent. I discovered something already in math and I have to make a name for it and I will call it Interpolomultication. I have no idea how to explain that one in 4 space. I have the helm , Alice Infinity.

Linux does a wonderful job of maintaining a common method for common action across applications and that is one of the greatest flaws of Windows. They may create standards, but applications that run as tasks on that OS have every kind of key shortcut and button you can imagine and they change them all the time. You can't get anything done or even remember when you have to learn a new set of shortcuts every time a " new and improved version" is created. It destroys productivity when someone trains and learns a method and they just change the method for the hell of it. Linux wins again.

Automating Images (AI) redux

It is much easier to have the program, write the program, do the math, build the script, change its status, run the script, evaluate the result and continue until it has a reasonable facsimile of something I ask it to create, either with words, by visual example, or with a model vector, vertex, texture, script.


int BuildShellScript(sourceStructure *SourceStructure){ int i=9; /* FILE *shellfp; char shellscriptName[64]; int shellStatus; convert -depth 8 -size 256x256 xc:white -fill white -stroke red \ -bordercolor black -border 14x14 \ -draw "\ fill green circle 80,70 80,90 \ fill green circle 188,70 188,90 \ fill green circle 80,180 80,199 \ fill green circle 188,180 188,199 \ "\ large2-D4.png convert -fuzz 75% -transparent "#ffffff" \ -depth 8 -resize 256x256 large2-D4.png large2-D4.png */ strcpy(SourceStructure->shellscriptName,"makedice.sh\0"); SourceStructure->shellfp=fopen(SourceStructure->shellscriptName,"wb"); sprintf(SourceStructure->shellscriptLine, "convert -depth 8 -size 256x256 xc:white -fill white -stroke green \\\n"); fwrite(&SourceStructure->shellscriptLine,1,strlen(SourceStructure->shellscriptLine),SourceStructure->shellfp); sprintf(SourceStructure->shellscriptLine, " -draw \"\\\n"); fwrite(&SourceStructure->shellscriptLine,1,strlen(SourceStructure->shellscriptLine),SourceStructure->shellfp); sprintf(SourceStructure->shellscriptLine, " fill white circle 80,70 80,90\\\n"); fwrite(&SourceStructure->shellscriptLine,1,strlen(SourceStructure->shellscriptLine),SourceStructure->shellfp); sprintf(SourceStructure->shellscriptLine, " fill green circle 188,70 188,90 \\\n"); fwrite(&SourceStructure->shellscriptLine,1,strlen(SourceStructure->shellscriptLine),SourceStructure->shellfp); sprintf(SourceStructure->shellscriptLine, " fill blue circle 80,180 80,199 \\\n"); fwrite(&SourceStructure->shellscriptLine,1,strlen(SourceStructure->shellscriptLine),SourceStructure->shellfp); sprintf(SourceStructure->shellscriptLine, " fill red circle 188,180 188,199 \\\n"); fwrite(&SourceStructure->shellscriptLine,1,strlen(SourceStructure->shellscriptLine),SourceStructure->shellfp); sprintf(SourceStructure->shellscriptLine, " \" large2-D%d.png\n",i); fwrite(&SourceStructure->shellscriptLine,1,strlen(SourceStructure->shellscriptLine),SourceStructure->shellfp); SourceStructure->shellStatus=fclose(SourceStructure->shellfp); sprintf(SourceStructure->shellscriptLine,"chmod +x %s\n",SourceStructure->shellscriptName); system(SourceStructure->shellscriptLine); sprintf(SourceStructure->shellscriptLine,"./%s\n",SourceStructure->shellscriptName); system(SourceStructure->shellscriptLine); return SourceStructure->shellStatus; }

Automating Images (AI)

By automating the generation of images for the puzzle game it means I don't have to include image files in the distribution of source. By using `convert` the images are easily changed to match the preferences of the user. Here is a link to ImageMagick methods to create vector forms in an image.

cd res/ s=1 for i in 1 2 3 4 5 6 7 8 9 do convert -size 256x256 xc:white -font Candice.ttf \ -depth 8 \ -pointsize 220 -fill red \ -bordercolor black -border 10x10 \ -draw "text 60,188 '$i'" -fill black \ -draw "text 65,185 '$i'" large2-A$s.png; s=`expr $s + 1` done for i in large2-A*.png do x=`echo "$i"|sed s/[.]png/[.]png/` convert -fuzz 75% -transparent "#ffffff" \ -depth 8 -resize 256x256 "$i" "$x" done s=1 for i in A B C D E F G H I do convert -size 256x256 xc:white \ -depth 8 \ -pointsize 220 -fill red \ -bordercolor black -border 10x10 \ -draw "text 70,208 '$i'" -fill black \ -draw "text 75,213 '$i'" large2-B$s.png; s=`expr $s + 1` done for i in large2-B*.png do x=`echo "$i"|sed s/[.]/[.]/` convert -fuzz 75% -transparent "#ffffff" \ -depth 8 -resize 256x256 "$i" "$x" done s=1 for i in I II III IV V VI VII VIII IX do convert -size 256x256 xc:white \ -depth 8 \ -pointsize 150 -fill red \ -bordercolor black -border 10x10 \ -draw "text 60,188 '$i'" -fill black \ -draw "text 70,185 '$i'" large2-C$s.png; s=`expr $s + 1` done for i in large2-C*.png do x=`echo "$i"|sed s/[.]/[.]/` convert -fuzz 75% -transparent "#ffffff" \ -depth 8 -resize 256x256 "$i" "$x" done convert -depth 8 -size 256x256 xc:white -fill white -stroke red \ -bordercolor black -border 14x14 \ -draw "\ fill green circle 80,70 80,90 \ fill green circle 188,70 188,90 \ fill green circle 80,180 80,199 \ fill green circle 188,180 188,199 \ "\ large2-D4.png convert -fuzz 75% -transparent "#ffffff" \ -depth 8 -resize 256x256 large2-D4.png large2-D4.png cd ..

I know the vector image is a bit askew, but I just did this for the heck of it as an example. I am now going to make the program do the necessary computation when it runs .

Valgrind

It is almost too easy once you get over the shock of the options. I thought that way about `vi` when I first looked at the man page. And REGEX. But now it it is so usable that it almost does the work itself, well actually it really does do the heavy lifting with '--gen-suppressions="all" 'A great tool and I am going to be in that source looking, you bet. The funny thing is that my automated code generator will like it, understand it, and use it, more than me. It knows how to find a block, then cut and paste to the suppression file.

.
valgrind --tool=memcheck --leak-check=yes --show-reachable=yes --num-callers=4 --suppressions="file.supp" --gen-suppressions="all" --log-file="valerr.txt" ./HelloMe

An Instant (AI)

Today I am testing the artificial imagination. I am creating objects that are identical in derivation and asking the program to identify them with the methods at its disposal. What I have done is use the Artificial Imagination (AI) code to construct models of common objects and then save the frame buffer as an image file that the program has an association with. For instance, I will give the program a set of models that are off scale by a certain amount and allow the program to perform translates, rotates, etc. to find a match in its list of know associated elements and use `espeak` with sprintf to construct a sentence of the form, "I see [CATEGORY MODIFIER][ASSOCIATED NAME].". This should entertain me while I warm up from shoveling snow. The process is checked both ways, image to model identification, and model to image. I add new givens as time goes by and will soon let it use the elvi to find some pictures and .blend files to ask me about.

This AI is getting smarter by leaps and bounds. I am sure I have devised the proper logic in general now. This is so much easier to let my AI do the programming and I just figure out what I want. It can and does program while I sleep. I don't have a perfect memory and I have to look up things I need, when it has been a while since I used a specific method, but AI never slows down because it forgets. It is like having a very smart friend that doesn't drink my Mountain Dew and leave the empty bottles sitting around.

I have decided to include profiling into the generated code as it needs to know its own strengths and weaknesses. If this is included as standard in the code it can give me more information to chose an option from the generated code. If it serves the purpose and is faster then it would score higher automatically when selecting its own code. I have also decided to implement pipe streams between the programs created so that it can take certified programs and connect them in sequences as shell scripts.

`kcachegrind`

I had not used this before and it is sweet. This is really a great tool and features, unreal! Here is a link to read about `kcachegrind` .Holy s2t! this is a sweet tool.

Gnubik cubik

You should know the drill by now.

sudo apt-get source gnubik
chown me:me thedir -R
cd thedir
./configure
make

So I wanted to test a theory of chirality and sets and matrices that I had and the best way to do that is with the cube as it has been in my mind for some time and I believe that it has a solution set that is less complex than most people assume. The source is GL with GTK and C and some scripts. The interface is neat, but a little difficult to use. Of course you can just run the scripts, but I wouldn't learn anything that way. I am confused a bit to begin with because of the .scm scripts and how this gets integrated with the program. That will be something interesting and useful to know. They are scheme and I found a reference that looks helpful and they are used with gimp also so I will learn how they get applied in the program and how they are executed and integrated with the application, along with the way the language works. I hope it doesn't make it more difficult to remember all the other scripting languages, but it is there and it is another language I need to be able to read to quickly understand and modify programs for my uses.

(define (gnubik-randomize num) (let ((size (caddar (gnubik-cube-state)))) (gnubik-rotate-animated (let loop ((num num) (ret '())) (if (eq? num 0) ret (loop (- num 1) (cons (list (random 3) (- (* 2 (random size)) (- size 1)) (random 2)) ret)))))))

I am putting the GPL in here, because the code is this and I was showing the script, but it is GPL code, so be advised.

;; Copyright (c) 2004 Dale Mellor ;; ;; This program is free software; you can redistribute it and/or modify ;; it under the terms of the GNU General Public License as published by ;; the Free Software Foundation; either version 2 of the License, or ;; (at your option) any later version. ;; ;; This program is distributed in the hope that it will be useful, ;; but WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ;; GNU General Public License for more details. ;; ;; You should have received a copy of the GNU General Public License ;; along with this program; if not, write to the Free Software ;; Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA

One of the things I hope to learn by analyzing this is the nature of constructed complexity as it relates to the state of the cube when several moves have been applied and how that relates to its inherent randomness and how deeply confounded the associations have become. When playing with the einstein game I wanted to learn something about certainty and I did , though I need to consider that more, to be certain :)

Strange cousin of invention

I use the kate editor quite a bit and one of the odd things that happen is that I move some source that I was testing and it remains in a session. I wanted to have a little icon that indicated that the files were empty and so I got the kde source and found this in the source:

const QPixmap *KateFileListItem::pixmap ( int column ) const { if ( column == 0) { static QPixmap noPm = SmallIcon ("null"); static QPixmap modPm = SmallIcon("modified"); static QPixmap discPm = SmallIcon("modonhd"); static QPixmap modmodPm = SmallIcon("modmod"); const KateDocumentInfo *info = KateDocManager::self()->documentInfo(doc);

So I am going to add a 16x16 icon for an empty file and a test for it when the file list is refreshed.

NMAP 5.0 is out

NMAP 5.0 is out and zenmap is an interesting tool which gives a better view of how networks elements are interconnected. If you don't have it, get it at insecure.org. Their work is much appreciated and as they say "It is a powerful tool, use it responsibly." http://insecure.org

PmWiki is also a good tool,

Convex Optimization ( the book and course 364 , with professor Steven Boyd ) is great ( Stanford open course ware ). The book is free from Cambridge University Press and this is a wonderful thing for them to do. They also provide a utility in Python which is very useful.

As far as shell script, here is a new way I learned to use them. Notice that the first quotes are the special kind which imply execution of the enclosed element. The top leans left and at least on my QWERTY it is on the same key as ~ . Do not confuse this with weak quotes or strong quotes as it will execute.

cat `find ./ -iname '*py' `| grep what-to-find

From Wikipedia Backquote information

Many of the Unix shells and the programming languages Perl and PHP use pairs of this character—known as backquote or backtick—to indicate substitution of the standard output from one command into a line of text defining another command. For example, echo `date` might execute echo Sat Mar 1 09:43:00 GMT 2008 and print Sat Mar 1 09:43:00 GMT 2008.

Alien Arena is a very good game for Linux

I tried it out a few months ago and decided I needed to get into the source, and it is interesting as cheating on the single player side is as easy as a few keystrokes, however on a server with other players, not so, and is discouraged. That makes complete sense to me. It certainly can kill a few minutes if you are taking a break. I think if I played the server game I would be annihilated as I get distracted by thoughts about other things when something in the game reminds me of an equation or method and I start thinking about it and the next thing I recall is I am dead in the game. I'm afraid I can't accept that a game is more important than my ongoing search for answers.

How quick can I cheat

So it was irritating me that I couldn't see the suit of cards when I am playing solitaire and so I wanted to spread them a little. Since I have the source for kpat, I decided to fix it. It has been a while since I was in that source and it is C++ and I have been doing a lot of "C" lately. It took about 2 minutes to get back into the hang of this package and how the things interact. I changed a couple things and then found the right one, which is 'pile.c' line 52 which defines the "D spread". All in all, with testing and considering I was doing this for something to do while I had breakfast, it took 15 minutes. A good time and perhaps a record cheat speed for me.

Backup now Backup often

This article ( at linux haxor net ) has a neat cartoon ( always a plus ) and seems to be a good reference to using a command line to implement a backup. I have been considering how to make a backup for a customer and this really is timely. If I encounter ( or my customer encounters ) any problem I will report back here and update this. I find it hard to believe that I could find a problem with just tarring with the excludes that they specify. I will probably look into tarring it to one of my new external drives that I got specifically for backups. I think that it should easily handle this as the partition I am testing has 20G and the external has 300G. I think I will write a few scripts of my own to go with this that calculate the size of tar before starting, find out how many files are involved, and see if I can't do a little grep and sed magic to get rid of some junk in the process of the restore, or tar it and untar it on the external and clean it there, then reinstall clean on a new partition.

I am dreaming now I know, but maybe I can do some virus protection by making a mirror of my /sbin, /usr/bin, /boot/ config, cron, etc to compare with on CD boot to identify if anything has changed that I should be aware of. It seems a good time to make a safe stable system image and I can do it from a single click and make a neat XPM for it with SVG. I am dreaming of dancing sugar plum scripts now. Or maybe I will just tar it on the external and see if I run into somebody else who has already done the shiny backup. I think there is a GUI for it, but I don't like to use a program for something like this until I have gone through the source. If I decide anything else about backup I will add it here.

tar options description
Option Alternate Action performed Long Description of usage or example
-c --create create the archive use this option to create the backup archive
-x --extract extract the archive to a location Use this option when restoring the archive
-u --update add any changes
-r --append add to an existing archive
-v --verbose be very talkative about problems or actions This is self explanatory
-p --same-permissions keep the same attributes to be restored If the file is owned by root with executable attribute then keep that as well as any other flags
-z --gzip --gunzip --ungzip what type of compression to use
-f --file <file name> the file name will be specified
--help get help just help and also man tar can be used to view all the possible options
-C --directory change to this directory and perform action Use this when restoring to specify what directory for the base of the tree
--exclude= path to exclude from the archive These directories won't be included when making the archive and it would commonly be used to exclude temporary mount points, devices, previous backups in a directory, mounted volumes.

This link comes from "man tar" and has a great deal more discussion of the process and usage from the fine people at the Free Software Foundation. GNU. FSF. The documentation there was recently updated and has numerous formats to view and download full copies of the usage descriptions.

Relational database Pizza

Tonight is a trip into thought like a pizza with everything databasy.

Investigating interesting software tools to be added to my vocabulary of action as it relates to data handling.
Program or book name Use Observations Conclusions Source Publisher version and author
RapidSVN Interface SVN repositories Too easy to use to comment much about. I use command line svn mostly anyway. sourceforge
Kachegrind Performance profiling tool It may be orphaned (2007) and it is complex so I won't comment, I will grab the source and if I find something unique I will make a post of it. sourceforge?
Conglomerate Edit XML files Intuitive Nice look. sourceforge
MySQL Query browser View SQL data base in GUI form Lets you play with the commands you don't understand. Not a way to use the base, just test different things if you have some question as to how it works. sourceforge
TOra Graphical Data Base tool Neat sourceforge
ilContrast API library comparison tool I pass on this .net stuff sourceforge
TreeViewX SVG of phylogenic trees If you know me, you will know that I have other purposes in mind for this little trick. It's dead , Jim. It was orphaned years ago. sourceforge
KColorChooser A standard set of colors in categories that allows 2 people to have the same color scheme that is consistent without getting into trying to match or appreciate colors on different types of displays. It is simple and easy to use and becomes another tool that connects to SVG, gimp, blender, HTML colors, CSS, pictures, and textures to create a more complex, artistic, and consistent final product. A really easy to use program that adds value to what an artist can conceive.BTW I discovered the other day that there is an international treaty that gives the RGB triplets of colors in flags. That seems odd to me. sourceforge

This will be filled in as I test and use each one and if there is too much data I will make a comment or post for that program.

That completes this survey and I got a couple good pieces of info from it all, but though some of the stuff looks interesting, it is older concepts and better tools exist. ----DONE----

Test google presentation


This is the new web technology from Google. Use the double arrows to move through the presentation. Slides may contain video, text, images and sound. It is easy to use and is designed for collaborative work. Videos may be played on the pages and zoomed to full frame. The Doc button will let you try out the new tool with Google blogs. Menu allows you to copy this entire content for your use.

Contributors

Automated Intelligence

Automated Intelligence
Auftrag der unendlichen LOL katzen