For the best experience on desktop, install the Chrome extension to track your reading on news.ycombinator.com
Hacker Newsnew | past | comments | ask | show | jobs | submit | history | more doublesCs's commentsregister

I'll bet you $100 there won't.


Heck I'll raise that, and offer 20:1 odds to danielheath, I pay $400 if there's a civil war, he pays $20 if there's not.


How did the value of US dollar compared to other currencies change during the US civil war?


Fair question. I guess I was thinking that a civil war would be heralded (e.g. by all major news outlets) before long-term effects started happening (like currency changes), but who knows.


Actually not a bad analogy, thank you.


> I'm generally very sympathetic to anti-trust measures, but this strikes me as a situation where DuckDuckGo needs to stand on its own two feet. If your position is that privacy is more valuable to consumers, then you should compete in the auction.

If you're very sympathetic to anti-trust measures, then this shouldn't be decided in an auction. Obviously the most profitable companies will win the auction. And those are the same companies that you should be taking measures against (not because they're profitable in itself, but because by being profitable they can kill competitors).

So saying: "search engines should compete on a lawless free market" vs "search engines have to compete on an auction for users" is more or less the same thing. Anti-trust measures try to make the outcome slightly less sensitive to profitability.


Often we don't know the "practical" benefits that will come out of some specific line of investigation. But some people find it interesting to think about. I guess better than spending time playing with facebook.


> e.g. what mounting a filesystem means

Funny. I've been using Linux for 10 (?) years and I still don't know what mounting means. I just know it's something that needs to happen in order for me to access the contents of a disk. I don't really care about it either, I only care about accessing the data. Why isn't it automatic anyway? Windows does it automatically whenever possible, why can't Linux?


> Windows does it automatically whenever possible, why can't Linux?

Linux can do that as well, every desktop environment worth their salt does it by default.


To expand on this a bit, desktop versions of Linux will happily mount filesystems when they're attached. Server versions tend not to because with a server you likely have a specific use case for the device you just attached, maybe you want to use it for database storage, or extra swap space, or any number of other things. There's no intelligent way to divine that just from the fact a new drive was plugged in, so it doesn't.


Innovation doesn't matter. Making money matters. Innovation is a means to an end, not the end itself. If you can shortcut it, it's irrelevant.


> This is a good feature! Sometimes, you want to use `if` `else` based on type information, say if your function is very large and the different behavior based off of type is only a small piece of the process you want to convey.

Super interesting point, thank you.


I keep saying that Julia is the future. No more tinkering with Cython and other hacks.


Have to agree, just recently started playing with it and was blown away. If web side gets a bit more polish it will become a killer lang for web development.


https://genieframework.com/ (A Django like MVC framework, with templating and a julia -> JS compiler for the frontend)

https://www.youtube.com/watch?v=xPUOCQ2SJF0&list=PLP8iPy9hna... (JuliaCon 2020 | Write a WebApp in Julia with Dashboards.jl |)

youtube.com/watch?v=uLhXgt_gKJc&list=PLP8iPy9hna6Tl2UHTrm4jnIYrLkIcAROR&index=10&t=11428s (JuliaCon 2020 | Building Microservices and Applications in Julia)

https://www.youtube.com/watch?v=8sciqIMXBng&list=PLP8iPy9hna... (JuliaCon 2020 | Interactive data dashboards with Julia and Stipple | Adrian Salceanu)


“a julia -> JS compiler for the frontend”

Really? Where? I’d love to know about that.



Oh, yes, I knew about that, thanks; it sounded as if there might be something further along.


There are def. projects that show promise.


Same here, unless Python gets more serious with a similar JIT adoption story.

As for the ML stuff, I get the same libraries (written in C++ anyway) from other languages bindings.


Slapping a JIT on Python can't and won't solve it's probblems. Python's problem is that it's semantics make many very important optimizations impossible.

Julia's language semantics were specifically designed to be friendly to JIT optimization. This is something that language devs need to be thinking about very early in the design process or it's hopeless.


The usual argument, yet it works quite well in Languages like Lisp and Smalltalk, both much more dynamic that Python.

At every moment the image can completely change shape, at any given breakpoint I can change anything and then resume execution at a previous point and so on.


I can't say anything about smalltalk since I only played with the VM once and don't know the whole story, but I can think of two reasons why Lisp even though they are more dynamic than Python (for some definition of dynamic) it's easier to JIT.

First is compile-time (macro) and runtime separation, which allows an escape path to move the dynamism out of runtime, so the most powerful transformations doesn't even concern the JIT optimizations (outside of running the macros exactly as described). That's in contrast to R, which is inspired by Lisp like Julia but uses optional lazy evaluation to implement a lot of what a macro can, but it's harder to optimize since the JIT can't just separate and then optimize. And in Python, metaprogramming also requires exploiting heavily runtime tricks (sometimes even considering implementation details of CPython) that then must be properly supported and efficiently executed by any JIT.

Second is cultural, processing power was not abundant when most Lisp dialects were created and became popular, so the ecosystem grows more aware of what dynamism is good and what is bad. Julia is another example, Julia developers since it's release are much more performance aware, so they don't deliberately abuse "Any" containers or type unstable code, eval, runtime function redefinitions and invokelatest, global variables, some types of introspection and other anti-patterns that any JIT built after the fact (decades of libraries later) would have incredible trouble making fast. And in Python, the performance aware people always focused on the FFI instead of restriction the harder to optimize parts of the language, which only made it harder for a Python-only performance solution that can handle this polyglot ecosystem.


It's not an exaggeration to say that billions of dollars and untold man-hours from some of the smartest programmers alive have been spent on trying to make Python faster.

If it was as easy as in Lisp or Smalltalk, don't you think people would have succeeded by now?

Another example worth considering: Javascript is yet another langauge that is arguably more dynamic than Python, yet is rather easy to JIT. What's going on there?

It comes down to the fact that it's not really about the amount of dynamism in a language, but the kinds of dynamism that is really relevant for implementing a JIT compiler.


Politics also play a role.


Personally, (despite, or perhaps due to) Python once being my favorite language, I can't wait. Dynamic typing is too much of a mental strain once you are handed someone else's ML algo code and have to integrate it under tight deadlines.

Though I recently discovered opentelemetry and I'm working on a set of decorators I can use to instrument these monstrosities and figure out what all these rando 5 letter undocumented variables do.


Just FYI, Julia is dynamically typed too. However, I think it is also an existence proof that most of the things people complain about in dynamic languages aren't actually inherent to being a dynamic language.


To be fair though, Julia's types play a much more forward role than your usual dynamically typed language.

Whilst there isn't a compiler enforcing strictness, it is idiomatic and encouraged to write type-stable code wherever possible.


This will only work if they get sufficient traction from a community. And they still miss some basics, such as Qt bindings.


The Julia community is large and very active. Julia is also rapidly ascending in various language rankings (19 on IEEE Spectrum, 28 on Tiobe).

It's sort of a random ask, but Qt bindings do exist:

https://juliahub.com/ui/Packages/Qt_jll/s7blD/5.15.0+3

along with a higher level QML wrapper:

https://juliahub.com/ui/Packages/QML/JLkMo/0.6.0


Weird, of all the basics I can think of I wouldn't put Qt bindings in the top 10.


I think that person lives in a Qt bubble.


Qt bindings are a "basic thing" for a language? Why?


For some strange reason I always know when a Qt application was written in Python instead of QML/C++.


If you consider Qt bindings "basics" then we have very different opinions on what the word basic means.


Huh, so it's not just me. I always wondered.


It's like Marmite.. you either love it or hate it (I hate it).


I actually found it meh. It's just weird.


> This belief is based partly on the surveys which show that an enormous number of women have been sexually assaulted and also that they don’t generally report this to the police, partly on his behaviour.

That's some really weak logic.


Hence why even with the other points that you’ve not quoted I am merely at the level of “well I reckon“.


You believe that person X raped person Y because a lot of people are raped? Get outta here.


That's not what they said. They're pretty clearly taking a weak stance, and even disclaimed as much.


Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search:

HN For You