Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
oivey
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
24 ms
·
301.
▲
by
oivey
4y ago
A sibling pointed out that there is a bunch of this stuff already in Julia. I’ll add, though, that the ML stuff isn’t quite as mature as the whole Python ecosystem. In addition to native offerings like Flux, there are bindings to things lik
302.
▲
by
oivey
4y ago
Even things like semiconductors benefitted massively from government research and funding. They’ve certainly taken off from there, though. I’m trying to think of what industries this might not be the case for. Research thin industries like
303.
▲
by
oivey
4y ago
Whether the content was strictly illegal or quickly taken down is irrelevant. It isn’t a good sign that supporters of Kiwi Farms repeatedly conflate the law with ethics. Regardless of the law, Kiwi Farms is a place where a significant porti
304.
▲
by
oivey
4y ago
This article seems to have been posted to make a false equivalence with the current Kiwifarms situation. There’s a pretty clear difference in urgency between taking down DDOSers and deplatforming a forum that is a gathering point for a mob
305.
▲
by
oivey
4y ago
Cloudflare’s line seems to be where bodily harm comes into play (e.g. Kiwifarms people enabling SWATing via doxxing, stalking by mobs, etc) which is above and beyond just normal criminal activity. The situations really are not very similar.
306.
▲
by
oivey
4y ago
Libraries introduce breaking changes, too. I’ve been bit by silent default changes in Pandas, for example. To me that’s kind of striking because I also wouldn’t consider myself a major user of the library.
307.
▲
by
oivey
4y ago
That’s a pretty underspecified comment for a static typing enthusiast. You’re referring to polymorphism. And to be completely clear: you can have safe polymorphism without type hierarchies via things like type inference.
308.
▲
by
oivey
4y ago
Makes sense. I guess I just implicitly assumed the workflow of rebasing personal stuff and usually merging externally visible stuff.
309.
▲
by
oivey
4y ago
Rebasing other’s stuff feels gross since it is altering externally visible history. Rebasing your own stuff before you push can make commits more clear, understandable, and meaningful. git pull —rebase is pretty unobjectionable. How does re
310.
▲
by
oivey
4y ago
This is a good way to put it. I think the opposite is also true: going with many repos means you are committing to other teams being on their own to upgrade. It’s difficult to know if you’ve fixed all downstream code if everything isn’t in
311.
▲
by
oivey
4y ago
I’m confused. You do have to pull before you check in (aka push new commits)? Those systems don’t exist for backups. They’re for collaboration.
312.
▲
by
oivey
4y ago
Ahh you’re, right, I forgot about fully auto’d functions. I think want more structure than just auto everything, although the compilers should find mistakes with that. Concepts will be nice.
313.
▲
by
oivey
4y ago
Is it materially cheaper? Pennies per device isn’t going to be particularly compelling in this application, if it even is cheaper to begin with.
314.
▲
by
oivey
4y ago
I pasted that code into a REPL (including setting flag=false, which seems to be implied) and got: false flow for false. How did you get your output? Your post implies that if statements are broken in Julia. Untrue.
315.
▲
by
oivey
4y ago
You could do something like this: plus_one(x::Number) = x + 1 function plus_one(x) @warn "untested type usage of plus_one" x + 1 end That's cumbersome, but a macro could make it less annoying.
316.
▲
by
oivey
4y ago
Ok, show me in C++. You have these three structs, which you cannot alter the signature of (maybe from an external library, maybe you don't want to introduce a type hierarchy in someone else's code, etc). struct Name { std:
317.
▲
by
oivey
4y ago
Implementing automatic differentiation through C++ solvers or Python wrappers is going to be exceptionally difficult. If you want a generic toolbox like torch for scientific machine learning you would want every method under the sun. That’s
318.
▲
by
oivey
4y ago
Duck typing is a superset of inheritance. If your language only supports polymorphism via inheritance, then it is strictly less expressive than a language with duck typing.
319.
▲
by
oivey
4y ago
The goal of OOP or any programming system is to help you enforce invariants to improve correctness of a program. “has String members ‘firstName’ and ‘lastName’” is a perfectly reasonable invariant that isn’t all that well served by traditio
320.
▲
by
oivey
4y ago
Yeah, this is what I meant. It’s virtually impossible for Python-based libraries to catch up to the huge number of differential equation solvers that are available in Julia, and that work on a GPU, and that can be automatically differentiat
321.
▲
by
oivey
4y ago
They don't work in the way you would think for dataclasses or at all for dicts/TypedDicts. See this for dataclasses: https://github.com/python/mypy/issues/5374#issuecomment-8841... .
322.
▲
by
oivey
4y ago
OO schemas are very strict and in many situations difficult to extend. For example, let's say you have a class named Name that contains firstName and lastName. Let's say that you have a function that consumes lists of Names. Let&#
323.
▲
by
oivey
4y ago
Fair enough. I'm not sure what fueled this idea that marking variables with types will make the code faster. Cython? I think part of the issue, too, is that in Python type annotations are really just fancy comments. If you mark a funct
324.
▲
by
oivey
4y ago
I think the language has amassed a nearly unassailable lead in differential equations, scientific machine learning, and (to a lesser degree) optimization. That lead hinges on advantages of the language, so I think others are unlikely to cat
325.
▲
by
oivey
4y ago
If you drop the type annotation in your example then it works fine. There's not really a good reason to provide a type annotation to that function. I just installed and used Measurements.jl in <10 seconds. Newish versions of Julia (
326.
▲
by
oivey
4y ago
That can turn into an enormous amount of work to provide all the permutations of type conversions between 3+ classes, and then manually shuffle between them over and over. It's even harder when you don't have the power to add simi
327.
▲
by
oivey
4y ago
At least with things like databases and Pandas you can claim that there might be a valid performance reason for a different abstraction. Regular objects allow for inheritance which I usually find bad, but lots of people do like it. NamedTup
328.
▲
by
oivey
4y ago
Sometimes defining who should have authority over a singular original type definition isn't possible. This is sometimes true at companies, and it's even more true in open source projects. Even when possible, single type definition
329.
▲
by
oivey
4y ago
Dataclasses came out in 3.7, and TypedDicts and Protocols in 3.8. I had to check. I knew they were pretty close.
330.
▲
by
oivey
4y ago
Python's strapped on type annotations have been designed around traditional OOP, and it feels like a bad fit for the language. Duck typing is a tremendously powerful form of polymorphism, and none of the PEPs for type annotations do a
More ›