Generally, i tend to buy the same things, so the "big" data entry job happens only once.
55 karma · joined July 17, 2012
Generally, i tend to buy the same things, so the "big" data entry job happens only once.
Working on an app that helps me (and other people) do household management on autopilot. It helps me manage things, food, expiration dates, shopping, chores, and I get notified periodically to review my lists. I waste way less food and I actually do my chores instead of procrastinating. https://okthings.app
Advantages: You can use F# on the front and backend. Pretty good js interop with a lot of opportunities to shoot yourself in the foot.
Disadvantages: You will probably need to use the Elm docs/tutorials to learn about Elmish.
In a few years, C# 20.0 will have only one release note: Changed the name from C# to F#
I also used to love js / php because because I thought types make the code unnecessarily verbose. After some pet projects with a strongly typed lang (c#) I realized the peace of mind that using types gives. But I still maintain my opinion that types make the code too verbose.
But then I saw the "light" that is F# and I'm here to preach:
F# has types BUT you don't need to type them (most of the time) because it has type inference. F# can be used in the .net ecosystem and most of the time it can replace C#. F# can be compiled to js (although the interop is a bit messy). F# is a better typed javascript than typescript. F# is predominantly functional but you can also write code in the non-functional(ha!) style of your choice. F# discourages you from coding mutable spaghetti F# has decent tooling: VSCode + Ionide + dotnet + paket F# has pipes |>
The bad parts:
F# is not a hard-core functional language like Haskell, but for me this is a positive F# is a functional language which requires a change about how you think about a program. F# doesn't have a huge community F# doesn't give you a lot of job prospects F# doesn't have a lot of 3rd party libraries (but you can use c# libraries in .net or js libraries with fable. You can also mostly port libraries from other functional languages) F# requires you to think about the order of your declaration. Cyclic dependencies are harder to accomplish although this might be a good thing.
When I used it to learn .net mvc, the course was pretty well produced and structured.
Also, if I remember correctly, Troy Hunt had a web security course on the site.
Play around with the f# language (don't touch the js inter-op) until you can figure out if you actually like f#. Take it slow, it's not just a new language, it's a different paradigm. If you get frustrated, take a break for a few days, watch some f# videos and let the knowledge settle. You'll eventually start having evrika moments.
Look into other functional languages. Maybe you'll like others more. Accumulate knowledge and experience until you start thinking "I could do this a lot simpler in f# (or other lang)".
Then, if you want to use f# in a c# project you just need to learn how to reference a project in another project.
If you want some resources: https://fsharpforfunandprofit.com/video/ some of these videos can get you "hyped up" for functional languages
https://www.youtube.com/watch?v=4YO4XmtPFQw
https://www.youtube.com/watch?v=EPfpO_6uFAA
the entire https://fsharpforfunandprofit.com/ site is a good resource to learn everything from the basics to the wizard level stuff.
As an editor you can use Visual Studio but I'd recommend Visual Studio Code with the Ionide extension.
It's the most practical functional language that I've tried. Great for domain modeling and it can used in C# projects.
I also think that c# is too verbose so what I normally do: asp.net core mvc for routing, templating, authentication / authorization, data access etc and then reference an f# project that contains the domain logic. The best of both worlds.
Or maybe, with support from the email provider the pop up will contain just the link
Or maybe you could redirect to the link automatically
it's starting to look like 3rd party auth, only that you need to enter your email
i think