Monday, August 17, 2009
Wednesday, August 5, 2009
Current NXT projects
Yes, I am still alive; I just haven't posted here in ages. Recently, I have been getting back into Lego Mindstorms more than I have this whole summer. Well, at least in the programming aspect, that is. I thought I would update you guys about two projects that are both a work-in-progress. First, I am developing a GUI code library in NXC. I hope to release it soon. It is a library of functions intended to help NXC developers with designing their GUIs. This includes such things as text menus, text views, generic menus, confirmation dialogs, etc. I don't think that it should be hard for the average NXC coder to design a good-looking, functional user interface for his NXT program. So I hope that my code will help. Second, I am rewriting NXText to use my new GUI code library and to clean up the code base. After having been on a break from NXT programming for such a long while and instead learning Cocoa, coming back to NXC, I can't believe how horrendous my code is! I named functions and variables terribly, my overall code design was ugly, and I used too many global variables! Ah! So I hope that this redesign of NXText will simply clean up the code base and make it much more manageable. It will most likely not improve the size of the executable, but we'll see. Oh, and before I leave, I need help naming my GUI library. I was thinking about NXTKit, but that is too similar to NXT Kit, which will bring up tons of results on google. Any naming ideas would be great. See you on NXTasy! NXTFreak
Thursday, April 16, 2009
Mac application development
Whew! I haven't posted here in quite a while! So now would be a good time to post. :-) In my spare time--which I don't have that often--I continue to read Cocoa Programming for Mac OS X by Arron Hillegass. I have made it up to Chapter 15, but I have decided to go back a few chapters and review some of the stuff that I have learned so far. Why would I want to do that? I forget to easily. :-) Anyway, so as I have been reading this book, the author is taking me through the steps to creating a full-featured Mac application called RaiseMan (I know, weird name). This application keeps track of employees and the raise that they are to receive for the year. I have posted some pictures of it below. It may seem quite insignificant, as it is not that complex at all, but it has the ability to create, edit, and delete employees; undo and redo adds, edits, and deletes; save employees to a .rsmn file and load them from the same filetype; and change two preferences--background color and automatic new-document creation. So actually, it has many of the important features every document-based computer application should have. You know, I am only 14 years old, so the fact that I am actually reading and understanding my book and creating real Mac applications is so exciting to me. I can't wait to learn more (in my rare spare time, that is)!
Screenshots:
Preferences panel and document window
Deleting employees
Multiple documents
Friday, March 20, 2009
What's been going on...
So, if anybody ever comes to my blog, he might be thinking, "What happened to NXTism?" Well, the truth is that I haven't been messing with my NXT for a long while: neither programming nor building. I know, this is sad. I just haven't really been in to NXT (especially the building aspect) for quite some time. Visiters to NXTism may have noticed that all I hardly ever posted about was NXText, a program I had been developing for the NXT. When I first got my NXT, which was only two years ago, I was NXT crazy! I was building new things, putting vids on Youtube, and programming my 'bots. I got my second NXT one year later, but didn't use it as much as I thought I would. I kinda fell into a slump, where whenever I tried (and still try) to build something, I just don't get any creativity. It stinks. If I would get some "creative juices" flowing, as they say, then I would still love to build with my NXTs. Even though I wasn't building anything, I was still programming the NXT with NXText. NXText is a program that runs on the brick without the need for any external sensors or motors. As of v2, it lets you open, delete, send, archive, and unarchive text files on the brick. This program is, honestly, pretty silly, because it runs on the NXT, which is nothing like a real computer. Basically, out of the NXT came my love for programming. So, I discovered that I loved to program; "Where to next?" I thought. I have always loved Macs and Apple, so I knew that if I were going to develop computer applications, I would want to do so on a Mac (sorry, but I kind of hate PCs *please don't take this personally; it's just my opinion). The current and probably best way to code for the Mac is by using Objective-C and Cocoa. So that is where I headed; I bought Kochan's Programming in Objective-C, and Hillegass' Cocoa Programming for Mac OS X. Where am I today? Starting to develop my first little REAL applications! I am very excited. I am currently following Hillegass' book and am in chapter 6. I had been previously reading Kochan's book. So from NXT-G to NXC to Objective-C/Cocoa! Can you believe that? Only two years after getting my first NXT, I am now just starting to create applications on the Mac (very small, insignificant ones, that is. I'm only in the sixth chapter you know...). Pretty cool huh? And this may never had happened unless I had gotten my first NXT. Thank you Lego for creating such a great thing: it has helped me find my true passion for programming. So there ya' have it. Just some reflections on what's been goin' on in my life lately. NXTFreak
Sunday, January 18, 2009
NXText NXC v2
Friday, January 2, 2009
NXTasy problems?
I haven't been able to access www.forums.nxtasy.org at all today; the server must be having some issues. I really wish I could get on the site, because I want to check the BricxCC/NXC wishlist topic in the Software sub-forum. Are any of you guys having problems accessing NXTasy, or am I the only one? NXTFreak
Thursday, January 1, 2009
Objective-C
So lately I have been doing absolutely nothing related to the NXT (which is why I haven't been updating this blog). :-( Instead, I have been learning Objective-C using Stephen Kochan's book, Programming in Objective-C. I wish that I could just know it all automatically, but unfortunately, it doesn't work that way. It's a long learning process instead. Specifically, I am currently learning about categories, posing, and protocols. After I finish this book, I am probably going to read Cocoa Programming for Mac OS X. So there's a little update of what I have been doing recently. What are you guys up to? NXTFreak
Wednesday, December 17, 2008
What's on your Christmas list?
Well, with Christmas only 8 days away (screams with excitement like a little girl), I have been trying to decide what I actually want. Here are the books I would like to get:
- Programming in Objective-C
- Beginning iPhone Development: Exploring the iPhone SDK
- LabVIEW for LEGO MINDSTORMS NXT
Wednesday, December 10, 2008
It's here!
I finally released NXText NXC v1; you can check it all out here. One thing I might want to implement is a little startup graphic for NXText, kind of like the startup graphic the NXT firmware uses. Any ideas? If so, please share! NXTFreak
Wednesday, November 19, 2008
Memory management in NXText NXC
I recently posted over at NXTasy's forums (link) on some issues I have been having with NXText NXC where, after adding the ability to read text files that contain line breaks, my program could only open small files (3 kb). I therefore decided to take out this ability so that my program could open larger files. I then started using the ReadLnString function to read text from a text file. Well, trying to open a 6 kb file took 25-30 seconds using this function! That is WAY too long. I posted about my problems in the above-mentioned topic, and Mr. Hansen graciously helped me and came up with a solution. Using his code, my program can now open a 12 kb file (the largest I have tested so far) in a fraction of a second! If you render this baby, it ends up being 99 PAGES LONG! This greatly improved the speed of my program and works like a charm. I am now very happy... NXTFreak
Wednesday, November 12, 2008
Lack of updates...
I apologize for the lack of updates everyone (not that anyone reads my blog). I have be super busy lately. I have so much homework to do I'm sure I'm gonna' die (huddles up in corner and starts rocking back and forth while saying eerily, "Research paper, research paper!") Yeah so school has been my life. There hasn't been any progress with NXText NXC, unfortunately. So what have I been up to lately programming-wise? Good question. I guess I'll just have to answer that for ya'. Are you ready for this? I'm trying to learn Objective-C/Cocoa! Cocoa is an object oriented programming language for Mac OS X. If you don't know what the heck an "object oriented programming language" is, don't worry 'bout it. Basically, it is a programming language that uses objects. :-) Look it up on the web if you want to know more about it. You see, my hope is to become a computer programmer and to develop applications. So that's your little update for now. Farewell...
NXTFreak
Monday, November 3, 2008
Text menus are so awesome...
Alrighty! Sorry guys for not posting in a while. Life's very busy, and that isn't gonna' change until Christmas break (starts drooling). Back on topic, I wanted to go ahead and give you folk's a nice little preview of NXText (NXC) to whet your appetite, and so I did. The pic to the left demonstrates the file list. The cool thing about it is that it resizes. What do I mean by that? I mean if you have more than six files to display, moving the arrow to the very buttom file and then moving it down again will make the list scroll! Pretty cool, huh? And what's even cooler is that I can reuse the text menu because it is contained in a function! You pass a string array to the TextMenu function, and it will display it for you. That way I can use it for sub-menus and such. Well, there's you're little NXText update... NXTFreak
Sunday, October 26, 2008
Why oh why?
Don't you just hate it when you spend a good amount of time on some code that you think is going to shrink your program, but then actually makes it larger? It makes me so sad. :-( I was trying to shrink the Bluetooth code in NXText earlier this morning, and it turns out that after spending a lot of time on it, I just make the code larger. I have also run into a strange error when using NXText. Sometimes when I start the program (after starting it and quitting it several times) the menu and the list of files doesn't even show up! The only fix is to reboot the NXT. I hope that this error will disappear without me having to do some serious investigation. So, what programs have you guys been up to lately? I know that mike1 is working on ChatChatV1 BETA, Robolab 2.9 is working on the On-Brick Programmer, and NXTboy is working on his File Browser. Can't wait till they all come out! Feel free to tell me what you are working on! NXTFreak
Saturday, October 25, 2008
Managing large programs in NXC
So in the process of porting NXText to NXC, I have found that it can be more confusing and trickier to manage a large NXC program. Why? Because the program is composed of lines of text, and those lines of text build up and all look alike! Also, debugging an NXC program can be very painful. I hope that someday there will be a debugger for NXC. NXTFreak
Friday, October 24, 2008
Porting NXText over to NXC...
Yup, you heard right. I am trying to port my NXT program NXText from NXT-G to NXC. In the NXC version, the touch sensor will no longer be needed as a back button, for it will be replaced by the NXT's grey button. Also, the need to type in the name of the file you want to open will no longer be needed; a menu of selectable files will replace it. It's comin' along, but because school has been taking up most of my time, the development has been slow. I just can't wait till I finish it! NXTFreak
First post
Welcome to NXTism everybody! I will hopefully be able to frequently update this blog with my NXT-related dealings. On the side of my blog you can find some different links to NXT websites and the current NXT project I am working on. Hope you guys find my blog interesting and enjoyable at the same time! Have a nice day everyone. NXTFreak
Subscribe to:
Posts (Atom)


