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

My favourite is this disclaimer in the question. lol

> Is there any way to force install a pip python package ignoring all its dependencies that cannot be satisfied?

> (I don't care how "wrong" it is to do so, I just need to do it, any logic and reasoning aside...)

https://stackoverflow.com/questions/12759761/pip-force-insta...


When visiting Ayers Rock in Australia I stayed in Alice Springs. While I was there I learnt that Alice Springs exists because it was a repeater station for a telegraph line that stretched from Southern Australia all the way to London. There would be people listening to morse code, and tapping it out again to the next repeater station. Blew my mind that there was a wire that went all the way to London from Australia!


> Blew my mind that there was a wire that went all the way to London from Australia!

Before the telegraph they used to do things wirelessly: https://www.brunningandprice.co.uk/_downloads/telegraph/tele...

(Not quite London to Australia though...)

In the late-1700s/early-1800s the Admiralty Telegraph was used to relay messages between London and Portsmouth (70 odd miles apart) using a semaphore type system with repeater stations every 10 miles or so.


Yes, the Uk (southern England in particular) is dotted with "Semaphore Hill"s or "Telegraph Hills"s. There's one very close to where I'm sitting now, a few miles NE of Portsmouth.


In Tasmania, you can still see at least one semaphore station on Mt Nelson, which is above several suburbs on the south of the city of Hobart. I believe there was a semaphore route from the capital to Port Arthur (convict prison) and possibly other routes over the state too.

https://www.utas.edu.au/library/companion_to_tasmanian_histo...

Sadly the semaphore pole itself is gone. The building is still there and was used until 1969.


To think it was done even 1000s of years prior to that with just smoke and fire! Granted, the ability to communicate through the rain would be a necessity for the British.


My home country the Netherlands became a republic after a long war with the Spanish that controlled the territory from Spain after having inherited it via various wars and conflicts that divided up the remains of the Carolian empires. The Austrians ended up with a lot of states across what is now Germany and Belgium. France emerged as well as a country.

The Netherlands was too far away from the courts in Spain for them to govern effectively. Travel time was measured in weeks. So, remote regions like that necessarily had a large degree of autonomy. That became the basis for power to centralize around Amsterdam as it was favorably located for for trading. There were a lot of grievances with religious issues (Catholicism vs. Protestantism), taxation, etc. But the Spanish failure to project power from a distance had everything to do with the centralized nature of their empire and long communication channels.

In the so called golden century (17th century), the Netherlands got filthy rich on global trade and expansion. Information and knowledge flowed to and from Amsterdam from all over the world.

The Dutch naval forces dominated the North Sea for quite some time and it's only later that the British emerged as the better/bigger empire. Navies and ships were the fastest way to move information around at the time. Until the British finally upgraded to cables and telegrams which enabled them to have colonies on all continents. They really nailed command and control across their empire for a while.

The Romans had their roads to move armies and information. Shipping and navigation technology leveled that up from the 1400s or so. These days, low latency communication is a commodity of course.


My great, great grand dad carted telegraph poles for the construction of the southern half of that! Family oral history.


Similar history for Denver.


Can anyone recommend a native macOS app with a calendar like this that supports .ics calendars?


Bitcoin doesn't take into account that humans are forgetful.

If you forget your bank card pin code they would post you a new card and pin, if you phone them up. I've done this a couple times in the past pre-smartphone banks.

If you forget your bitcoin password you are never getting access back.


Does Elixir have any footguns like this? As it is immutable I don't think any of these are possible.


Sorry, this is going to be a slightly longer reply since this is a really interesting question to ask!

Elixir (and anything that runs on the BEAM) takes an entirely different perspective on concurrency than almost everything else out there. It still has concurrency gotchas, but at worst they result in logic bugs, not violations of the memory model.

Stuff like:

  - forgetting to update a state return value in a genserver
  - reusing an old conn value and/or not using the latest conn value in Plug/Phoenix
  - in ETS, making the assumption nothing else writes to your key after doing a read (I wrote a library to do this safely with compare-and-swap: https://github.com/ckampfe/cas)
  - same as the ETS example, but in a process: but doing a write after doing a read and assuming nothing else has altered the process state in the interim
  - leaking processes (and things like sockets/ports), either by not supervising them, monitoring them, or forgetting to shut them down, etc. This can lead to things like OOMs, etc.
  - deadlocking processes by getting them into a state where they each expect a reply from the other process (OTP timeouts fix this, try to always use OTP)
  - logical race conditions in a genserver init callback, where the process performs some action in the init that cannot complete until the init has returned, but the init has not returned yet, so you end up with a race or an invalid state
  - your classic resource exhaustion issues, where you have a ton of processes attempting to use some resource and that resource not being designed to be accessed by 1,000,000 things concurrently
  - OOMing the VM by overfilling the mailbox of a process that can't process messages fast enough
Elixir doesn't really have locks in the same sense as a C-like language, so you don't really have lock lifetime issues, and Elixir datastructures cannot be modified at all (you can only return new, updated instances of them) so you can't modify them concurrently. Elixir has closures that can capture values from their environment, but since all values in Elixir are immutable, the closure can't modify values that it closes over.

Elixir really is designed for this stuff down to its core, and (in my opinion) it's evident how much better Elixir's design is for this problem space than Go's is if you spend an hour with each. The tradeoff Elixir makes is that Elixir isn't really what I'd call a general purpose language. It's not amazing for CLIs, not amazing for number crunching code, not amazing for throughput-bound problems. But it is a tremendous fit for the stuff most of us are doing: web services, job pipelines, etc. Basically anything where the primary interface is a network boundary.

Edited for formatting.


If you imported from Safari/Chrome in the onboarding. Go to Settings -> Personalization -> Browser Memories.

It has summarized my browsing habits and interests. Very impressive.

- "The user has a routine of checking their Fastmail inbox daily around 08:27"


Elixir via the Task module https://hexdocs.pm/elixir/Task.html


I did a speed awareness course as I got caught speeding and was told if there are lamp posts the speed limit is 30mph unless stated otherwise.


Sort of. That used to be the case, and it's still what they teach on those courses. However there are now "20mph zones". These are signed on entry, but do not have the repeated small 20 signs of a normal 20mph limit. This means that you can no longer tell whether you are in a 30 or a 20. I have once seen something marked as a "40mph zone" but I suspect that this was a local aberration and did not have a similar rule.


Crunchbang was such a good distro! I ran linux for about seven years. Ubuntu and then Crunchbang. Had my 2012 MacBook Pro dual boot into Crunchbang. Battery life was awful. It had no automatic fan control, so the laptop got so hot I could barely touch it. I ended up writing a bash script to manually control the fans using function keys https://gist.github.com/nwjlyons/b29ee6f7e26595f55a2a

As cool as it was, I can't be bothered with any of that these days. Just give me a Macbook Pro, as I know it will work and have amazing battery life!


Golang will panic with a runtime error index out of range if you index out of bounds. There doesn't seem to be a nice built in way to do `arr.get(3)` like in Rust.

    slice := []int{1, 2, 3}
    i := slice[3]
    fmt.Println(i)


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

Search: