Encyclopaedia Metallum: The Metal Archives

Message board

* FAQ    * Register   * Login 



Reply to topic
Author Message Previous topic | Next topic
SadisticGratification
Metalhead

Joined: Sun Jul 15, 2012 3:00 pm
Posts: 406
Location: Ireland
PostPosted: Fri May 24, 2013 6:12 pm 
 

If so what language and why? I have two more exams to go before I start my post grad position as a software engineer and I'm really excited, I mostly program in C++ or C because I feel the flexibility v memory safety is well worth the trade off when you need it, I also do some minor programming in Python and Java. Really like Python for it's flexibility in terms of number of possible applications, I use it for building my software written in C++ or C through SCons. I like Java as a high level server side/middleware component, I feel the standard library has lot of useful classes in this regard but I feel it's completely inadequate for writing desktop applications, I cringe when I see software written in Java swing or awt :lol:

Top
 Profile  
inhumanist
Metal freak

Joined: Fri Jan 14, 2011 5:09 pm
Posts: 5634
PostPosted: Fri May 24, 2013 7:20 pm 
 

I had coding class in high school, but we used Delphi which is garbage, and I haven't programmed in a long time since. I hope I'll some day find the time to actually learn a useful language like C++, because programming can be a lot of fun and sometimes I want to do things on my PC that can only be done properly if I write my own programs. It seems like the best way to learn it would be taking a class since I can't really see myself learning the stuff on my own through reading. Or are there other good ways? Tips?
_________________
Under_Starmere wrote:
iHumanism: Philosophy phoned in.
Metantoine wrote:
If Summoning is the sugar of fantasy metal, is Manowar the bacon?

Top
 Profile  
SadisticGratification
Metalhead

Joined: Sun Jul 15, 2012 3:00 pm
Posts: 406
Location: Ireland
PostPosted: Sat May 25, 2013 9:12 am 
 

I never had any training with Delphi but I reckon any programming skill will help you learning a harder language. I would say that classes help, I take for granted the other aspects my degree taught me that necessarily aren't programming but have an impact when writing good code. Especially with languages like C and C++ memory management is a big part of it and not only for ensuring no memory leaks but also in terms of security as well. I would say that Python or Java would suit you better than C or C++ especially Python because Python is very expressive and multi paradigm so you can write code in any number of ways whereas Java is verbose and enforces a more Object Oriented paradigm. If you're looking at programming as a hobby get yourself a Python for beginners book and work from there.

Top
 Profile  
AppleQueso
Veteran

Joined: Sun Mar 01, 2009 11:02 am
Posts: 2525
Location: United States of America
PostPosted: Sat May 25, 2013 9:25 am 
 

I kinda know a bit of assembly (or well, the 6502) and have been working on some NES homebrew off and on, but no programming experience outside of that.

I've also been sitting on some Python resources and have been meaning to learn that, just a matter of getting off my lazy ass and working on it. I don't have any real ambitions to do programming as a career or anything, I just want to make programs for myself as I need them.

Top
 Profile  
SadisticGratification
Metalhead

Joined: Sun Jul 15, 2012 3:00 pm
Posts: 406
Location: Ireland
PostPosted: Sat May 25, 2013 10:00 am 
 

I've only ever done a tiny bit of x86 Assembly and it was hard :lol:

Top
 Profile  
AppleQueso
Veteran

Joined: Sun Mar 01, 2009 11:02 am
Posts: 2525
Location: United States of America
PostPosted: Sat May 25, 2013 10:26 am 
 

Yeah I can't even imagine messing with assembly on a modern system. 8-bit is plenty for me thank you. :)

Top
 Profile  
FearTheNome
Metal newbie

Joined: Fri Jun 13, 2003 8:41 am
Posts: 201
Location: United States
PostPosted: Sat May 25, 2013 10:36 am 
 

I'm a fledgling computational chemist. Most of the programming the group I'm in does is in C++ so that's what I'm working on learning.

Top
 Profile  
inhumanist
Metal freak

Joined: Fri Jan 14, 2011 5:09 pm
Posts: 5634
PostPosted: Sat May 25, 2013 10:39 am 
 

SadisticGratification wrote:
I never had any training with Delphi but I reckon any programming skill will help you learning a harder language. I would say that classes help, I take for granted the other aspects my degree taught me that necessarily aren't programming but have an impact when writing good code. Especially with languages like C and C++ memory management is a big part of it and not only for ensuring no memory leaks but also in terms of security as well. I would say that Python or Java would suit you better than C or C++ especially Python because Python is very expressive and multi paradigm so you can write code in any number of ways whereas Java is verbose and enforces a more Object Oriented paradigm. If you're looking at programming as a hobby get yourself a Python for beginners book and work from there.

Thanks, I'll have a look at it.
_________________
Under_Starmere wrote:
iHumanism: Philosophy phoned in.
Metantoine wrote:
If Summoning is the sugar of fantasy metal, is Manowar the bacon?

Top
 Profile  
SadisticGratification
Metalhead

Joined: Sun Jul 15, 2012 3:00 pm
Posts: 406
Location: Ireland
PostPosted: Sat May 25, 2013 11:09 am 
 

FearTheNome wrote:
I'm a fledgling computational chemist. Most of the programming the group I'm in does is in C++ so that's what I'm working on learning.

What do you guys use C++ for? I don't really know much about computational chemistry but I know physicists use C++ and OpenGL a lot for physical simulations, would it be similar except for using it for chemical reactions etc...?

inhumanist wrote:
Thanks, I'll have a look at it.

No problem, Python is also dynamically typed which means that you don't have to mess around with types and type safety the Python runtime engine handles that for you. This would be some sample Python as opposed to some C.

Python way
Code:
arraySize = 10
array = []
for i in range(arraySize):
    array.append(i)


C way
Code:
int i;
int arraySize = 10
int* array = (int*) calloc(arraySize, sizeof(int));
for(i = 0; i < arraySize; i++)
{
    array[i] = i;
}
free(array);


Assuming arraySize can be determined at runtime then thats the way you'd have to do the C way, also notice the types before the variables in C. Another thing to keep in mind is that the array in C cannot be further modified if you want to put more values onto the array then you can either copy the contents into a new array of bigger size or do a memcpy which copies the contents of one memory block(array in this case) into another memory location which can be used to add more values dynamically but once again this requires freeing memory after it's finished being useful. The Python way is as simple as append and this will work :lol: no freeing memory or anything just work on your data. Can you see why I tell you to choose Python first? :P I've been programming near 4 years now and I'm telling you if C was my first language it would have blown my mind :lol:

Top
 Profile  
FlaPack
Metal newbie

Joined: Mon Feb 14, 2011 9:36 am
Posts: 105
PostPosted: Sat May 25, 2013 11:36 am 
 

When you say "Python is also dynamically typed which means that you don't have to mess around with types and type safety the Python runtime engine handles that for you", does the engine determine the type when data is entered and change it if the data changes or does it use a boat load of memory to store an integer with useless precision. Or are you talking about something else entirely.

All the programming I do is within statistical or numerical computing packages (Stata and MATLAB mostly). I know, weak right? I did take a couple of semesters in C++ before I switched majors many moons ago. I actually took a programming course in high school back in the early '90s. ZBasic baby!

Top
 Profile  
SadisticGratification
Metalhead

Joined: Sun Jul 15, 2012 3:00 pm
Posts: 406
Location: Ireland
PostPosted: Sat May 25, 2013 11:48 am 
 

You know I don't really know a great deal about the Python runtime but what I do know is that the runtime determines the type based on the contents of the variable so when it is referenced for example take this as an example;
Code:
a = "Hello "
b = "World"
c = 2
d = 2
print(a + b)
print(c + d)


The Python runtime determines that for the first print statement that it is in fact concatenating two strings together using the + operator as concatenation whereas the second print statement knows both are integers so it adds them and prints 4. The actual integer being stored should be 32-bit if I'm correct which is independent of processor architecture because once again it is handled by the runtime. I don't think it would take up anymore memory than say a 32-bit integer in C or C++ but integer precision is determined by processor architecture in the case of C and C++. The mere fact that there is a runtime means more memory overhead for a language like Python or Java as opposed to the native runtime memory usage on a C or C++ program but it has nothing to do with how variables are stored but more to do with a program running in the background running your program. As for changing variables while running, do you mean if I had a variable 'a' and it stored an integer could it then be used to store a string afterwards and how would the runtime work with that? well it does allow you to reinterpret variables but it is generally frowned upon to program in that way and I'm not sure how exactly memory is allocated in that instance. I'm sure the runtime does some rejigging of the variable.

Top
 Profile  
HeWhoIsInTheWater
Metal newbie

Joined: Sun Oct 03, 2010 9:47 pm
Posts: 251
PostPosted: Sat May 25, 2013 9:22 pm 
 

I'm in a Java class right now. The final project is a video game (I got to write music for it!), so I'll post a link to it when it's finished. It's an old school style RPG, bad graphics, no story, just lots of stats.
_________________
Thexhumed wrote:
dat beard

Top
 Profile  
Nochielo
Metalhead

Joined: Mon Sep 29, 2008 8:20 am
Posts: 2388
Location: Puerto Rico
PostPosted: Sat May 25, 2013 11:38 pm 
 

Some experience in Visual Basic, HTML, Java, C++ and COBOL. Currently looking to expand my knowledge especially in Java and C++ because I only got to the more advanced stuff in Visual Basic which is far from ideal. Also looking to learn some JavaScript because though I have some solid HTML, no one works web pages with HTML alone. Pursuing computer programming as a career, let's see what happens.
_________________
last fm
"Beauty is the substance distilled
The rest of what you could not hold
You'd not take the splendor instilled
And I just couldn’t ask for more"

Top
 Profile  
wrathchild_88
Metalhead

Joined: Tue Mar 14, 2006 4:16 pm
Posts: 495
Location: United Kingdom
PostPosted: Sun May 26, 2013 4:50 am 
 

I really wish I'd taken the Computer Programming course at university - there were just too many other interesting courses! And to many boring core modules... Since then the only programming I've done is using Rainmeter, which is apparently similar in style to a highly simplified version of HTML, but it's still quite useful to think like a computer in ordering the functions for it to complete.
_________________
Last.fm

Top
 Profile  
SadisticGratification
Metalhead

Joined: Sun Jul 15, 2012 3:00 pm
Posts: 406
Location: Ireland
PostPosted: Sun May 26, 2013 8:04 am 
 

Java is well worth learning because it's simple enough in its execution and helps aid the programmer against common errors in languages like C and C++ but you can still write some pretty good software in it too. C++ is my favourite language to use because you can really get down to the metal and fine tune your code for optimisations not achievable in Java but you can also write higher level code that isn't possible in C without compromising the code quality or speed. I recommend learning both but Java first if you want to learn both, learning Java well enough will give you enough skills to tackle C++ properly because enough of the language is the same but then you'll have the basics of C++ already and then you can tackle the real hard parts like manual memory management, pointer arithmetic etc...

Top
 Profile  
Sick6Six
Metalhead

Joined: Wed Dec 05, 2012 12:01 pm
Posts: 1988
Location: Woodstock, IL
PostPosted: Sun May 26, 2013 12:54 pm 
 

I used to program C++ quite a bit, never got into graphics/video game programming though. I can still recognize and probably program basic stuff but now I just try to break other people's programs/games :crash: I keep planning to get back into it and study during my spare time but I always end up just playing games, listening to music or playing guitar instead.
_________________
My Bandcamp collection

Top
 Profile  
SadisticGratification
Metalhead

Joined: Sun Jul 15, 2012 3:00 pm
Posts: 406
Location: Ireland
PostPosted: Sun May 26, 2013 4:23 pm 
 

I have an idea, listen to music and program ;) it's what I do. I program pretty much everyday helps keep the skills sharp before I start working. Ever think of using a simpler language than C++ if all you want is to do some hobbyist stuff? not suggesting you're not capable of writing good software in C++ but you can really bash out something quickly with Python or Java.

Top
 Profile  
Sick6Six
Metalhead

Joined: Wed Dec 05, 2012 12:01 pm
Posts: 1988
Location: Woodstock, IL
PostPosted: Sun May 26, 2013 7:35 pm 
 

The company I work for uses about 50/50 Java and C++ so they're both good for me to know. Instead of listening to music while playing video games I should listen to music while programming like I used to. These days I'm pretty bored with most games anyway, but it's more of just an old habit. I actually just noticed I have 3 huge programming books collecting dust on a little table in the corner... Don't even know where to start anymore.
_________________
My Bandcamp collection

Top
 Profile  
FlaPack
Metal newbie

Joined: Mon Feb 14, 2011 9:36 am
Posts: 105
PostPosted: Mon May 27, 2013 1:40 pm 
 

SadisticGratification wrote:
As for changing variables while running, do you mean if I had a variable 'a' and it stored an integer could it then be used to store a string afterwards and how would the runtime work with that? well it does allow you to reinterpret variables but it is generally frowned upon to program in that way and I'm not sure how exactly memory is allocated in that instance. I'm sure the runtime does some rejigging of the variable.


Sorry for the confusion. I guess I thought you were implying that python's runtime engine might intuit and store a variable in the most efficient manner possible and then change the data type if new data required a larger type. I guess I should explain, I'm not a programmer by any means. I do a lot of statistics in Stata, working with large datasets. For instance a project I'm working on now has over 122000 observations of over 100 variables and I still sometimes have to bootstrap those up to get adequate degrees of freedom. When I'm doing more complicated (or maybe just poorly programmed) stuff my crappy laptop can take a real long time and if I'm not careful I run into memory limits on occasion during intermediate steps of complex estimations. Makes you real aware of how you're storing your variables and Stata has 5 different data types for numbers. I have a lot of dummy variables that are only going to take values of 1 or 0. Storing them using only 8 bits (the minimum available in Stata) instead of the default 32 bits saves a lot of RAM. It would be nice if Stata would just pick the most efficient type for me. For most things that would only save me from having to type one word every time I create a new variable but I am alarmingly lazy. There is also the fact that some of my datasets are periodically updated with new data. I need to anticipate what kind of data I may get in the future. If I don't know for certain that a particular variable that is currently limited to integer values between -127 and 100 will always take values in that range then I need to store it with 16 bits or 32 bits instead of 8 bits.

Shit, why did I just go on about that useless fine print. I don't even find it interesting. Whatever.

Anyway, I have been thinking about picking up python or something similar in order to scrape data from the web. Would python be the way to go?

Top
 Profile  
SadisticGratification
Metalhead

Joined: Sun Jul 15, 2012 3:00 pm
Posts: 406
Location: Ireland
PostPosted: Mon May 27, 2013 3:24 pm 
 

If you're looking at efficiency and number crunching and memory limits C or C++ is the way to go, you can store integers in various formats like a short which is 16 bit or int which is 32 bit or a long which is 64 bit although this is generally the case an int isn't definitely 32 bits and the rest aren't definite either it depends on procesor architecture but for the most part it holds true, but also there built in types for definite values like uint32_t, ...16_t etc.... all the way down to 8 bit integers unsigned if thats a problem. I see where you are coming from though, you want to pack the data as neatly as possible. Now that is my own opinion about number crunching and big data sets but I don't have a huge amount of experience like I said. Also C and C++ are statically typed so when you want to use something it has to be like;

Code:
uint8_t variable = 1;
short variable2 = 2;
etc....


As for scraping data from the web in what format are you looking for it with? do you want whole webpages? or just numbers? because if the whole web page is what you're looking for then there's no need to roll your own eb scraper as wget will rip webpages for you with ease and can even be automated. Be aware though the syntax is strict and if you're not careful you could tell it to (literally) download the publicly accessible web :lol: obviously not gonna happen but your ISP won't be happy. PM me if you need any advice on anything would be glad to help :)

Top
 Profile  
FlaPack
Metal newbie

Joined: Mon Feb 14, 2011 9:36 am
Posts: 105
PostPosted: Mon May 27, 2013 3:50 pm 
 

Just looking to get numbers from webpages that post data in charts and tables without having to do everything manually. Most of my research is sports related and I've had to do things like manually open hundreds of web pages and copy and paste data from charts into text files to get it into Stata. There has to be a better way when the source doesn't post the data in a more user friendly format. Of course some of this stuff is available from other sources if you want to pay someone to do the work for you. I would rather learn how to do it myself.

Top
 Profile  
SadisticGratification
Metalhead

Joined: Sun Jul 15, 2012 3:00 pm
Posts: 406
Location: Ireland
PostPosted: Mon May 27, 2013 3:57 pm 
 

Do you know the URL's of the web pages you want to rip? so in essense what I'm saying is there are 5 websites you get data from regularly and would like to automate that data retrieval? you could make a web crawling bot maybe in Java script and get it to search for key words. Lets say you wanted the latest scores from the Barclays Premier League from BBC, you could find the URL hardcode it in then get the Java script bot to search the page by element look for the table you want and scrape out all the data but that would require knowledge of HTML and Javascript. It's kind of a tough one but obviously very doable. Thinking something like Google web crawlers but way less sophisticated.

Top
 Profile  
FlaPack
Metal newbie

Joined: Mon Feb 14, 2011 9:36 am
Posts: 105
PostPosted: Mon May 27, 2013 4:14 pm 
 

Yeah, usually they are indexed in some logical fashion (common domain, folders by league, team, player, etc, page indexed by date or a sequence of numbers that follows some logical pattern over time).

Top
 Profile  
SadisticGratification
Metalhead

Joined: Sun Jul 15, 2012 3:00 pm
Posts: 406
Location: Ireland
PostPosted: Mon May 27, 2013 5:05 pm 
 

Could you give me an example you regularly use? because if there was a way to index these values then extracting the values would be relatively simple. Give me a link to one of the sites you use and I'll have a look.

Top
 Profile  
lurkist
Metal newbie

Joined: Mon May 07, 2007 7:11 pm
Posts: 223
PostPosted: Mon May 27, 2013 8:28 pm 
 

I keep reading this topic title as "anyone here pregnant?"!

Anyway, I did a little Amiga Basic back in the day! I've built a few HTML websites the hard way too. Also took the first year of a computer science diploma many years ago. Computers were very different beasts back then: 386 was the latest thing. I think we did some Cobol (one semi-genius guy immediately wrote a script to hack all our passwords, mine was embarrassing...), and some low-level (INT 10H). The learning curve was like _____/ and I failed the first year, never went back and became a bum.
_________________
Vigintiseptem wrote:
If invisible orbs of might appear in my hands and I'm compelled to hold them high, it's metal.

Top
 Profile  
SadisticGratification
Metalhead

Joined: Sun Jul 15, 2012 3:00 pm
Posts: 406
Location: Ireland
PostPosted: Tue May 28, 2013 9:48 am 
 

Simpler times lurkist simpler times ;) you should try getting back into it as a hobby if nothing else.

Top
 Profile  
lurkist
Metal newbie

Joined: Mon May 07, 2007 7:11 pm
Posts: 223
PostPosted: Tue May 28, 2013 1:32 pm 
 

Simpler times indeed! Nah, I'm chock full o' hobbies at the moment, primary being carpentry. I don't have the patience (or inclination) for programming any more.
_________________
Vigintiseptem wrote:
If invisible orbs of might appear in my hands and I'm compelled to hold them high, it's metal.

Top
 Profile  
SadisticGratification
Metalhead

Joined: Sun Jul 15, 2012 3:00 pm
Posts: 406
Location: Ireland
PostPosted: Tue May 28, 2013 1:47 pm 
 

Fair enough :)

Top
 Profile  
FlaPack
Metal newbie

Joined: Mon Feb 14, 2011 9:36 am
Posts: 105
PostPosted: Tue May 28, 2013 4:48 pm 
 

SadisticGratification wrote:
Could you give me an example you regularly use? because if there was a way to index these values then extracting the values would be relatively simple. Give me a link to one of the sites you use and I'll have a look.


Here's something I've been wanting to get but wasn't up to the many thousands of clicks it would take to get it the old fashioned way. NBA.com posts play-by-play data from every NBA game back through 1996. Subsets of the data are available in more convenient formats at several places on the web but none that I find go back further than 2005.

The first regular season game of 1996 has a web address of: http://stats.nba.com/gameDetail.html?Ga ... playbyplay Everything before the "96" is common to each regular season game. The "96" denotes the season. The "00001" denotes which of the 1230 games (actually 1189 in '96 as there were only 29 teams that season) the play-by-play is for. What I would love to do would be to write a routine to create a tab delimited text file from each page with the contents of that play-by-play table along with something to identify the teams involved (probably just a first line with "the name of the home team" "time" "the name of the away team" separated by tabs). From there it would be pretty easy for me to clean up and combine the files within Stata.

If you have any advice about how to go about doing that, it would be greatly appreciated. Like I said I'm looking to learn at least a little primitive programming to do this kind of thing on my own if it is as straight forward as it seems it should be to me. Maybe I am completely underestimating the difficulty of something like this. If you want to talk in more detail about it, maybe it would be better done through private messages so we aren't clogging up the board with something of zero interest to anybody else.

Top
 Profile  
Obfuscation
Metal newbie

Joined: Thu Aug 02, 2012 12:52 am
Posts: 83
PostPosted: Tue May 28, 2013 6:39 pm 
 

I took various programming classes from 2000-2002 because I really thought I wanted to make games. Started off with HTML and then went on to Visual Basic and C++ and a bit of Java. Also got to do a bit of AS/400 as well. I loved it, but I wasn't very good honestly. It's really satisfying after doing a bunch of debugging finally seeing a program all working correctly. Those damn infinite loops would always get me :P

Top
 Profile  
SadisticGratification
Metalhead

Joined: Sun Jul 15, 2012 3:00 pm
Posts: 406
Location: Ireland
PostPosted: Tue May 28, 2013 7:10 pm 
 

@FlaPack yes I'll PM you just there now and we can discuss it.

@Obfuscation I remember I was writing a basic command line text editor for one of my data structures classes and I wrote it in such a way where I wrote an infinite loop that kept writing empty spaces to a file and after running the loop for five seconds it wrote a 5Gb file :lol: a kind of inadvertent virus :-D

Top
 Profile  
FearTheNome
Metal newbie

Joined: Fri Jun 13, 2003 8:41 am
Posts: 201
Location: United States
PostPosted: Tue May 28, 2013 10:38 pm 
 

SadisticGratification wrote:
FearTheNome wrote:
I'm a fledgling computational chemist. Most of the programming the group I'm in does is in C++ so that's what I'm working on learning.
[
What do you guys use C++ for? I don't really know much about computational chemistry but I know physicists use C++ and OpenGL a lot for physical simulations, would it be similar except for using it for chemical reactions etc...?


There's people who use quantum mechanical calculations to simulate chemical reactions in a computer, but my group is a little more biophysics-oriented than that. We actually develop a software package for RNA secondary structure predition. We do physical simulations too, to look at 3-dimensional structure, but we use other people's software for that.

Top
 Profile  
Obfuscation
Metal newbie

Joined: Thu Aug 02, 2012 12:52 am
Posts: 83
PostPosted: Wed May 29, 2013 1:35 am 
 

SadisticGratification wrote:
@Obfuscation I remember I was writing a basic command line text editor for one of my data structures classes and I wrote it in such a way where I wrote an infinite loop that kept writing empty spaces to a file and after running the loop for five seconds it wrote a 5Gb file :lol: a kind of inadvertent virus :-D


I wish any of my many 'accidents' were that awesome :lol: at least they knew I was really trying to learn from it.

Top
 Profile  
SadisticGratification
Metalhead

Joined: Sun Jul 15, 2012 3:00 pm
Posts: 406
Location: Ireland
PostPosted: Wed May 29, 2013 2:36 pm 
 

:lol: what was the most complicated program you wrote?

Top
 Profile  
Obfuscation
Metal newbie

Joined: Thu Aug 02, 2012 12:52 am
Posts: 83
PostPosted: Thu May 30, 2013 12:32 am 
 

Well our final project was left up to us, though there were certain requirements that we had to meet with it. Anyway, I made a program where the user would plug in the speed of their computer (mhz, ghz) and it would return a message saying whether they had a slow, average or fast processor speed based on what I knew at the time. As if it wasn't obvious right? It was a really stupid idea in retrospect but it's what I felt I could do. It had a couple of other things going like it would give an error message if you just like typed in some gibberish or something and being able to terminate the program when you were done.

Made a few basic games from the textbooks as well, those were fun. Simple slot machine game, things like that.

Top
 Profile  
inhumanist
Metal freak

Joined: Fri Jan 14, 2011 5:09 pm
Posts: 5634
PostPosted: Thu May 30, 2013 4:57 am 
 

^ You could have improved upon that if you'd have simply factored in Moore's law. :-P
_________________
Under_Starmere wrote:
iHumanism: Philosophy phoned in.
Metantoine wrote:
If Summoning is the sugar of fantasy metal, is Manowar the bacon?

Top
 Profile  
SadisticGratification
Metalhead

Joined: Sun Jul 15, 2012 3:00 pm
Posts: 406
Location: Ireland
PostPosted: Thu May 30, 2013 7:59 am 
 

My final year project was creating an extension to the Video Quality Experts Group h264 decoder where the program would analyse the XML output and load in the frames and give you a visual frame by frame comparison of the different encoding techniques used during the video's encoding all taken from the XML file generated. Problem is the XML file could be incredibly verbose :lol: typical XML file for a video of say 300 frames(roughly 11 seconds) at a resolution of 576i would result in an XML file size of over 800 MegaBytes which is a lot :lol:

Top
 Profile  
Nochielo
Metalhead

Joined: Mon Sep 29, 2008 8:20 am
Posts: 2388
Location: Puerto Rico
PostPosted: Thu May 30, 2013 3:29 pm 
 

^Clearly above and beyond anything I have managed to do so far. The most complicated thing I ever had to do was to write a humongous program that handled a database for a fictitious multinational corporation. Very bare bones compared to the needs of an actual multinational corporation but still I had to do things like: a webpage, client order forms, payroll, user privileges (employee or admin), inventory, stock prices and transactions, forms to prepare balance sheets and income statements, search functions, among many other things. Took me like 4 months of the most intense work in my life, and incredibly pathetic compared to what Sadistic just wrote.

On another note, I did a Java method that wrote "YOU HAVE NO FRIENDS" on a couple text files in an infinite loop and copied it into a friend's program he asked me to help debug. He found out rather quickly though, so I couldn't get enough fun out of it. I guess I'll have to try harder next time.
_________________
last fm
"Beauty is the substance distilled
The rest of what you could not hold
You'd not take the splendor instilled
And I just couldn’t ask for more"

Top
 Profile  
SadisticGratification
Metalhead

Joined: Sun Jul 15, 2012 3:00 pm
Posts: 406
Location: Ireland
PostPosted: Thu May 30, 2013 4:01 pm 
 

It wasn't hugely complicated really :) was about 1200 lines of code and about 500 of that was just rendering the Graphical User Interface, the most complicated thing about it was getting the information from the XML which was massive and I needed like 10% of the information available. I had to create a structure of information that held multiple vectors of thousands of elements like macro block type and motion vectors and more, this information had to be packaged in a way that I could reference it and make choices on how to build the GUI and represent the overlayed frames. I used Qt as the graphical framework, worked out well to be fair. Like I said it isn't as complicated as it sounds. I really enjoyed writing it actually and have released it on Github as open source software.

I wrote one database like app in Java and JSP with MySQL as well and they're far from being uncomplicated, mine wasn't enterprise grade either was susceptible to SQL injection and had a hideous amount of bugs :-D but I am a much better programmer now all you have to do is keep at it, are you in University/College studying Computer Science/Software Engineering Nochielo?

Top
 Profile  
Nochielo
Metalhead

Joined: Mon Sep 29, 2008 8:20 am
Posts: 2388
Location: Puerto Rico
PostPosted: Thu May 30, 2013 4:35 pm 
 

Computer Sciences mayor, yeah. I often get to do this type of business oriented programming mainly because here in Puerto Rico this is sort of an emerging field so we get lumped in the Business Administration department. We get almost as much accounting and finances courses as we do programming. I don't do as much programming in my own time as I would like, though, I'll see what can I do to squeeze in a little more.
_________________
last fm
"Beauty is the substance distilled
The rest of what you could not hold
You'd not take the splendor instilled
And I just couldn’t ask for more"

Top
 Profile  
Display posts from previous:  Sort by  
Reply to topic Go to page 1, 2  Next


Who is online

Users browsing this forum: Google [Bot] and 33 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

 
Jump to:  

Back to the Encyclopaedia Metallum


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group