Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
amw-zero
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
50 ms
·
541.
▲
by
amw-zero
6y ago
Some benefits are for developers. And some are for the users. For example, many users, particularly ones who care about the look and feel of things, prefer when there is a smooth transition between screens in response to their actions. You
542.
▲
by
amw-zero
6y ago
Because that’s what everyone else does when saying that the performance characteristics of the two should be evaluated in the same way, e.g. page load time.
543.
▲
by
amw-zero
6y ago
I made a comment elsewhere about page load time not being the only dimension of performance. Page load time’s importance gets amortized across the length of the whole session. You should always try and minimize it, but in an application lik
544.
▲
by
amw-zero
6y ago
It probably wasn’t the first, but the first notable SPA I can think of is Gmail. Do you think that architecture was just decided on by some noobs right out of school? Since it was novel at the time, probably not. That leads me to believe (a
545.
▲
by
amw-zero
6y ago
There’s no arguing against server rendering being simpler - it objectively consists of fewer components. But to say that it is more performant by nature? You can’t actually argue that. There are plenty of performance downsides to rendering
546.
▲
by
amw-zero
6y ago
Tell this to Tool.
547.
▲
by
amw-zero
6y ago
I very much like Ocaml signature files. Jane street recommends using them, as an example. There’s no other way to communicate the high level contract of a module. With type signatures that are in line with the code, the high level contract
548.
▲
by
amw-zero
6y ago
While that’s true, that’s not what I’m talking about. I’m talking about the communicative benefit of type annotations. If you get the benefit from seeing the types, you don’t want them to be inferred. You use them as a reading tool.
549.
▲
by
amw-zero
6y ago
This is just the software industry. Maybe it’s because we’re so young. Maybe it’s because software is relatively easy to change and experiment with. Who knows. All I know is, it’s exhausting, and ultimately it’s terrible for the end user. W
550.
▲
by
amw-zero
6y ago
Because when you see the benefit of type annotations (I’m not saying that’s objective, just if you do go that route) you want to add type information to as much as possible. Leaving them off because you want to is one thing. Not being able
551.
▲
by
amw-zero
6y ago
Have you ever worked with a language that has header files (C/C++) or a language that can use them optionally (Ocaml)? In practice, keeping the files in sync isn’t difficult. In fact, it ends up being better (for me) in terms of readab
552.
▲
by
amw-zero
6y ago
I wouldn’t call it “embarrassing.” What is the actual benefit of having inline type annotations? What is the actual downside of having them in a separate file?
553.
▲
by
amw-zero
6y ago
I much prefer separate files for type declarations. Or at least the ability to define them separately. Type annotation takes away from readability. I like keeping the types and code separate.
554.
▲
by
amw-zero
6y ago
Are you reading on desktop or mobile? I’m asking because I’m setting up a blog myself, and the font I’m using looks a bit small. I’m curious what you think a good font size is in general.
555.
▲
by
amw-zero
6y ago
It is most certainly a coded message for “you have to believe in what I believe.” Being apolitical is not a political stance.
556.
▲
by
amw-zero
6y ago
There's a ton of problems with empirical studies about software in general. Very hard to conduct reliable experiments. In particular, I think analyzing public GitHub projects is pretty much the worst corpus possible. For example, almos
557.
▲
by
amw-zero
6y ago
Agreed about the mocks and stubs. I dislike it too, but it's unfortunately pretty necessary if your frontend and backend are written in separate languages. If you are writing in the same language, you can actually wire up the frontend
558.
▲
by
amw-zero
6y ago
Let me clarify. Non-determinism is just one issue. The other issue is how frequently the UI changes. For example, a large form can get broken out into a wizard. The UI is completely semantically different, but performs the same functionalit
559.
▲
by
amw-zero
6y ago
We tend to create a "view model" object which maintains the state of the UI and interacts with the server. The actual view just forwards commands to this object, and after a command happens the view always re-renders based on the
560.
▲
by
amw-zero
6y ago
Yea I don't want to discourage work in the space. Actually, quite the opposite. I'm just saying where the bar is for me when I'm considering handing over money. I'm not going to pay money for something that ends up actua
561.
▲
by
amw-zero
6y ago
I've largely moved away from UI testing. The two main reasons are: 1) Flakiness / non-determinism 2) The constant change of the UI Both of these are absolute killers to productivity on a large team. Note, I'm not against UI t
562.
▲
by
amw-zero
6y ago
They disabled the account that were identified to be compromised. That isn’t enough?
563.
▲
by
amw-zero
6y ago
I kind of, very minimally understand the comparison. But it doesn’t hold up on any dimension. As a thought experiment, could you write a script that tied together “web apps” that only invoked the apps through some kind of interface? No you
564.
▲
by
amw-zero
6y ago
I'm really not a compiler expert, but is this optimization common in C++ for example? I thought all virtual methods incurred the cost of a vtable lookup
565.
▲
by
amw-zero
6y ago
This is a really in depth read about OO design patterns in the Linux Kernel using C: https://lwn.net/Articles/444910/ The easiest to understand example (for me) is that you can manually implement polymorphism supp
566.
▲
by
amw-zero
6y ago
You do need to write the types for records though.
567.
▲
by
amw-zero
6y ago
There’s no reason it should be changed. Feel free to name your own projects whatever you like, but don’t impose your tyranny on other people as if it’s the only way to be a healthy and respectful person.
568.
▲
by
amw-zero
6y ago
But what you can prove at compile time is rarely useful. You can use phantom types, smart constructors, and the like, but after a while you need a runtime to do anything interesting. An example: this function is only valid on positive, odd
569.
▲
by
amw-zero
6y ago
Once all of this compile-time metaprogramming and code execution starts to happen, it always makes me ask: doesn’t this just conclude with dynamic typing? I’m currently a static typing lover. But it’s almost as if we’re just looking for the
570.
▲
by
amw-zero
6y ago
How does it compare to Mathematica?
More ›