• Breaking News

    Wednesday, June 30, 2021

    Is TypeScript a compiled language? Ask Programming

    Is TypeScript a compiled language? Ask Programming


    Is TypeScript a compiled language?

    Posted: 30 Jun 2021 03:17 PM PDT

    I am wondering, about two weeks now, if TypeScript is a compile or an interpreted language and why one would add different measures on TypeScript than on C# or Java.

    After googeling for about three days, I found some answers why C# and Java are considered compiled languages. First of all, both of them are "translated" into a intermediate language, for C# it is CIL and for Java it is Bytecode.

    CIL and Bytecode are then executed by the corresponding runtime. For CIL this is the CLR and for Java it is the JVM. Now, for looking into how that execution works, it looked at the first sight like it is interpreted by the runtime. After some research I found out, that CIL and Bytecode are jitted during execution, which, on the other hand means they get compiled into machine code and then executed by the CPU. (I know this is oversimplified, but I want to keep it a bit simple)

    TypeScript is "translated" into JavaScript. JavaScript is then executed in the browser, nodejs, deno or where ever. One thing all of these runtimes have in common is, that they can jit JavaScript, I guess, didn't reasearch much on that part, it is some kind of machine code aswell.

    So if you now compare how these "lifecycle" of these languages is, it is for all three the same:

    TypeScript/C#/Java > intermediate language > machine code

    So my question is now, what would you guys say is the correct term for TypeScript. Interpreted or compiled or maybe something completly different.

    PS: Short about me, I develop since I am 13 and am 27 now. So I do have experience and but I just can't get my head around the wording...

    submitted by /u/DerKnerd
    [link] [comments]

    I found a case where /fp:fast is slower than /fp:precise (Visual Studio, x87 operations). Is this unusual?

    Posted: 30 Jun 2021 02:54 PM PDT

    I'm investigating optimisation and speed of operation, to which end I'm running the following with /O2 and /Ot in Visual Studio:

    for (int i = 0; i < 1000000000; ++i) { x = 4 * x * (1 - x); } 

    If I specify /fp:precise, the inside of the loop (which the compiler unrolls by a factor of 10) compiles to:

    fld st(2) fsub st,st(1) fxch st(1) fmul st,st(2) fmulp st(1),st 

    and takes about 2.45s to run (I've disabled SSE because I'm specifically looking at the x87 instruction set).

    If I specify /fp:fast - which you'd think would be faster - it compiles to:

    fld st(2) fsub st,st(1) fmulp st(1),st fmul st,st(1) 

    which eliminates the fxch but otherwise appears to be identical - yet it takes 3.43s to run.

    Could it be some kind of dependency on a particular stack register that's slowing it down? And is the reason /fp:fast is slower likely just because x87 is on the way out and compilers can no longer reliably choose the fastest machine code?

    submitted by /u/wonkey_monkey
    [link] [comments]

    Writing an efficiency-booster script for Beginner

    Posted: 30 Jun 2021 10:36 PM PDT

    Hi mates,

    First post here and first experience with scripting.I was wondering if anyone here can help me with a little project for my torrent management.Let me explain.

    I have many many (too many) torrents in qBittorent, and really want them to finish so I can move to another task, as my ADHD keeps my focus on this until it's finish. And some torrents are stalled for month, or more.I would like to let qBittorent work when I'm not on my PC but in an efficient way.The problem is, many of my torrents lacks of seed, or have bad seeds and so a very slow DL speed.When I'm on my PC I can let it work a minute, see which torrents are slow and pause them but when I'm not here, I can't.I first tried some tutorials to improve the efficiency, by putting the right settings in Maximum Active DL, Maximum Active Torrents, and so on based on my DL rate on my router.It's already really cool, when torrents are well seeded, I have 5 Maximum Active DL and it's worth it.

    But for my slow torrents issue, I tried the option in Settings > Bittorent > "Do not count slow torrents in these limits"I don't know if y'all familiar with this.You can input a DL speed and UL speed Threshold, and a Inactivity time, and the software, will not count the Torrents which are below these limits for the amount of Inactivity Time you put.So in my case, I have 5 Maximum Active DL, and 7 Maximum Active Torrents (DL & UL), so if a torrent is below my limits, it doesn't count and go for another torrent.It helps me to skip a bit some slow torrents but I had a problem then.qBittorent seems to calculate the next torrent when it skips a slow one based on Active Torrents, not all torrents. So for 7 Max Active Torrents, when I already have my 5 Max Torrents DL, if I have 2 completed Torrents uploading, they're active, UL but active and my 7 Max Torrents are filled. So qBittorent will not skip the slow torrents. It's like it's doesn't see the rest, unless one DL in finished or one UL stops.

    For this I tried to up my number of Maximum Active Torrents only. It leads me to succesfully have many many active torrents, not downloading but ready to be the next when a slow torrent isn't counted. And here I have a big problem. Too many slow torrents leads me to have 49636459 not counted torrents, which are still downloading, but really slowly.It's taking up my bandwith and so isn't really optimal.

    The last option I saw was to write a script that do what I usually manually do, which works a lot better.

    And keeps my 7 Maximum Active Torrents to save my bandwith.

    I would like the script to do something like that:

    - Looking closely to the 5 actual DL (the max)

    - If there is one torrent below my limits (that I can setup in the script), do not "not count the torrent" but pause it. I prefer.

    - And do this check for every next torrent

    - When all the DL are done, and many torrents are on pause because of their slow DL speed, loop the check again, by resuming all the paused torrents.

    (Because I've thought about the obvious reasons that can lead a torrent to be slow, and it can also be a temporary router issue, a temporary seed issue or whatever. Sometimes torrents are slow and boom, hours later it isn't anymore.)

    And I would like the script to do that like infinitly to constantly check if a torrent -previously slow- is not good now.

    Is this kind of script even possible ?
    And, is this possible right on qBittorent ? I thought that because of the flexibility of the software but not sure.
    If not, maybe is it possible with an external software or external script, like how we do with macro programming etc ?

    Thanks a lot, like infinite thanks if you read this last line, and a hundred thanks if you can help me. Sorry for the amount of text but I wanted to be sure that I'm understandable because I'm mostly lost in this domain. And also sorry for my english, not my primary langage.

    Have the best day mates !

    submitted by /u/Azzarok
    [link] [comments]

    Looking for a hierarchical clustering api/service

    Posted: 30 Jun 2021 03:25 PM PDT

    Hello

    I'm working on a web project where i'm required to apply hierarchical clustering to a dataset uploaded by the user.

    I don't know much about clustering but i see it's brought up a lot in machine learning context and is applied mostly using languages like R and python..i couldn't find any help regarding it in JavaScript which is the main language of the project i'm working on..i'm wondering if there is an api or some sort of web service where i send my data as an array or so and receive clustered data in response..is there anything like this?

    Please help me

    Thanks

    submitted by /u/-KuroOkami-
    [link] [comments]

    Trying to refactor code and it won't work properly. JavaScript

    Posted: 30 Jun 2021 01:34 PM PDT

    So I implemented some js for this very simple modal window and i've already refactored everything so it works fine but I wanted to take it a step futher by allowing two functions to take any value and be able to add/remove the 'hidden' class. However when I try it this way nothing happens. What am I doing wrong here? The two commented out functions are the ones I was already using:

     const modal = document.querySelector('.modal'); const overlay = document.querySelector('.overlay'); const closeModal = document.querySelector('.close-modal'); const showModal = document.querySelectorAll('.show-modal'); // const removeHidden = function () { // modal.classList.remove('hidden'); // overlay.classList.remove('hidden'); // }; // const addHidden = function () { // modal.classList.add('hidden'); // overlay.classList.add('hidden'); // }; const addHidden = function (val) { val.classList.add('hidden'); }; const removeHidden = function (val) { val.classList.remove('hidden'); }; for (let i = 0; i < showModal.length; i++) { showModal[i].addEventListener('click', removeHidden); } closeModal.addEventListener('click', addHidden); overlay.addEventListener('click', addHidden); document.addEventListener('keydown', function (e) { if (e.key === 'Escape' && !modal.classList.contains('hidden')) { addHidden(); } }); 
    submitted by /u/CrunchElement
    [link] [comments]

    Running an asynchronous for loop in python.

    Posted: 30 Jun 2021 12:26 PM PDT

    Hi all!

    I started exploring python's coroutines. I am currently trying to make a program that iterates through a loop. The loop calls a function (take_time) that waits a random amount of time, then prints the index of the loop. The catch is that I'm trying to make it such that whichever iteration finishes first, will print first. My logic was to make a bunch of asyncio tasks, then put then in a list, and finally iterate through the list and execute the tasks. My code looks a little funny and I'm not really sure if this is the right way to go about it. My result seems to be correct, just looking for some insight.

    async def main():

    tasks_to_execute = []
    for i in range(10):
    task = asyncio.create_task(take_time(i))
    tasks_to_execute.append(task)
    for task in tasks_to_execute:
    await task

    async def take_time(i):
    await asyncio.sleep(random.uniform(1, 6))
    print(i)

    asyncio.run(main())

    Thanks for all the help.

    Edit: Formatting

    submitted by /u/Calm_Objective_8494
    [link] [comments]

    What's the best mobile app framework for OCR

    Posted: 30 Jun 2021 03:42 AM PDT

    I want to develop a mobile app for Android (and hopefully IOS too) that has an OCR element to it. I was wondering what would be the best framework for this.

    I'm familiar with React so my go-to was React Native, but I'm not sure how it compares with other options like Flutter and such when it comes to OCR. If there's no cross platform option that would be able to handle it, what would you recommend instead?

    submitted by /u/terrible-cats
    [link] [comments]

    How to create a list from the products of multiple parameters passed through a function in python

    Posted: 30 Jun 2021 02:02 PM PDT

    I'm attempting to create a graph in python of a projectile being launched at a certain height. My current method of doing this is to define a function and define the parameters of my function individually. Rather than write out each variable inside of the equation, as I did here, is there a way I can pass each number through the function all at once and create a list off of it?

    def xcoordinate(t1, t2, t3, t4, t5): global a, b, c, d, e a, b, c, d, e = t1*5 + 10, t2*5 + 10, t3*5 + 10, t4*5 + 10, t5*5 + 10 def ycoordinate(t1, t2, t3, t4, t5): global f, g, h, i, j f, g, h, i, j = 50 - 5*t1 ** 2, 50 - 5*t2 ** 2, 50 - 5*t3 ** 2, 50 - 5*t4 ** 2, 50 - 5*t5 ** 2 xcoordinate(1, 2, 3, 4, 5) ycoordinate(1, 2, 3, 4, 5) 
    submitted by /u/RevolutionaryFish458
    [link] [comments]

    How can I deploy/publish my Django + Vue.js web app?

    Posted: 30 Jun 2021 05:32 PM PDT

    As the title states, we've created a web application with backend written in Django, and Vue.js frontend. The frontend uses Rest API from Django Rest Framework and Django uses SQLite database (maybe Postgres in the near future).

    I was able to dockerize it with docker-compose and can run it from containers locally, idk if that's useful for deploying.

    So I tried with Azure App Services and Container Instances but couldn't make it work.

    Any tips? What's the best way to deploy it, with possibly the lowest cost?

    Here's the code repository: github!

    submitted by /u/Kasden45
    [link] [comments]

    Am I forced to use NodeJS in this scenario?

    Posted: 30 Jun 2021 05:22 PM PDT

    Hey, so this could be a stupid question and I promise you I'm being serious. I'm a student and have had a poorly documented project dumped on my crotch.

    At the moment I have an nodeJS application that uses nest. It is an API application and at the moment is sole purpose is to wait for calls from the web app and then handle them. (I'm pretty sure I just described what a back end is meant to do but give me a break, I'm an idiot). The guy who's dumped this on me wants an app that uses elements of this, however he is not wanting requests from the web app, he wants a full desktop application. So he wants me to take little bits and pieces from the original code and make them work so requests are not needed and is controlled from a desktop app. The server would be running on the same machine as the desktop application so I see absolutely zero reason for this do be an API application.

    Now what I would usually do is just straight up use a different language however here is where the kicker comes in. I need to use puppeteer and to my knowledge I cannot use it with any other language.

    My overall question is, what would you do in this scenario. Would you create a desktop app that calls the localhost and just develop another API application? I feel like there must be a better solution than this.

    Any help is appreciated, and I apologise if I hurt anyone's brain with this dumb question. Thanks!

    submitted by /u/ThePaidAssassin
    [link] [comments]

    old tongue-in cheek guide for new students at [Stanford | MIT | Caltech]?

    Posted: 30 Jun 2021 01:32 PM PDT

    IDK where to ask this but I just know there are people in this sub that know. Years ago I read some webpage that was a tongue-in-cheek introduction to the terms necessary to survive at some top US university. It had a few gems in it such as that the word 'function' is really versatile/overused.

    Also it informed the incoming students that saying "i am lost" is way less eloquent than "man these buildings are really isotropic in structure".

    And I might be conflating it with another gem of a site but I think it also praised serial experiments lain for its usage of lisp on some terminal.

    Would really love to find this site again, thanks!

    submitted by /u/CaptchasSuckAss
    [link] [comments]

    Ideas for building a network programming / DevOps line of business?

    Posted: 30 Jun 2021 01:27 PM PDT

    I'm building a new DevOps department with a focus on network automation. Any ideas for stepping stone projects to build the practice? Looking for a brainstorm!

    submitted by /u/DayJobber
    [link] [comments]

    Does anyone know of an arm26 disassembler for macOS?

    Posted: 30 Jun 2021 04:15 PM PDT

    Ideally graphical and free, but command line and cheap is okay too. Something like Hopper would be awesome, but it looks like it only supports v6 and up.

    submitted by /u/Isvara
    [link] [comments]

    What app framework should I use as a beginner to build a navigation map?

    Posted: 30 Jun 2021 11:21 AM PDT

    Hey everyone, I am looking for a good app framework to work on as a beginner. I and my friend built an HTML/CSS/ javascript-based map navigation for our school because it is difficult to navigate to different classrooms since the room number system at our school is quite complicated and the school is colossal.

    We already programmed it so you can run the navigation program on a pc via a browser, and we are thinking to build a navigation application from scratch if we are going to build an app. I heard that if you are new to app development, you should consider starting with native development and not cross-platform development. But we really want to work on cross-platform since our goal is both to build an app for IOS and Android.

    So should we go after cross-platform development, and if yes, which one should we chose (React Native, Flutter, or something third???)

    Or should we go after native development. Note: Both me and my friend have a Windows PC, and both our phones are IPhones.

    submitted by /u/Joshtice_
    [link] [comments]

    Source Detection

    Posted: 30 Jun 2021 08:30 AM PDT

    I am looking into building a Source Detection mechanism for my web project (built with php and react). Think of it like Google Analytics. I would just like to know from where someone is coming from to view a particular page. Ideally I could the count the "sources".

    For example:
    I have a Profile page.
    I want to know from where people come from to view it. It could be internally from other page, or from external source such as Reddit or Twitter.

    So the question becomes, could I somehow do this my self? Or are there any properly open source solutions to detect sources?

    submitted by /u/LuisSur
    [link] [comments]

    Has anyone here experience with namecheap private email service?

    Posted: 30 Jun 2021 05:09 AM PDT

    Hi all I am transferring the website of a small / midsize company to aws. The old provider also did the email server, so I will need to find a new host for the mailserver. I considered aws' workmail and google workspace, but find both a bit too expensive so I ended up looking at namecheap. I have a free trail account setup and so far everything looks good (I only have 1 mailbox to test). Just curious if anyone has some more experience with them. Also I am planning on using route 53 for the dns.

    submitted by /u/notreallyaredditor8
    [link] [comments]

    TikTok text-to-speech

    Posted: 30 Jun 2021 12:39 PM PDT

    Not sure if this is the right place to ask this because I know absolutely nothing about programming, but can anyone explain why the TikTok Text-To-Speech lady starts to mumble when you make her day a bunch of h's? Maybe you've seen the trend if not here's an example

    submitted by /u/DannyIsADuck
    [link] [comments]

    Java Code Revision

    Posted: 30 Jun 2021 12:21 PM PDT

    I need to revise my java code for my assignment. My assignment is about matching pennies game. It is played by a computer and a user.

    1.Each player has same number of penny. Running the program should first ask the user for the number of starting pennies for each player,for example 5 or any other number. I have done this part.

    2.For each round, the two players take turns: user should be able choose "Heads" or "Tails" using a number for each (1or 2) and user should write his/her choice on console(I am having issues for this part) and computer will select his/her choice randomly. If the pennies match (both heads or both tails), then User keeps both pennies, so wins one from Computer (+1 for user, -1 for computer). If the pennies do not match (one heads and one tails) computer keeps both pennies, so receives one from user (-1 for user, +1 for computer)After the user's choice, computer should be able to choose one of the two options as well(randomly). I am having issues for this part too.

    3.When one of the two players runs out of pennies, display who won each round and the final winner (user or computer). I have done this part too.

    Could you help me for the missing part? Please see my code at below:

    import java.util.Scanner; public class Pennies { public static int generateTicketNumber(int min, int max) { int range = (max - min) + 1; return (int) (Math.random() * range) + min; } public static void main(String[] args) { // TODO Auto-generated method stub int human_penny; int computer_penny; Scanner input = new Scanner(System.in); System.out.println("Enter your number of Pennies"); human_penny = input.nextInt(); System.out.println("Enter computer's number of Pennies"); computer_penny = input.nextInt(); System.out .println("Human Penny is before: " + human_penny); System.out.println( "Computer Penny is before: " + human_penny); while (true) { int coin_human = generateTicketNumber(1, 2); int coin_computer = generateTicketNumber(1, 2); System.out.println("My coin is: " + coin_human); System.out.println( "Computer coin is: " + coin_computer); if (coin_human == 1 && coin_computer == 1) { human_penny++; computer_penny--; } else if (coin_human == 2 && coin_computer == 2) { human_penny--; computer_penny++; } System.out.println("Human Penny is: " + human_penny); System.out.println( "Computer Penny is: " + computer_penny); if (human_penny == 0 || computer_penny == 0) { break; } } if (human_penny <= 0) { System.out.println("You have Won"); } if (computer_penny <= 0) { System.out.println("You have lost"); } } } 

    submitted by /u/zubukzubuk
    [link] [comments]

    Has anyone tried exporting Telegram chat history into an Excel table?

    Posted: 30 Jun 2021 08:30 AM PDT

    Hi! First-time poster here.

    I want to export Telegram chat history (e.g. a telegram channel that notifies members various sales occurring nationwide) and convert such information into an Excel table.

    Purpose: Multiple sales/deals take place in my country. Due to the high cost of living + wanting to save as much of my salary as possible, I think I could use an automated tool that notifies me daily what deals are still available and when they close.

    For example, the notification (the telegram channel standardises the message format) could be:

    McDonald's

    NEW Chicken Mccrispy

    Starting 1 July, Thursday

    No end date specified

    Terms and conditions apply

    All applicable outlets

    Full details: (tiny url)

    I would want to convert it into a formatted table as shown:

    Company Description of sale/deal Start date End date Number of outlets Full details site link

    Preferred coding language: I only know how to code in Python

    I know this seems like a tall ask (a task that most people have not ever done in their lives/have seen no need to do this + restricted to only one coding language) but I would really appreciate the help/advice!!

    Thanks in advance!! :)

    submitted by /u/PublicWar5
    [link] [comments]

    Generalizing a script that edits yaml files.

    Posted: 30 Jun 2021 10:56 AM PDT

    I'll include the context at the beginning, and then bold my questions I have at the end.

    Context:

    For my first assignment as a brand new software developer, my boss had me create a script that would do the following:

    we have a series of yaml documents (if you're unfamiliar, its like a slightly more user readable version of json or xml). Our various api's in our microarchitecture contain some of the same information in their api specification yaml documents. I was tasked to create a modified version of one of our api spec yaml (we'll call it our template file) files that, instead of including a chunk of information that already exists in a different yaml file, is has a reference to that other yaml file. So my script reads in this template, scans through it looking for a certain tag (something like x-ref-....) and when it finds that tag, it looks for the very next line which is a url to where that other file is located that has the info that should go there. My script then finds the other yaml file at that url, reads in THAT yaml file, then parses through THIS one and finds the info. Then using a recursive function I wrote, it replaces the reference in the first yaml file (the template) with the actual data that it found in a different file.

    I ran it by my boss and my implementation is satisfactory. Here is the general structure of that initial template mechanism https://imgur.com/o6RDSBS

    But now he wants to make it such that instead of a specific chunk of code in a specific file that has been hard coded, he wants this script to (and hopefully i'm understanding him correctly) allow you to give ANY particular yaml "template" file (a yaml file that has had certain info replaced with a reference to the info so that it the same info doesn't exist in more than one location). He also wants it so that it can work recursively: if we reference a yaml file, but that yaml file ITSELF has another reference to yet a THIRD yaml file, that I recursively follow THAT reference and so on and so on.

    Here's where I am getting confused. He's given me another example. A particular chunk of code in that original api spec yaml doc, he wants to ALSO be available in a different api's spec yaml doc. That would be an easy fix if i was still hard coding it. But if he didn't tell me that, there'd be no way for me to know that. its one thing for when i'm finding REDUNDANT info and removing duplicates and replacing them with references to the original info. But now i'm taking a doc that doesn't have the info to begin with and adding a reference to another doc with that info.

    I don't know how i'd be able to do that without hard coding a specific use case. You know? He simultaneously wants this to be generic enough to work for any given scenario, yet also is giving me very specific examples of things he wants it to do. I am having trouble knowing even where to start. I just got out of an hour long meeting with him furiously jotting down notes as he's explaining this to me, and I can tell he's already frustrated that i'm clearly struggling with the concept.

    This was a little bit long and rambly so here's my questions:

    1: He wants the script I wrote to be accessible from a command line or terminal. Such that it can be included in one of our many shell scripts so whenever they call that script, my script will execute. I'm new to python, and honestly new to linux too. I'm not exactly sure how to do that. How do i make my script able to be executed in a shell script?

    2: Other than hard coding the specific example he wanted me to do, how would I make this very general python script do what he wants? The best I can think of is make the PYTHON script general, but the template files with references must be created on an individual basis. Does that sound right?

    3: How can I pass an argument to a python script. we aren't doing object oriented programming here, nothing is inside of classes. How can I make my script take in an argument from the command line?

    submitted by /u/Dotaproffessional
    [link] [comments]

    How does using a library help me save memory resources?

    Posted: 30 Jun 2021 10:53 AM PDT

    I'm reading about dynamic link libraries (DLL) used in Windows OS. Here's the blog by Microsoft- https://docs.microsoft.com/en-us/troubleshoot/windows-client/deployment/dynamic-link-library.

    In a section about advantages of using DLL, they say that it improves the code reusability. Cool, I get that. Then, they say that using DLL also helps you save CPU resources, but don't tell us how. This is what they about it:

    Uses fewer resources: When multiple programs use the same library of functions, a DLL can reduce the duplication of code that is loaded on the disk and in physical memory. It can greatly influence the performance of not just the program that is running in the foreground, but also other programs that are running on the Windows operating system.

    I understand that it reduces duplication of code. That's why code reusability is the first advantage! In what manner is 'duplication of code' connected with 'using fewer CPU resources'?

    Suppose I am not using the dynamic link library. Now, even if multiple programs were to call for memory space, wouldn't they just have to wait for their turn, till another program gets done with its execution and then release the memory? How be this scenario be any different from when I implement a dynamic library?

    submitted by /u/NoFee8
    [link] [comments]

    How to add text to a video based on user input?

    Posted: 30 Jun 2021 06:30 AM PDT

    I was wondering if there is a way to add text to a predifined video based on a user input. I need this to work on the web.

    I'm aware of Python OpenCV, but are there any other methods to do so?

    If someone can shed some light on this it will be a great help.

    submitted by /u/Deneth1216
    [link] [comments]

    JavaScript on Html. Help

    Posted: 30 Jun 2021 09:32 AM PDT

    Hello so how am I supposed to add JSON.stringify on my html login page? I'm just new in programming. Thank you in advance!

    submitted by /u/iwishiwaspecial
    [link] [comments]

    Automating Batch filpping between two programs

    Posted: 30 Jun 2021 09:03 AM PDT

    Hello I have two exe that will run specific task. they are tied together and batches of tasks must run concurrently. So I can load up Task A BAtch a and Task B Batch A. how to make it move on to Task B Batch B upon completion?

    submitted by /u/briandress
    [link] [comments]

    Python installation error

    Posted: 30 Jun 2021 05:22 AM PDT

    I uninstalled python3.7 from my system and reinstalled it from scratch but when running python --version in cmd it shows the following output.

    https://i.stack.imgur.com/Npns9.jpg

    It's there in environment variables though. https://i.stack.imgur.com/jTxTd.jpg

    I also tried using python3.7, python3.exe, python3.7.exe also.

    Please help!

    submitted by /u/k_ma2169
    [link] [comments]

    No comments:

    Post a Comment