low level programming languages for the web

Discussion in 'Programming & Software Development' started by deepspring, Mar 20, 2012.

  1. elvis

    elvis Old school old fool

    Joined:
    Jun 27, 2001
    Messages:
    30,846
    Location:
    Brisbane
    When I mentor junior sysadmins, I generally tell them that with modern virtualisation, you can create enterprise-scale networks pretty easily at home. Simulating WANs, VPNs, high-latency connections and the like are trivial with a copy of any popular Linux distro and the built in virtualisation and networking tools. In fact, I currently work for a company that delivers large JBoss clusters for realtime web applications, and 100% of our complex development environments sit on virtualised infrastructure. We don't hit bare metal until our staging environments. Linux includes all sorts of tools that can easily simulate internet-style conditions (packet loss, high latency and jitter, etc) quite easily to really test your apps out.

    Most of my juniors are die-hard PC gamers, sporting multi-core PCs packed with 8+ GB of RAM, and then tell me they can't afford test labs at home. I tell them they already have one, they just don't know it. :)

    Raspberry Pi is going to have an official Fedora spin for it, which I think is good news if you're after a system where you don't want to have to screw around too much to get packages working, and can instead concentrate on the application level.

    I find with some embedded systems, half the battle is just compiling up the stuff you need for basic OS-level operations to work the way you want. If you get something that works with a popular distro like Fedora, you've got the power of their entire packaging community there to make your life a hell of a lot easier.

    Just my 2c.
     
  2. OP
    OP
    deepspring

    deepspring Member

    Joined:
    Jul 8, 2002
    Messages:
    3,592
    Location:
    Maitland, NSW
    Thanks Elvis. I didn't think to look at using virtualisation, you have been probably the most helpful person in this thread. In fact I think you just saved me $2000. I will look at upgrading my poor little dual-core 13" MBP RAM instead and go with that. ;)

    I was looking at using was either Gentoo or Arch for the OS, because you can customise and compile the kernel during the install.
     
  3. Wako

    Wako Member

    Joined:
    Jun 4, 2006
    Messages:
    483
    Sounds like you could easily bash this out on the raspberry pi's/your current computer using
    Python with Zeromq (well pyzmq).
    and cherrypy as your webserver.

    Basically from your requirements I think you could easily have a working prototype using the software as above.

    From that working version you could continue working towards your final goal.. atleast this way you could have a working project going pretty quickly rather than biting off more than you can chew.

    And for learning about building a linux system from scratch, you can follow this:
    http://www.linuxfromscratch.org/lfs/
    and again you can just use your current hardware for this.
     
  4. OP
    OP
    deepspring

    deepspring Member

    Joined:
    Jul 8, 2002
    Messages:
    3,592
    Location:
    Maitland, NSW
    Thanks wako. :D
     
    Last edited: Mar 25, 2012
  5. extremedavo

    extremedavo Member

    Joined:
    Nov 15, 2011
    Messages:
    11
    Given you have a limited budget, you can simulate a complex enterprise environment on one computer using virtual machines. Have a look at ESXi from VMWare, its a great hypervisor package and will let you deploy multiple VM's with different OS flavors simply and easily.

    I would deploy a windows and linux VM environment, then setup DNS, Proxies, DHCP servers, Apache web servers etc and then proceed to ask as many questions as you can on sites like: http://serverfault.com/

    When you say "optimise and compile a distro" I am going to assume you are not going to attempt to modify kernels but simply writing small ANSI C programs and getting them to cross compile on various platforms. For that I would look at as many C examples on the net as I could and ask lots of well thought out questions at places like http://stackoverflow.com (where the pros hang out)

    Also when you say "Write a custom web server software to server up" I think you mean write a simple web app that is active on a server and is served up by a web server (I would stick with the industry standard, Apache). There are plenty of really cool technologies that you can try to serve up you data like Django (Python which is MVC based), PHP, ASP etc. There are literately thousands, take your pick.

    For writing custom client/server applications I would start small and learn what you can about socket programming in something like python (which ticks all you boxes in your first post, and more!). There are plenty of guides and tutorials on the web regarding sockets. Sounds like you are looking to develop a distributed, multi-parallel processing system which I think might be a little bit out of reach at the moment. But if you want to jump in the deep end then check out MPI and more specifically Open MPI (http://www.open-mpi.org/).

    Setting up data centers even small ones is not trivial. I would not worry about storage connectivity (NAS, SAN, DAS etc) I would concentrate on data storage concepts like RAIDs, data rates, backups etc you will get more benefit from that. So I would buy a few disks, maybe 4 or so and do a software raid 5, raid 0 etc. You will learn a great deal about your OS, your hardware and your storage if you play with RAIDS.

    Have fun and Good luck
     
    Last edited: Mar 29, 2012
  6. OP
    OP
    deepspring

    deepspring Member

    Joined:
    Jul 8, 2002
    Messages:
    3,592
    Location:
    Maitland, NSW
    Thank you for the info. I will definitely look into everything you mentioned.
     
  7. OP
    OP
    deepspring

    deepspring Member

    Joined:
    Jul 8, 2002
    Messages:
    3,592
    Location:
    Maitland, NSW
    Many thanks to everyone who has helped me in this thread.

    Due to personal reasons, I've had to put the project on hold for a month or two. I am still going to do it, and I desperately want to learn how to setup a cluster, and write client/server software to run on it... it just won't be right now.
     
  8. Paronga

    Paronga Member

    Joined:
    Sep 27, 2006
    Messages:
    1,404
    Location:
    Morrabbin, Victoria
    :o
    SHOCK HORROR!

    no one saw that comming :rolleyes:
     
  9. Foliage

    Foliage Member

    Joined:
    Jan 22, 2002
    Messages:
    31,932
    Location:
    Sleepwithyourdadelaide
    cool post bro
     
  10. extremedavo

    extremedavo Member

    Joined:
    Nov 15, 2011
    Messages:
    11
    What a helpful chap
     
  11. somedood

    somedood Member

    Joined:
    Apr 16, 2004
    Messages:
    56
    Location:
    Perth
    Nerd fight! K Go!
     
  12. OP
    OP
    deepspring

    deepspring Member

    Joined:
    Jul 8, 2002
    Messages:
    3,592
    Location:
    Maitland, NSW
    It's cool. Time seems like a trivial thing to those that don't have 3 minimum wage jobs to contend with.

    I am in the process of learning Go at the moment. I would like to say that is an easy language to pick up...
     
  13. Herro

    Herro Member

    Joined:
    Nov 16, 2002
    Messages:
    748
    Location:
    Brisbane
    Can someone please shoot me in the fucking head. What a waste of time, I hadn't even figout out how I was going to make fun of the OP and then it's all over red rover.

    To anyone who was helpful, your're nicer than me.

    "But, by writing my own, I'm hoping to learn something new about myself."

    Lol.
     
  14. OP
    OP
    deepspring

    deepspring Member

    Joined:
    Jul 8, 2002
    Messages:
    3,592
    Location:
    Maitland, NSW
    Would you like me to shoot in you butt instead, after all, thats where most arm-chair-professor-zealots have their brains right? :lol:
     
  15. zach

    zach (Banned or Deleted)

    Joined:
    May 1, 2009
    Messages:
    3,614
    Location:
    chermside.bris.qld.au:80
    Shoot him in the butt with what, your love canon? :Paranoid:
     
  16. froggyfrance

    froggyfrance Member

    Joined:
    Jun 20, 2009
    Messages:
    20
    Location:
    Hobart
    I'm still sure that this must be a troll thread :p
     
  17. Herro

    Herro Member

    Joined:
    Nov 16, 2002
    Messages:
    748
    Location:
    Brisbane
    To be an armchair Zealout, I'd have to he ignorant of the subject. Sadly I'm not.

    I'll translate for the rest of the thread.

    Don't post a question intimating that you have knowledge of a subject when you have absolutely no idea what you are talking about as well as the terms and terminology you are using. I know that infection of hubris you have must sometimes make it hard...

    Fight it. That way, next time you decide to ask a question, it will be worded as one, not an ejaculation of misunderstood and miss-applied terms and technologies that sounds like my grandmother trying to ask my butcher for advice on what gritt sandpaper she should be using to polish her carbon fibre hip replacement.
     
  18. Psychotria

    Psychotria (Banned or Deleted)

    Joined:
    Apr 26, 2012
    Messages:
    443
    This is exactly what I was going to say
     
  19. 7nothing

    7nothing Member

    Joined:
    Feb 15, 2002
    Messages:
    1,398
    Location:
    Brisbane
    Sounds to me like you've got an idea for a fantastic product, and just want to find the programming language that will create this fantastic product for you, saving you from having to waste time on development.
     
  20. mwil7034

    mwil7034 Member

    Joined:
    Jan 15, 2003
    Messages:
    611
    Location:
    Woy Woy
    If you haven't already started I would suggest you check out http://libvirt.org/. It has language bindings for most languages.

    If I were to create the product I would invest my time in Python, Perl or Ruby to be honest. C/C++ are becoming tiresome and the libraries are starting to show their age. Web programming has progressed so far since these languages were conceived.

    Im also going to tell you this idea of yours has been numerous times before. In reference to the RasberryPi comment, as elvis said there are now Fedora and Ubuntu images already available.

    Furthermore, if what you are looking for is an embedded hypervisor, then your best bet is to deploy a JeOS image or similar with a libvirt webfrontend such as Eucalyptus, OpenStack etc.

    /my 2c
     

Share This Page