Monday, 16 July 2012

hundreds of ways to do one thing

i been reading around lately, the new books i got and online here and there for advice on how to do certain things.

it makes we think everyone has there own style and method of doing stuff when programing. now some of it is bad some of it is quite clever (and some of it depends on your point of view). but they can all accomplish the same objective (just in a different way). always doing things differently means there are differences in the way it acts or preforms (go visit 3 or 4 different websites that have web forums and you will notice a difference between how they all deal with data just from the UI). 

so seeking adive for a lot of different sources can be a bit problematic, as you end up making something work in a number of different ways (like using JSTL tags for some data query and then ignoring JSTL and just use java script in a different place), i think what makes the difference between a good programmer and someone who can just code is that a good programmer can look at code or example code and understand what is happening (thus being able to see what is happening in all the different approaches) then match them all up so they work in a perfect union. someone who can just code will place all the different methods of performing a task that he knows, program works but its not as good as it could be.

i used be to that someone who just codes (and sometimes i still am when i have no clue at what I'm looking at) but over the years i have learnt that you got to really understand your work to make it perfect, even if that means a bit of a headache trying to figer out why this does that...

on the same note though different is good. lately i seen two different methods of accessing the XML data from the eve API, both work and work well. just they did in in different ways. as examples give me a few good ideas to make my own framework for this task as there is no point in using someone Else's work if i want to really learn how to do this, after i done this i can use it again or seek someone Else's work but for now i want to know how i can do it and how it works, which in turn sets me apart from the person who just codes

till next time
Antony

Sunday, 8 July 2012

thinking about how to deliver

right well my last blog was a huge ramble...
but basically long story short is im learning C# (very quickly due to my experience with java), to give me a good test project (which i can use and develop) im making a program for a game i play to fill a role i never seen filled before. what i did not say in the last blog and really should of, is that i am testing concepts and still trying to finger out the format for this project, i already have a good idea of how i am going to lay out the system (good idea as in i know i going to make several class's to read and process the data from the XML sites, UML to follow).

now the matter on my mind at the moment is how to deliver
delivery of an application can be done in 3 simple formats that i know of, though the web, via a windows application or finally is a mobile application. Of course im talking about how users will access the app (for instance if a user downloads the app and runs it on there PC means the delivery is done via windows app), Now one simple fact, the API im using is only useable if you have director internet access so being online is not an issue (also as im making the app so it does not retain any data at this moment), but any of the above methods have access to the net. 


now after thinking about it for a bit i think i would like to make this in to a web app. there are 2 main reasons, A. making a windows app is easy and not that impressive anymore, so having a web app is much more impressive (also most places seem to want programers with website development skills) B. i been thinking about making a portfolio website for a little while, somewhere i can test my apps and show them off, also its fantastic fun especially when you make something cool and can show it off to your friends 


on the note of mobile apps, i would like to go there but i lets do one thing at a time, i know a little but not the amount needed to develop a mobile app by myself and release it 


thats what im thinking about at the moment 
well im also thinking about iterators but thats another story :)

Monday, 2 July 2012

The start of something wonderful

Here I am, just about to get my results for my degree; I have learnt java and VB.NET over the last 4 years. I know them both quite well (not going as far as say I’m a master at them i need a lot more practice at them to get that far and that only comes from working on them in a development job, or large projects which i will get on to later in this blog).


So I have nothing to do, at the moment, no course so no new education... looking for a development job but these things always take time. While looking around at jobs I found that a lot of the .Net jobs use C#, I have seen a lot of C# code (my games programing friends used it a lot and I helped them work out what they were doing) not had much expranice in programing with it. So I say to myself "I want something to do, and then let’s learn C#", and off I go. my 1st stop is here http://msdn.microsoft.com/en-us/library/67ef8sbd%28v=vs.80%29 the Microsoft msdn (Microsoft development network) that page is for C# guide, the Microsoft msdn is a wonderful place if your ever stuck with a .Net tech. anyway time to get stuck in and learn some concepts, 2 mins later I’m thinking that C# looks almost identical to java... and I’m right it pretty much is, but it’s a mistake to go ahead with that belief and make something big as you will hit a wall by messing up something way down the line... so I find this page http://msdn.microsoft.com/en-US/library/ms228358%28v=vs.80%29

 (C# for Java Developers) wonderful stuff just what i need to get my head around C#. it highlights all the ways it is the same and the key points which make it diffrent.

So now I got toghever a nice little reference guide so I can start some test projects (starting with the famous "hello world"). I start thinking to myself I want to do this the right way so I good reference book will help organize my thoughts and give me something to read when I don’t have a power source...

So I do a little research and come up with this...




I’ve not even opened it yet, but mostly people say it’s a good reference book, which if you get stuck you can go back and learn it ground up. After a flick though very much looks that way. (With basic and then advanced stuff close to the end Inc a bit of ASP.NET). now I know all the concepts of object oriented programming but sometimes its different trying to implement it in a new language, so this should help me get to grips with C# then later be a nice reference I can come back to.

now I have been working on my portfolio, as I know it is what will set me apart from other applicants to jobs (back to the jobs them). So I want to start a nice project for C# that will not only demonstrate I can use C# (when it’s done) but demonstrate some of the more useful OO development concepts like interfacing and inheritance. The project I’m starting is in fact for a game I play online called "eve online", without going in to detail it’s a big game with lots of players and lots of depth. The company who make the game provide an API in the form of XML pages full of date about accounts in the game. (Or other aspects about the game), you can access this data using an API key (for account detail). now in the game people often require that players hand over there limited api key (limits the amount of stuff you can access with the api) so that they can check out that account make sure there is nothing strange going on before they join in with whatever they are applying too.

now tradiconaly people do this manually by hand (using other apps made for the game but now designed for this purpose) I want to make a windows application using C# that is deigned to do just checking up on accounts and nothing else, giving valuable feedback to the user (as I been playing the game for over 5 years I got a good idea of what will be useful but I am also asking my friends for ideas).

So that’s my project, it’s going to keep me busy and hopefully add something good to my portfolio demonstrating my technical understanding.

While I was getting the reference book I also made up my mind to get a book to help develop my approach to programing (as I believe it is something else that will set me aside). So I got this...
"code complete 2" (got it for kindle app on my tablet) basic a book about how to approach programing and do it right, I not started reading yet but I will tell you more once I do (same goes for the C# reference book)

In other news, my job hunt is going well; I just need to find that magic spot where both I and the company am prefect. It’s going to take work (portfolio, interviews, tests, bla bla bla...) but I think if I keep on top of my game (keep working and learning) I will get there in the end.

Part of all that is updating this blog, even if this might be a bit of a ramble.
Hope you enjoyed reading

Till next time
Antony
Learning...




Wednesday, 30 May 2012

setup!

my laptop had major hard drive issues lately seeming as its 5 years old and getting slow in more ways than just the hard drive failing i felt it was cheaper to replace it. (i will repair it give it my mum :P) anyway so nice new laptop (a good strong Acer brand with I3 and lots of RAM), so first thing on my list is to uninstall all the stuff that comes with them (useless stuff, stuff that gets in my way or things they trying to sell me). so now that clean up is done time to get installing my software for development and personal stuff.



so i forget how much work you have to put in to getting development software tools working, my big example is i have been using eclipse and apache tomcat to make web apps. now alone apache tomcat requires a bit of setting up, to make eclipse and tomcat to work together (as much easier to run the sever from the development kit) that takes a little know how and time.

took me about an hour to be able to do my java development, download the Java development kit (JDK) get eclipse and tomcat setup (and running). all that done now its time to look at the .NET framework, now get hold of the express Visual Studio that Microsoft offers to home developers. easy to setup really but download and install times again add another hour to my setup time.

the list goes on now we are looking at MySQL, databases are impotent to all the apps i work on as personally i prefer them to be data driven. not long to setup MySQL and then also setup my office version of Access (get hold of that thought the Microsoft student store).

so i have java and .NET development setup
the server setup
and database server/application database setup

put on top of that office, firefox, personal stuff such as steam and plugins for web browsing 
hay look my day is gone...

but now i am ready to go code to my heart's content

Friday, 18 November 2011

The little things

I just notice that my uni computers warn you if you have a USB pen still plugged in
Little thing but it just saved me forgetting the pen
Funny how sometimes the little things In programming can give you the best result

Friday, 7 October 2011

a little something to get started with

just a little post to give my blog some body, before i start blogging in it for real.

at the moment things on my mind are:
the timetabling software project i got to do for uni, i am thinking a lot about the limitations i am going to meet trying to make a timetabling system, i really think i can make something workable on a small scale but i keep thinking about the computing power such a basic system would need to process timetables for much larger organizations. solutions keep coming to me, but most of them wont work... but might help a little... some examples:
  • lots of randomization in the system (bad idea will just lead to messy timetables)
  • groups objects (such as a classroom) in to other objects (such as a building) and only processes information related to such items when needed (helps with workload just hard to implement and has limitations and we will still be talking about a lot of processing power to even work that out)
  • move of the above (using subject areas for example)    
  • have more user input? (whats the point in automatic systems then but their may be ways of having more user input that helps)
  • combining all of the above (which i think i am going to have to do anyway)
as for other stuff
my PC keeps freezing while i do anything that requires video processing (3D and streaming) i am not sure as to was the problem is (might be rouge program doing something stupid or hardware fault) iv already tried resettling all my hardware in to the motherboard (meaning i took all the parts out and put them back in again) and uninstalling and reinstalling video drivers (so i got a clean install). it seemed to work at 1st but then i had the dreaded freeze come up (its quite random which is annoying and not critical so the computer has no restart). i might try formatting my drive (its been a while its about time anyway) see if that makes a difference if not only thing i can think of is the video card is got a fault then a long RMA process ahead (as its almost brand new)

such is life
hard to play computer games when you freeze for 5 mins or so (tend to die a lot in the process especially online)

i think that me filled up my 1st post
time to sign off