Jump to content
Search In
  • More options...
Find results that contain...
Find results in...


  • Content Count

  • Joined

  • Last visited

Reputation Activity

  1. Like
    Darkfeign got a reaction from marto in Computer Science, Relevant or?   
    I am also a Computer Science graduate, and can say that it's definitely a worthwhile degree, particularly here in the UK. There are ample graduate opportunities with companies like BT (our main telecomms. company), IBM etc. and it teaches far more than most people will be able to teach themselves. You won't simply learn how to write java programs, or C++, you'll learn key software methodologies and design patterns, low-level details that alter your high-level programming techniques to allow you to program more efficiently, and all kinds of other things.
    The whole point of a CS degree is to give you a comprehensive, general knowledge of Computer Science, with some details in areas such as programming/software development, maybe security and data structures. Jobs are countless for CS graduates all over the world.
  2. Like
    Darkfeign reacted to Woodypc in Dust Filters: To Filter Or Not To Filter   
    I uses Demciflex filters on all the intakes to my case.
  3. Like
    Darkfeign reacted to wolfsinner in Web Development   
    If you want to become a good web developer, you need to learn things one at a time.
    The first thing I'll tell you to do is drop PHP. At least for now. PHP, while widely used, isn't really a good language (and so isn't JavaScript). Unfortunately we have no other option than to use JS, but we can get better than PHP.
    First, work on producing the web design. Learn XHTML and CSS. But learn proper CSS. This book is good to understand how CSS works and renders, and is also a good reference.
    As for XHTML, you only need to know how and when to use the most basic tags in conjunction with CSS. Forget about tables, for example. It's all about divs. I find that whatever you'll be needing to use can be easily looked up.
    As for actual programming, this JavaScript book is probably the best book I've read on the language.
    Also, like I said, drop PHP for now. Ruby and Python, for example, are much better languages. I'd also recommend you to understand MVC, and use some framework (like Rails, or Django). But if you insist on using PHP, CodeIgniter or CakePHP are good PHP MVC frameworks.
    The language documentations should be enough for you to become proficient in the language's syntax.
    Finally, learn how to actually write good code. There is a plethora of material you can read on this. Usually language-specific books aren't the greatest thing. This is a general book on good programming. Code Complete, in my opinion, should be read by every developer.
    By the way, I just realized I sent you links from Amazon UK and you're probably from the US. Sorry about that.
    EDIT: Oh, and, most dynamic web pages need some sort of data storage. Usually databases are used, and a good (free) DBMS is MySQL. You should learn some SQL, at some point.
  4. Like
    Darkfeign got a reaction from wolfsinner in Which language?   
    Welcome to the programming section. Glad to hear you're interested in getting started with some programming.
    Like the guys above have said, there's never a right language to pick. Pick one that interests you, maybe do a bit of reading on generic programming terms, as well as the comparison between imperative and functional programming languages, and then follow other stuff like strong/weak typing. For stuff like this it can be helpful to get a proper programming book, but if you want to research online first without committing, there are a few options for you.
    First, i'd take a look at the programmer resources thread that's pinned. This has a bunch of good resources compiled by frequenters of this section of the forum. I'd then suggest looking at a couple of the language resources there and seeing which you might prefer. Python, for example, is a great starter language as it lets you interact directly with the interpreter if you so wish, and you can avoid the need to learn specific syntax rules (another programming term you might need to look at). If you fancy getting straight into other popular languages, Java is often a popular place to start, though some people feel different about Java (C# could be your alternative).
    C++ is often a popular language for anyone looking at serious programming, but be aware that you'll be introduced to memory management almost immediately when getting into the language. Memory management can be a pain and is avoided entirely in languages like python and java, so i'd suggest leaving it for A-levels, and picking it up after some introductory programming.
    I started with a little PHP but quickly grew to dislike its... messiness. Python was the first proper programming language I used and it's great! Vast amount of help online, and great resources for UI and graphics etc. Then I moved onto Java. Really good for developing decent software while avoiding memory management, but there are always countless issues with Java's VM that people come to dislike it for.
  5. Like
    Darkfeign reacted to HerEscutcheon in Good quiet pc case with a window?   
    I would go with the Fractal Design Define R4. I'm really surprised nobody has mentioned it yet. Weird.
  6. Like
    Darkfeign reacted to Zonked in Getting Started   
    If you're going the Java route then I highly recommend this book! It is very good! 
  7. Like
    Darkfeign reacted to rufidmonki in C-style strings vs library strings   
    With C-style strings, you need to reallocate when changing the string. There's a more direct handling of the string. An std::string has operators for all of this already. You could make your own string class however. "rexlee_string" or something. However, that would require a lot of work from your side in optimising it. It also sounds like you're new to C++/programming, so that would be highly unrecommendable.

    Here's an example:
    char* mycstring = "My C-string";char* yourcstring = "Your C-string";std::cout << mycstring + yourcstring; Now, that creates a problem because mycstring and yourcstring are POINTERS. And also, it's an array, and the c-string is the pointer to the first index.
    If you allocated more memory for your c-string and don't delete it before it goes out of scope, you've got yourself a memory leak.
    It's much easier with std::string, as you can use the operators as with a number. (well, not - * and / etc) and it deals with all the dynamic stuff itself.

    There comes a point where you need to use char arrays though. A buffer for instance. Maybe for networking or filereading/writing.
    (Though, there's a C++ alternative for this too, called std::stringstream, you should look it up - it's very useful sometimes)

    As for your second question, it depends.
    If you want an array that only needs, let's say 10 elements, then you should go for a static array. "int myarray [10];"
    However, if you're not sure how many elements you need, you should go for an std::vector.
    When you're using polymorphism or have another need for pointers in the vector, use the new operator and pointers as the vector type. If you don't need a pointer, just make it an std::vector<int>, for example.

    I am not a fan of iterators however. I have never ever used them to be honest. They do have a use, but it's really rare and you usually don't have to use them.
    A typical loop to iterate over all elements in a vector should look like this:
    unsigned int vectorsize = myvector.size();for (unsigned int i = 0; i < vectorsize; i++) { std::cout << myvector[i];} Well, honestly I never assign the size to a variable, but it's faster in some cases.

    So yeah. static arrays should be normal arrays, but vectors are very good for dynamic arrays. Just the same way C++ strings are good for dynamic strings. :)

    It makes everything less tedious.

    Hope I was at help.

  8. Like
    Darkfeign reacted to MikeD in Ultimate Programming Resources Thread   
    I was talking about software architecture in another thread (about organizing ideas when programming) and I remembered this book we read some chapter of in class: AOSA book (Architecture of Open Source Applications).
    It has two volumes and every chapter of both is available at the website. In each chapter authors of an open source application talk about the architecture they used in their applications and what they learned from doing it the way they did. It is a great way to know how to structure an application based on the problems we have to solve.
    Also noteworthy is "Distributed Systems: Concepts and Design - George Coulouris, Jean Dollimore, Tim Kindberg and Gordon Blair". It is a very useful resource for people that want to know more about distributed systems. I have used it for two courses in college and I think it talks about most of the relevant aspects in mobile computing, security, replication, consistency, etc. Here is the link to it's website (so you can see the table of contents, among other things, and not just believe my half-baked explanation!): http://www.cdk5.net/wp/
  9. Like
    Darkfeign reacted to alpenwasser in Why program on Linux?   
    Note: Been using Windows since Win 3.11, and Linux since ~ 2005. Not a programmer by trade,
    but I do use my machine to code quite a bit when I get the time (mostly C/C++, PHP, Perl at
    the moment). Current main distro is Arch Linux.

    The one main benefit I have come to love about GNU/Linux and other similar UNIX-like
    operating systems is that they are inherently designed with tinkering and writing
    software in mind. They are operating systems by developers for developers.
    The thing that gets on my nerves the most about Windows is that while I don't
    necessarily consider it to be a bad product it has so obviously been designed
    with average Joe in mind that it's been dumbed down a lot and lots of choices
    and options have either been removed completely or made extremely cumbersome
    to achieve/set/change.
    Now, that in and of itself is not necessarily a bad thing, and a completely
    legitimate strategy (tbh I think it's a much more viable strategy for broad
    marketing and getting computers to the masses), but it does make Windows and
    its underlying philosophy less suited to my personal preferences and tastes.
    The major example about this would be the extremely tight integration between
    the operating system and the graphical shell (the overall Windows GUI) in Windows.
    In Linux and similar operating systems the command line interface carries a much
    greater importance than the GUI, and in fact you are not even required to run
    a GUI.
    And when you do, you have a plethora of different desktop environments and window
    managers to choose from, and most of them can be quite extensively configured to
    suit your individual tastes (personally, I usually prefer a tiling window manager
    for work, for example).
    While you do of course have the powershell in Windows, the fact that it's more
    of an add-on to the GUI than the other way around clearly shows, and makes live
    quite a bit more complicated for a CLI lover like myself.
    Another thing which I much prefer in Linux than Windows is that configuring the O/S
    and its components is much more transparent; usually it's achieved by editing pure
    text files rather than ticking boxes in a dialog window. Of course, many prefer the
    latter way of doing things, but personally I find it very convenient to be able to
    edit a machine's configuration in a text editor on another machine and then configure
    a system simply by copy-pasting a few text files onto it.
    Anyway, as for programming itself, here's what I personally appreciate about coding
    on Linux/UNIX-like systems:
    Since the system is very configurable and those configurations are very easily portable, I can set up a machine exactly the way I like it and port that config
    to other machines on which I'm doing work. This results in better work flow and
    higher productivity.
    The inherent design principle that the system is supposed to be easily tinkered with also adds to that flexibility.
    The open source culture makes acquiring and modifying existing code, whether that be for satisfying personal curiosity or to actually achieve something
    productive, easy and dependable.
    In the years I've been running both Windows 7 and Linux on our household machines, I have found Linux to be more stable. I wouldn't consider Win 7
    to be an unstable system (at least not for me), but I have had noticeably
    more issues with it than with any of my Linux setups. Not that Linux is 100%
    stable or completely free of other issues, of course. This is just a personal
    observation from a very small test sample though.
    Centralized software repositories with signed packages. No downloading software from different websites. It's all right there, verified and secure.
    I'm sure there are others, but that's what comes to mind at the moment.  

    I'd say this very much depends on what aspect of the O/S you look at. Desktop
    environments and integration with other devices is definitely easier on
    Windows, but from what I've used myself, that has often been more of an issue
    of vendors not properly supporting Linux rather than an inherent fault of Linux
    itself (getting pictures off my Canon Eos 600D is quite a bit more convenient
    in Win than in Linux, and don't get me started about scanners and printers...).
    Same thing with office documents. The open document standards are quite mature
    at this point, the problems I've seen in my personal use have almost exclusively
    been related to Microsoft's proprietary document standards not being properly
    But for programming, I have found Linux to be much more polished and convenient
    than Windows, at least for the languages in which I've written software. And the
    fact that I encounter many fewer stability issues with my Linux machines than with
    their Windows counterparts makes me think much more highly of its kernel than of
    the Win kernel.
    Overall I do agree that there are many small niggles in Linux that still need
    to be fixed. But I wouldn't call the O/S unpolished in its entirety, just certain
    parts of it.

    Indeed a very valid point. Vendor lock-in is one my my major pet-peeves when
    it comes to using MS or other proprietary products. And the power of the
    command line is really something I've come to appreciate.
    Overall, it's maybe not so much about which O/S is inherently and objectively
    superior in its entirety, but it depends a lot on your personal preferences
    and what language you write software in. For somebody who's scared of the
    command line, programming on Linux is probably not really something I'd
    recommend, but then again, such a person maybe shouldn't be programming in the
    first place. :lol:
    EDIT: Ninja'd :lol:.
    Spartan's opinions seem to follow a similar pattern though, I agree with his
  10. Like
    Darkfeign got a reaction from raxx in Why program on Linux?   
    Definitely right with your main statement about Linux being entirely unpolished. It really is.

    However most compilers run well under linux, I mean it's open-source like the majority of software out there now so it encourages a lot of community development and support. The terminal (bash) is really powerful and so it's great to use for interacting with a compiler that doesn't tie you into Microsoft's versions of software like C++. Most compilers are also available as a GNU port (such as GCC) so you can often get the standard implementation of your language's compiler rather than a platform-specific version like you would find with Visual C++. This makes porting code from linux to windows easier than the reverse.
    That's my reasoning anyway. There are a lot of things I've grown to enjoy using linux for revolving around programming. The free software that supports most aspects of work is a real bonus.
  11. Like
    Darkfeign got a reaction from majorawsome in Programming Challange: Ceaser Cipher   
    Man the difference in amount of code required between C and python becomes so apparent in the above two examples.
  12. Like
    Darkfeign got a reaction from majorawsome in Programming Challange: Ceaser Cipher   
    Man the difference in amount of code required between C and python becomes so apparent in the above two examples.
  13. Like
    Darkfeign reacted to Flojer0 in How do you put your ideas together?   
    I will note that aside from a good computer I believe that a white board (or more :P ) are a programmers best investment.
    I usually start with a flow chart to give me an idea of how I want my program to be laid out. Then I dig down as pseudo code with method calls and the like. If it is still too abstract I'll draw more charts and dig until I feel I've reached bottom. At this point coding is usually pretty hassle free, but I do  have to go back and re-do some ideas because I didn't dig down enough.
  14. Like
    Darkfeign reacted to Spartan-S63 in c# or c++?   
    That's not stupid, that's type-safety. Doing exactly what you described is violating the rules of strongly-type languages. You always need to cast.
    C# is a managed language with manual garbage collection. It's a feature of the language not to allow pointer manipulation in the standard environment. While I do like being able to manipulate pointers, it's a feature of C# that it abstracts that degree of control away from the programmer. If you don't like it, don't use the language, but on a whole, the language is sound given the practices and principles the original creators were going for.
  15. Like
    Darkfeign got a reaction from coder-guy22296 in Im planning on learning as much of lua as i can this weekend   
    Wish I could help you out, as I've looked at Lua before and it sounds pretty cool, but short of Googling 'Lua Tutorial' there's not much I can provide. Good luck.
  16. Like
    Darkfeign got a reaction from LordGarth6 in Embedded C migration question   
    C is a little harder to get your head around after doing something like C++ as it lacks quite a bit of abstraction, but there's no reason why you shouldn't be able to get into it. You just have to pick a solid resource to learn from. C won't have most of the object-based programming practices implemented so structs are used to group data together, but at a fairly basic level.
    However if you understand basic concepts in C++ like memory allocation then you should be okay as it is designed to retain backwards-compatibility. Good luck ;D
  17. Like
    Darkfeign reacted to Windspeed36 in Ultimate Programming Resources Thread   
    Stickied :)
  18. Like
    Darkfeign reacted to Zonked in Ultimate Programming Resources Thread   
    Thanks dude, I already had Learn Python the hard way; but I added learn c/ruby/SQL the Hard way; also have credited you.
    Also It seems the thread now shows all html tags for me, is this the case for others too? It has happened a few times and deleting it is a nightmare
  19. Like
    Darkfeign got a reaction from alpenwasser in Ultimate Programming Resources Thread   
    Could you add LearnCthehardway similar to the python reference? Thanks.
  20. Like
    Darkfeign got a reaction from Mrcrysis2000 in Any game designers or programmers in da house?   
    I'm looking for something to do after my final exams and might be interested in helping you out.
  21. Like
    Darkfeign reacted to PBaines in Custom Water Cooled Desk - 56k warning. Lotsa Pictures! *Now with Table of Contents*   
    what we first start off with is making some guideline holes so that we are able to do better cuts with the jigsaw allowing us to change angles easily.

    Mid way cutting.

    now time to lay it on, and all is good.

    a wild cat appears! "hmmmm, can i fit through here?"

    "Why yes! of course I can!"

    marking out the other side, and repeating the process


    both sides have been completed and look very nice. they are BOTH yet to be routered so that the grill sits in flush. but that is next days off job.

    I quickly decided that I would do my 5.25" holes, one for a Blu Ray drive (basically just incase i need it for whatever case. And no, I couldn't be bothered getting a USB one), and also will be fitted with a Fan Controller too.
    Here is the plan...

    Holes done

    all cut out

    with a bit of extra little rasping (wood equivalent of a file) they fit nice and snug! Though like the rad grills. Will router a recess for them to sit flush in. If some may notice, the drives are sitting lower then centre, this is because I will probably put my power/reset buttons above the 5.25" area. 
    and ps, yes I know the middle piece between each 5.25" slot is weak as hell, and I understand that. If it breaks it breaks, if it doesn't it doesn't! it looks nicer with it though 

    Oh, and this is the glass installed 
    easy to remove to, simply put fingers between the two glass sheets and lift the top one up! the front bit is siliconed in place

    Next update will be Wednesday of everything routered
    and then theres only two holes left to do (PSU, I/O shield) and its time to d-d-d-d-d-drop the hardware in!!
    Here is how I will be spacing my UP7 to the desk itself. just a few rubber spacers, that will be screwed into the desk, will have to go find some nice long thin srews while I think about it!

    We start with the routering of the 480 grill rebate, so that the grill can sit nice and flush

    The middle bits had to be done also, and were very difficult too as after a few cm's the router wasn't sitting flush anymore so would 'dip' as you can see in the picture where it dipped a little bit. but that's okay! it's not seen 

    Thinking about how I could find a packer to use that allowed an extra bit of width... duh, why not use the template to rest the router on!


    Now, this is what it looked like! the rebate for the grill was done, and also i further rebated in a rectangle for the actual little hex-hole grills to sit in too

    Then there was about a 2 week period where I did nothing in life but work/sleep. UNTIL my parts arrived! and I will also be getting another GTX 680 4GB too 

    After thinking and googling, I figured a way that I could mount my power supply tidily, by making a metal template I guess you'd call it. where you would screw the thin sheet steel to the desk so you could then be able to screw the psu in! 



    And then there she was. the template to cut out the... template :B

    Mid way cutting it out, realised I shouldn't have cut the paper up so much as it was so hard to get the small rectangle square again! 


    And there it is. Not the tidiest and 100% most beautiful, but it will be painted, not seen. It will serve the purpose it was made to do _b

    Time to mark out where the IO shield will be put, and also where my PSU hole will be too.

    Time to do my preliminary guide holes for the jigsaw

    And there it is, all nice and square!

    The PSU Template works well too

    Now, the one thing that bugged me the most... The PCI holes. How do do them? Do I rebate them? Do I cut out one big hole instead? I will do it individually instead and rebate me thinks..

    I then proceeded to use the smallest router bit I had and rebate the groove for the PCI brackets to sit in.
    Also, the top L piece of the bracket needed somewhere to sit in, so I marked the lowest point the bracket could sit, otherwise the card when in the motherboard will be on a lean and could have a dodgy connection to the PCI/E Lane

    Making sure my depth was correct, I used a test bit of wood to make sure that when it came to the final piece, it was done properly.

    A Perfect fit!


    Just a FYI, to prevent any scratching this is how I lay the top down to do any cutting/routering etc

    Now that the first PCI slots had been cut, it was time to finish the rest off

    Here is how I measured the spacings for where the slots went, just an old case I chopped up!

    All cuts done

    Next, to square all the holes out I figured, what better way to do that, than with a Router! Least that's what I thought. The insertion of the bit went well, as soon as I itched it to the right BOOM. the middle piece of the PCI slots just snapped off.. I said a naughty word beginning with F. the next one began with C. hehe

    It was time to resort to Plan B. Cut the whole damn thing out and chop the PCI bracket bit out of that old case that was in the pic above

    it looks a lot tidier this way anyway, so while I am not happy the slot snapped out, I am happy with the result I guess!

    So after cutting the PCI Bracket out, i gave it a quick sand and a quick paint with orange and will continue to polish it up over the next week but just wanted to test it out for the time being to make sure all was well... Guess I was just impatient and wanted to see if when everything was laid out in the desk it would all look pretty is more appropriate
    PS- Hello Vita! (sheep)



    After the day, I moved everything to it's little box. and covered it. Until tomorrow 

  22. Like
    Darkfeign reacted to Tommy in Whats your favorite IDE?   
    Notepad ++ and I also like Sublime Text 2
  23. Like
    Darkfeign reacted to Dragonflare in What are you working on?   
    I've seen this type of thread on nearly every programming forum I've been on, so I figured it would be time to start up our own WAYWO.
    Feel free to post anything about any projects you are working on, including pictures, video, snippets, or what have you!
    I'm currently working on a few projects but only have this one that I can really show off:
    I decided to hack an old NES controller for use over USB using an arduino. Yes I know that I have a big old board hanging off the back, but this is for prototyping, I can always pull the IC off and mount it in the controller itself.
    Here is a quick video with my obnoxious voice giving you all a rundown  :lol:
    If you don't have the time to watch the quick video, I made a simple controller class that has methods for handling the clock and strobe of the controller, as well as a method that returns a byte that holds the button information (only 8 buttons total, convenient!). I have defines for each of the buttons that I use in the loop function inside a series of 8 if statements that handles printing the button that is currently pressed. This is only temporary, as I need a way to check for multiple button presses. But alas, I am tired and will work on it tomorrow.
    Again, feel free to post your own projects, or comment on other users projects and posts!  :)
  24. Like
    Darkfeign reacted to Zonked in Thinking of learning programming   
    I highly recommend Python. It is a much simpler language, it is almost English. Learning Python will allow you to easily grasp the core concepts of programming and computer science. From there you can learn most other languages with more ease. Python is also very versatile and robust. It is a great language. Here are a few resources you may find helpful:
    Learn Python the hard way: http://learnpythonthehardway.org/book/
    MIT Opencourseware lectures: http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-00sc-introduction-to-computer-science-and-programming-spring-2011/
    PyGame: http://www.pygame.org/news.html
    Python.org: http://www.python.org/
    Learn python the hard way is a great PDF that teaches people how to learn Python
    MIT Opencourseware is online lectures from MIT, in Computer Science
    PyGame is how to program games in Python
    Python.org is the official Python site, with documents and tutorials.
    Just my opinion.
  25. Like
    Darkfeign reacted to Cadfael in Thinking of learning programming   
    Python is a nice, basic language to start with http://www.python.org/doc/