Saturday, 29 March 2014

RStudio/Shiny server on digital ocean fuelled by hot chocolate and a kit-kat chunky

RStudio/Shiny server on digital ocean fuelled by hot chocolate and a kit-kat chunky

Introduction

A number of people had told me about digitalocean recently so when a new project came along I decided to try it out. Digital Ocean I had gathered was a cloud hosting platform in the vein of amazon and co. I had used AWS previously so I was interested to see how this platform would compare.

Setting up

Creating an account involved giving an email address and creating a password. After this an option was given to load credit onto the account. Paypal was accepted so I used this option to credit the account. After this I was taken to a basic screeen with a big green button labelled create. Seemed simple enough so I clicked it.

Stunning Stats

The next screen presented the various options for the instance. I choose the 1GB / 1 CPU 30GB SSD Disk 2TB Transfer weighing in at $10 a month. I chose Singapore for my region. This was a plus point if you were in South east Asia like me. I picked ubuntu 12.04 as the OS. Apart from when installing tex live 2013 ubuntu 12.04 and I usually got on. There was an applications tab with things like LAMP on Ubuntu 12.04 and GitLab 6.6.5 CE. This was neat nothing stat orientated however but the option to have LAMP running could have been useful. After scrolling down and choosing these options I was present with a large green create droplet button which I pressed.

Droplets

It took about a minute to create my "droplet". Upon creation I was presented with a tab based control panel

  • Power
  • Access
  • Resize
  • Snapshots
  • Settings
  • Graphs
  • Destroy

It all seemed fairly straightforward. I picked access which led to a large blue connect button. This led to failure initially as I had a vpn running. Turning of the vpn allowed the vnc to connect and we were ready to go. Initially I had to login as root with a password that digital ocean emailed once the droplet was created.

Setting up ubuntu

I was now logged in. The first thing to do was change my root password

$ passwd

With that done I set about setting up a non root account john

$ adduser john

I didnt want user john to be a second class citizen so I gave the user root access.

$ visudo

brought up a nano editor and I copied the root settings for user john:

# User privilege specification
root    ALL=(ALL:ALL) ALL

became

# User privilege specification
root    ALL=(ALL:ALL) ALL
john    ALL=(ALL:ALL) ALL

Pressing ctrl+x and saving I figured I was done. Next I would look to install rstudio server.

RStudio Server

I followed the guide at https://www.rstudio.com/ide/download/server.html .

$ nano /etc/apt/sources.list

At the bottom of this file I added

deb http://cran.stat.nus.edu.sg/bin/linux/ubuntu precise/

as the server was based in singapore.

From the cran project README

The Ubuntu archives on CRAN are signed with the key of Michael Rutter with key ID E084DAB9. To add the key to your system with one command use (thanks to Brett Presnell for the tip):

$ apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E084DAB9

Now I was ready to begin installing rstudio. I updated the sources and installed R.

$ apt-get update
$ apt-get install r-base-dev

We then checked if R was installed.

Now we tried to install RStudio Server

$ apt-get install gdebi-core
$ apt-get install libapparmor1
$ wget http://download2.rstudio.org/rstudio-server-0.98.501-amd64.deb
$ gdebi rstudio-server-0.98.501-amd64.deb

If everything had gone smoothly I should now be able to log into rstudio remotely.

Excellent everything had gone smoothly.

Shiny Server

Next up was shiny server. The relevant rstudio guide was at https://www.rstudio.com/shiny/server/install-opensource . Firstly I installed the shiny package as root.

$ R -e "install.packages('shiny', repos='http://cran.rstudio.com/')"

I then ran the commands to install shiny server

$ wget http://download3.rstudio.org/ubuntu-12.04/x86_64/shiny-server-1.0.0.42-amd64.deb
$ gdebi shiny-server-1.0.0.42-amd64.deb

That seemed to work. Now I needed to setup the shiny server so that user john could serve shiny apps from a Shinyapps folder in his home directory. When I last did this (version 0.4 or so) it required adding some detail to /etc/shiny-server/shiny-server.conf. So lets try and see if that still works.

$ mkdir /etc/shiny-server
$ touch /etc/shiny-server/shiny-server.conf
$ nano /etc/shiny-server/shiny-server.conf

I added the following to this file:

# Define the user we should use when spawning R Shiny processes
run_as shiny;

# Define a top-level server which will listen on a port
server {
  # Instruct this server to listen on port 3838
  #listen 3838 127.0.0.1;
  listen 3838;

  location /userApps {
    user_apps;
    directory_index on;
  }
}

It was a very simple configuration script that would allow users to serve shiny apps from a ShinyApps folder in their home directory. In theory all I needed to do now was to login to rstudio server and create such a setup. I did that and added the example 01_hello from the shiny package. I now navigate to http://128.199.255.233:3838/userApps/john/helloapp/ and amazingly its all there.

Bring your life belt

Often one of the biggest problem people have with VPS and R involves RAM. When people use AWS EC2 micro instances or digital river $5 512mb droplets they experience the following:

www.inside-r.org

For some reason, when I run install.packages() to install any package, it always just dumps the source package to the /tmp folder and does not actually install packages.

www.stackoverflow.com

When trying to install certain (or all?) R packages, I always bump into the following type of error, which seems to me to be not specific to a particular package, but rather specific to for my R environment.

www.stackoverflow.com

I installed the latest version of R for Ubuntu. I enter R, no issues at all, gives me the latest version, and I can load native packages. But When I try to install new packages, they download, but I get nothing.

What is happening? Well they are running out of RAM and R is silently failing. Normally on your desktop this wouldnt likely be a problem as you would have swap. We can check for swap on our current server.

$ swapon -s

If the result returns empty then we need to assign some swap to this droplet. We can check the current storage state using df:

$ df

We are going to make a 512mb swap space

$ dd if=/dev/zero of=/swapfile bs=1024 count=512k

An explanation of the size is here. We then create a swap area and activate it.

$ mkswap /swapfile
$ swapon /swapfile

Now rerunning swapon -s we can see:

This file will last on the virtual private server until the machine reboots. To ensure it returns on reboot we need to add an entry to /etc/fstab

$ nano /etc/fstab

and add

/swapfile       none    swap    sw      0       0 

The swap area has an attribute "swappiness" which we would like to set to 10

$ echo 10 | sudo tee /proc/sys/vm/swappiness
$ echo vm.swappiness = 10 | sudo tee -a /etc/sysctl.conf

An explantion of swappiness is found here. Finally we set the permissions of the swap area so only root can access:

$ chown root:root /swapfile 
$ chmod 0600 /swapfile

On the VNC that all looks like this:

Conclusion

Digital Ocean has a very nice simple interface. Setting up a "droplet" is a breeze. The only tricky part with the installation process is using the command line and nano if you are not used to it. Installing RStudio Server and Shiny Server is now very straightforward. What did it cost? $10 for a month on the package I picked, 2 cups of hot chocolate and a kit-kat chunky.

UPDATE: I added a section on including a swap file sourced from here. This is slightly more involved but I have given some pointers to extra information.

680 comments:

  1. Hello John. This is a great tutorial. I was having a fair few issues getting Shiny Server running on a DO instance (though I have to say I'm a complete newbie to it). I still have one issue you might be able to help me with, and that is the following.

    I have run everything as root perfectly up until and including this command:

    nano /etc/shiny-server/shiny-server.conf

    and adding the code to the conf file as suggested.

    Here is where I am a little lost in getting the Shiny apps to run. I have logged in to the RStudio Server as the new user and all works fine. If I create the ui and server files in this users home directory within RStudio Server I can't seem to get the app to run on http://ip_address:3838.

    I think I'm getting a little lost on creating some directories, either for Shiny, or for the new user to store the app files.

    Do you have any pointers for me?

    Many thanks in advance.
    Paul

    ReplyDelete
    Replies
    1. Hi Paul,

      Glad you liked the post. Thanks for the question. In your home directory in RStudio you need to create a directory called ShinyApps. This is the directory where the user paul say will serve their apps from. In the blog post I mistakenly labelled this directory as Shinyapps rather then ShinyApps.

      So in /home/paul/ShinyApps/ we will create a new shiny app testapp. Place your ui.R and server.R file in /home/paul/ShinyApps/testapp and you should now be able to access your app at

      http://ip_address:3838/userApps/paul/testapp

      Cheers

      John

      Delete
    2. Forgot to add that http://ip_address:3838 displays:

      Page not found

      Sorry, but the page you requested doesn't exist.

      Delete
    3. Ignore my last post John. I hadn't noticed you'd commented already. That was exceptionally fast! Thank you. I'll go try that now and report back.

      Cheers
      Paul

      Delete
    4. Tada! It works :-)

      Thank you so much for helping me sort this out John. Much appreciated.

      I think you should add this tutorial to a DO community post. It's saved hours of my time.

      Cheers
      Paul

      Delete
    5. Thanks Paul,

      Good idea I have submitted the tutorial for DO to review as a community post.

      Best Regards

      John

      Delete
  2. Can I just add a slight typo in one of the lines of code above regarding the swap file. Currently it reads:

    dd if=/dev/zero of=/swapfile bs=1024 count-512k

    but the hyphen between count and 512k should be an = sign, so this:

    dd if=/dev/zero of=/swapfile bs=1024 count=512k

    Cheers
    Paul

    ReplyDelete
  3. This comment has been removed by a blog administrator.

    ReplyDelete
  4. This comment has been removed by a blog administrator.

    ReplyDelete
  5. I have read your blog and I gathered some needful information from your blog. Keep update your blog. Waiting for your next update. Java Training in Chennai | Pega Training in Chennai

    ReplyDelete
  6. This information is impressive; I am inspired by your post writing style & how continuously you describe this topic.... Java Training in Chennai | Blue prism Training in Chennai

    ReplyDelete
  7. I have read your blog and I gathered some needful information from your blog. Keep update your blog. Waiting for your next update. 
    RPA Training in Chennai OMR | Python Training in Chennai OMR

    ReplyDelete
  8. I've got understand your site in addition to When i compiled many needful facts through your blog site. Hold replace your Digital Ocean vs AWS site. Anticipating up coming replace.

    ReplyDelete
  9. Good job in presenting the correct content with the clear explanation. The content looks real with valid information. Good Work

    DevOps is currently a popular model currently organizations all over the world moving towards to it. Your post gave a clear idea about knowing the DevOps model and its importance.

    Good to learn about DevOps at this time.


    devops training in chennai | devops training in chennai with placement | devops training in chennai omr | devops training in velachery | devops training in chennai tambaram | devops institutes in chennai | devops certification in chennai | trending technologies list 2018

    ReplyDelete
  10. Positive site, where did u come up with the information on this posting?I have read a few of the articles on your website now, and I really like your style. Thanks a million and please keep up the effective work.

    machine learning with python course in chennai
    machine learning course in chennai
    best training insitute for machine learning
    Android training in Chennai
    PMP training in chennai

    ReplyDelete
  11. I read this post two times, I like it so much, please try to keep posting & Let me introduce other material that may be good for our community.
    Java training in Chennai

    Java training in Bangalore

    ReplyDelete
  12. I would really like to read some personal experiences like the way, you've explained through the above article. I'm glad for your achievements and would probably like to see much more in the near future. Thanks for share.

    DevOps Training in Bangalore

    DevOps Training in Bangalore

    DevOps Training in Marathahalli

    DevOps Training in Pune

    DevOps Online Training

    ReplyDelete
  13. Nice post. Thanks for sharing! I want people to know just how good this information is in your article. It’s interesting content and Great work.
    Thanks & Regards,
    VRIT Professionals,
    No.1 Leading Web Designing Training Institute In Chennai.

    And also those who are looking for
    Web Designing Training Institute in Chennai
    SEO Training Institute in Chennai
    Photoshop Training Institute in Chennai
    PHP & Mysql Training Institute in Chennai
    Android Training Institute in Chennai

    ReplyDelete
  14. This is the exact information I am been searching for, Thanks for sharing the required infos with the clear update and required points. To appreciate this I like to share some useful information regarding Microsoft Azure which is latest and newest,

    Regards,
    Ramya

    azure training in chennai
    azure training center in chennai
    best azure training in chennai
    azure devops training in chenna
    azure training institute in chennai

    ReplyDelete
  15. Nice Article… I love to read your articles because your writing style is too good, its is very very helpful for all of us and I never get bored while reading your article because, they are becomes a more and more interesting from the starting lines until the end.

    Check out : best hadoop training in chennai
    hadoop big data training in chennai
    best institute for big data in chennai
    big data course fees in chennai

    ReplyDelete
  16. I have read your blog and I gathered some needful information from your blog. Keep update your blog. Waiting for your next update.
    R Training Institute in Chennai | R Programming Training in Chennai

    ReplyDelete
  17. Time is free but it's priceless(khóa học toán tư duy) . You cannot own it, but you can use it(cách dạy bé học số) . You can use it, but you can't keep it(toán tư duy logic là gì). Once you lose it, you will not be able to get it back.

    ReplyDelete
  18. Hey Nice Blog!! Thanks For Sharing!!!Wonderful blog & good post.Its really helpful for me, waiting for a more new post. Keep Blogging!
    SEO company in coimbatore
    SEO Service in Coimbatore
    web design company in coimbatore

    ReplyDelete
  19. Hey Nice Blog!! Thanks For Sharing!!!Wonderful blog & good post.Its really helpful for me, waiting for a more new post. Keep Blogging!
    SEO company in coimbatore
    SEO Service in Coimbatore
    web design company in coimbatore

    ReplyDelete
  20. This is the exact information I am been searching for, Thanks for sharing the required infos with the clear update and required points. To appreciate this I like to share some useful information regarding Microsoft Azure which is latest and newest,

    Regards,
    Ramya

    Azure Training in Chennai
    Azure Training Center in Chennai
    Best Azure Training in Chennai
    Azure Devops Training in Chenna
    Azure Training Institute in Chennai
    Azure Training in Chennai OMR
    Azure Training in Chennai Velachery
    Azure Online Training
    Azure Training in Chennai Credo Systemz
    DevOps Training in Chennai Credo Systemz

    ReplyDelete
  21. It’s been a amazing article. It’s provide lot’s of information, I really enjoyed to read this. thank u so much
    for your sharing

    best institute for big data in chennai
    best hadoop training in chennaii
    big data course fees in chennai
    hadoop training in chennai cost

    ReplyDelete
  22. Nice Article… I love to read your articles because your writing style is too good, its is very very helpful for all of us and I never get bored while reading your article because, they are becomes a more and more interesting from the starting lines until the end.
    hadoop training in Chennai
    big data training in chennai
    big data hadoop training in chennai
    big data training and placement in chennai

    ReplyDelete
  23. One of the best content i have found on internet for Data Science training in Chennai .Every point for Data Science training in Chennai is explained in so detail,So its very easy to catch the content for Data Science training in Chennai .keep sharing more contents for Trending Technologies and also updating this content for Data Science and keep helping others.
    Cheers !
    Thanks and regards ,
    Data Science course in Velachery
    Data Scientists course in chennai
    Best Data Science course in chennai
    Top data science institute in chennai

    ReplyDelete
  24. Needed to compose you a very little word to thank you yet again regarding the nice suggestions you’ve contributed here.
    nebosh course in chennai
    offshore safety course in chennai

    ReplyDelete
  25. Thanks for sharing such a wonderful blog on Machine learning.This blog contains so much data about Machine learning ,like if anyone who is searching for the Machine learning data will easily grab the knowledge of Machine learning from this .Requested you to please keep sharing these type of useful content so that other can get benefit from your shared content.
    Thanks and Regards,
    Top institutes for machine learning in chennai
    best machine learning institute in chennai
    artificial intelligence and machine learning course in chennai

    ReplyDelete
  26. Any how I am here now and would just like to say thanks a lot for a tremendous post and an all-round exciting blog
    safety course in chennai
    nebosh course in chennai

    ReplyDelete
  27. Hey there ! i come here for the fist time ! and i impressed with your writing and your blog


    โปรโมชั่นGclub ของทางทีมงานตอนนี้แจกฟรีโบนัส 50%
    เพียงแค่คุณสมัคร Gclub กับทางทีมงานของเราเพียงเท่านั้น
    ร่วมมาเป็นส่วนหนึ่งกับเว็บไซต์คาสิโนออนไลน์ของเราได้เลยค่ะ
    สมัครสมาชิกที่นี่ >>> Gclub online

    ReplyDelete
  28. Excellent Post as always and you have a great post and i like it

    โปรโมชั่นGclub ของทางทีมงานตอนนี้แจกฟรีโบนัส 50%
    เพียงแค่คุณสมัคร Gclub กับทางทีมงานของเราเพียงเท่านั้น
    ร่วมมาเป็นส่วนหนึ่งกับเว็บไซต์คาสิโนออนไลน์ของเราได้เลยค่ะ
    สมัครสมาชิกที่นี่ >>> Gclub online

    ReplyDelete

  29. One of the best content i have found on internet for Data Science training in Chennai .Every point for Data Science training in Chennai is explained in so detail,So its very easy to catch the content for Data Science training in Chennai .keep sharing more contents for Trending Technologies and also updating this content for Data Science and keep helping others.
    Cheers !
    Thanks and regards ,
    DevOps course in Velachery
    DevOps course in chennai
    Best DevOps course in chennai
    Top DevOps institute in chennai

    ReplyDelete
  30. Appericated the efforts you put in the content of Data Science .The Content provided by you for Data Science is up to date and its explained in very detailed for Data Science like even beginers can able to catch.Requesting you to please keep updating the content on regular basis so the peoples who follwing this content for Data Science can easily gets the updated data.
    Thanks and regards,
    Data Science training in Chennai
    Data Science course in chennai with placement
    Data Science certification in chennai
    Data Science course in Omr

    ReplyDelete
  31. Thanks for sharing such a wonderful blog on Machine learning.This blog contains so much data about Machine learning ,like if anyone who is searching for the Machine learning data will easily grab the knowledge of Machine learning from this .Requested you to please keep sharing these type of useful content so that other can get benefit from your shared content.
    Thanks and Regards,
    Top institutes for machine learning in chennai
    best machine learning institute in chennai
    artificial intelligence and machine learning course in chennai

    ReplyDelete
  32. Hello, I read your blog occasionally, and I own a similar one, and I was just wondering if you get a lot of spam remarks? If so how do you stop it, any plugin or anything you can advise? I get so much lately it’s driving me insane, so any assistance is very much appreciated.

    Machine Learning Training in Chennai | Machine Learning Training Institute in Chennai
    Devops Training in Chennai | Devops Training Institute in Chennai
    Data Science Training in Chennai | Data Science Course in Chennai

    ReplyDelete
  33. Hello, I read your blog occasionally, and I own a similar one, and I was just wondering if you get a lot of spam remarks? If so how do you stop it, any plugin or anything you can advise? I get so much lately it’s driving me insane, so any assistance is very much appreciated.
    AWS Training in Chennai | Best AWS Training in Chennai
    Best Data Science Training in Chennai
    Best Python Training in Chennai
    Best RPA Training in Chennai
    Digital Marketing Training in Chennai
    Matlab Training in Chennai
    Best AWS Course Training in Chennai
    Best Devops Course Training in Chennai

    ReplyDelete
  34. Hi, It’s Amazing to see your bl
    og.keep it up for doing graet like this
    Digital marketing service in sehore
    website designer in sehore

    ReplyDelete
  35. Website Planning Best institute for digital marketing course in delhi. Initialisation of Digital Marketing.. Website Creation. Content Writing. Search Engine Optimization. Local Seo. Google Webmaster. Bing Webmaster.
    Digital Marketing course in Laxmi Nagar

    ReplyDelete
  36. It’s interesting content and Great work. Definitely, it will be helpful for others. I would like to follow your blog. Keep post

    Check out:
    Selenium training courses in chennai
    Selenium training center in chennai
    Selenium training in chennai quora
    Selenium course fees in chennai

    ReplyDelete
  37. It is brilliant substance. I for the most part visit numerous locales however your site has something unique highlights. I for the most part visit on your site. Best Seo Tips
    Contact us- https://myseokhazana.com

    ReplyDelete
  38. This is a decent post. This post gives genuinely quality data. I'm certainly going to investigate it. Actually quite valuable tips are given here. Much obliged to you to such an extent. Keep doing awesome. To know more information about
    Contact us :- https://www.login4ites.com/

    ReplyDelete
  39. Just seen your Article, it amazed me and surpised me with god thoughts that eveyone will benefit from it. It is really a very informative post for all those budding entreprenuers planning to take advantage of post for business expansions. You always share such a wonderful articlewhich helps us to gain knowledge .Thanks for sharing such a wonderful article, It will be deinitely helpful and fruitful article.
    Thanks
    DedicatedHosting4u.com

    ReplyDelete
  40. Thanks for sharing such a wonderful blog on Python .This blog contains so much data about Python ,like if anyone who is searching for the Python data will easily grab the knowledge of Python from this.Requested you to please keep sharing these type of useful content so that other can get benefit from your shared content.
    Thanks and Regards,
    Top Institutes for Python in Chennai.
    Best Python institute in Chennai .
    Python course in chennai .

    ReplyDelete

  41. It’s awesome that you want to share those tips with us. It is a very useful post Keep it up and thanks to the writer.

    robotic process automation companies in chennai
    custom application development in us
    ui path development in us
    rpa development in us
    erp implementation in chennai

    ReplyDelete
  42. Great! You are doing nice work. I read this blog post with my interest. Really, this is wonderful.
    Oracle Training in Chennai | Oracle Training Institutes in Chennai

    ReplyDelete
  43. This is a nice Site to watch out for and we provided information on
    vidmate make sure you can check it out and keep on visiting our Site.

    ReplyDelete
  44. I feel this article have given such a lot of vital info for me. And I am satisfied studying your article. However wanna commentary on few general things, The website style is ideal, the articles are truly nice.
    Interior Designers in Chennai | Interior Decorators in Chennai | Best Interior Designers in Chennai | Home Interior designers in Chennai | Modular Kitchen in Chennai

    ReplyDelete
  45. Download and install Vidmate App which is the best HD video downloader software available for Android. Get free latest HD movies, songs, and your favorite TV shows.

    ReplyDelete
  46. Great Article. This Blog Contain Good information about ERP Software. Thanks For sharing this blog. Can you please do more articles like this blog.


    machine maintenance software price in us
    machine maintenance software development in us
    crm software development cost in us
    erp in chennai
    crm software development cost in chennai
    cloud erp in chennai

    ReplyDelete
  47. This is really a big and great source of information. We can all contribute and benefit from reading as well as gaining knowledge from this content. Just amazing
    experience. Thanks for sharing such nice information.
    Event Management in Pondicherry | Wedding Decorators in Trichy | Wedding Photographers in Trichy | Wedding Planner in Pondicherry | Wedding Decorators in Pondicherry | Candid Photography Pondicherry | Wedding Photographers in Pondicherry

    ReplyDelete
  48. Download and install Vidmate App which is the best HD video downloader software available for Android. Get free latest HD movies, songs, and your favorite TV shows.

    ReplyDelete

  49. Such a wonderful blog on Python .Your blog having almost full information about
    Python .Your content covered full topics of Python ,that it cover from basic to higher level content of
    Python .Requesting you to please keep updating the data about Python in upcoming time if there is some addition.
    Thanks and Regards,
    Python tution in Chennai .
    Python workshop in chennai.
    Python training with certification in Chennai.

    ReplyDelete
  50. Download and install Vidmate App which is the best HD video downloader software available for Android. Get free latest HD movies, songs, and your favorite TV shows.

    ReplyDelete
  51. Download and install Vidmate App which is the best HD video downloader software available for Android. Get free latest HD movies, songs, and your favorite TV shows.

    ReplyDelete

  52. Thanks for sharing such a wonderful blog on Python .This blog contains so much data about Python ,like if anyone who is searching for the Python data will easily grab the knowledge of Python from this.Requested you to please keep sharing these type of useful content so that other can get benefit from your shared content.
    Thanks and Regards,
    Top Institutes for Python in Chennai.
    Best Python institute in Chennai .
    Python course in chennai .

    ReplyDelete

  53. Thanks for sharing such a wonderful blog on Mean Stack .This blog contains so much data about Mean Stack ,like if anyone who is searching for the Mean Stack data,They will easily grab the knowledge of from this.Requested you to please keep sharing these type of useful content so that other can get benefit from your shared content.
    Thanks and Regards,
    Mean Stack training in Chennai
    Best mean stack training in Chennai
    Top Mean stack raining in Chennai
    Course fees for Mean stack in Chennai
    Mean stack training fees in Velachery, Chennai

    ReplyDelete
  54. <a href="https://vidmate.vin/

    ReplyDelete
  55. Download latest audio and video file fromvidmate

    ReplyDelete
  56. Download latest audio and video file fromvidmate

    ReplyDelete
  57. Thanks a lot for writting such a great article. It's really has lots of insights and valueable informtion.
    If you wish to get connected with AI world, we hope the below information will be helpful to you.
    Python Training Institute in Pune
    Python Interview Questions And Answers For Freshers
    Data -Science
    ML(Machine Learning) related more information then meet on EmergenTeck Training Institute .
    Machine Learning Interview Questions And Answers for Freshers
    Thank you.!

    ReplyDelete
  58. Download latest audio and video file fromvidmate

    ReplyDelete
  59. I was scrolling the internet like every day, there I found this article which is related to my interest. The way you covered the knowledge about the subject and the top builders in bhopal was worth to read, it undoubtedly cleared my vision and thoughts towards B 3 bhk flat in ayodhy bypass road . Your writing skills and the way you portrayed the examples are very impressive. The knowledge about 2 bhk flat in ayodhya bypaas road is well covered. Thank you for putting this highly informative article on the internet which is clearing the vision about top builders in Bhopal and who are making an impact in the real estate sector by building such amazing townships.

    ReplyDelete
  60. Download latest audio and video file fromvidmate

    ReplyDelete
  61. Download latest audio and video file fromvidmate

    ReplyDelete

  62. Thanks for sharing the valuable information here. So i think i got some useful information with this content. Thank you and please keep update like this informative details.


    erp software development company in us
    erp software company in us
    list of erp software companies in us
    erp in chennai
    list of erp software companies in chennai
    Latest CRM Software

    ReplyDelete
  63. Thank you for sharing this useful information
    python class

    ReplyDelete
  64. Nice Presentation and its hopefull words..
    if you want a cheap web hosting in web
    cheap web hosting company chennai

    ReplyDelete
  65. thanks for ur valuable information,keep going touch with us

    Scaffolding dealers in chennai

    ReplyDelete
  66. Thanks for sharing an information to us. If someone want to know about websites and SEO Service. I think this is the right place for you!
    Digital Marketing
    SEO company
    web-development
    Domain and Hosting

    ReplyDelete
  67. While composing the last paper of your last B.Com test, a plenty of considerations experience your psyche. A great deal of these contemplations incorporate plans about resting for a whole week or celebrating for a whole week, contingent upon your individual inclinations. Be that as it may, trust us, none of that is really going to happen in light of the fact that when you complete your tests your folks, relatives, neighbours, and even your Facebook companions will begin getting some information about your feasible arrangements. What's more, don't mistake them for your gathering or dozing plans since they are alluding to your vocation Career after B com plans. In the present focused world, you are offered with many profession improving courses. On the off chance that you are not happy with the profession or course you decided for yourself at that point there are some present moment yet high worth – low speculation courses accessible in the market.

    ReplyDelete

  68. Nice! you are sharing such helpful and easy to understandable blog in decoration. i have no words for say i just say thanks because it is helpful for me.

    robotic process automation companies in us
    Robotic Process Automation in us
    machine maintanance in us
    erp in chennai
    mobility software companies in chennai
    erp providers in us

    ReplyDelete
  69. Thanks for provide great informatic and looking beautiful blog, really nice required information & the things i never imagined and i would request, wright more blog and blog post like that for us. Thanks you once agianMarriage certificate in delhi
    Marriage certificate in ghaziabad
    Marriage registration in gurgaon
    Marriage registration in noida
    special marriage act
    Marriage certificate online
    Marriage certificate in mumbai
    Marriage certificate in faridabad
    Marriage certificate in bangalore
    Marriage certificate in hyderabad thanks once again to all.

    ReplyDelete
  70. Spotify Premium apk for free and start enjoying all the premium features without paying a single penny using the modded and cracked version of Spotify Premium For Learn more - Click Here

    ReplyDelete
  71. Thanks for sharing the valuable information here. So i think i got some useful information with this content. Thank you and please keep update like this informative details.


    erp software development company in us
    erp software company in us
    list of erp software companies in us
    erp in chennai
    list of erp software companies in chennai
    Latest CRM Software

    ReplyDelete