Back
Jeff Andersson

Jeff Andersson

@santas_dev

I love dogs, simplicity and transparency.
6
Joined May 2021
Load previous page…

The easiest is to learn to do it via the command line, it isn't as difficult as it sounds :)

To expand on my comment, I would definately use the mongodump tool and the mongorestore tool. You can find information on how to use them online.

They are the way to go, even if you use mongodb atlas, you still want your own backups and you do it via the mongodump tool.

Thanks for the answers,

I guess you're right. My idea was only that it would be a bit tougher at first but that it would increase my productivity long-term since I don't have to build a SPA which is more complicated and time-consuming than only building a traditional backend app.

With liveview you would get a kind of hybrid that feels responsive as a SPA but with all the traditional web app building benefits.

I did a test like two months ago, and building a chunked image upload with vue took me several days but with Elixir it took me hours even with my inexperience. Maybe the comparison isn't fair though, since I built everything from scratch with vue/javascript but used a pre-built library for elixir.

Altough not perfect of course and other more simple things would take me much longer.

Sounds like a great idea, but does that store recent errors somehow?

Currently, it catches errors (reported by console.err) of the same browser session. I'm working on capturing those even when you refresh the page (console lost usually).

I will also use the general error event listener for web sites to make sure that every single error is catched.

Sorry for misunderstanding you. I use spoken or written language as my tool of choice. :D

Usually, I ask for what time the user had this issue and see if the error is displayed in my logs and then try to replicate it. Or I ask the user to provide a screenshot if possible, what device, os etc the user runs my application on.

After the intel gathering, it is manual labor of investigating and trying to replicate the issue.

That's exactly how I did it for quite a while when I was still developing mobile apps for mobiles (good old Windows Phone days :D). Later I switched to some kind of one button solution that (when clicked by the user) packaged up everything (logs, system info, ...) and send that package via eMail.

For the last two years I worked more on web apps where I always felt like something similar is missing.

Think of a feedback button. When selected by the user, he is able to briefly describe his issue. In addition he should be able to directly capture screen casts and screen shots, or add any arbitrary file that could help me to solve the problem faster. Logs and basic browser info is attached automatically. So I as a dev would receive such package that contains all the info that I need to solve that problem.

Sounds like a great idea, but does that store recent errors somehow?

Currently, it catches errors (reported by console.err) of the same browser session. I'm working on capturing those even when you refresh the page (console lost usually).

I will also use the general error event listener for web sites to make sure that every single error is catched.

Hello Thijs,

In the country I currently live in, we get a paper mail in our mailboxes before a payout of dividends. That mail informs the stockholder of what is being paid out, how much and so on. Not sure of how it is in the states tho.

I think your service don't really tells me what problem it solves for me regarding this issue. As far as I can undersstand it, it does exactly the same thing the paper mails I get but with a price tag and privacy questions attachted to it. You should probably highlight (imo) a common problem that you're solving with this service and make sure privacy is a highlight as well.

For example, something I would find more compelling is perhaps statistical data which is missing for me right now. I don't remember what I was paid last year and the year before that etc.

It could also tell me about which stocks has the best dividends compared to the stock value etc. Maybe your service already provides this information but it is not really selling it if that is the case :)

A one-time $4.99 fee is charged, after which you can use the service indefinitely

This is probably going to be an issue for you long term. Lets say 100 users sign up and pay and then you've very little growth. Now you're paying running costs with no income and that is a recipe for disaster. Imagine instead of you took a $4.99 / year, which is still very cheap now it will probably at least cover for your running costs of servers etc.

Best regards,
Markus

I'm an european so I may not really understand what the product does. It counts my dividends from stocks I own? The issue with this is that I have to give you information of all the stocks I own, which I would prefer to stay private.

But you should definately add overflow: auto to make scroll bars disappear on windows / linux.

Hi Markus, thank you for your feedback! The product tracks upcoming dividend payments of stocks you own. Whether a company decides to pay dividends, the amount of those dividends, and the payments dates of those dividends are all variable. It depends on the amount of profit that is made and company policies. When you're holding stocks as a source of passive income it is nice to know when you can expect payments.

I think the issue you bring up about the confidentiality of the data is valid. I'll reconsider this. It might be better to just let users list the stocks, and not ask for the amount users hold.

I will look into the issue regarding visible scroll bars!

Hello Thijs,

In the country I currently live in, we get a paper mail in our mailboxes before a payout of dividends. That mail informs the stockholder of what is being paid out, how much and so on. Not sure of how it is in the states tho.

I think your service don't really tells me what problem it solves for me regarding this issue. As far as I can undersstand it, it does exactly the same thing the paper mails I get but with a price tag and privacy questions attachted to it. You should probably highlight (imo) a common problem that you're solving with this service and make sure privacy is a highlight as well.

For example, something I would find more compelling is perhaps statistical data which is missing for me right now. I don't remember what I was paid last year and the year before that etc.

It could also tell me about which stocks has the best dividends compared to the stock value etc. Maybe your service already provides this information but it is not really selling it if that is the case :)

A one-time $4.99 fee is charged, after which you can use the service indefinitely

This is probably going to be an issue for you long term. Lets say 100 users sign up and pay and then you've very little growth. Now you're paying running costs with no income and that is a recipe for disaster. Imagine instead of you took a $4.99 / year, which is still very cheap now it will probably at least cover for your running costs of servers etc.

Best regards,
Markus

I usually have some kind of logging service (ex. Rollbar) and then try to log time and all errors to it. If I find a bug via the logs, which usually don't happen, I write it as a trello ticket and finish it later or perhaps I fix it immediately when it is fresh in the mind.

The key reason as you may know is just to be able to reproduce the error locally. So what you probably want to do is make your local dev environment as similar as the production environment as possible.

Some people like to use Docker for this reason, but I don't really like Docker that much and just setup everything manually on my local dev machine to be as similar to prod as possible. That way, you can ususally reproduce the issue quite quickly. I use a clone script to clone the production database so that I can have the same state on my local machine.

I have worked as a dev for about 10 years now and I don't think there really is any better way to do it than to reproduce the issue yourself and fix it. Usually reproducing the issue is what takes the most time.

Thanks, Markus. But I was more looking from a client's perspective on that question.

For me as a dev, I'm doing exactly what you're saying. The dev env is similar to the prod env as much as possible. Without Docker ;)

But even if both envs are the same, there are bugs that just cannot be reproduced on the dev env. So let's assume a client reaches out to you with such a problem. What tools do you use to tackle that problem? (see list I mentioned in my question)

Sorry for misunderstanding you. I use spoken or written language as my tool of choice. :D

Usually, I ask for what time the user had this issue and see if the error is displayed in my logs and then try to replicate it. Or I ask the user to provide a screenshot if possible, what device, os etc the user runs my application on.

After the intel gathering, it is manual labor of investigating and trying to replicate the issue.

That's exactly how I did it for quite a while when I was still developing mobile apps for mobiles (good old Windows Phone days :D). Later I switched to some kind of one button solution that (when clicked by the user) packaged up everything (logs, system info, ...) and send that package via eMail.

For the last two years I worked more on web apps where I always felt like something similar is missing.

Think of a feedback button. When selected by the user, he is able to briefly describe his issue. In addition he should be able to directly capture screen casts and screen shots, or add any arbitrary file that could help me to solve the problem faster. Logs and basic browser info is attached automatically. So I as a dev would receive such package that contains all the info that I need to solve that problem.

Sounds like a great idea, but does that store recent errors somehow?

Currently, it catches errors (reported by console.err) of the same browser session. I'm working on capturing those even when you refresh the page (console lost usually).

I will also use the general error event listener for web sites to make sure that every single error is catched.