vinodkd
F9 could get 2M subscribers by just doing product reviews because they're an ecommerce website in Canada like Revzilla is in the US, and that Youtube channel (https://www.youtube.com/c/RevZilla) has 1.5m subscribers.
F9 has a few product reviews, but they have a ton of just top quality content that shines for not just the motorcycle content, but how its presented, the attention to filming and editing, etc.
Oh and if you're interested, they even have a video about cheese (it was an april fool's prank, but still informative about cheese).https://www.youtube.com/watch?v=a1T7NzCtWHo
Yes, its a book that uses lisp, but its not a lisp book. Its about programming techniques, i felt.
Of all the books that are usually recommended to be read and nobody actually does, this is the one that i actually read and liked.
Hypothesis: All of software *is* about change management ----
It dawned on me that all the software design efforts - Design patterns, programming styles, management practices - are all geared towards one thing at its core - managing change. For example:
* Command pattern: Figure out all the things that can be called and instead of a giant if/switch, look them up by name and call them. That way when you need to *change* the list of things you want to call, nothing else is affected.
* Structured programming: Keep the common code in one place and call them from many places. That way when the common code *changes*, we can contain the change to one place
* Object Oriented Programming: Keep the data and behavior common to one actor in the system contained in an object/class so that when it *changes* we have to change only that thing.
* Functional programming: *Changing* data is bad. Instead create copies of data and change them.
* Scrum: It's hard to predict too far into the future because things *change*. So let's try to plan for just the next n weeks.
Edit: I've posted this same comment in multiple places in this conversation to get feedback from specific commenters, not as spam (it's a old personal project)
Edit: I've posted this same comment in multiple places in this conversation to get feedback from specific commenters, not as spam (it's a old personal project)
Edit: I've posted this same comment in multiple places in this conversation to get feedback from specific commenters, not as spam (it's a old personal project)
> Smells don’t necessarily indicate actual issues, just patterns that are likely to be used incorrectly and thus warrants extra care.
... and from the post that the article links to: > Understanding String vs &str implies an understanding of the ownership system, which implies an understanding of the lifetime system. That probably means that you’ve been exposed to pointers, references and perhaps even aliasing. There’s usually a discussion about mutability intertwined here. Gaining an intuition of data types that represent text benefits from understanding encodings, which benefit from understanding how CPUs operate.
> I’ve yet to find a way through this for complete beginners. Learners with that already know another systems programming language have a distinct advantage here.
This, IMO, is the key to understanding why Rust is hard to learn: it was written as a systems programming language, and we now expect it to be more than that. I nodded my head in agreement as I read the intro to Rust until I reached the explicit use of lifetimes. To me that was where the abstraction got leaky. If your core abstraction of borrowing needed to expose the fact that the compiler uses lifetimes and needs a hint from time to time, you're saying explicitly that your audience are system programmers and they get that no abstraction is clean.
Take that up a few levels of abstraction and application development with Rust is hard. Maybe the rust community should just say: "Yes, its hard in the beginning, but its worth it if you stick with it. Welcome"
PS: I personally found it hard to learn Rust when I was looking for a static single binary generating language for my side project, and went back to C (please don't judge, its just familiarity). But I see what Rust can do.
Your point about "if you're the only one using it, just use it" does apply, but sometimes we do find ourselves being more successful than we originally expected and defining things via a spec is not a bad thing.
1: https://frinklang.org/ 2: https://frinklang.org/#SampleCalculations
Its been on HN before.
Abou FAQ
t s
Triggered my (minor) OCD!Edit: added minor due to comment below in an attempt to clarify. The wierd text placement does bother me, i'm not joking. but its not that bad that i cannot get past it and read the rest of the website. thought i'd let the OP know; dont mean to poke fun at people who have been diagnosed with OCD. i'm still learning these terms via a child who was diagnosed with ADHD.
....and then I saw that the page is still written using React and db access uses Prisma. They are not dependencies, you have to now about them, and their syntax and how they work.
What is the incentive for me as a developer to learn both them and wasp? Especially since there are multiple places where the wasp layer is a thin layer over the underlying capability supported by those dependencies.
Dont get me wrong. I say go bigger and make it a full-fledged DSL that generates react and prisma code without making them __visible at all__. That way nobody has to learn anything but wasp. Sure, you will be limited by whatever your underlying implementation layer is, but you can now switch from them easier, and its likely to last longer (there __was__ a time before React, and like will be one after too).
Can you be the +1 layer that people dont have to look under? More specifically:
1. Can you have inline .js files? Even better: Can you bring the page content _into_ wasp's syntax? It currently says a webapp has pages and routes, how about expanding to say a webapp has components, elements and text?
2. Same question for storage schemas and migrations. Would that help with NoSQL integrations (vs expecting Prisma to support them)?
3. Can you eliminate the "Note:" sections in https://wasp-lang.dev/docs/language/basic-elements? Those are the leaks in the abstraction called wasp. And if the answer is no, then should there be a better abstraction?
Others have found issue with the grammar and sentence structure of the article, I found it totally opaque.
Show me an example of a mental model (or the absence of one). Pull an excerpt from the Times or the economist and contrast it with another publication that is not clear. Wouldnt this help us "understand, know and" eventually "do"?
And given that the advice is to think about your audiences and communicate with purpose, please do ask yourself: What is the purpose of this article? If it's to tell us to strive for clarity, please show us how, don't just tell us to do so.
The parallel to Markdown is apt, since it too does not do everything HTML does, and that's good (tm). The use of "same" and "last" also forces a locality that would be lost if the diagram were large.
I gave an example of a box syntax that allowed defining a label aligned vertically, but I did so to illustrate that while such an extension could be done, the library author could not possibly imagine all such attributes that users might want.
The default answer to this is an extension mechanism, i.e, you allow users to create their own primitives, but that might be overkill for the pikchr use case, and would possibly require going past the "single pass through lemon produces a c file that can be integrated into any c project" model.
The other idea - stolen from Markdown - would be to "fall through" to SVG at will by allowing svg syntax as also being valid in pikchr, but I dont know that SVG is as forgiving as HTML to do that.
line invis from 0.25*$margin east of last.sw up last.ht \
"Backend" italic aligned
...which is an invible line used to create a label for the box that's vertically aligned. This is the kind of "toil" that adds up to what you describe. Ideally, this should be a feature of the language itself, something like box "label" valigned nw
but you cannot anticipate every bit of adjustment users would need to produce a visually appealing image, since that's subjective.PIC has macros[2] that somewhat make this easier, but as things get larger you'd still have the issues you mention, and you're trading one complexity (hand drawing visually appealing picture) for another (maintaining more complicated code for local visual appeal). I dont know if pikchr supports macros (which are more like functions since troff is a full fledged language, and less like svg symbols afaict)
1: https://pikchr.org/home/doc/trunk/doc/examples.md 2: http://floppsie.comp.glam.ac.uk/Glamorgan/gaius/web/pic-14.h...
The closest I can think of is ditaa (ditaa.sourceforge.net), but ditaa's front end is completely different - it requires you to actually "draw" the picture using text. pikchr (and PIC before it) requires you to describe the picture using words and it will draw it for you.
Plantuml and Websequencediagrams have frontends that are similar, but they are constrained in domain-specific ways. This is any 2D picture (well, within the primitives supported)
Plantuml, IIRC, uses Graphviz in the backend and is in impressive attempt at hiding that fact :). I have spent many a hour trying to get Graphviz to lay a diagram out they way I want it to before learning that the one true way is to let Graphviz be itself - a displayer of the network you described to it, not a displayer of the diagram you want to see.
Suggestions for v2: How to show v2 of system has changed since v1, and handling requests from your users to version control their diagrams. Nice problems to have!