Hacker Newsnew | past | comments | ask | show | jobs | submit | FnuGk's commentslogin

> It’s only happened twice in more than a decade, but I still have the feeling that I was better off compiling stuff manually and cultivating a tidy /usr/local/bin like I did in early 2000s. But it’s probably rose-colored glasses and I’d definitively never take the time these days.

thats exactly what homebrew does.


A lot of Homebrew packages are pre-compiled binaries ("bottles" produced by Homebrew) that are pretty much just downloaded and untarred onto your system.

The Homebrew formulas' are what's used to produce those binaries, or - if there's no pre-compiled one available - that's when it's compiled live on your system.

Seems like a decent tradeoff, as otherwise installing (say) Qt could take an hour+, since that's a bit of a monster to compile. :)


The problem is that every time you install something it will update a gazillion dependencies because there is a minor version difference in a library I don't even use. And of course I did not ask for those binaries to be upgraded.

When I do a yum install, 99% of the cases it just add the package I need. And won't mess with my dev tools.


I believe you need to set the envvar HOMEBREW_NO_AUTO_UPDATE to avoid that problem.


I always encourage folks to read over the environment section of the manpage, as it's extremely helpful: https://docs.brew.sh/Manpage#environment


Sane defaults are important tough.


how do you do streaming with SmartShare? closest thing i could find was that the tv supports airPlay off all things. But that seems quite useless without any apple products.


i might be wrong but currently rustc is based on llvm so any platform llvm cant target, rust can target. For the linux kernel it seems like they want to use a gcc frontend for rust (gccrs) that is currently under development. So with gccrs rust should be able to work on any platform gcc supports thus giving it the same portability of the current c code in the kernel.


Isnt that the building blocks of logic based programming languages like Prolog?


Yes, at least these egg-based projects are usign this idea, but it looks like it's just one of the options:

https://souffle-lang.github.io/docs.html http://www.philipzucker.com/souffle-egg4/ https://arxiv.org/pdf/2004.03082.pdf


I had a similar thought when I learned about e-graphs. I'm not sure yet, but I think congruence closure is a slightly different problem from the one Prolog unification solves. In particular, if you tell an e-graph that `f(x) = g(y)`, it will take you at your word -- while Prolog would give a unification error. (An e-graph should also handle `X = f(X)`, while this would fail Prolog's admittedly often-ignored occurs check.)


despite the name, this confusingly have nothing to do with the go programming language


We started with Go++ (C++) more than two decades ago, and went on to make Java, .NET, and JavaScript versions of the library. "Go" here stands for Graph Object, GraphObject being the base class for drawn objects.


Well that's to be expected if you name your language Go. It's not exactly distinctive, is it?


Their github repo goes back to 1.4.0 or so around Apr 2014; their changelog goes back to 1.0.0. Go 1.0 was released March 2012. GopherJS' first commit is showing as Aug 2013. I'm not sure what GoJS' first release is but it seems likely to me it predated the Go project that really looks like "GoJS" and plausible that it predated Go 1.0 entirely.

So it looks like just one of those things.


I also can't find proof, but I think Go the language was previously essentially Limbo the language at Bell Labs in the Plan9 OS world, and when the team moved to Google they updated Limbo naming it Go.

It seems (from simonsarris comments) that GoJS was created in the Limbo naming era, and is itself an acronym.


It is because no one has to take responsibility for the machine. If you then overwrite the machine, then you have the responsibility of the decision.


What is wrong with just using dd?


Not everyone is comfortable using the command line or even knows that dd exists.


I know it exists but I don't trust it as most tools say "write in ISO mode (recommended) or dd mode (not recommended)"


To tag on, what's wrong with plain ol' cat or cp?


dd can do seek, skip, re-block. It's unusual to need the features but they exist for good reasons. I used dd to transfer 4.1BSD release tapes to a vax 11/720 via rl02 10meg pack and reconstruct the chunks on the receive side, long ago.


ddrescue will do this for you automatically to recover from a bad block.


  You have: 1 kelvin
  You want: degcelsius
     * 1
     / 1
This does not seem right


It is. The unit Kelvin is equal to the degree Celsius. If you want to convert temperatures, you need to use tempK and tempC:

    You have: tempK(1)
    You want: tempC
            -272.15


Makes sense because temperatures don't have a linear conversion.

From the man page: Nonlinear units are represented using functional notation. They make possible nonlinear unit conversions such as temperature.

  You have: tempK(1)
  You want: tempC
 -272.15
Edit: seems i am not alone :D


It's right in the sense that the units are the same size. IE if something increases 10 deg K it also increases 10 deg C. But it's obvious to humans that that isn't what you where asking.

Compare:

   You have: 1 degF
   You want: degcelsius
           * 0.55555556
           / 1.8


Nitpick: There are no "deg K", because it is an absolute system it doesn't have degrees.

Notice you also don't need degrees metre, degrees watt or degrees newton, because those are absolute units they are metres, watts and newtons. It is Celsius (and Fahrenheit) which are weird because they aren't absolute but instead have this arbitrary zero point.


https://www.gnu.org/software/units/manual/units.html#Tempera...

> Conversions between temperatures are different from linear conversions between temperature increments—see the example below. The absolute temperature conversions are handled by units starting with ‘temp’, and you must use functional notation. The temperature-increment conversions are done using units starting with ‘deg’ and they do not require functional notation.


A sequence does not contain duplicates. A vector can


Mathematical sequences totally can have duplicates. E.g. to take a popular example, the Fibonacci sequence starts: 0, 1, 1, ...


What is different on intel since you can play fast and loose with multi threading? Two threads reading and writing the same memory area without and locking would give problems regardless of the ISA or am i missing something?


ARM has a weakly-ordered memory model, while x86 is much more strongly-ordered. See https://en.wikipedia.org/wiki/Memory_ordering#Runtime_memory....

So e.g., on x86 if you store to A then store to B, then if another core sees the store to B it is guaranteed to see the store to A as well. This guarantee does not exist on ARM.


The C++ standard is famously complicated about atomics and memory order (for a good reason): https://en.cppreference.com/w/cpp/atomic/memory_order

But on x86, many of these things don't matter, if I understand correctly.


Yes, you are missing something.

Two threads reading and writing to the same memory area do not necessarily give problems. In fact, many software is built to exploit several facts about how memory accesses work with respect each other.

ARM processors give very few guarantees, so code has to workaround that.


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

Search: