Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
willtim
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
59 ms
·
601.
▲
by
willtim
9y ago
Have you tried a trackball? I use a Kensington Slimblade with my multi-monitor setup at work and I find it far superior to a mouse.
602.
▲
by
willtim
9y ago
It's LPDDR3 (low power). I'm guessing the Intel chipset does not support LPDDR4.
603.
▲
by
willtim
9y ago
The X1 Carbon has low power LPDDR RAM which means it can sleep for a lot longer with minimal battery drain. This is a very useful feature for me, as my laptop is almost permanently sleeping.
604.
▲
by
willtim
9y ago
They have been making the trackpad bigger. But the Apple MacBook trackpads keep getting bigger also, perhaps because a trackpad can never be big enough? Rather than try to copy Apple, I would rather they keep the design as-is.
605.
▲
by
willtim
9y ago
You'll have to take the trackpoint from my cold dead hands... I find it superior to a trackpad, as I don't have to take my hands off the keyboard.
606.
▲
by
willtim
9y ago
Read the article again. He says Python is unityped. The word "type" in mathematics and computer science has a meaning which is not the same as your usage of the word. Well-typed programs should not go wrong. Python programs can
607.
▲
by
willtim
9y ago
Python only has one type. To quote from the article by professor Harper: "And this is precisely what is wrong with dynamically typed languages: rather than affording the freedom to ignore types, they instead impose the bondage of restr
608.
▲
by
willtim
9y ago
Haskell. For programming with immutable values and pure functions, beautiful succinct syntax and strong types. Strong types ensure correctness, but in Haskell, they also help me reason about where and when my effects (such as IO) are happen
609.
▲
by
willtim
9y ago
> You do know that not every dev is C dev? C libraries are often transitive dependencies of higher-level language libraries, e.g. for Haskell or Python. Using language-specific package managers often fails to properly handle such transit
610.
▲
by
willtim
9y ago
> Its up to the developers to make their programs safe and reliable. No language to date will do that for them. But languages do make a huge contribution. For example, Rust, Ada and Modula-3 are all much safer by defaults alone compare
611.
▲
by
willtim
9y ago
> There is no need to prove that because it's quite obvious that C is fine. No. It is quite obvious to anyone rational and without a vested interest that C is no longer fit for purpose in this modern age. > I have no idea why you
612.
▲
by
willtim
9y ago
Can you easily accomplish the following with Windows? - install a dev environment with all tools and transient dependencies with a single command - install multiple versions of the same library and easily choose between them - install the s
613.
▲
by
willtim
9y ago
> How is reverse debugging working out for Haskell then? The Elm debugger I posted above is a perfect example. Unlike your GDB example, it doesn't only work for a subset of x86 instructions or require monumental effort to implement.
614.
▲
by
willtim
9y ago
That's quite a bold promise, when in theory any statement could "launch the missiles". Just like software transactional memory, this idea, AFAICT, really needs pure functional programming to work well.
615.
▲
by
willtim
9y ago
Functional programming actually opens up more opportunities for debugging, as we are better able to both reason about and transform programs. The caveat is that often we need to build domain-specific debuggers, to effectively debug our high
616.
▲
by
willtim
9y ago
Having package maintainers touch any code, even to backport security fixes, is far from ideal. In 2006, a big security flaw was introduced into Debian's OpenSSL by the maintainer, because he changed code that he did not fully understan
617.
▲
by
willtim
9y ago
Not to my house it isn't. I made the mistake of fitting a "smart" connected thermostat a few years ago and it's simply not reliable enough. I've also no idea as to how secure it is (or isn't).
618.
▲
by
willtim
9y ago
I am assuming "ListT done right" not the deprecated one (which is not even a chain of actions). Here is a definition, to be completely clear: newtype ListT m a = ListT (m (Maybe (a, ListT m a))) It is a nice simple example of an
619.
▲
by
willtim
9y ago
> I don't think it really makes sense to call the way side effects happen in Haskell "lazy". I didn't actually say this. I was suggesting a lazy chain of IO actions for such problems. For example, ListT a IO, instead
620.
▲
by
willtim
9y ago
In Haskell it is still of course pure functional programming to have a lazy stream of IO actions. The types make it clear when and where the IO is happening, which makes reasoning about effectful streaming much easier.
621.
▲
by
willtim
9y ago
It's the wrong choice, since they defined x+null=null and ignoring missing/undefined/error values (which null often represents) is dangerous in many domains. Users could have always filtered nulls manually, which would have
622.
▲
by
willtim
9y ago
> NULL is the absence of a value. It has no meaning in algebra. Null is a value in its own right. If null is added to e.g. the type of numbers, then it had better be given meaning (i.e. semantics). > You cannot do anything mathematica
623.
▲
by
willtim
9y ago
The context was the standard declarative SQL query language. I can't define stored procedures in my SQL query to your database, so I have to use something like LINQ to compose larger queries from smaller ones.
624.
▲
by
willtim
9y ago
> (+) is not SUM. As I said, people expect a mathematical summation to be defined in terms of addition. Otherwise one has non-compositional semantics and broken equational reasoning. Perhaps you care not for these properties, but many pe
625.
▲
by
willtim
9y ago
> The + operator is not the same as the SUM() function, so it's not surprising that they wouldn't work the same No, it's very surprising that they are different. In mathematics and most programming languages, summation is
626.
▲
by
willtim
9y ago
> SQL is fine, most of the quirky way of stating things is because it's declarative No, it's quirky because of its semantics. To quote Erik Meijer "SQL is rife with noncompositional features. For example, the semantics of
627.
▲
by
willtim
9y ago
That's exactly how Python got into industry.
628.
▲
by
willtim
9y ago
Perhaps because it's just another boring Java-clone language controlled by a large corporation, with no redeeming features?
629.
▲
by
willtim
9y ago
Awesome project. Thanks for the link!
630.
▲
by
willtim
9y ago
Perhaps if it were taught to CompSci students elsewhere in the US, they'd be more advocacy?
More ›