Definitely agree on the first, that's a good point. I probably should've been better about how I presented the data.
"TypeScript still compiles down to JavaScript. It has no way of actually checking types." That's my point. Maybe I should make it more obvious in the article :) I'm not complaining about the fact that TS has classes or types, it's that TS compiles down to a language that has neither.
TypeScript is certainly not flawless and there are tradeoffs. But this is not a good argument against TypeScript. The point of TypeScript and any other statically typed programming language is to have type checking performed statically, that is before the code is actually translated into machine instructions and run.
Hello, at the end of the day it's all wildly swinging voltages imperfectly mapped to ones and zeroes. There are no types in any of this. It's all a huge number of abstractions stacked on top of each other.
The implication that because TypeScript compiles to JS which has no types and is therefore wrong is pure drivel.
That argument doesn't really make sense. The type system is a feature of the compiler, so why would the output of the compiler need to be aware of it? Lots of typed languages compile to machine language, which has no inherent type system.
Compilers which do add type information into the output are usually paired with a runtime that uses it for things like late binding or dynamic dispatch, but JavaScript doesn't support anything like that.
Could you give a concrete example of a scenario in which the flexibility of the JavaScript type system would break the TypeScript type system?
Your quarrel is not with JavaScript (as everyone else has pointed out, there’s no reason one can’t build a secure compile-time type system on top of JavaScript), but with some of the specific design decisions made by TypeScript that open soundness holes, such as “programmers are too stupid to understand the difference between covariance and contravariance, so we’ll pretend everything is bivariant”.
Forgive me if I misunderstand, I still don't understand your concern – TypeScript has type safety because it can check types at compile time (vs. JavaScript which has very limited type safety at run time). I don't think it's fair to call it a facade, because it is definitely commonly accepted as type safe.
I'd like to also point out that my main issue (that JS itself doesn't have types, so it's impossible for TS to 100% enforce it) still stands even after a year.
I wish I had the actual code since it was pretty fun to write and break the compiler but it was too long ago. I am still gonna see if I can figure it out again.
I think I was pretty clear that it was all just my opinion :) If you read the end of the post I said that maybe I'm just worrying over something that's a non-issue, so by all means, steer me in the right direction rather than critiquing the fact that I'm expressing my opinions ;)
I would love to see this work better on mobile. I'm not sure if it's just not working due to the rate limiting but it's not really working for me (Safari, iPhone 6, iOS 10)
I would also recommend Hugo as well. I just switched over to it from Jekyll and it's really quite nice. It takes a little bit to get used to the theme structure, but once you have it down, it's pretty easy to keep track of.
Disqus is also a great way to have comments on a static blog. I use Disqus and haven't really had any issues at all with it.
I'm about a month in to Bullet Journaling and I'm really liking it for a number of reasons.
First, it's a piece of paper that's always there. No waiting for apps to load, no Internet lag time; it's always there.
Secondly, I can organize as I choose. I like note taking apps for desktop/mobile, but the hardest thing for me is being able to organize and write notes as I chose, not as the program dictates. If I decide I don' like a certain way of organization, nothing's stopping me from changing it.
Thirdly, I've seen a huge increase in completion of tasks, since they actually get written down somewhere! I used to use reminders on my phone, but unless I set a notification (a reminder for the reminder?), it got neglected and never finished. Also, I could never get myself into the habit of checking my reminders list every day. I'm sure that reminders or other to-do list apps work very well for other people, but for me personally, I never found the to-do list apps to work very well.
As for migration, I think it's actually been really useful for my workflow. I'm the type of person who doesn't like to see outstanding tasks, so my goal for every day is to not migrate tasks. Also, migration keeps all those tasks fresh in your mind, which I've found to be very helpful.
All that said, I'll have to see what I think about it in a few months and whether my perspective on it has changed.
I would love feedback and PRs from anyone willing to take a look at this! It's based on Restangular (https://github.com/mgonto/restangular), just without the Angular part and I changed a lot of the things I didn't like about the way Restangular works.