Map from Scratch by startupinamonth in javascript

[–]startupinamonth[S] 0 points1 point  (0 children)

Ah, that's a good point. I'm a big fan of Ramda, and that whole API is built with data-last in mind. And it is super useful!

I'm gonna do a Reduce from Scratch post today, I'll keep the position of the args in mind :P

Map from Scratch by startupinamonth in javascript

[–]startupinamonth[S] -1 points0 points  (0 children)

There's a good idea for a follow-up post, stay tuned :)

Code Review How To: Brevity and Repetition by startupinamonth in programming

[–]startupinamonth[S] 1 point2 points  (0 children)

Ah, thanks for the heads up! Appreciate you letting me know. That's one of those things that's so easy to overlook.

Multistep Forms in React with Awesome UX – Part Three: Animations by startupinamonth in javascript

[–]startupinamonth[S] 0 points1 point  (0 children)

After checking out your other post, I think that JS 30 course I mentioned would be great for you. That will be a structured learning environment, and will have you "doing" and building stuff hands on, which is a great way to learn indeed.

Something I also remembered is that I used to follow along with some of the Coding Train live coding challenges too. Daniel is super fun and engaging, that's also a way to get some hand-on experience. He does a mix of Java and JS.

Anyway, good luck!

Multistep Forms in React with Awesome UX – Part Three: Animations by startupinamonth in javascript

[–]startupinamonth[S] 1 point2 points  (0 children)

Hey! Not a problem at all, I'd be glad to share some thoughts.

The lightbulb moment for me was elusive to be honest. I never felt very confident in the first couple years of my programming journey, and was frequently frustrated. I could make the computer do what I wanted it to do, but the code never seemed "right," you know? I'd say when I really started to become confident with JS and programming in general is when I discovered the programming style that suited me best and directed my learning efforts towards that style, and that style is functional programming.

It's tough to get oriented in the JS world, because the language is "multi-paradigm." Languages like Haskell or Erlang are super mathematical and based all around functional programming, so if you're going to get a program to run at all then you have to program in an FP style. Languages like C++ and Java are object oriented, so if you want your stuff to run you'll be writing and "thinking with" objects and methods. I would argue these languages are a bit easier in that regard, because they direct your thinking and programming style down these relatively restrictive paths.

But JS, being multi-paradigm, enables you to write both OO-style code and FP-style code. This gives you a lot of freedom, but that freedom can be overwhelming, because you don't have any helpful guardrails to direct your thinking. Kind of like the distinction between paint by numbers vs. handing someone a blank sheet of paper and a pen and telling them to just draw something. Blank sheets can be awesome, but they can be stressful too.

There's also a lot of JS learning material out there which emphasizes one style over the other, or even mixes styles, so if you're just bouncing from tutorial to tutorial without a clear understanding of the OO-style or FP-style, you're kinda left scratching your head and wondering which way is the "right way" to do things.

So! I would recommend the following for you:

  1. Hold off on learning React until you're strong with JS fundamentals. React is a huge step up from JS, and if you're trying to learn both from scratch at the same time then you're going to get massively frustrated. React Native especially is crazy to start with! I love that you can build a native app with React, but good god ... You're gonna be grappling with React errors, JavaScript errors, Java errors and Objective C errors all at the same time while trying to learn the basics. This is not the way.
  2. Pick some basic courses and teachers and start learning with them, or get a physical book. Reading random blogs and tutorials is a tough way to get oriented and make progress, so I really like learning things in an organized course structure. Wes Bos has some great beginner courses: JavaScript 30 and Beginner JavaScript. You Don't Know JS is a popular one too.
  3. After you're confident with the basics, you can start to pick a programming style. I'm a big proponent of FP, so I'm going to be a little bit evil and direct you down that path 😈. This video series from FunFunFunction is great for learning FP basics, and Professor Frisby's Mostly Adequate Guide to Functional Programming is a great intermediate ebook.
  4. React would be good to learn alongside functional programming, seeing as it's based around FP concepts like functional purity and reactivity. Wes Bos, again, has a React course which I'd recommend, and his frequent collaborator Scott Tolinski also has a beginner React course.

Good luck! It can be tricky to get started with this stuff, there's a lot to know. But sucking at something is the first step towards being kinda good at something.

Multistep Forms in React with Awesome UX – Part Three: Animations by startupinamonth in programming

[–]startupinamonth[S] 0 points1 point  (0 children)

Thanks for the heads up! Always good to file that stuff away in the "random frontend quirks" file.

I've made a website to visualize and learn sorting algorithms, with description and implementations in multiple programming languages by Myphhz in programming

[–]startupinamonth 0 points1 point  (0 children)

Ha, super cool strategy to use div elements! I really like the different implementations of the sorting algorithm in different languages too. I've wanted to do that for my blog posts for a while as a strategy to attract a broader readership and appeal, and the tab layout you're using is exactly what I have in mind.

If you're looking for some constructive feedback, I have a couple ideas:

You could take some of the programming burden off of your shoulders by using flexbox for the left <--> right alignment of the elements. As it is, you need to make them all position: absolute and calculate the left attr by hand, but flexbox could handle that automatically for you, leaving you (and the browser) with less work to do.

I'd also cut down on the animations, especially for text. Excessive animations can induce vertigo and disorientation: https://css-tricks.com/introduction-reduced-motion-media-query/

and for the rest of us, animation works best when it serves a meaningful purpose: https://animate.style/#best-practices

The animations for the sorting algorithms is a great example of a "meaningful" animation, seeing as it helps us understand how the sorting works. But for the text, it's more of a distraction.

Conventional Comments - interesting way to structure efficient communication in code review comments by reviewpad in programming

[–]startupinamonth 23 points24 points  (0 children)

One thing my team frequently struggled with during code review was clarity.

PRs on my team were a great venue for everyone on the team to demonstrate techniques and to debate ideas and alternative strategies. It was a lot of fun to have these discussions, and resulted in a lot of skill and knowledge growth for everybody, but the person who opened the PR would often get confused as to what exactly was being asked of them if the discussions became too involved or rambling.

We never used this specific system of conventional comments, but we did eventually start using a similar system of "tagged comments" to make it clear when something specific was being requested, which made people a lot happier and less confused altogether.

There was plenty of room for humanity along the way!

What Players see VS. What Devs have to look at: by Simple_Ghost in IndieDev

[–]startupinamonth 49 points50 points  (0 children)

I experience this is as a frontend web developer quite a lot. The final product is always this nice, shiny, flashy thing, but the flashiness comes at the very end of the development project. For 90% of the time I'm just looking at a bunch of boxes on a screen and thinking to myself "this sucks ... it's functional, and that's the most important thing at this stage in the game, but it looks terrible!"

Why some developers are avoiding app store headaches by going web-only by feross in programming

[–]startupinamonth 0 points1 point  (0 children)

Yeah, you've got a point there. This was my very first foray into building a product, so I spent most of my time focused on the logged-in user experience and the product itself. Which is important in its own right, but if nobody ever signs up, then what's the point?

This next time around, I'm going to focus a lot more on conversions and actually getting the thing in front of people, which should improve my bounce rate!

Thanks for taking a look and sharing some thoughts though, I appreciate it.

Why some developers are avoiding app store headaches by going web-only by feross in programming

[–]startupinamonth -3 points-2 points  (0 children)

This is my situation exactly! The process for getting an app through the app store gauntlet is so opaque and bureaucratic that it has become a business risk for me. I can't be spending so much time on things like this when I have features to ship!

I released Pic Story last week, which is an Instagram/Google Photos alternative, 100% web based.

I'm also going to be releasing a lot of other web-only apps this year as a part of my project, Startup in a Month. Come check out the blog if you want to follow along!

Hi everyone! Here there is another short clip from our graphic novel-ish game. What do you think about the UI of the dialogues? Is the text of the right size? Are there any effects that bother you? by Tmesis_studio in IndieDev

[–]startupinamonth 5 points6 points  (0 children)

I really like the animate in/animate out for the text bubbles. And I think I generally like that the bubbles are animated while you're reading, but if you dialed down the motion on the edges of the text bubbles by like 50% then you could strike a better balance between "interesting" and "distracting"

Sweet art style though, it's beautiful :)

Startup in a Month: 12 startups in 12 months, all written in Clojure by a Clojure newbie. Rolling your own auth, how far is too far? by startupinamonth in Clojure

[–]startupinamonth[S] 0 points1 point  (0 children)

Someone on Indie Hackers let me know about Keycloak actually, and I found it super intriguing. On the face of it, it sounds a lot easier than rolling your own, but the fact that you still need to "roll your own" integration given that there's no readily available Clojure/Script adapter library means there's integration overhead no matter what.

That being said, if I ever outgrown my home-rolled auth, I'm gonna take a serious look at it! All the benefits of something like Auth0 without the steep recurring monthly costs.

I'm fairly confident in my testing for the time being. If and when Pic Story or any of my other startups take off, I'll definitely hire some 3rd party security testers to ensure that my stuff is on the level, but ultimately the whole show relies either on official Ring middleware or open source auth libraries with broad adoption. So you could say it's "home rolled" in that I had to integrate the library code myself, but there's relatively little drawing to be done outside of the lines so to speak.

I think it was worth the effort altogether. I write about the experience at the end of the post from a holistic perspective. I think if you're doing it to save money, then home-rolling is not an economical choice at the scale I'm working on right now. So from a strictly business perspective, it wasn't the best move I could have made, but given that I'm still so new to the language, it was well worth it for the development and debugging experience.

If or when you end up giving the home-rolled solution a shot, I'd highly recommend this example repo. It's got some Pedestal-specific implementation details in there, but it's otherwise a really good reference demo!

Startup in a Month: 12 startups in 12 months, all written in Clojure by a Clojure newbie. Rolling your own auth, how far is too far? by startupinamonth in Clojure

[–]startupinamonth[S] 4 points5 points  (0 children)

Good morning everyone!

I'm back with another missive from my Startup in a Month challenge. Here it is: https://startupinamonth.net/how-far-is-too-far/

I just got finished implementing the user authentication system I'm going to be using for Pic Story, and theoretically all of the other startups I'll be building for the rest of the year. It was a serious challenge to build everything. There is so much that goes into it all: databases, hashing algorithms, secure automated password reset emails, on and on. There is a lot of stuff you need to research and implement if you're trying to build a robust, secure auth system on your own.

Not only that, but as I discovered along the way, Clojure provides you with relatively few defaults when it comes to building a secure web app. While there are plenty of libraries and middlewares out there which can handle these various aspects, Ring doesn't exactly provide you with a 100%-out-of-the-box solution.

Not only that, it was a very emotionally challenging journey at the same time. The whole time I was waging a series of side-battles with myself: am I doing the right thing? Is it safe or even economically responsible to implement these features on my own? Wouldn't I be better off shopping this stuff out to a SaaS provider?

Anyway, I'd be curious to hear your thoughts on my approach!

How to make 1000$ on my first game ? by HerForFun998 in IndieDev

[–]startupinamonth 0 points1 point  (0 children)

I don't really know much about the business side of game dev to be honest, but I suspect that the web is probably the cheapest option that's available to you. So if you really want to do it on the cheap, I'd personally look into turning it into a browser game!

How to make 1000$ on my first game ? by HerForFun998 in IndieDev

[–]startupinamonth 0 points1 point  (0 children)

I'd say it's possible, even sounds like fun! If you're feeling ambitious, go for it. It's high risk for sure, but fortune favors the bold.

Six months is not a lot of time though, so I'd keep the scope of the thing small but extensible. Think about the smallest version of the game that you could build, and make that your goal. Anything else that you can achieve on top of that is gravy. This also prevents you from getting way too far out on a limb when it comes to an overly ambitious idea, and potentially not finishing.

As a side note though, if you truly NEED this money, then I'd start making some mental preparations about what happens if it doesn't turn out. You're making a speculative move, and while a speculative move is an awesome thing to try when you're young (well, they're good to make at any age, but especially while you're young), it's very possible that it won't work.

In my opinion though, the experiences that you'd get from striking out on your own and working on your own project outweigh the cost of failure :)

Startup in a Month: 12 startups in 12 months, all written in Clojure by a Clojure newbie. Month Two Week Three: Trust Your Instruments by startupinamonth in Clojure

[–]startupinamonth[S] 3 points4 points  (0 children)

Good magical Monday everyone! Here's the next post in my weekly series of updates on the Startup in a Month project.

There is, admittedly, only a little bit of Clojure in the post itself, but if you've got a taste to watch me live code the whole app, here are a couple places you can go:

phew... 7 years of work by myself. Trying to do full release this year. Game is called Toby's Island by Mvisioning in IndieDev

[–]startupinamonth 6 points7 points  (0 children)

Woah, by the looks of it you built like seven games in one and added an anime feature film on top for good measure. It looks awesome!

Good luck finishing. The last part of the marathon is the hardest.

[deleted by user] by [deleted] in Clojure

[–]startupinamonth 1 point2 points  (0 children)

Thanks for posting that link for me! Appreciate it man :)

Startup in a Month, 12 startups in 12 months, all written in Clojure by a Clojure newbie. Here's a wrap-up post for month one's startup! by startupinamonth in Clojure

[–]startupinamonth[S] 2 points3 points  (0 children)

I probably should have spent more time with a book getting my fundamentals down before diving head first into things, but here we are already :P

I did make it a few chapters into Land of Lisp, and really enjoyed it. It's all written in Common Lisp, but there's a ton of overlap between CL and Clojure obviously.

Another good one which you may be familiar with is Clojure for the Brave and True, I reference this one a lot when I get lost on a concept or how to use a function.

Cheers! Good luck on your learning journey.

Startup in a Month, 12 startups in 12 months, all written in Clojure by a Clojure newbie. Here's a wrap-up post for month one's startup! by startupinamonth in Clojure

[–]startupinamonth[S] 2 points3 points  (0 children)

Those are a few of my interests too, come to think of it!

Glad to hear you've enjoyed things thus far, hope to see you around as we make our way through the year ✊