Tuesday, October 28, 2014

The Internet is running in debug mode

With the rise of the Web, textual encodings like xml/JSON have become very popular. Of course textual message encoding has many advantages from a developer's perspective. What most developers are not aware of, is how expensive encoding and decoding of textual messages really is compared to a well defined binary protocol.

Its common to define a system's behaviour by its protocol. Actually, a protocol messes up two distinct aspects of communication, namely:

  • Encoding of messages
  • Semantics and behavior (request/response, signals, state transition of communication parties ..)

Frequently (not always), these two very distinct aspects are mixed up without need. So we are forced to run the whole internet in "debug mode", as 99% of webservice and webapp communication is done using textual protocols.

The overhead in CPU consumption compared to a well defined binary encoding is factor ~3-5 (JSON) up to >10-20 (XML). The unnecessary waste of bandwith also adds to that greatly (yes you can zip, but this in turn will waste even more CPU).

I haven't calculated the numbers, but this is environmental pollution at big scale. Unnecessary CPU consumption to this extent wastes a lot of energy (global warming anyone ?).

Solution is easy:
  • Standardize on some simple encodings (pure binary, self describing binary ("binary json"), textual)
  • Define the behavioral part of a protocol (exclude encoding)
  • use textual encoding during development, use binary in production.
Man we could save a lot of webserver hardware if only http headers could be binary encoded ..

136 comments:

  1. There go all our pretty logs and quick curl tests and such. Text-protocols allow quick look into what's going on binary protocols don't. As far as I last checked services don't self heel - a human has to jump in. Which might be a reflection of other things going wrong but that is how it is :)

    ReplyDelete
    Replies
    1. I think that's a narrow view. In fact, text is also binary encoded. Its because of standardization on how to read e.g. UTF-8, tools "know" how to decode it. One could standardize on a self-describing binary format and provide a similar tool chain of "pretty printers" without problems (think of it like a "special" charset encoding). However in the first place protocol behaviour must not be mixed up with message encoding

      Delete
    2. """ and provide a similar tool chain of "pretty printers" without problems (think of it like a "special" charset encoding)"""

      This is an even more narrow view. Text formats work with what we already have, here and now. What you propose is replacing for something that's not out there, is not inoperable, and most tools don't know about it.

      First get the tooling you say it's easy to provide "without problems", then ask for the change to binary formats.

      Delete
    3. I'd like to remind you the internet should serve users not developers :). Anyway Http 2 will solve the issues. Took only like 15 years and will take like 10 years until its widely adopted :)

      Delete
  2. I fully agree in your desire to separate protocol handling from that of encoding (format). Doing this is under-appreciated way to both decouple handling, and to allow for more efficient handling, by choosing the most suitable encoding for context. Sometimes this should be a well-known textual format (for inter-operability, flexibility and diagnostics); other times a more compact binary representation makes more sense. Protocols should not unnecessarily limit the choice.

    I am not sure I share your concern on performance aspects: without disputing specific encoding numbers, I just question their significant in big picture. In case of HTTP, for example, decoding of Header values is a miniscule part of handling that even if it was changed to binary encoding, benefits in many cases would not be significant at all. Payload remains as-is, and the real complexity in HTTP comes from managing connections, state, liveness checks and other protocol level aspects.

    ReplyDelete
    Replies
    1. regarding the Http-Header I left out context. E.g. for a low-latency, many client long polling http server, the payload consists of a single sequence number (of last received message), so header parsing indeed adds significant overhead in case there are no pending messages (processing is session lookup+sequence number comparision) for this special case. Another example is DOS-protection. It eats significant processng time to weed out DOS requests from application requests.

      Delete
    2. Ofc in generaö you are right in that "header parsing" is not a good example regarding the big picture...

      Delete
    3. Any in-between component (proxy, reverseproxy) needs to encode and decodes (parse) headers, it's probably f relevance especially for tiny payloads typical for e.g. webservice remote calls

      Delete
  3. My best citation on the mec.symp.group ...The next time i've to write another Json parser/serializer (brrrr Jackson...:() i'll pray that someone listen to you..
    :) thanks Rüdiger

    ReplyDelete
    Replies
    1. You are doing jackson wrong, it helps dealing with json and afaik is pretty fast, it has not invented JSon ..

      Delete
    2. The java binding and the streaming API are not free..in any way.Although Jackson is "pretty" fast it not deliver any zero-copy (AFAIK) ability in the serialisation stage...and produce TONS of garbage.Comparing it with a serious serializer ( hand-made?) and really GC-free is simple. But that's another story...so far if i'll have to send a long why on earth i've to send more than 8 bytes? ^^ P.s. Jackson is not a bad tool per se and i avere with you that is a great help if you don't want to deal directly with Json...

      Delete
    3. Hm .. do you have kind of reusable opensource variant of a zero copy, low garbage json parser ? I'd be interested in something like that, as Jackson doubles some stuff i already do in the serialization layer, such that JSon-Codec is well below what would be possible.

      Delete
    4. Hi Rüdiger,
      I've only custom own-rolled libs that i've developed for my own needs...undocumented too :P
      But TextWire of https://github.com/OpenHFT/Chronicle-Bytes looks very promising...if you'll wait few weeks i've contacted Peter Lawrey to contribute to this repo and maybe there will be a little more docs and example for it :)

      Delete
    5. Wrong repo sorry :P
      I really need a coffee this morning...https://github.com/OpenHFT/Chronicle-Wire

      Delete
    6. Interesting bottom up.approach (many "planned" features though ;) ). In contradiction fast-serialization goes top down providing different wire formats to represent serialized object graphs (binary,json). Maybe i could add a chronicle wire Codec to fst once C-wire is in a more mature state

      Delete
  4. MsgPack is efficient, schema-less, and has a 1:1 mapping with JSON (unlike BSON despite its name).

    ReplyDelete
    Replies
    1. I am aware of msgpack. I even tried to build a codec for fast serialization based on msgpack but somehow lost track. Might be a better alternative to json for actor <=> javascript remoting. Are there any java benchmarks ?

      Delete
  5. I used to push Sun's XDR [1] for this very reason. Client-server apps with binary protocols, too. That's because the web was more inefficient, complex, and insecure in about every area. It was crap. It's main advantages were the networking effect, instant distribution, and widespread compatibility of HTML/JS. We could've just fixed the problems in our native C/S and P2P models but adopted web instead.

    Two other good alternatives from long ago were Juice [2] for applets and Globe [3] for WAN architecture.

    [1] https://en.wikipedia.org/wiki/External_Data_Representation

    [2] http://www.modulaware.com/mdlt69.htm

    [3] http://www.cs.vu.nl/~philip/globe/

    Nick P

    ReplyDelete
    Replies
    1. wow, the globe project looks interesting. Annoyed by lack of abstraction and poor performance of existing distributed application products, I am active in a somewhat similar direction: http://ruedigermoeller.github.io/kontraktor/ . Well its actually mostly JVM bound erm and not that global ;).

      Delete
  6. We use binary protocols from day 1 at Aerospike - that's one of the "small" reasons we massively reduce server counts compared to other databases. You might be surprised how hard it is to fight against an entire industry - hardware companies don't like getting cut out, cloud companies don't like getting cut out, open source companies that charge by node count don't like getting cut out. All of these guys pay lip service to efficiency, then bury technology that is actually more efficient. Flash (SSD) storage is similar - you end up paying a lot less for most use cases compared to DRAM and compared to Rotational, but only a handful of database companies have optimized for Flash.

    ReplyDelete
    Replies
    1. Agree. In addition there is widespread lack of knowledge of what is technically possible. People's gut has adopted to crappy tech. Premature scaleout dominates.

      Delete
  7. It's better to use binary protocol for service to service communication, much more efficient than any text protocol, takes less bandwidth too.

    ReplyDelete
  8. This article is very informative and easy to understand. Thank you for sharing!


    ReplyDelete
  9. Good article about Java. There's a lot of good points here and you explained them very well. www.spectrummobile.com/activate

    ReplyDelete
  10. If you are stuck with your online management assignment then in this case you can opt for our Database Management Assignment help. we provide the best assignment assignment help online.
    We also provide Advanced Database Management System help. for students across the globe.
    for more information contact us +16692714848

    ReplyDelete
  11. really infomative and eduvcative article thanks publisher for sharing this info with us furniture flipping secret review
    whatsaup flippzilla

    ReplyDelete
  12. Get in touch with us immediately to get the assignment help on any exposition theme! We don't have any issues in making expositions or some other homework assignments help of any size and organization. cheap assignment help

    ReplyDelete
  13. Hurrah! Finally I got a weblog from where I be able to actually take valuable facts concerning my study and knowledge. Also visit my website: 바카라사이트

    ReplyDelete
  14. Great Article it its really informative and innovative keep us posted with new updates. its was really valuable. thanks a lot. Also visit my website: 바카라사이트

    ReplyDelete
  15. Wow! Such an amazing and helpful post this is. I really really love it. It's so good and so awesome. I am just amazed. I hope that you continue to do your work like this in the future also Also visit my website: 바카라사이트

    ReplyDelete
  16. You made some respectable factors there. I seemed on the web for the issue and found most people will go along with together with your website. Also visit my website: 바카라

    ReplyDelete
  17. Thank you for posting such a great article! It contains wonderful and helpful posts. Keep up the good work

    ttms login

    ReplyDelete
  18. Do not waste countless hours on your college assignments anymore. Get Marketing 2016 18th Edition Test Bank and work smart with better results.

    ReplyDelete
  19. The work which is done by Abc assignment help is always best. The work is done accurate and in informative way. They take very less charges for there services. assignment help

    ReplyDelete
  20. The secret for student success lies in the material you use for learning.Try Test Bank For Kirks Fire Investigation With Resource Central 7 E 7th Edition and feel the difference.

    ReplyDelete
  21. http://demo8.cmsmart.net/m2_extensions_20/default/blog/magento-SEO-tips-common-mistakes-to-avoid

    ReplyDelete
  22. If you're looking for Ignou PGDPPED Project writers online in Delhi, then get in touch with us today. Learners of Ignou university looking for project writing assistance can expect the best. Our experts are available to help you find the best Ignou PGDUPDL Project. They will create flawless projects for your benefit. The Ignousynopsis project assistance team has PhD degrees in their respective fields. They are able to write high-quality PHD thesis writing help on any topic. Students are often anxious about how their Ignou PGDCSR Project will turn out, whether they will get the right content, complete papers, and so on.

    ReplyDelete
  23. Opt Singapore translators for getting the professional translation services of business documents.Our team deliver you error-free,an authentic translation of business documents in various languages like Malay,Chinese,Thai,Korean,Arabic and many more.

    ReplyDelete
  24. Hiring an Assignment help is one of the easiest tasks that you will be doing in your student life. First of all, be sure about this decision. Have no doubt on the thought that you need someone who can help with essay writing. Next to this, find a helper who suits all your requirements in terms of quality of content, responsiveness, pricing etc.
    java assignment help
    php assignment help

    ReplyDelete
  25. There are so many factors that can decide whether or not you need an online assignment help. One of them being your knowledge of essay writing. Are you good at writing essays? If yes, then there is no need to hire a professional. But sometimes, students are good at writing but they don’t have enough time to gather data and create an essay out of it. If that is an issue you are facing right now, you might need to hire an essay helper. Try asking some more questions to yourself. Like, do I need someone to guide me through the task? And similar other ones. In some course of time, you will know what do you need.
    management homework helper
    programming homework helper

    ReplyDelete
  26. A very awesome blog post. We are really grateful for your blog post. You will find a lot of approaches after visiting your post. Hi! We are water treatment company in uae Great points made up above! And drinking water filter dubai thanks… I think this is one of the most important information for me. And i am glad reading your article. But should remark on few general things…

    ReplyDelete
  27. Java is programming language in web. It is first developed by James Gosling at Sun Microsystems in 1995.Java 17 is the latest released on September 2021 Java version. myassignmenthelp

    ReplyDelete

  28. Assignment Help Service provider in Ireland. The professionals’ team of their service helps students to score well. They provide you the 100% unique content for your assignment. They ensure students for providing satisfaction for their quality-oriented assignments.

    ReplyDelete
  29. Excellent write up, never seen such a amazing, well-structured and informative content on the web. Keep sharing. But if you want to read such kind of informative articles or access huge academic database, login at research paper writing service rendered by SourceEsssay

    ReplyDelete
  30. Hi admin, I am curious to know what new trending topic and assignment work come in your service. I want to see brief description with the internal inking of Assignment Help USA service.

    ReplyDelete
  31. Our Do My Math Homework service is staffed by highly qualified academics that can assist you in writing assignments and improving your grades and academic skills.

    ReplyDelete
  32. Thanks for sharing this useful content. The information written here will be useful. Therefore we are offering long-term advanced and effective online paper writing help . In the services you are looking for online paper assistance, we will give you complete data about paper writing on the basis of per-request. I can help you fulfill your paper writing and you can teach the skills necessary to answer any problem.

    ReplyDelete
  33. Looking for Online Writing Jobs? We provide online assignment help service for students. We are catering to the brand alliance needs of the students. I recommend you visit our website to get the best help for your best assignment service.

    ReplyDelete
  34. Need expert help with your studied? Every student whether they are mediocre or research scholars wish to score well in their assignments. Low grades can result in low self confidence which further leads to anxiety attacks and loss of interest. Do you suffer from the same fear of getting low grades? We at SourceEssay understand the value of grades and help students achieve their dreams of getting better grades throughout their semesters.

    Online Assignment Help
    Online Assignment Help Croydon
    instant assignment help
    Dissertation Writing Service
    do my assignment

    ReplyDelete
  35. you will actually want to help organizations to get their items to contact the crowd which can help them with the most extreme deal. Yet, to comprehend the most recent patterns in advertising, one requirements to get their establishment right and for that, they need better grades in the college assessment. my assignment help

    ReplyDelete
  36. This comment has been removed by the author.

    ReplyDelete
  37. Test Banks and Solution Manuals from TestBanks21 can make every study session easier, interesting and effective. Get exclusive and comprehenive study aids like Intermediate Accountingvolume 1 7th Edition Solution Manual right away.

    ReplyDelete
  38. Looking for the best study guides online? We offer Wongs Essentials Of Pediatric Nursing 10th Edition Test Bank at the lowest prices. Download instantly and improve your grades today.

    ReplyDelete
  39. Very useful article for me. Thanks for sharing. If you are seeking online assignment help, then come at Essay writing service to get assistance from the experienced assignment writer.

    ReplyDelete
  40. The best source for learning today are online resources. Students can find the best Test Banks and Solution Manuals Online including Principles Of Corporate Finance Mcgraw Hill Irwin Series In Finance Insurance And Real Estate 12th Edition Test Bank at TestBanks21.

    ReplyDelete
  41. Readers are always admiring informational blogs, and this is truly one of them. You did a great job. If you want to enhance writing skills, Sourceessay.com based assignment writer is the best solution for you. Essay writing service Leicester

    ReplyDelete
  42. Readers are always admiring informational blogs, and this is truly one of them. You did a great job. writing my assignment

    ReplyDelete
  43. As always very well tasting meals in good portions. Consistent quality - bindia high quality - means you can go back with high trust in a delicious meal. A will keep coming back as I have done for so long now.

    ReplyDelete

  44. Super lækker mad, sød betjening og varme, rolige omgivelser. Kan klart take away lyngby hovedgade anbefales! Jeg kommer helt sikkert igen!

    ReplyDelete

  45. All your other favorite features are here, including long sleeves, V-neck styles, wholesale blank t-shirts scoop neck, moisture-wicking, tear-away tags and raglan sleeves. These brands build their business on comfort and style, and you deserve nothing less!

    ReplyDelete
  46. Highly informative article. This site has lots of information and it is useful for us. Thanks for sharing . Pet Surgery in Vizag

    ReplyDelete
  47. Australian Assignment Help is best in providing assignment writing service Australia to students and Student Life Saviour in do my assignment for me Singapore at affordable prices.

    ReplyDelete
  48. I guess I am the only one who came here to share my very own experience. Guess what!? I am using my laptop for almost the past 2 years, but I had no idea of solving some basic issues. I do not know how to Crack But Thankfully, I recently visited a website named Cracked Fine
    Ashampoo Driver Updater Crack
    Windows 11 Activator Crack

    ReplyDelete
  49. Get your hand on the best fitness watch . best fitness band Or fitness tracker india under 2000. best fitness band under 2000

    ReplyDelete
  50. webgirls.pl In relation to preventing candidiasis, patients often have their operate reduce on their behalf. It is because infections can certainly become chronic and ongoing. With that in mind, on this page, we are going to current a variety of some of the best proven yeast infection remedy and prevention tips around.

    ReplyDelete
  51. This comment has been removed by the author.

    ReplyDelete
  52. https://gamezoom.xyz Acquiring a work out spouse can substantially improve your muscle-creating outcomes. Your lover can be quite a important way to obtain motivation for sticking with your regular workout session, and driving you to increase your attempts while you exercise. Possessing a trustworthy spouse to work through with will also help keep you secure because you will usually possess a spotter.

    ReplyDelete
  53. My Online Assignment help is a one stop destination for all your assignments and course related needs. We provide you with the best australia assignment help .

    ReplyDelete
  54. Really Impressive. This blog helps me a lot. Thanks for sharing. help in write my essay

    ReplyDelete
  55. I am glad that I read your good article on this website. Urgent Assignment Writing Help

    ReplyDelete
  56. Suppose you need urgent CHCPRP003 Assessment Answer in that case, you should get in touch with the best professional writers who deliver the work with high-quality content as per the guidelines and deadlines, guaranteed the HD grades for the assignment.  
    Media Communication Australian Assignment Help
    An Online Guide To Study Biology

    ReplyDelete
  57. Hire freelance models, singers, actors for your next upcoming project for any artists job. Browse latest models portfolio, singers, make it female actor and actress in India. Hire perfect artists for your next project be it freelance model,freelance actor,singer,professional dancers, actors, cinematographers, influencers in India. modeling jobs

    ReplyDelete
  58. very informative.You must continue your writing.
    I am confident, you have a great readers' base already!

    ReplyDelete
  59. I guess I am the only one who came here to share my very own experience. Guess what!? I am using my laptop for almost the past 2 years, but I had no idea of solving some basic issues. I do not know how to Easy to Direct Download All Software But thankfully, I recently visited a website named vstpirate
    DVDFab Passkey Crack
    Lumion Pro Crack
    Ashampoo Driver Updater Crack

    ReplyDelete

  60. Ordered the Coconut Tamarind Chicken and Aloo Gobi. Both dishes were delicious. indisk mad københavn Aloo Methi is also highly recommended. Friendly staff, food is always ready at the agreed time. Favorite spot for indian food around Copenhagen!
    We pride ourselves on carrying the largest selection of brands with many different fits, and high quality hoodies wholesale fabric types to choose from. For the largest selection of cheap polo shirts online look no further.

    ReplyDelete
  61. Wow, Really amazing blog! First time I visit your blog and believe me it's amazing and informative. paid thesis writing services

    ReplyDelete
  62. Dejlig mad hvor vi fik en prøvesmagning af retten mht om det skulle take away Bagsværd være stærkere før servering - genialt. Der blev sørget for god hygiejne ved salatbaren med sprit og handsker. Jeg kommer gerne igen.
    Vinyl Graphics If you have access to a vinyl cutter, customizing shirts using bulk t shirts dallas vinyl graphics is an easy and affordable alternative to screen printing.

    ReplyDelete
  63. This is a great inspiring article. I am pretty much pleased with your good work. You put really very helpful information. Keep it up. You might also like domino's delivery

    ReplyDelete
  64. Wow, amazing block structure! How long
    Have you written a blog before? Working on a blog seems easy.
    The overview of your website is pretty good, not to mention what it does.
    In the content!
    vstpatch.net
    DxO FilmPack Crack
    ClamXAV Crack
    Ashampoo Driver Updater Crack
    Ashampoo PDF Pro Crack
    iDealshare VideoGo Crack

    ReplyDelete
  65. situs prediksi togel sydney terupdate terpopuler prediksi hk

    ReplyDelete
  66. On a very unfortunate day I my family member had medical emergency and I have been already allotted with Essay assignment and I was tensed that how will I manage the same I needed someone to Do my Essay so my friend suggested to take Essay help from the best Essay writing services website available and the greatassignmenthelper.com proved to be the same.

    ReplyDelete
  67. Good,Thanks for the useful information

    vasavi atlantis is a new under construction project in Narsingi near Gachibowli,Hyderabad.Vasavi Atlantis In Narsingi is built up in 12 acres, 8 towers, 2199 units, 70% open spaces.They offer 2 BHK, 3 BHK, and 4 BHK Residential apartments with world class amenities and high standard specifications. The size andrange of these residential apartments is 1250 SFT to 3200 SFT.This project is constructed very careful manner with latest technologies and modern design.

    ReplyDelete
  68. Great Assignment Helper possesses an impeccable record of having consistently fetched no less than excellent grades through our assignment help online compositions. Having been successfully providing scholastic support services for a decade now, our unique compositions are always counterfeit free and totally upto the expectations of your faculty; thereby securing your academics with the best grades.
    https://greatassignmenthelper.com/

    ReplyDelete
  69. Nice Blog, I feel like all your ideas are incredible! Great job!!! Aim also share some information with you about SNR The Elite is developed by SNR Avenue, Located in Gopanpally, Hyderabad. SNR Avenues is India’s speedy developing assets Improvement Company. SNR Avenues attention is at the improvement of top rate residential & business properties, which deal with the necessities of our clientele. It is provides 2 & 3 bhk luxury flats available for sale in Affordable prices. Call +91-7070707098

    ReplyDelete

  70. Lectures, classes, exams, quizzes, tests- often surprise, research and field visits, extracurricular activities, and to complicate matters, homework to be done! How can a student manage all these things and still score an A? If you are ardently waiting for scoring an A on your homework, you just have to comment with the experts of Assignment Help UK

    ReplyDelete
  71. Best content forever. If looking for Write My Assignmentwe are here who always help you at all. sop needed at the time of admission when some one is going to take admission in other country.

    ReplyDelete
  72. Nice article, i want to you all read my article about, Alunite Market.
    The global Alunite Market , assessing the market based on its segments like types, end-uses, and major regions. The report tracks the latest trends in the industry and studies their impact on the overall market. It also assesses the market dynamics, covering the key demand and price indicators, along with analysing the market based on the SWOT and Porter’s Five Forces models.

    ReplyDelete
  73. We exclusively offer bespoke and top Australian Assignment Help to overburdened understudies struggling to make scholastic ends meet and help them score top grades consistently.

    ReplyDelete
  74. Very good points you wrote here..Great stuff…I think you’ve made some truly interesting points.Keep up the good work. Trying to say thank you won’t simply be adequate, for the astonishing lucidity in your article. I will legitimately get your RSS to remain educated regarding any updates. Wonderful work and much accomplishment in your business endeavors. Thanks for the nice blog. It was very useful for me. I’m happy I found this blog.Thank you for sharing with us,I too always learn something new from your post. Thanks for every other informative site. The place else may just I get that kind of information written in such an ideal means? I have a venture that I’m just now operating on, and I have been on the look out for such information 먹튀폴리스 검증업체

    ReplyDelete
  75. I just couldn’t leave your website before telling you that I truly enjoyed the top quality info you present to your visitors? Will be back again frequently to check up on new posts. I read this article. I think You put a great deal of exertion to make this article. I like your work. The information you have posted is very useful. The sites you have referred was good. Thanks for sharing 라이브바카라

    ReplyDelete
  76. A very awesome blog post. We are really grateful for your blog post. You will find a lot of approaches after visiting your post. I was exactly searching for. Thanks for such post and please keep it up . Looking at this article, I miss the time when I didn’t wear a mask. Hopefully this corona will end soon. My blog is a blog that mainly posts pictures of daily life before Corona and landscapes at that time. If you want to remember that time again, please visit us 라이브바카라

    ReplyDelete
  77. Excellent information on your blog, thank you for taking the time to share with us. Amazing insight you have on this, it's nice to find a website that details so much information about different artists . Thanks for sharing this information. I really like your blog post very much. You have really shared a informative and interesting blog post with people.Your articles are inventive. I am looking forward to reading the plethora of articles that you have linked here. Thumbs up! 꽁머니환전

    ReplyDelete
  78. Hi there, simply was aware of your weblog via Google, and located that it’s really informative. I am going to watch out for brussels. I’ll appreciate if you proceed this in future. A lot of other folks can be benefited out of your writing. Hello there! Would you mind if I share your blog with my twitter group? There’s a lot of people that I think would really appreciate your content. Please let me know. Many thanks I¦ve learn several just right stuff here. Definitely price bookmarking for revisiting. I surprise how a lot attempt you place to make such a excellent informative web site. 먹튀사이트

    ReplyDelete
  79. Thank you for the great piece of information. i would like to share some of the ethical argument topics and exploratory essay topics that you can help you when writing. once again thank you for awesome platform. I recently came across your blog and have been reading along. I thought I would leave my first comment. I don't know what to say except that I have enjoyed reading. Nice blog. I will keep visiting this blog very often. Many thanks to you for sharing these kinds of wonderful content. In addition, the best travel plus medical insurance plan can often ease those considerations that come with visiting abroad. 크랩스게임방법

    ReplyDelete
  80. A very excellent blog post. I am thankful for your blog post. I have found a lot of approaches after visiting your post. Thanks for picking out the time to discuss this, I feel great about it and love studying more on this topic. It is extremely helpful for me. Thanks for such a valuable help again. This is Great Post!! Thanks for sharing with us!! this is Really useful for me.. Please Keep here some updates. Very awesome!!! When I seek for this I found this website at the top of all blogs in search engine. 토토사이트

    ReplyDelete
  81. Very nice post. I just stumbled upon your blog and wanted to say that I’ve truly enjoyed surfing around your blscribing to your rss feed and I hope you write again soon! Thanks for your own hard work on this web page. My mother really likes engaging in research and it is easy to understand why. Many of us learn all regarding the powerful form you deliver both useful and interesting things by means of the web site and even inspire participation from other people about this concern and my princess is discovering a whole lot. Have fun with the rest of the year. You have been performing a good job. 토토사이트추천

    ReplyDelete
  82. Our Assignment Helper services are of premium quality, reasonably priced and hence affordable to everyone. Starting with the initial drafting phase, through evolution process of your assignment work, we provide you with 24x7 support.
    assignment help Melbourne
    best assignment help canada
    assignment help ireland

    ReplyDelete
  83. This post is really helped me. thanks for sharing your knowledge with us. paid thesis writing services

    ReplyDelete
  84. Thanks for sharing a nice blog!! Your written content is very impressive. help in assignment writing

    ReplyDelete
  85. I got some points through this article. It really help full for me.
    Visit for sell old iphones

    ReplyDelete
  86. Get the best convection microwave oven in India under 10000 for healthy food buy now! best convection microwave oven in india

    ReplyDelete
  87. I like your all post. You have done really good work. Thank you for the information you provide, it helped me a lot. crackdoc.org I hope to have many more entries or so from you.
    Very interesting blog.
    JetBrains CLion Crack
    PRTG Network Monitor Crack
    CCleaner Pro Crack
    AOMEI Partition Assistant Crack
    Eset Smart Security Premium Crack

    ReplyDelete
  88. Very useful and informative blog. Thank you so much for these kinds of informative blogs. hnc assignment helper uk

    ReplyDelete
  89. Take a look and go.This is an impressive post. Come here and take a look at my information. online assignment helper

    ReplyDelete
  90. Take a look and go.This is an impressive post. Come here and take a look at my information. best assignment helper

    ReplyDelete
  91. I think this is the best I've seen till now. I like your post continue to post later on I truly appreciate it. cheapest assignment helper

    ReplyDelete
  92. Your article is well written and simple to understand.You make excellent points.Thank you for sharing amazing blog.Nice.....

    ReplyDelete
  93. I'm writing on this topic these days. My blogging topics-
    fubotv/connect
    fubo.tv connect

    ReplyDelete
  94. Very Nice Blog! I've found that nursing assignment help in Australia. caters to the unique challenges faced by nursing students in this country. It's a game-changer for those aiming for academic success.

    ReplyDelete
  95. The blog effectively dissects the complexities of protocols in Java, shedding light on their intricate nature. It's an insightful read, offering a deeper understanding. For further insights on complex subjects like this, Assignment Help Pro provides excellent Nursing Assignment Help Online.

    ReplyDelete