Author Topic: The Future of TI-Nspire Programming  (Read 24982 times)

0 Members and 1 Guest are viewing this topic.

Offline alberthrocks

  • Moderator
  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 876
  • Rating: +103/-10
    • View Profile
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.
« Last Edit: April 07, 2012, 10:32:42 pm by Darl181 »
Withgusto Networks Founder and Administrator
Main Server Status: http://withg.org/status/
Backup Server Status: Not available
Backup 2/MC Server Status: http://mc.withg.org/status/


Proud member of ClrHome!

Miss my old signature? Here it is!
Spoiler For Signature:
Alternate "New" IRC post notification bot (Newy) down? Go here to reset it! http://withg.org/albert/cpuhero/

Withgusto Networks Founder and Administrator
Main Server Status: http://withg.org/status/
Backup Server Status: Not available
Backup 2/MC Server Status: http://mc.withg.org/status/

Activity remains limited due to busyness from school et al. Sorry! :( Feel free to PM, email, or if you know me well enough, FB me if you have a question/concern. :)

Don't expect me to be online 24/7 until summer. Contact me via FB if you feel it's urgent.


Proud member of ClrHome!

Spoiler For "My Projects! :D":
Projects:

Computer/Web/IRC Projects:
C______c: 0% done (Doing planning and trying to not forget it :P)
A_____m: 40% done (Need to develop a sophisticated process queue, and a pretty web GUI)
AtomBot v3.0: 0% done (Planning stage, may do a litmus test of developer wants in the future)
IdeaFrenzy: 0% done (Planning and trying to not forget it :P)
wxWabbitemu: 40% done (NEED MOAR FEATURES :P)

Calculator Projects:
M__ C_____ (an A____ _____ clone): 0% done (Need to figure out physics and Axe)
C2I: 0% done (planning, checking the demand for it, and dreaming :P)

Online DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
The Future of TI-Nspire Programming
« Reply #1 on: April 06, 2012, 08:08:10 pm »
Yeah but I mean some people fear that TI will eventually manage to permanently lock the Nspire, with no way to make Ndless work anymore on it, or locking down Ndless for 3 extra years like before, and some people probably don't find it worth it anymore to bother coding in ASM/C for the Nspire as a result, since eventually their audience would shrink as low as the TI-86. There's even a post from Chockosta where he stated he was considering quitting Nspire development because of TI's action. Also to run nSDL and bFLT you need Ndless, right? If Ndless was to be killed for good by TI, then we would never be able to use nSDL/bFLT again. THat said I still think people should not give up, though.

As for Spybot I agree more stability would be nice. Its current unreliability makes it hard to get notified of new posts and IRC is often cut off from the forums again. OmnomIRC helped a lot Omnimaga activity before.

As for age, I guess you have a point, since most people turned 18 last Summer or close, so much less time or risks of interest shifts, but there seemed to be less new guys joining.

Offline alberthrocks

  • Moderator
  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 876
  • Rating: +103/-10
    • View Profile
The Future of TI-Nspire Programming
« Reply #2 on: April 06, 2012, 08:16:21 pm »
Yeah but I mean some people fear that TI will eventually manage to permanently lock the Nspire, with no way to make Ndless work anymore on it, or locking down Ndless for 3 extra years like before, and some people probably don't find it worth it anymore to bother coding in ASM/C for the Nspire as a result, since eventually their audience would shrink as low as the TI-86. There's even a post from Chockosta where he stated he was considering quitting Nspire development because of TI's action. Also to run nSDL and bFLT you need Ndless, right? If Ndless was to be killed for good by TI, then we would never be able to use nSDL/bFLT again. THat said I still think people should not give up, though.
I guess you are right in a sense that we are always fearful of TI. With the next update, it will be hard to choose. :/

Still, most people will not care about updating their Nspire OSes - hardly anyone in my school thinks you can update a calc's OS! :P Ndless devs will still have an audience!
In the end, I think it'll all balance out - hardcore Lua devs will take the upgrade (with a spoonful of TNOC, of course!), and the rest will wait for a Ndless3.2, which I'm sure won't be too far away. ;)

Besides, I like to think of the recent developments as momentum to find exploits and make ndless3.2 faster, since the new developments are fun, and we'd like to see them on newer (and better?) OSes ASAP! :D
Withgusto Networks Founder and Administrator
Main Server Status: http://withg.org/status/
Backup Server Status: Not available
Backup 2/MC Server Status: http://mc.withg.org/status/


Proud member of ClrHome!

Miss my old signature? Here it is!
Spoiler For Signature:
Alternate "New" IRC post notification bot (Newy) down? Go here to reset it! http://withg.org/albert/cpuhero/

Withgusto Networks Founder and Administrator
Main Server Status: http://withg.org/status/
Backup Server Status: Not available
Backup 2/MC Server Status: http://mc.withg.org/status/

Activity remains limited due to busyness from school et al. Sorry! :( Feel free to PM, email, or if you know me well enough, FB me if you have a question/concern. :)

Don't expect me to be online 24/7 until summer. Contact me via FB if you feel it's urgent.


Proud member of ClrHome!

Spoiler For "My Projects! :D":
Projects:

Computer/Web/IRC Projects:
C______c: 0% done (Doing planning and trying to not forget it :P)
A_____m: 40% done (Need to develop a sophisticated process queue, and a pretty web GUI)
AtomBot v3.0: 0% done (Planning stage, may do a litmus test of developer wants in the future)
IdeaFrenzy: 0% done (Planning and trying to not forget it :P)
wxWabbitemu: 40% done (NEED MOAR FEATURES :P)

Calculator Projects:
M__ C_____ (an A____ _____ clone): 0% done (Need to figure out physics and Axe)
C2I: 0% done (planning, checking the demand for it, and dreaming :P)

Online DJ Omnimaga

  • Clacualters are teh gr33t
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55943
  • Rating: +3154/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • Dream of Omnimaga Music
The Future of TI-Nspire Programming
« Reply #3 on: April 06, 2012, 08:42:57 pm »
Yeah. Also there's Lua, but many people find it too slow to perform any advanced stuff. As for OS updates, sadly the issue is that retail store calcs will eventually all come pre-installed with OS 3.2 and a lot of teachers force students to upgrade. :/

In the worst case scenario, I expect 90% of the Nspire scene to be european developers in a few years (since in Europe teachers do not have full control of what students do with their calc).

Anyway what I think too is that it would be nice if topics were created to discuss further ideas for Ndless dev in the future. Maybe not just plain publicly state what hacks to try for Ndless 3.2 in case TI watches us, but you get the idea (kinda like the UTI topic).

Offline Jim Bauwens

  • Lua! Nspire! Linux!
  • Editor
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1881
  • Rating: +206/-7
  • Linux!
    • View Profile
    • nothing...
The Future of TI-Nspire Programming
« Reply #4 on: April 07, 2012, 11:25:37 am »
I just wanted to clarify some Nspire stuff

- There is no on-calc editor in 3.2. The student software comes with a SDK built in. However, there are multiple Lua programs that allow you to code on-calc, so this isn't a problem.
- TI cannot fully lock the Nspire, there will always be holes to exploit. It might take longer, but as Olivier stated he will not give up on Ndless development. And I will not either.
- TI is actively improving the Lua language, and they are very open to suggestions.
- TI isn't that evil either. I recently asked them why they removed/disabled the print command in Lua. They reason was not to annoy us, and now there is a very big chance that it will return in the OS after 3.2.

And as Albert stated, great stuff in the Nspire scene are just beginning.

Offline Adriweb

  • Editor
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1708
  • Rating: +229/-17
    • View Profile
    • TI-Planet.org
The Future of TI-Nspire Programming
« Reply #5 on: April 07, 2012, 12:20:16 pm »
Yeah. Also there's Lua, but many people find it too slow to perform any advanced stuff. As for OS updates, sadly the issue is that retail store calcs will eventually all come pre-installed with OS 3.2 and a lot of teachers force students to upgrade. :/
I think you're mistaken. Or at least don't understand everything going on. (nothing bad intended towards you)
Of course C/Asm is faster. We know that, we get it.
But you can do great things with Lua. Just look at awesome stuff already out even before Physics is out and before the official SDK is out.
Can you imagine how even better Lua scripts are going to be when all that is released ?
Compared to what the Nspire always had (crappy Basic), Lua scripting is infinitely better.
Another thing to note : Everybody knows that Basic is slower than native. Look at popular z80 and 68k calcs. Count how many BASIC programs there are out there. Do you think they are all crappy because it is "too slow to perform any advanced stuff". No.
So, what we have right here: a "limited" basic, but making incredible things thanks to everybody in the community.
Now, Lua on the Nspire allows us to make 9001* better things that what z80 and 68k Basic could allow us to do.
So please, stop writing again and again that Lua is so slow we can't do a thing with it. (this is not necessarily to you but to everybody in general, I mean).
And also, while you may want to compare raw computation speed, you will compare things with criteria that won't be fair for both the compared languages. For example :
  You can't make a NES Emulator in Lua. You can in native.  Native Wins.
  You can't make a GBC Emulator in Lua. You can in native.  Native Wins.
  You can't process xxxx computations per second in Lua.   Native Wins.
  You can't access USB over Lua.  Native Wins.
Clearly, Native wins right ? Lua is crappy right ?

Now let's take this point of view :
  Nspire Lua is easy to code in. Start up TINCS and open the Lua SDK. It's a mess with Native.  Lua wins.
  Lua can access the math engine. (with CAS if device is CAS).  Native can't.   Lua wins.
  Lua can interact with the already existing variables and widgets.  Native can't.  Lua wins.
  Lua is supported by TI and whenever the SDK is out, so it will have an even bigger community.  Native isn't/won't (as much).  Lua wins.
Clearly, Lua wins right ? Native is crappy right ?


As you can see, you (or any other) can't just claim that "it's too slow". For many things, Lua's better than Native. And for a lot of things I'm pretty sure it will stay that way. Except if TI radically changes its ideas and publishes some Native Resources Toolkit or whatever, but I don't see that coming soon...

Also, some other things :
- I think the community needs to make some kind of all-in-one-included Native SDK, where you could just select the target device, and everything would be so you just have to code your thing, and it would compile with the latest ndless toolkit available (or the one you want if you want to override that), etc. so that people who aren't really geeky enough to setup properly their toolchain onto their system (or just dont want to mess with it too much, or for any other reason), could finally be able to program in C for their device ! If it was easy enough to code in Native (as much as in Lua with the SDK, for example), there would be a heck of a lot more people involved, and thus, the community would be way more active, including here at Omnimaga, but also at TI-Planet etc.

- While you can think 3.2 is blocking ndless (it will most probably do), there will probably be flaws like in every other OSes, so don't worry too much I guess :)

In the worst case scenario, I expect 90% of the Nspire scene to be european developers in a few years (since in Europe teachers do not have full control of what students do with their calc).
Maybe I haven't understood correctly, but how is that bad ?
I mean, 90% of the "underground" scene is European ?
on the Nspire, 3.2 does also mean Lua physics stuff, so even more content...
And that could be from anywhere in the world :)
« Last Edit: April 07, 2012, 12:31:41 pm by adriweb »
My calculator programs
TI-Planet.org co-admin.
TI-Nspire Lua programming : Tutorials  |  API Documentation

Offline critor

  • Editor
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2079
  • Rating: +439/-13
    • View Profile
    • TI-Planet
The Future of TI-Nspire Programming
« Reply #6 on: April 07, 2012, 01:02:16 pm »
- While you can think 3.2 is blocking ndless (it will most probably do), there will probably be flaws like in every other OSes, so don't worry too much I guess :)

You belong to the Ndless development team, so please don't give false hopes to our fans...

3.X OSes are pretty well secured.
3.1 had just a little compilation error which had disabled the canary (by mistake), and a flaw in the OS update code.

OSes 3.0.1/3.0.2 have the canary and have not been ndlessed up to now.
OS 3.2 is probably going to be a little more secure than OS 3.0.2.


If OS 3.0.2 had been ndlessed since Melendy's annoucement, it might have been possible to get Ndless on 3.2 within weeks, maybe during the summer.

As it wasn't the case, it's probably a "good bye" to Ndless for months/years, or even forever...
TI-Planet co-admin.

Offline Adriweb

  • Editor
  • LV10 31337 u53r (Next: 2000)
  • **********
  • Posts: 1708
  • Rating: +229/-17
    • View Profile
    • TI-Planet.org
The Future of TI-Nspire Programming
« Reply #7 on: April 07, 2012, 01:42:11 pm »
You're too pessimistic here ;-)

Just wait & see !
My calculator programs
TI-Planet.org co-admin.
TI-Nspire Lua programming : Tutorials  |  API Documentation

Offline Dingus

  • LV4 Regular (Next: 200)
  • ****
  • Posts: 129
  • Rating: +19/-6
    • View Profile
The Future of TI-Nspire Programming
« Reply #8 on: April 07, 2012, 02:34:49 pm »
TI has again defeated Ndless and it is not a coincidence that interest in programming their calc's has fallen off drastically.  They got what they wanted.  Except it and move on.  We cannot go back to a previous era that no longer exists.  Again, we can not go back to a previous era that no longer exists.

Offline critor

  • Editor
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2079
  • Rating: +439/-13
    • View Profile
    • TI-Planet
The Future of TI-Nspire Programming
« Reply #9 on: April 07, 2012, 02:41:43 pm »
Move on to what? Casio?
TI-Planet co-admin.

Offline alberthrocks

  • Moderator
  • LV8 Addict (Next: 1000)
  • ********
  • Posts: 876
  • Rating: +103/-10
    • View Profile
The Future of TI-Nspire Programming
« Reply #10 on: April 07, 2012, 02:44:39 pm »
TI has again defeated Ndless and it is not a coincidence that interest in programming their calc's has fallen off drastically.  They got what they wanted.  Except it and move on.  We cannot go back to a previous era that no longer exists.  Again, we can not go back to a previous era that no longer exists.
So I guess we should dispose of our calculators now, close down all the calculator related forums, and move on to tinkering with iOS and Android devices? :P

You're right - this is not the previous era. The previous era was insanity with old TI-8x calcs. We're in the new era of modding and programming for new TI-8x, TI-Nspire, and Prizm devices! :D
Withgusto Networks Founder and Administrator
Main Server Status: http://withg.org/status/
Backup Server Status: Not available
Backup 2/MC Server Status: http://mc.withg.org/status/


Proud member of ClrHome!

Miss my old signature? Here it is!
Spoiler For Signature:
Alternate "New" IRC post notification bot (Newy) down? Go here to reset it! http://withg.org/albert/cpuhero/

Withgusto Networks Founder and Administrator
Main Server Status: http://withg.org/status/
Backup Server Status: Not available
Backup 2/MC Server Status: http://mc.withg.org/status/

Activity remains limited due to busyness from school et al. Sorry! :( Feel free to PM, email, or if you know me well enough, FB me if you have a question/concern. :)

Don't expect me to be online 24/7 until summer. Contact me via FB if you feel it's urgent.


Proud member of ClrHome!

Spoiler For "My Projects! :D":
Projects:

Computer/Web/IRC Projects:
C______c: 0% done (Doing planning and trying to not forget it :P)
A_____m: 40% done (Need to develop a sophisticated process queue, and a pretty web GUI)
AtomBot v3.0: 0% done (Planning stage, may do a litmus test of developer wants in the future)
IdeaFrenzy: 0% done (Planning and trying to not forget it :P)
wxWabbitemu: 40% done (NEED MOAR FEATURES :P)

Calculator Projects:
M__ C_____ (an A____ _____ clone): 0% done (Need to figure out physics and Axe)
C2I: 0% done (planning, checking the demand for it, and dreaming :P)

Offline Yeong

  • Not a bridge
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 3739
  • Rating: +278/-12
  • Survivor of Apocalypse
    • View Profile
The Future of TI-Nspire Programming
« Reply #11 on: April 07, 2012, 02:44:45 pm »
Quote
TI has again defeated Ndless
We have no proof that ExtendeD can't go through OS 3.2 ;)
Sig wipe!

Offline Xeda112358

  • they/them
  • Moderator
  • LV12 Extreme Poster (Next: 5000)
  • ************
  • Posts: 4704
  • Rating: +719/-6
  • Calc-u-lator, do doo doo do do do.
    • View Profile
The Future of TI-Nspire Programming
« Reply #12 on: April 07, 2012, 02:47:17 pm »
Plus, between people like myself and Qwerty.55, we are looking into quantum logic and we have been attacking methods of cracking cryptosystems. I would like to believe that we can crack something like that, even if it isn't for another bazillion years :) All it takes is one neat trick.

Offline Lionel Debroux

  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2135
  • Rating: +290/-45
    • View Profile
    • TI-Chess Team
The Future of TI-Nspire Programming
« Reply #13 on: April 07, 2012, 03:21:30 pm »
Quote
If it was easy enough to code in Native (as much as in Lua with the SDK, for example), there would be a heck of a lot more people involved, and thus, the community would be way more active, including here at Omnimaga, but also at TI-Planet etc.
TI is boneheaded about limiting the functionality of their calculators (and screwing with basic user rights of doing whatever they see fit with the hardware they own), instead of taking advantage of the possibilities of native code, and their resulting attempts to "protect" themselves, is a very powerful deterrent for the open development communities. That's why even a much improved SDK would hardly help people getting involved...

Quote
You're too pessimistic here ;-)
Not so sure, because the fact is that hardly anybody gives a damn about the Nspire platform...
Did anybody do for the Nspire what was done for quite a number of closed platforms (starting with gaming consoles), i.e. port Linux mere weeks after the release of arbitrary code execution on the platform ? No, and more than two years later, we're not remotely close to that state.
Do we have a chain of ready to use exploits, and wait for TI to close the hole of the day to release a new version, by a dozen days (often two or three days) after the release ? Not at all.
Do we have a usable graphical library (a need which was identified from the beginning) ? Several weeks ago, the answer was "no".
Do we have a program loader with relocation support (another need identified a couple years ago) ? Again, the answer used to be "no" until very recently.
This list could go on. And yes, I'm criticizing myself (as being part of a community that does a relatively bad job, compared to a number of other communities throughout the history of computing), even if I tried to do something about the math stuff, the document system, the program loader, the graphical library, etc.

Why is it that hardly anybody cares about the Nspire platform ? I don't know, but it's a fact. Another fact is that TI is (relatively) safe is a consequence of the fact we (collectively) are not trying (yet), rather than being a consequence of the fact they're making a decent job protecting their platform...

Quote
Just wait & see !
We'll probably see, indeed, because there always are holes. But even more than Ndless, I can't wait to see TI's dangerous strategy backfiring :)
It's not like they weren't warned about the potential consequences of their incompetence. The gloves have long been off, and so far, the only thing that saved them from facing the consequences of the infuriating war they've been waging against users for five years, is that nobody got over their moral bounds. But sooner rather than later, as I predicted, people are going to become interested in destructive matters (the most damaging attack venues are public knowledge)... and TI will lose, just like Sony lost, to the resent and hatred they created (and also to the false promises incompetent people at TI made to incompetent people at standardizes test regulation authorities - trying to prevent native code is in no way a requirement for certification, it's only willful and lucrative collaboration with the authorities - en français, collaborationnisme). And yet, they were warned in advance, but willfully chose not to take that into account. Their loss.
OSLauncher was perfectly harmless (and yet, it freaked out TI and the woefully incompetent standardized test regulation authorities); '2012 stuff is unlikely to be as gentle as '2010 and '2011 stuff...


One thing is sure, Adriweb: you'll have to take sides at some point. Either TI, or the open development community - but not both, because TI's actions are making them exclusive.
Member of the TI-Chess Team.
Co-maintainer of GCC4TI (GCC4TI online documentation), TILP and TIEmu.
Co-admin of TI-Planet.

Offline ruler501

  • Meep
  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2475
  • Rating: +66/-9
  • Crazy Programmer
    • View Profile
The Future of TI-Nspire Programming
« Reply #14 on: April 07, 2012, 05:01:50 pm »
Not so sure, because the fact is that hardly anybody gives a damn about the Nspire platform...
Did anybody do for the Nspire what was done for quite a number of closed platforms (starting with gaming consoles), i.e. port Linux mere weeks after the release of arbitrary code execution on the platform ? No, and more than two years later, we're not remotely close to that state.
Do we have a chain of ready to use exploits, and wait for TI to close the hole of the day to release a new version, by a dozen days (often two or three days) after the release ? Not at all.
Do we have a usable graphical library (a need which was identified from the beginning) ? Several weeks ago, the answer was "no".
Do we have a program loader with relocation support (another need identified a couple years ago) ? Again, the answer used to be "no" until very recently.
This list could go on. And yes, I'm criticizing myself (as being part of a community that does a relatively bad job, compared to a number of other communities throughout the history of computing), even if I tried to do something about the math stuff, the document system, the program loader, the graphical library, etc.

Why is it that hardly anybody cares about the Nspire platform ? I don't know, but it's a fact. Another fact is that TI is (relatively) safe is a consequence of the fact we (collectively) are not trying (yet), rather than being a consequence of the fact they're making a decent job protecting their platform...
It's not just that nobody gives a damn its also that some people who do have no idea what they could do to help. If there was something I could do to help I gladly would but I doubt I know anywhere near enough to be able to help. If you guys working on the development team tell me something I could do I would gladly help. I like ndless and would love for it to not be stopped because TI is too boneheaded to realize we arent trying to do anything bad.
I currently don't do much, but I am a developer for a game you should totally try out called AssaultCube Reloaded download here https://assaultcuber.codeplex.com/
-----BEGIN GEEK CODE BLOCK-----
Version: 3.1
GCM/CS/M/S d- s++: a---- C++ UL++ P+ L++ E---- W++ N o? K- w-- o? !M V?
PS+ PE+ Y+ PGP++ t 5? X R tv-- b+++ DI+ D+ G++ e- h! !r y