Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - alberthrocks

Pages: 1 [2] 3 4 5
Minecraft Discussion / withgusto MC server (Omni?)
« on: August 24, 2012, 01:01:01 pm »
It's not very well known, but I've been hosting a Minecraft server for quite a while! It started when Cooliojazz started a MC server, and needed some hosting (and paid me for it). Since then, he has moved on to his own server, and this server became a community server (which still appreciates donations). As of right now, it seems to have a title of Omnimaga MMO MC server... maybe this should become an official Omni MC server? :P

Anyway, the details!

Server: Minecraft 1.25 (CraftBukkit)
Hardware: OpenVZ VPS 2GB RAM, 99% dedi to MC
Admin: Eeems
Non-premium: Yes (will be fixed, if there's demand - but it's better to support the dev and buy it!)
Mods: Tons :P (Minequery, Towny, iConomy, Register, Vault, PermissionsEx, LWC-Economy, Questioner, LWC, mcMMO, SimpleSpawn, MoneyDrop, TownyChat, ...)

Access (I think) is somewhat limited, but if there's demand it can be fixed.

Other / Cleverbot vs. Cleverbot
« on: July 07, 2012, 05:07:20 pm »
(Mods, please move this topic if needed to the right section.)

So we're almost done with the programming contest, featuring AI (artificial intelligence)! Incidentally, this weekend I found a little Python script for Cleverbot, a supposedly "smart" bot. (There was a long discussion here about it, which can be found here. I instantly hooked it up to a plugin for supybot, and got it running. That way, you can actually "talk" to my bot.

Of course, that is no fun... what about Cleverbot talking to Cleverbot?

The new IRC channel #talkingbots is the result of that! :) Join it, and see the spirited conversation between the two! (Warning: the convo may get NSFW at times due to Cleverbot's human sourcing.)

If you don't have IRC, you can watch the conversation live:

You can also interact with the bots in my main channel, #thebot! (IRC client required, I don't have a web interface yet.)

Feel free to provide suggestions, funny quotes, etc.!

1) What the heck is Error: "word" is not a valid command.? Or Error: You must be registered to use this command. If you are already registered, you must either identify (using the identify command) or add a hostmask matching your current hostmask (using the "hostmask add" command)? Or (command) -- LONG COMMAND DESCRIPTION?
This is supybot's little blurbs when it recognizes a command by accident. For the "not a valid command" prompts, the connection to Cleverbot's servers timed out, so it returns a regular error message instead.

This has been fixed, and is replaced by My AI is down, sorry! :( I couldn't process what you said... blame it on a brain fart. :P.
2) What's IRC?
IRC (or Internet Relay Chat) is the chat protocol that OmnomIRC and this chat uses to communicate. If you want to join, find an IRC client (this is a good one!), and join the channels #omnimaga and #talkingbots. (Yes, include the number sign!)
3) Why is #talkingbots muted?
Because I want to only let the bots talk. It's their convo, after all! :) I may change my mind in the future.
Changed my mind - don't want too much spam in my chan! :)
4) Where could I talk then?
In #thebot, my channel for bots in general. :) It has my talking bots too, so don't worry - you can talk to them too!
5) Will the plugin be open source?
Sure! I just need to not be busy, have some motivation, etc. to clean up the code a bit, fix some loose ends, and then make a code site and release.** :)

** An open source release may mean lots and lots of supybot people jumping to use it, Cleverbot servers go wild, and Cleverbot developers hunting me down/locking up servers... so not too sure. Time will tell.

Other Calculators / The Future of TI-Nspire Programming
« on: April 06, 2012, 06:35:23 pm »
[split from here]

-It seems many Nspire coders abandonned the fight against TI, and Ndless 3.1 did not create as much interest as 2.0 did. Don't give up! You know some people still code for 68K and AFX calcs, right? Also if you are really afraid of the Nspire being blocked permanently, maybe it would be a good idea to try doing what Reo did with his RPG: Make it for both the PRIZM and Nspire at once? Maybe Reo could share how he works on a C game on both the PRIZM and Nspire at once.
Heh, that's the peanut gallery you're referring to. ;) Personally, I kinda find it funny - they just made a breakthrough with overclocking, but the Ndless scene has already done that. :P
Furthermore, the Ndless scene is really about to heat up. You've heard of the bFLT loader, right? That loader will open the gates to C++ programming (used to be just ARM ASM and C), as well as game porting for nSDL! :D (It'll also allow newlib, a mobile C library, to get ported. That's actually pretty crucial, since 99.9% of the world's programs depend on a C library. It's a miracle that we survived for so long without one...)

So quite honestly, whoever said that we just "gave up" is probably lying. ;) Watch out PRIZM, the Nspire is about to rev into action! >:D

(Honestly, I think the only reason PRIZM is getting *that* much attention is because of the already exposed API, and the fact that no one hacked it yet :P The introduction of nSDL and bFLT *might* turn this around. I'm that confident! ;))

As for suggestions... that Spybot45/New IRC bot... that needs to be up 24/7, not go down for 24 hours, up for a few seconds :P
That bot is pretty much a lifeline for activity. I've noticed that activity tends to go down when that bot is down... :/
I don't know what language it's in, but if it's compatible with Linux (non-mIRC), it could be co-located on a separate VPS.

Finally... advertise this site to your friends! :D Of course, make sure they aren't online trolls, and make sure they actually know how to program :P Otherwise, they'll more or less be kinda bored...

I think the low activity can also be attributed to the age group - this year in HS is particularly important to me, so I've shifted my focus to my studies.
Hopefully (no guarantees) this summer we can be a bit more free :)
There's an interesting piece of software that I want to write - a collab project - that might change the whole world... or at least the TI community :P
Again, no promises or anything, but it's something I aspire to do.

OmnomIRC Development / [Omnom BUG] Netham45 and I rule the world!
« on: December 02, 2011, 11:26:42 pm »
I think this screenshot explains it all:

Basically, Deep Thought highlighted Netham45 once, which caused OmnomIRC to freak out and make me and Netham45 invincible. :P
EDIT: And Deep Thought, as seen in the screenshot. :P Woo invincibility!

Web Programming and Design / -> DEAD -> Better future?
« on: October 30, 2011, 01:41:42 pm »
As you might have heard on IRC, has died - the entire VPS server is down (possibly permanently) due to my VPS provider neglecting to pay bills. Apparently, the owner, Brandon Crawford, is "taking a vacation"... perfectly valid for forgetting to pay bills, right? :P

Either way, data loss is imminent, if not already guaranteed. I'm attempt to contact ColoCrossing, the datacenter which hosts the Chicago node of VPSes offered by eNetSouth (eNSCloud). They've already said no, but hopefully they may turn on the server for a bit so that me and other former customers can get stuff backed up.

(See here for a joyful conversation about this host. :P)

Either way, data loss or not, it's time to look at the future. LowEndBox has mentioned some decent, stable VPS hosts here. They are trustworthy as this is user voted, and the users are experts at VPS hosting.

The only hosts listed there are BuyVM, RamHost, and QuickWeb. RamHost is sold out (hey, at least they're truthful, right? and not overselling :P), so that's off the list. The other two, BuyVM and QuickWeb, are available.

I'm picking a server that's in the US, with 512 MB - 1024 MB of RAM, 1+ cores, 30+ GBs, and 500+ GBs of bandwidth. I'm also aiming for Xen, since that VPS foundation is typically stabler and more reliable (and you can't oversell! :P).

That said... here are the plans I found:
Spoiler For "VPS Plans":
512 / 1024 MB RAM | 2 cores | 50 GB HDD | 2000 GB BW | $5.95/mo
1024 / 2048 MB RAM | 4 cores | 60 GB HDD | 3000 GB BW | $12.95/mo
512 MB RAM | 2 cores | 50 GB HDD | 2000 GB BW | $10.00/mo
1024 MB RAM | 2 cores | 60 GB HDD | 3000 GB BW | $20.00/mo
Storage (useful only for backups)
128 MB RAM | 1 core | 250 GB HDD | 100 MBit/5Mbit DL/UL speed | $7.50/mo

512 MB RAM / 768 MB swap | 1 core | 20 GB HDD | 2000 GB BW @ 1000 MBit | $14.95/mo
"Supa" (Super)
512 MB RAM / 768 MB swap | 1 core | 25 GB HDD | 2000 GB BW @ 100-1000 MBit (Phoenix is 1Gbit, LA is 100 Mbit) | $9.95/mo
1024 GB RAM / 1.5 GB swap | 1 core | 40 GB HDD | 3000 GB BW @ 100-1000 MBit (Phoenix is 1Gbit, LA is 100 Mbit) | $17.95/mo

512 MB RAM / 1024 MB swap | 1 core | 30 GB HDD | 3000 GB BW @ 1000 MBit | $32.00/mo (way too expensive)
SingleHop @ Chicago
512 MB RAM / 1024 MB swap | 1 core | 30 GB HDD | 700 GB BW @ 1000 MBit | $24.95/mo (also expensive)
512 MB RAM / 1024 MB swap | 1 core | 30 GB HDD | 700 GB BW @ 100 MBit | $24.95/mo (also expensive)

Other companies not listed (but are either in the business for a long time or are back by a Fortune 500 company):
512 MB RAM | 4 cores | 24 GB HDD | 160 GB BW | $19.00/mo

512MB RAM | 1 core (1000 MHz) | 20 GB HDD | 1000 GB BW | $5.95/mo
512MB / 1024 MB RAM | 1 core (2000 MHz) | 20 GB HDD | 2000 GB BW (1 Gbps port) | $14.95/mo [This is their "premium" plan]
1024 MB RAM | 1 core (1500 MHz) | 50 GB HDD | 1000 GB BW | $9.95/mo
  - Both include 2 IPv4 and 1 IPv6

Note that OpenVZ has "burstable RAM", hence the 2nd number. You can go over your amount of RAM for a short period of time.

I apologize in advance for looking more like a spambot than a calc guy - I'm really indecisive about buying VPSes after what I like to call the "eNS Incident"... :P

What do you guys think? Which one is the cheapest and the best?

OTcalc / [OTCalc] We're hiring! :D
« on: June 28, 2011, 04:52:28 pm »
Hey everyone!

As you might now know, I'm going to be gone for a while. So I'll need a new guy to help out while I'm gone!

Simply said, we're hiring! :D ("We" because there's another person that's supposed to be helping but he's mysteriously gone... >_<)

Simple requirements:
= You must love hacking hardware and software!
= You must be enthusiastic in building calcs!
= You must be dedicated to OTcalc!
= You should (but you don't have to) have an account here and on Cemetech.
= Minimal, even minicule HW skills are needed. I can't build prototypes nor any super serious stuff, but I do have some skills when needed.
= Programming skills - everyone has those! :) (I'm more of a programmer than a EE, but I equally love both.)
= Can-do, committed attitude towards this project!
= Serious commitment... at least in the summer. :P

= You will be in charge of coordinating the project. Basically, polling (and collecting results), setting up topics, etc. and crossposting them into Cemetech.
= You will also assist in finding parts for the project, calculating costs, and arranging funds. (I have software to assist)
= Answer any questions asked about the project, offer suggestions, and just plain contribute! :)
= Anything else that relates to the OTCalc project.

Why do you want to be a part of OTCalc?
Will you promise to be committed to this project?
Any talents, skills, etc. that you will bring: (list anything that may apply!)

To make my life easier, please PM me your submission form and indicate here that you've signed up.
Thanks, and good luck to all the applicants! :D

Miscellaneous / alberthrocks -> gone for 3 weeks!
« on: June 28, 2011, 04:03:05 pm »
Self-explanatory - I'm traveling to China for 3 weeks! :D I'm departing on Thursday.

Hopefully these lovely sites aren't blocked! :) I'll try to get on, but I'm aiming not to since it's a vacation, and there's lots of things me and my family are doing there as well.
(As a result, most of my projects are halted unless I work on them in China without any online uploading/access. This incidentally include OTZ80, unfortunately. :()

Tomorrow is my last day, so ask me any questions now! Otherwise, you'll have to wait until I get back! ;)

On a somewhat related sidenote, I'm hoping to push out GIF recording for wxWabbitemu before I head off. If not, I'll finish it ASAP and see if I can email it off to one of the devs, who can push it for me. :)

[OTcalc] Z80-Hardware / [OTZ80] Do you want a backlit screen?
« on: June 28, 2011, 03:14:24 pm »
Do you want a backlit screen? (This will apply to any screen, whether it's color, grayscale, or B/W.)

Consider the use, power usage, price, etc. when deciding. 
Note that there is a hardware switch to turn it on. (Can be controlled by software, if possible/needed.)

Discuss below as needed. If there is a consensus to change this vote in any way, it will be done.

Hey everyone!

This topic is divided into 2 sections...

1) I need suggestions on screen size and battery type so that we can revote.
Consider the use, type, power usage, CPU's power, etc. when you specify one! :)

For screen, please specify resolution and type (color, grayscale, B/W).
For battery, please specify what type, and whether it's rechargeable or not.

2) Any other features you would like to suggest? This is your LAST chance for suggestions!
You are not allowed to specify a feature that is already voted off.

Current feature list:
CPU: eZ80 50 MHZ, underclockable to 20 MHZ
Screen size: 192x128 (7 other people voted for 240x160, revote possible based on supply and opinion change)
Battery indication: On screen (part of OS)
Navigation: regular arrow keys
ASCII input: Alpha-lock
Backlit screen: Yes... 14 vs. 9 people on this topic, may need a revote to confirm.
I/O: 3.5 mm link cable and mini USB OTG
Power: Will definitely need a revote - this was the closest one ever, with no real winner. The top two were: AA battery (rechargeable if possible), and "#1 and 2" = internal rechargeable battery + AA battery (rechargeable if possible)

Omitted features:
Wifi (too much power munching, internet connection should be external)
SD card support (no use)

OTcalc / OTZ80 - Remember it? :D
« on: June 24, 2011, 10:42:54 am »
Hey everyone! :D

So finally summer is here, and my school work has substantically decreased to nil! :) (Not that I have nothing else to do... like signing up for internships, studying for SAT, etc. :P)

OTZ80 will resume at full speed, assuming I (and others) can dedicate some time to working on it. This surprisingly comes at a time where recently we've discovered that TI have made a new boot code to block OS downgrades. (And believe me, you probably don't want to use their odd, horrific little 2.55MP :P)
OTARM, as you might know, will probably be shelved... for now. This is due to the fact that there's an Ubercalc being made with the
same exact goals as OTARM, and so we're likely to adopt UberCalc as OTARM's replacement. We also have some great OS (Linux distro) makers and some expert Linux users/devs at hand, so we will definitely be able to handle writing software/OS for it.

We are in a desperate need for HW experts! I'm hoping Ubercalc (the user, not the calculator) may be able to prototype an eZ80 calc for us! :) (If he's available at all, of course.)

Finally - there's some change in opinion about what CPU, what screen, etc. to use, so we may have a poll restart to regather opinion on it.

Here's to hoping we get enough progress this year to get a prototype out! :thumbsup:

Current feature list:
CPU: eZ80 50 MHZ, underclockable to 20 MHZ
Screen size: 192x128 (7 other people voted for 240x160, revote possible based on supply and opinion change)
Battery indication: On screen (part of OS)
Navigation: regular arrow keys
ASCII input: Alpha-lock
Backlit screen: Yes... 14 vs. 9 people on this topic, may need a revote to confirm.
I/O: 3.5 mm link cable and mini USB OTG
Power: Will definitely need a revote - this was the closest one ever, with no real winner. The top two were: AA battery (rechargeable if possible), and "#1 and 2" = internal rechargeable battery + AA battery (rechargeable if possible)

Omitted features:
Wifi (too much power munching, internet connection should be external)
SD card support (no use)

Other Calc-Related Projects and Ideas / CAS Theory
« on: June 06, 2011, 03:10:37 pm »
INCOMPLETE. I'm still writing this, but since aeTIos bugged me to post this ASAP, here it is. :P
Will update tonight or tomorrow depending on if I have time or not.

So, I was lying in bed one day thinking random thoughts, and suddenly I have this idea in my head: CAS for the calc!
Actually, it wasn't that - it was CAS theory, which led to me thinking that this could be implemented as a calc app or program with Axe.

So - the theory. Basically, the core of this is simply arrays and strings. Numbers of course are in it, but only for non-variable calculations and integer calculations.

With that, let's get started!

Variable multiplication
Say, the user inputs this into the CAS:
Code: [Select]
AwesomeCAS v1.0
> (2x+5)(x+4)(5x+6)^5
How can we solve that?
First, we need to make our lives easier and apply existing laws/theorem to solving certain parts of the equation.
One thing comes to mind - Pascal's triangle!
A brief explanation of this theorem - Pascal's triangle is a very simple concept. You start with 1, and then 1, 1. You keep adding 1s to the side to make a triangle while adding the above numbers to place below inbetween them. Sound confusing? Here's an example:
Code: [Select]
      1 1
     1 2 1
    1 3 3 1
  1 4  6 4 1
 1 5 10 10 5 1
So you (kinda) get it. But why does this have anything to do with CASes?
Take a look at this equation:
No one really knows what that is, right?
Multiply it out, and you get:
The coeficients are 1, 3, 3, and 1. Hold on! Did we see that before??
Code: [Select]
     1 2 1
    1 3 3 1
We did indeed! Basically, you can the (n-1)th row's numbers for the coefficients!
(And you simply start at the highest degree of the first variable - x^3 - and add Ys to it at the same time decreasing the X power until you get y^3!)

BUT... no one wants to loop through this insanity to get the triangle. What if someone typed in (x+y)^9000?
That's where combinations come in :)
[more details here]
quick and dirty info: Enter "3 nCr 0" into your calc, going from 0 to 3. See the pattern? :D

So for this, we need to find such easy problems. Going back to the problem:
Code: [Select]
> (2x+5)(x+4)(5x+6)^5We treat this as a STRING. I first verify to see if all the parenthesises are closed or not.
Then, I look for ^[number]. If the number is enclosed in (), I evaluate the () and then use that.
Using the above method, I find that the base equation is:
Code: [Select]
1x^5 + 5(x^4)y + 10(x^3)(y^2) + 10(x^2)(y^3) + 5x(y^4) + 1y^5Now substitute x for 5x, and y for 6. You finally get:
Code: [Select]
3125 x^5+18750 x^4+45000 x^3+54000 x^2+32400 x+7776
But wait! How is this calculated in the first place??
Well, the above base equation is split into an array. Python style:
Code: [Select]
equArray = [ [1, ["x", 5]], equPlus, [5, ["x",4], ["y",1]], equPlus, [10,["x",3],["y",2]], equPlus, [10,["x",2],["y",3]], equPlus, [5,["x",1],["y",4]], equPlus, [1,["y",5]]]
equEquateX = ["x",[5, ["x", 1]]]
equEquateY = ["y", [6]]
...where equPlus is a special constant/type defined in program to signify a + sign, equArray is the array that contains our base equation, and equEquateX/Y contain the substitution we want to do.

So now let's plug the variables in!
(The below python code does not necessarily work, and is very crudely designed, but it does explain what I'm thinking. In the future, the code will be much more flexible and have more possibilities than this.)
Code: [Select]
for equPart in equArray: # This loops grabs every item of equArray into equPart
   buffInt = 1 # Initialize a "blank" integer for us to use. This will serve as a standing point to create the final coefficient... for this part, anyway. :P
   for varEquPart in equArray: # This loop grabs every item of the equPart into varEquPart
      if type(varEquPart) == int:
         buffInt = buffInt * varEquPart # Multiple the coefficient into the final one
      else: # This should be an elemental array
         for actVarEquPart in varEquPart: # You see why I don't exactly like turning this idea into code, eh? :P
            if type(actVarEquPart) == str:
               if actVarEquPart == equEquateX[1]:
                  # Substitute X in!
                  for varEquPartInSubstitution in equEquateX
                     if type(varEquPart) == int:
                        buffInt = buffInt * varEquPart # Multiple the coefficient into the final one
                     else: # This should be an elemental array
The above code is incomplete; my brain is hurting from writing this code. :P Any help possible is appreciated! Optimizing, prettifying, organizing, coding - you name it! Depending on my schedule, I may come back tonight or tomorrow to work on this code snipplet. I quickly outlined my ideas below with no concept code.

Floating Point Math - Addition
WIP code posted below - this is in Python. Hopefully it's self explanatory (with assistance from the theory posted below!)
Code: [Select]
#!/usr/bin/env python
# Experimental floating point implementation
# Written by Albert H

# Variables

n1 = raw_input("> Enter 1st floating point number: ")
n2 = raw_input("> Enter 2nd floating point number: ")
op = raw_input("> Enter operation (+, -, *, or /) to perform: ")

# Now for the REAL guts of this program!
# We use absolutely NO floating point operations here at all. NONE.
# If you enable the DEBUG var above, you get to see every part of the
# process. No single number used is a floating point number at all.
if op == '+':
# Easiest one of the bunch. Align the decimal point!
pointpos1 = n1.index(".")
pointpos2 = n2.index(".")
if pointpos1 < pointpos2:
# If pointpos1 has a lower index than pointpos2... that means
# we have n1 being 3.14 and n2 being 12.4.
for n in range(0, pointpos2-pointpos1):
n1 = " " + str(n1)
if DEBUG == 1:
print ">> DEBUG: n1 string is: "+str(n1)
print ">> DEBUG: n2 string is: "+str(n2)

# Number crunching time!
lenOfNum1 = len(n1)
lenOfNum2 = len(n2)

# TODO: Fix bug with entering same number/dec place == crash
# TODO: Fix 0.9+12.9 =12.18 due to lack of carryover correction

result = ""
tempResult = ""
for nIndex in range(0, max(lenOfNum1, lenOfNum2)):
if nIndex <= (lenOfNum1 - 1):
if nIndex <= (lenOfNum2 - 1):
if n1[nIndex] != ' ':
if n2[nIndex] != ' ':
# TODO: add checking for misalign of decimal points
if n1[nIndex] != '.':
if DEBUG == 1:
print ">> DEBUG: Both n1 and n2 digits are present! Adding integers: "+n1[nIndex]+" + "+n2[nIndex]
tempResult = int(n1[nIndex]) + int(n2[nIndex])
result = result + str(tempResult)
if DEBUG == 1:
print ">> DEBUG: Decimal point detected! Appending decimal point to result."

result = result + "."
if DEBUG == 1:
print ">> DEBUG: n2[nIndex] is a space, so adding n1's digit to result. Digit: "+str(n1[nIndex])
result = result + str(n1[nIndex])
if n2[nIndex] != ' ':
if DEBUG == 1:
print ">> DEBUG: n1[nIndex] is a space, so adding n2's digit to result. Digit: "+str(n2[nIndex])
result = result + str(n2[nIndex])
print "ERROR: Something went wrong in preprocessing!"
print "Guru meditation: n1[nIndex] and n2[nIndex] are both spaces! n1='"+n1+"', n2='"+n2+"', nIndex="+str(nIndex)
if DEBUG == 1:
print ">> DEBUG: n2[nIndex] does not exist, so adding n1's digit to result. Digit: "+str(n1[nIndex])
result = result + str(n1[nIndex])
if nIndex <= (lenOfNum2 - 1):
print ">> DEBUG: n1[nIndex] does not exist, so adding n2's digit to result. Digit: "+str(n2[nIndex])
result = result + str(n2[nIndex])
print "ERROR: Something went wrong in preprocessing!"
print "Guru meditation: nIndex is out of range! n1='"+n1+"', n2='"+n2+"', nIndex="+str(nIndex)
print "> Result: "+result

Floating Point Math - Multiplication
This method can also be applied to other operations as well.
Z80 calcs don't have floating point math. It's all software. How can we do it without using TI's stuff?
Probably not the best way to do it, but...
Take for instance: 0.51 X 0.003
Quickly outlining the method:
1) Find number of decimal places, figure it which one is longer or if they are both the same
2) Perform hand-done multiplication on computer... aka:
   a) Cut string into numbers
   b) Multiply based on place
   c) Shift around as needed, like what you usually do when you switch places
   d) Add things, AGAIN
   e) Organize numbers into string
   f) Figure out where to put decimal point, and put it there
   g) Simplification as needed ("0.50000 => 0.5")
   h) Done!
Variable Manipulation
Basically, aiming for the famous TI-89 (or TI-Nspire CAS) command: solve(2x+6+x^1029=5, x)
Something like the first idea, but with a lot more complexity. Array element shifting to the extreme!
Again, treat variables like a string. Keep track of where they are in the equation, and perform operations to the equation array to isolate them and solve it.

Miscellaneous / Hello and goodbye!
« on: May 01, 2011, 08:27:32 pm »
Before I begin, I'd like to apologize to those I've hurt a while ago, including KermM and Merth. I was misconstrued at the time, assumed the impossible, and reacted quite immaturely to the situation. I hope that this won't happen again.

Going to the bright side of things, Lent is over (and I kinda didn't abstain completely from the calc community... :P but no worries - this wasn't the "real" thing I gave up).
There are a few projects that are brewing away, including DCS7Axiom (an Axe axiom to use the DCS7 GUI libraries), AxeGUI (Axe GUI libraries), Todo (self-explanatory), and a secret game. ;)
On the PC side of things, I'm working on NspireWebLauncher, a little yet powerful tool to launch the Nspire Document Player without going through TI's insanity; wxWabbitemu, a Linux (wxWidgets) port of Wabbitemu; and a little secret project.

However, all of these projects are halted. Why? AP tests, of course! :P
I have an AP Chemistry exam on Monday, May 2nd, which is very hard and requires some intense studying.
I also have an AP Government and Politics exam on Tuesday, May 10th, which isn't as hard but definitely needs some dedication.
Combined with some projects, I'm pretty much booked for the next two weeks.

I'll probably release a finished project, AxeKey'D, after next Monday.
But yeah, hiatus begins as soon as I submit this post. So cya! :)
(I will not respond to any replies or PMs. Only method of contact is Facebook, and even then I probably won't reply.)

P.S - good luck to those taking the AP Chem exam tomorrow! :D (And any other APs that you might be taking!)

The Axe Parser Project / DCS Axiom development
« on: April 04, 2011, 03:23:08 pm »
Sparking from this topic (;topicseen#new), I've decided to try and see if I can write a DCS axiom! :) However, my assembly is terrible, so I will need LOTS of help with it. From the messages in the thread, it seems that our assembly devs are puzzled at how to write an Axiom, but could easy make an ASM program. Hopefully, from this topic, a quick start/manual can be written on how to write Axioms. THEN our awesome assembly programmers' powers can be unleashed! ;)

OK, so let's get started! :D

First off, I'm basing my Axiom from the MemKit template. My assembler is SPASM (part of the WabbitStudio suite), OS Linux.
I also am using for reference on how to use the DCS' GUI libraries in assembly.
With that, I'm currently just trying to write example code for myself (and probably others).
I'm focusing on:

Here's a code snip from the API docs:
Code: [Select]
ld hl,SmWinData
ld de,SmWinDataEnd-SmWinData
ld a,GUIRSmallWin
call PushGUIStack
ld hl,winButtons
ld de,dat_end-winButtons
ld a,GUIRWinButtons
call pushGUIStack
ld hl,0
call GUIMouse
     .db 5,5     ;the x and y coordinates relative to the LCD of the top-left of the window
     .db $F8,$88,$88,$88,$F8   ;a square icon
     .db "My Window",0    ;the window title
  call ResetAppPage
 .db 00100000b      ;only displaying a close button
 .dw 0              ;null pointer
 .dw 0              ;another null pointer
 .dw exitMyProg     ;we'll jump to exitMyProg when this button is clicked

Of course, we really don't want internal data, but the data for the arguments the user provides! :)

In the end, after a back and forth on IRC, I've gotten this code:
Code: [Select]
#include ""
#include ""
#include ""

#define B_CALL(xxxx) rst 28h \ .dw xxxx


 .dw Ax1_End
 .db AXM_ALL
 .dw tok_DrawL ;DlgBox()
 .db AXM_1ARG
 .org 0
 ; call OpenGUIStack
 ; ld hl,SmWinData
 ; ld de,SmWinDataEnd-SmWinData
 ; ld a,GUIRSmallWin
 ; OK, so let's first get stuff ready! (Open the GUI stack!)
 call OpenGUIStack
 ; Text is stored in HL already, no need to move it around!
 ; Save hl!
 push hl
 ; Now find the length of the string arg!
 call sub_Length
 ; Copy it to the correct place...
 ex de,hl
 ; ...and bring back the string arg!
 pop hl
 ; Set window type!
 ld a,GUIRSmallWin
 ; Push the GUI!
 call PushGUIStack
 ; Now, add the close button to the window.
 ld hl,winButtons
 ld de,dat_end-winButtons
 ld a,GUIRWinButtons
 call pushGUIStack

 ; Now, render the GUI and give control (mouse) to DCS!
 ld hl,0
 call GUIMouse


  call ResetAppPage
 .db 00100000b      ;only displaying a close button
 .dw 0              ;null pointer
 .dw 0              ;another null pointer
 .dw exitMyProg     ;we'll jump to exitMyProg when this button is clicked

 .dw AXM_END


Unfortunately, this crashes! :( Is there any errors that should be fixed?

Miscellaneous / Apology and temporary leave
« on: March 09, 2011, 07:51:02 pm »

As you might have heard or seen a little while ago, I've created a little mess. :P
Yup, that was all me, and I apologize to everyone. including KermM and DJ_O, for the mistake.
I'm not in a very good mood, and my head wasn't straight at the time. I was very rude to you guys, and that was wrong of me. The only thing I would appreciate from before was if KermM/Merth would make it more clear what they were doing. But, the past is the past, and it cannot be erased; only atoned.

That said, I will be departing this community (Omni and Cemetech) indefinitely. My decision is final in this matter - it does have to do a little bit with the incident I've caused, but it also has to do with.... Lent!* :) (You might now know when "indefinitely" is.)
I'm giving up something, and that something is going to this and the other forums every day. It's almost like an addiction if you think about it. :P

So what does that mean? From now to the end of my spring break, I will be abstaining from going to this site, nor #omnimaga or #cemetech. IRC is my other thing that I need to avoid, so I will limit myself to Friday/weekend only visits on my chan, #thebot.

Does that mean I've thrown Omnimaga and Cemetech out of the window for good? NO! :) I'll be back in time to release my secret project that I'll be working on while I'm gone.

What does this mean? It means I'll have to depend on the monthly newsletter for major project updates and calculator community news (which I love, btw). I will come to this site just to download beta or finished projects, but nothing else. It also means that any contact with me will have to be via Facebook or email. (You may obtain them via email/PM.) I wil NOT answer any PMs sent to me unless I know your email already, in which I will respond by email.

Sounds pretty reclusive? Yup - gotta kill the addiction and take some time off due to what has happened. I’m downloading all the available Axe routines and programs as we speak.

No worries - I’m still working on calculator programs, and eager to assist in web/PC/calc projects, but will be off Omni/Ceme/IRC for a bit. And as I’ve said, I’ll be back! (If not, it’s either because I’ve decided to permanently leave, or I’m busy at the time - more likely the latter.)

That said, here are some final announcements I’d like to make before I go *poof*:
Remember this site? Yup - it’s a fun haven for developers and users alike! :)
Two things:
1) This site will go down for maintenance on Friday due to speed issues. (Frankly, my VPS provider gave me 2 cores of 0.977 GHz, which as everyone knows, 2 slow processors still means slow!) After the minor maintenance, the server should be MUCH faster.
2) This site is soon gaining more abilities, like bot/daemon management, VNC (remote desktop), and more! :D However, I’m running out of money! I drop around $13/month for this service. It seems cheap at first, but then you realize eventually that you’re going to be out of money! Simply put, I’ve paid 5 months X $13/month =.... $65! O_O And now my money is getting dry. For those who use my server a LOT (you know who you are :P), please donate!

On the home page (, there is a ChipIn widget that lets you contribute to me.
However, it says $18. Why? If the donation amount reaches $18+ (and is sustained every month), I can upgrade to a 768 MB RAM server, making things a lot more faster. ;) Otherwise, the minimum amount is $13 by next month.

So please donate! :D

Remember this project? Yup, it’s being rejuvenated as we speak! :) I’ve “hired” Juju to be my help dev, which will definitely speed things up. :D (No worries Buckeye, you’re still needed to implement that image based keypad... :P) However, we’re still looking for budding C/C++ developers! If you are skilled in C/C++, please join us! Our project is FOSS, so it’s a non-committal code contribution basis. wxWidgets and Linux dev/usage experience is a major PLUS.

Secret Project(s??)
Ahh yes, don’t forget about that! :) (It’s a secret/They are secrets), so don’t bother asking what (it is/they are). :P If everything goes well, I’ll release a beta when I come back. If things go extremely well, I’ll release a surprise final version when I’m back. While I’m gone, I’ll be depending on some Axe/ASM friends for help. :)

That’s all! With that said, I’m off.** :)

*Lent doesn’t necessarily mean just Catholic, since other denominations of Christianity follow it. That explanation, however, is out of the scope of this topic, and probably the forum itself.
**I’ll be off for tonight, since I have projects and HW to focus on, but feel free to reply. I will respond to the replies for a final time tomorrow, and will be on my way.

TI-Nspire / Linux on Nspire?
« on: March 01, 2011, 11:30:35 pm »
Initially started on IRC, Jonimus has suggested that you can get Linux on the Nspire, since it's ARM (Linux supported), and that doing such a thing doesn't require modifying boot1/boot2/OS. ;) Of course, it will modify memory, reset parts of the HW, etc. to get it working, but other than that, it's definitely possible. Run a ndless program, and you're off! ;)

Some other notes:
= Look at Harlet/Lab Boot/uBoot and base the bootloader off them
= Use Angstrom Linux for the distro
= We need to know exact HW specs for Nspire (including memory mappings, LCD controller, etc.), and potentially find a dev board that has similar HW and use software provided with that dev board

So, can we do it? :D

Quote from: Jonimus
Edit: Also lets keep this thread about the kernel and bootloader, we can figure out where to put the rootfs later.

EDIT by DJ_O: Appended Jonimus quote so people can see. Members cannot enforce rules about what is discussed in a thread, but I'M adding this so it won't drift away from the main topic too much.

Pages: 1 [2] 3 4 5