Wednesday, December 15, 2010

Reminisce (Another Blog Post)

I was thinking about possible blog post ideas and I got it. I remember back at Kealing that some of us got together and made something wonderful: Kealipedia. That's right! it was like wikipedia but specifically about Kealing. That was one classy sight. Kealipedia was the perfect way to distribute important (but non-slanderous or malicious) information about teachers we'd had before. Furthermore, kealipedia was a perfect way to commemorate the lore surrounding some of the more established teachers. I think someone out there should consider creating a lasapedia. Perhaps the lasa newspaper could moderate. Like the real wikipedia, anyone could edit lasapedia if they signed up for an account and were approved by the admins. The newspaper people could admin lasapedia to make sure no harmful information was spread. Whether or not this a good idea, it was nice to reminisce about the fantastic articles we wrote. Also, it taught us as middle school students about wikipedia and how group information sharing works. It also taught us that there are consequences to our actions (we got shut down after a year).

Another Blog Post for the Six Weeks

In the previous post I discussed my progress in computer science 2. It can be summarized as follows: our group has stopped working on the word processor and has been passing time until the end of the six weeks reading through AP computer science power-points. Next six weeks, we will come up with a new idea and start working on that.

Today I will talk about computer literacy. 
There is a problem in America. There are too many old people that do not have enough experience with computers. I am considered the IT person of my entire extended family. Seriously! I get frequent calls from my grandparents asking questions about how to save documents or how to find things on their computer. It is infuriating. Their are two options to fix this elderly epidemic. The first is to have more people teaching the elderly how to properly use computers. That's right. Make some other putz teach my grandfather that changing an internet setting will not do anything to harm his Quickbooks software. 

The other solution that is relevant to our computer science class is changing the inherent problem: the operating system. Today's operating systems are just too complicated and have too many features for the elderly to comprehend.
Even the most technologically illiterate young person is able to at least use a computer without destroying something. Why, you ask. Well, the answer is that young people are persistent. When my sister can't figure something out she just tries and tries until she figures it out. Likewise, older people will give up after a few tries. Once something breaks, they are helpless to fix it. I propose that someone (possibly me) design an operating system for old people. The system would likely just be a heavily modified version of Ubuntu or something that would be easy for old people to use. 

It would have the following features:
No sensitive data: this means that any hacker stupid enough to break in would find nothing of value (unless they like letters to grandchildren). 
Preloaded large icons with ones specifically designed for old people prevalent. Such icons would include Microsoft word, some web browser, a photo viewing program....
The visual aspects of the system would be important too. The system would have the optimal graphics for the elderly (everything larger and easier to read. That means aesthetic quality takes a dive though).

Also, this operating system would need to include a window (application) that makes it incredibly easy for the young IT relative to come in and fix the computer. This means no over the phone conversations. A simple call and the young person could get right to work.

OLD PEOPLE OPERATING SYSTEM. OPOS

Monday, December 13, 2010

12-13-10

My current progress:
Our group has decided that with the current state of our program we might as well drop it. Essentially, adding functionality at the stage our program is in is incredibly difficult. The idea of adding options such as choosing font or text size is exponentially difficult. Instead, we've decided to take up a new project. I have been reading up on the power points in the AP compsci folder to try and know the material before I take the AP. I've learned about output formatting, constructors, methods, variables, instance variables, and parameters thus far. I'm thinking about learning C++ or C. Right now, I still have no real idea of what I will do next in this course. I will continue reading up on the powerpoints for now.

Friday, November 19, 2010

11-19-10

Our application contains the following functionality:
  • Switching between full screen and small screen modes
  • We can open a file save/open window
  • In fullscreen mode pressing enter scrolls to the bottoms
    • Exceptions need to be added to this to check if the scroller is at the bottom of the screen or not. If it isn't then the application shouldn't scroll to the bottom
  • Font window under way
  • Tab size is now set to 4 characters instead of 8
  There are still quite a few problems. The font window is impossible to integrate into our main application. File opening and saving are also insanely difficult. Finally, we can't have multiple windows open at once. This is more of a product of our program design rather than an actual problem. We use static processes meaning that multiple windows can't be created.

I've also been working for the UIL competition. I have renewed my knowledge of data I/O streams.

Tuesday, November 2, 2010

11-2-10 - Progress

Our program now has some new elements(from the last time I posted). Our program now utilizes key shortcuts. Pressing Shift + Enter will move the user from non-fullscreen to fullscreen mode. Also, text entered in the non-fullscreen mode window will appear in the fullscreen window when the user loads it. It is at this point that problems arise. When the user tries to return to non-fullscreen mode, the text doesn't update and the theme changes. Seriously, THE THEME CHANGES. I don't really know how the theme changes because I disabled the theme for the non-fullscreen window. The hierarchy of our program is odd and may require some work. An added feature of the program is that we changed the number of spaces tab produces to 4.

Monday, October 25, 2010

10/25/10

Lately, our progress may seem to have been halted. We haven't been generating new code. Instead we've been setting up the code hierarchy. We want the full screen window of our application to open when the user enters a key code. We also are setting up the font window and have been on implementing various key macros. Right now we can open the full screen window when a button is pressed. Yet, we can't get the text from one window to copy to the other. I am working hard to make a font window open when the user enters in a key macro.

As a side note: I've been working on the USACO problems. They are difficult and require intense focus and couple of hours to code through. The problems mostly deal with algorithms.

Tuesday, October 19, 2010

This Post has No Title

Our group has reached a standstill in progress. To create a file open and close window requires the use of advanced IO data stream techniques (difficult). Right now I'm working on a window that let's the user choose the font size as well as the font. The idea is that this window will pop up when the user enters a command. We're also working with hierarchies between multiple classes. We need the currently independent classes to interact with each other. Below is a screen shot of our progress.

Sunday, October 10, 2010

Major Progress

With a group member gone this week my partner and I have made significant progress on our project. We have designed a full screen text window with appropriate inset margins, a scroll bar, and copy-paste functionality.

Now there are a few new problems that I anticipate. First of all we need to code a way to implement the two, separate windows we've programmed. This will require going into some java textbook and studying hierarchies again (super etc..). After this, I want to change the GUI theme that our java program uses to give it a more minimalist look. This requires the use of imported themes that I don't know how to implement.

A major problem we know reach is that it is hard for everyone to edit code on their own computer. That is, the code for the program has grown to an extant that sending everyone a copy is redundant. Also, as we get more complex, the program requires that we delve into the thorough documentation provided by Oracle (no easy task might I add).

In summation, our group has made a lot of progress this week. The main problem is that the more we get in to the details of GUI programming, the more necessary official documentation is. We need to find a way to efficiently edit and share code (possibly a cloud solution).

Tuesday, September 28, 2010

Progress

Our group made a lot of progress this week. It took me awhile but I finally isolated the code to add a text window to our basic application,:

       JEditorPane editorPane = createEditorPane();
        JScrollPane editorScrollPane = new JScrollPane(editorPane);
        editorScrollPane.setVerticalScrollBarPolicy(
                        JScrollPane.VERTICAL_SCROLLBAR_ALWAYS);
        editorScrollPane.setPreferredSize(new Dimension(500, 500));
        editorScrollPane.setMinimumSize(new Dimension(10, 10));

The code requires that a scrollpane be created with an editor pane within that scroll pane. We've also isolated how to make an application go full screen and how to change the font of text.

Clearly, adding function to the application will be the most difficult aspect of the program. As it turns out, the design gets easier. The next step in designing this application will be adding key even listeners. These bits of code allow for you to perform methods automatically after a key command. Essentially this will add the functionality where pressing Ctrl+O will open the open file window.

Sunday, September 19, 2010

Dilemna

I have a dilemma. I don't really know which IDE to use. Eclipse is amazing for coding. However, it has no GUI Editor - that makes things more difficult. Then again most of the GUI editing tools I find use hard code. NetBeans makes designing the GUI so easy. I'm just not sure if I can get used to it quickly. I'm leaning towards eclipse right now. If anyone knows which I should choose feel free to comment.

Wednesday, September 15, 2010

Post #1: Starting Developement

Right now our group is still trying to work out a definite plan. Our program is meant to be a word processor designed for students. The program will run in Java making it compatible across all operating systems. The most unique function of the program will be its full screen, distraction free, typing mode. Initially, we planned to design this application in the Eclipse IDE. However, while reading through some java.swing tutorials on Oracle's website, I found that NetBeans has integrated GUI development tools into their IDE. This has posed a dilemma. Right now NetBeans seems like the logical choice but I'd rather use the Eclipse IDE. Hopefully, Eclipse has a plugin that integrates GUI development.

On top of all of this I'm studying for the Computer Science AP Exam. I'm not too worried. I beleive I can learn all of the concepts quickly enough. I am dreading GridWorld though. I don't think it will be difficult - I just don't want to do it. Strings are easy to understand. I am looking forward to learning about recursion.

Till' next time