Archive for Coding

A Prime Question

Hey guys, thought I’d quickly dump an application i’m working on that graphs primes as a novelty wave (like mckennas time wave zero I ching hexagram mathematics).

It’s really a hoot. And it wil be interesting to analyse the patterns of  hexagramical novelty in primes further. (block comparison) bit comparison, nth comparison, volume graph comparison. wave comparison.. even considering graphing the grid as a wave form to try and find any resonances. Anyways, lots of odd ideas and stuff.. so on with the code. The intellectual, security, as well as social implications of predicting primes or graphing the novelty of them could very well be the most undervalued cryptography technology there ever could, would or will be. :) very early days yet, this isn’t even my first alpha, just a play in SDL DLL to see what it can do for prime calcs in C++. we’ll see.
sdl c++ code i've been working on the last 24 hours

#include <stdlib.h>
#if defined(_MSC_VER)
#include “SDL.h”
#else
#include “SDL/SDL.h”
#endif
#include<math.h>
#include<iostream.h>

int primes[] = {2,3,5,7,11,13,17,19,23,29,31,37,41,43,47,53,59,61,67,71,73,79,83,89,97,101,

103,107,109,113,127,131,137,139,149,151,157,163,167,173,179,181,191,193,197,199,211,223,

227,229,233,239,241,251,257,263,269,271,277,281,283,293,307,311,313,317,331,337,347,349,

353,359,367,373,379,383,389,397,401,409,419,421,431,433,439,443,449,457,461,463,467,479,

487,491,499,503,509,521,523,541,547,557,563,569,571,577,587,593,599,601,607,613,617,619,

631,641,643,647,653,659,661,673,677,683,691,701,709,719,727,733,739,743,751,757,761,769,

773,787,797,809,811,821,823,827,829,839,853,857,859,863,877,881,883,887,907,911,919,929,

937,941,947,953,967,971,977,983,991,997,1009,1013,1019,1021,1031,1033,1039,1049,1051,

1061,1063,1069,1087,1091,1093,1097,1103,1109,1117,1123,1129,1151,1153,1163,1171,1181,

1187,1193,1201,1213,1217,1223,1229,1231,1237,1249,1259,1277,1279,1283,1289,1291,1297,

1301,1303,1307,1319,1321,1327,1361,1367,1373,1381,1399,1409,1423,1427,1429,1433,1439,

1447,1451,1453,1459,1471,1481,1483,1487,1489,1493,1499,1511,1523,1531,1543,1549,1553,

1559,1567,1571,1579,1583,1597,1601,1607,1609,1613,1619,1621,1627,1637,1657,1663,1667,

1669,1693,1697,1699,1709,1721,1723,1733,1741,1747,1753,1759,1777,1783,1787,1789,1801,

1811,1823,1831,1847,1861,1867,1871,1873,1877,1879,1889,1901,1907,1913,1931,1933,1949,1951,

1973,1979,1987,1993,1997,1999,2003,2011,2017,2027,2029,2039,2053,2063,2069,2081,2083,

2087,2089,2099,2111,2113,2129,2131,2137,2141,2143,2153,2161,2179,2203,2207,2213,2221,

2237,2239,2243,2251,2267,2269,2273,2281,2287,2293,2297,2309,2311,2333,2339,2341};

SDL_Surface *screen;

// sprites tutorial but im using DNA sprite
/*
const unsigned char sprite[] =
{

0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0};

void drawsprite(int x, int y, unsigned int color)
{
int i, j, c, yofs;
yofs = y * (screen->pitch / 4) + x;
for (i = 0, c = 0; i < 16; i++)
{
for (j = 0; j < 16; j++, c++)
{
if (sprite[c])
{
((unsigned int*)screen->pixels)[yofs + j] = color;
}
}
yofs += (screen->pitch / 4);
}
}
*/

void putpixel(int x, int y, int color)
{
unsigned int *ptr = (unsigned int*)screen->pixels;
int lineoffset = y * (screen->pitch / 4);
ptr[lineoffset + x] = color;
}

int nextprime(int nth)
{
return primes[nth];
}

void render()
{
// Lock surface if needed
if (SDL_MUSTLOCK(screen))
if (SDL_LockSurface(screen) < 0)
return;

// Ask SDL for the time in milliseconds
int tick = SDL_GetTicks();

// Declare a couple of variables
int i, j, yofs, ofs;

// Draw to screen
/*
yofs = 0;
for (i = 0; i < 480; i++)
{
for (j = 0, ofs = yofs; j < 640; j++, ofs++)
{
((unsigned int*)screen->pixels)[ofs] = i * i + j * j + tick;
}
yofs += screen->pitch / 4;
}
*/

// grid creation

for (int z=0; z < 768 ; z=z+5)
{

for (int y = 0 ; y < 1024 ; y=y+5)
{
putpixel(y, z, 0xff0000);
}

}

/* draw lines in graph

for (int n=1; n < 480; n++)
{
putpixel(2, n, 0xffffff);
}
*/

// draw the first 10 primes
/*putpixel(1,2, 0xffffff);
putpixel(2,3, 0xffffff);
putpixel(3,5, 0xffffff);
putpixel(4,7, 0xffffff);
putpixel(5,11, 0xffffff);
putpixel(6,13, 0xffffff);
*/

// grab nth rotation and the nextprime for the first 10 primes
// x axis = n , y axis = prime
for (int n=0; n < 135; n++)
{

putpixel(n,nextprime(n),0xffffff);
}

// method 2 and an idea on ‘block correlation’
// measure the block correlation between the previous n prime 0-125 to u prime 125-200 , and comparing block starting at
// correlation axis (i.e. x,125px)(correlate correction for nextprime(correlation)
// x axis = u(aka n), y axis= prime)
int correlation;
for (int u=125; u<200; u++)
{
correlation = u - 125;
putpixel(nextprime(correlation),u,0xffffff);
}

// Unlock if needed
if (SDL_MUSTLOCK(screen))
SDL_UnlockSurface(screen);

// Tell SDL to update the whole screen
SDL_UpdateRect(screen, 0, 0, 1024, 768);
}

// Entry point
int main(int argc, char *argv[])
{
// Initialize SDL’s subsystems - in this case, only video.
if ( SDL_Init(SDL_INIT_VIDEO) < 0 )
{
fprintf(stderr, “Unable to init SDL: %sn”, SDL_GetError());
exit(1);
}

// Register SDL_Quit to be called at exit; makes sure things are
// cleaned up when we quit.
atexit(SDL_Quit);

// Attempt to create a 640×480 window with 32bit pixels.
screen = SDL_SetVideoMode(1024, 768, 32, SDL_SWSURFACE);

// If we fail, return error.
if ( screen == NULL )
{
fprintf(stderr, “Unable to set 640×480 video: %sn”, SDL_GetError());
exit(1);
}

// Main loop: loop forever.
while (1)
{
// Render stuff
render();

// Poll for events, and handle the ones we care about.
SDL_Event event;
while (SDL_PollEvent(&event))
{
switch (event.type)
{
case SDL_KEYDOWN:
break;
case SDL_KEYUP:
// If escape is pressed, return (and thus, quit)
if (event.key.keysym.sym == SDLK_ESCAPE)
return 0;
break;
case SDL_QUIT:
return(0);
}
}
}
return 0;
}

Comments

A simple c# Hello World program

Hello all, a lot of you who are new to .NET or the CSC.EXE (or mono(linux)) compiler that comes with it for windows will be wondering what the syntax and learnability of c# is like. Well I think we’ve established it’s practically javascript in an MS wrapper - it - much like javascript - has some really powerful C++ like syntax and formating to it. Below I include a quick Hello World Program I wrote by scratch. Notice the adoption of the class structure, c# is full of it - again, much like JS.
I’ve compiled this application in VS c# 2008, and it should also work fine in VS c# 2005 as well as the CSC.EXE. If you are using VS c# 2008 to write, compile and run your applications use shift+f6 (builds application) followed by a F5 (debug/run) keypress once you have typed in the code.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace JustAQuickHelloWorldbyAzio

{
class Azio // name of class
{
public string mystring; // named string mystring of type string, publically declared (accessible outside class)
}

class Program
{
static void Main(string[] args)
{
Azio anotherazio = new Azio(); // create an object for my Azio class, lets call the object “anotherazio”
anotherazio.mystring = “Hi thar!”; // initialize the mystring data member of anotherazio object of type Azio class

Console.WriteLine(”Hello World says ” + anotherazio.mystring); // Tell the c# Console (commandline) to output
// the text “Hello World says ” and the value of anotherazio.mystring which is respectfully “Hi thar!”
Console.ReadKey(); // this line instructs the program to wait for any userkey press to exit the program.
} // end of Main() function (scope)
} // end of class Program (scope)
} // end of namespace (scope)

I’ve actually just quickly reviewed the c# programming language over the last few days (& as best I can), I thought it would be nice to see a simple-esque hello world application that included classes and basic foundations of OOP, it seems to be so easy in c# in comparison to C++ but mm, then again maybe my previous experience helps :-)

Peace,

A

Comments