A New Website

12 07 2009

I am happy to announce the launch of one of my first independent websites: paster

Paster is a very simple app for collaborative development, where you can paste your code and share it with anyone you would like. It supports syntax highlighting of over 40 languages, and I plan to add more as I can. It was written in PHP as you might be able to figure out after using it and was written in about a day and a half. So, go forth and paste!





The Anti’s Cloud

29 04 2009

Personally, I’ve always been interested in distributed computing. It’s one subject I’ve done a lot of reading on. After seeing a bunch of posts on various Google blogs, such as this one, I’ve decided I want to work on making my own little cloud. I know I don’t have 500,000+ computers to work with like Google, but I do have 5 (or so…I think I can scrap up a few more out of my extra parts).

I’m starting to plan out everything but this would consist of a “manager” computer, and then slave computers to do the actual processing. I’m going to be building a web server specifically for this purpose and using some undecided DBMS (I’m thinking about SQLite).

At least to start with, each request will only be handled by one computer, although I do plan to eventually spread the processing of one request over multiple computers. I’d like to start with smaller goals. The database however will store information in sort of a “striping” manner, where each database computer will have the same structure, data will be separated over multiple computers, but not mirrored. There will be an application inside the manager to layer on top of SQLite (or whatever I decide on) to manage the returned results from all the combined computers.

Again, I’m going to start small and start with a basic web server that serves basic HTML, and then move up and support a dynamic language (Most likely Python or PHP, not sure which yet though, or hell, maybe both). After I get all this working I will make it distributed between computers and reporting to its “manager”.

The only problem with this plan is that it seems like there would be a bottle neck on the “manager” computer. I guess eventually I’ll have to support several of those, and use a load balancer to switch traffic between them.

I haven’t decided what language I’m going to use yet, but I’m leaning towards Python. One might argue that something of this magnitude should be done in a language like C or C++, but the problem is I think those languages would make something like this too complicated, and would require far more code to do less. Personally I think python would be great for the job, however I’m still deciding because I might also want to use C#.

Will definitely keep updating as I work through the project. Feel free to make suggestions on how I should go about things.





Microsoft – It’s a Love Hate Relationship

20 03 2008

So first off, let me say, I’m pretty neutral about the different major Operating Systems. I like Windows for surfing, programming, and basic stuff.

I like Macs for their power with photo and video editing and unique and creative features.

I like linux for programming, and using as a server. It’s quite good at those things.

So now we can see some of the nice things about each. Now for most of my computers I’m running windows. (except 2 that are running ubuntu  server) The reason for this is because I’ve been doing so much programming in the last few weeks. I’m putting out about 300-400 lines of code a day.  Thats a lot. Now, at this point you probably know that I’m going to talk about the .NET framework and the Visual Studios IDE’s. I really REALLY hate the .NET framework because it is Microsoft only, just like everything else Microsoft makes. Though with programs like Mono, which I talked about two or three posts ago, I don’t really have to worry about the portability of the .NET framework. So that is one thing that makes me happy about Microsoft; It is still portable despite the fact that they don’t want to be.

Despite those things, I still like the simplicity of most of Microsoft’s programs. Microsoft stuff like Office and Visual Studios are quite nice. They hog memory, but other than that they are very nice. I love Visual studios. It makes programming in any .NET language so much easier and the form designer is probably the best thing about it. Choose the things you want, and drag and drop them. The IDE is so great also for people like me who just wan to experiment. The intellisense in Visual Studios is very nice, and makes it easy to just explore the language itself so you don’t have to go looking through man-pages to find out how to use a function, and that is so convenient. Hooray,  Microsoft made something that I really like for once :]

I still hate Microsoft’s web site. It’s impossible to navigate…





A Change Of Plans

17 03 2008

Ok so basically, as of a few days ago, Fizzure was scrapped due to liability issues. Boo~ I’m sure you’re all so sad. But to me, it’s alright. Fizzure was a great learning experience. And to make up for it, I have another project – yet to be named – that will be a huge project and hopefully spread very nicely. I’m not going to reveal it to you (mostly because we havnt named it yet, [yes, I did say "we"] ), but it’s an original idea with some twists. We’ll see what happens. Not even sure what language we are going to use for it, though it is probably going to be C# again, despite my ever growing dislike for the .NET framework.

More updates later…





w00t – Great Success

9 01 2008

I know for most professional programmers and really anyone else in general it isn’t much of an accomplishment, but for me this is – I got the basic TCP connection working between the Fizzure client and server.

The server is just a lightweight console application. So far all it really does is accept connections. But for now I guess thats good enough. Today, I need to work on the XML usage of both the client and the server, and then the interaction with XML between the two. For efficiency I think I will do a lot of caching data. But I guess I need to figure out how to do that as well. I’m going to have to do a little more planning and deciding before I do too much programming.

Also though, I need to work on the GUI for the client.  I’m thinking about making it kind of skinnable. Or at least it will have different like color themes you can choose from. But eventually, I want it to be skinnable. People do seem to like that, it makes you feel like your program is just that much more personalizable.





Fizzure Will Go Open Source – When It’s Ready That Is

7 01 2008

I have decided that my peer to peer application, Fizzure, will be open source! Exciting, I know.

However, I don’t think that I will open the source until I have a working beta build. Right now its still in core development. And it has a long way to go. Only the client will be open source. The central server that all will keep the information organized will be private and closed source. Sorry fellas. Out of luck on that one.

Fizzure will be the first application that I will publish officially, so I’m not completely sure how to go about doing so. My friend suggested that since I’m opening the source I should put it under the GPL. Sounds like a good idea, but, how do I do this? If anyone has suggestions for a n00b like me on how to go about doing such that would be great. If not, I’m going to ask again later anyways, once it is closer to an actual release.





Great News For me – Less Work!

7 01 2008

Despite last nights extreme anger over the fact that I thought I was going to redo the structure of my Fizzure application, I learned today that I most likely do not! And this simple fact makes me very happy. There is almost nothing I hate more than having to redo work.

I came into school this morning with some of my code in hand and went straight to my computer science room. My teacher (the ever brilliant Dianne Meskauskas) took a quick look at my code. As it turns out I had just made a small mistake of where I had placed the creation of one of my objects.

The error I kept getting was a NullObjectException when I tried to access an array. I had made the creation of the object inside of a timer, so each time the timer ticked, it was creating a new object. On the first time it ticks, it creates the object “o” of the OptionControl class and fills the array SharedDirectories. On the second tick, it recreates “o” and tries to access the now empty array SharedDirectories, thus giving me the NullObjectException

Here is the little code snippet :

private void timer1_Tick(object sender, EventArgs e) {
OptionControl o = new OptionControl();
if (count == 0) {
loadWhat.Text = "Finding Shared Directories...";
o.SharedDirectories = o.getSharedDirs();
} else if (count == 1) {
loadWhat.Text = "Scanning Directories...";
o.DoScan();
} else if (count == 2) {
loadWhat.Text = "Shared Directories Found!";
} else {
Dispose(false);
}
count += 1;
}

My mistake here is on the first line. This line needs to be taken out of there and made as a class variable instead of inside a method, that way it can be accessed from any of the methods and have the same data as well.





This Is What Happens When You Don’t Plan Your Projects!

6 01 2008

Man, I am going to be completely honest with you.

I am very angry right now.

With my new project, Fizzure, I did what I always seem to do. I jumped into it. I got the idea a while ago and spent a week or so organizing some of my thoughts in my head. But that is the only place I organized them, and that was my mistake.

Once again, I got screwed over by not writing things down. I was up until about 4 A.M. last night working on this project (just because I could be) and I got stuck on an error. Which at 4 A.M, Isn’t all that unusual. But even today I couldn’t figure it out. Of course after wasting most of today on this error as well, I realized it was because almost my entire project was structured wrong and would not ever work if I continued programming the way I was.

So just like what normally happens. I have to delete a large amount of work, and almost start over. I’m sure you would be angry too! But, alas, I have no one to blame but myself. It is because I was too stubborn and lazy to write things down! But on the upside, it gives me something to do during my boring classes tomorrow. *laughs maniacally*

So a lesson I learned today about programming was to always write out some organizational thoughts about your project on paper before you start actually programming.

On the upside of things, I did figure out some useful things last night while I was working, like how to read and write XML as well as a small amount of file and directory handling – among other things. I believe I really just need to copy and paste a large amount of my code into different places. We’ll see.