HNHacker News
TopNewBestAskShowJobs

anko

290 karma · joined December 20, 2010

submissionscomments
anko··on Apple’s New Era Has Begun
It's not a matter of users picking privacy vs no privacy. It's just one point in the package Apple are offering. For some people it's a major point, and for some people it's not. But it's still a point, and it's one nobody can compete in so it's particularly strong. They are just leveraging a competitive advantage, but it's not the only one.
anko··on The Scourge of Hygiene Theater
The problem with pointing to New Zealand for information is they never had widespread community transmission. Australia had the same no mask policy until such a point that they had community transmission and now they are forcing masks where most transmission is occurring.

From the page you link > This advice on use of face masks in the community will be updated if new evidence or guidance from the World Health Organization emerges, or we see a change in COVID-19 disease patterns in New Zealand (for example, increasing community transmission).

So they are simply not advocating masks due to low community transmission.

anko··on Lovely Week with Elixir
I like Kotlin but I'd say a strength of BEAM is that it doesn't allow for infinite loops, which means coroutines can't block others. This is a fundamental strength.

It allows the runtime to schedule coroutines effectively - they can't block for more than a function call (recursion is how you do "infinite" loops).

I think a future competitor to BEAM languages would need this feature.

anko··on Why Developers Hate PHP
Arr::get($data, 'more.complex.0'); is much nicer, I agree.

I do think better languages do it better, for example in Elixir I can extract multiple elements out of an object at the same time.

  object = %{nested: ["my value"], other: "some element"}

  %{nested: [first | _], other: other} = object
first now equals "my value" and other now equals "some element".

PHP sucks because of the legacy it pulls with it that keeps it from being simple and elegant. It also fails pretty hard when you use it outside of it's niche, and a multi-purpose language > single purpose language.

anko··on Optimising for Concurrency: Comparing the BEAM and JVM virtual machines
> The biggest problem with Erlang is that hardly anything out there needs this level of concurrency and robustness in a single system - in the new world of microservices and serverless architectures there are other ways to cope with scaling.

I wondered about this myself before I started using Elixir. In practice, it turns out when it's cheap to make things concurrent more services take advantage of this feature.

Tests and the elixir compiler are extremely fast because of this, and it makes the whole development experience better.

Because the primitives are so simple, people experiment more which makes better software. Nobody would come up with phoenix live view for Play framework in their spare time because play framework is so overly complicated.

anko··on It's not what programming languages do, it's what they shepherd you to
I totally agree.

I'd also like to add that a lot of the time in open source, it's as simple as having the examples be full examples with the error handling needed to use it in a production system. Quite often the examples shown are the "simple" ones, but they leave a lot out. I wish it weren't the case but those are often also pasted into production code.

anko··on The Paywalled Garden: iOS Is Adware
I think it's probably worse for people in the US, but I am certainly getting sick of news promoting articles that i can't see unless I pay for news+. Quite often the article headlines are bigger than a screen and it doesn't tell you it's apple news+ until you either tap into it or scroll past it. It's cheap, and I expect better from Apple.

I was also thinking about getting a news+ subscription when I buy a new ipad - waiting for a new model to come out - now I'm wondering if I should bother with either.

I don't even mind occasional ads, to show me what i'm missing, but they should be clearly marked as such.

anko··on A Pythonista's Review of Haskell
Well performance is certainly the main factor, but it's really about the Big O's of a function. https://en.wikipedia.org/wiki/Big_O_notation
anko··on A Pythonista's Review of Haskell
I really like your description. One thing i don't understand though, is why generalising these operations is considered a good thing?

In my day to day I spend a bit of time writing functional code, and a lot of time reviewing it, and when you generalise in this manner it hides a lot of the details of the algorithmic complexity. Is this operation happening in a future? or is on a list? You could argue that the type signature will let you know, but quite often it's inferred.

Suddenly I find myself needing an IDE just to do code reviews. People make arguments about naming variables and suddenly we're back to using hungarian notation.

I also find it's easy to make mistakes - you do a flatmap instead of a map and the Nones just vanish. Or you're composing so many generic functions that the intent of the code just disappears.

I guess i just wanted to see if it's just me.

anko··on Microsoft will be carbon negative by 2030
I'm not sure what you're arguing, that nobody's perfect? Microsoft is aiming here to be carbon neutral in 2030. In ten years.

From my linked report; A more energy efficient supply chain.

In 2015, we started engaging directly with suppliers to help them reduce their energy use. We aim to educate them about energy efficiency, identify energy efficiency project opportunities, and manage those projects to completion. We prioritize facilities with the highest energy use and potential for improvement. Then we conduct energy audits and train suppliers to uncover opportunities for energy efficiency—like replacing outdated or inefficient heating, cooling, and lighting systems; repairing compressed air leaks; and recovering waste heat. The assessments provide suppliers with a cost-benefit analysis for implementing energy efficiency improvements. Since the inception of this program in 2015, we have engaged 59 suppliers at 85 facilities. In 2018, our program implemented energy efficiency measures that prevented 466,000 metric tons of CO₂e from entering the atmosphere.

So they are working with suppliers and have been for the past 5 years. They also have been cleaning up the chemicals their suppliers use.

You can't compare what they are doing to murder; it's legal for starters. But if you're relying on all the companies you do business with to make up your definition of 100% renewable, it's likely you'll never get there. They don't say anything about the energy used by the banks they do business with either.

anko··on Microsoft will be carbon negative by 2030
I just want to mention that apple has been 100% renewable for a while now, and publish a detailed environmental report; https://www.apple.com/au/environment/pdf/Apple_Environmental...
anko··on Elixir lang 1.10.0-rc0
I find the "high throughput" comment a bit weird, but i've seen it a lot of times. Do you mind drilling into it a bit more?

I see posts like this https://blog.discordapp.com/scaling-elixir-f9b8e1e7c29b where they are talking millions of events per second.

I also work in the distributed messaging space and so far my experiments have shown elixir to be able to keep up with our scala stack with the advantages of no thread tuning and much easier debugging. So I'm curious why this keeps popping up.

anko··on Usql – A Universal CLI for Databases
If you're interested in this sort of thing, it's worth checking out https://drill.apache.org/

It lets you query multiple databases but also join between them. Or say, translate your mysql table to a local csv file. And if you need it to be faster you can deploy to hadoop.

worth checking out anyway, I used to use it a lot before i started on Apache Spark.

anko··on SpaceX just filed a request to run 30k more Starlink satellites in orbit
Which launch company would they go with? SpaceX? Even then, they are splitting costs of the rocket (most expensive part) and fuel, while SpaceX themselves can just pay for fuel on an already flown booster. SpaceX are also paying cost, rather than retail prices.

Sure, there are a few more costs, the point being that SpaceX has a supreme cost advantage.

anko··on What is the new Apple U1 chip?
just make it sound the noise :P
anko··on ORMs Are Backwards
The problem is prepared statements aren't composable. So saying i want this query but also with this extra where in there and a limit and an offset means you have to write a whole new prepared statement. Or concatenate strings!

With an ORM you can construct the prepared statements programmatically.

anko··on Matz: We are mere mortals
I think this might be a mischaracterisation. Rails merged with Merb because they were accepting of new ideas, and didn't see the point of 2 groups wasting their time implementing the same kinds of stuff.

Rails is an opinionated framework in that it has strong opinions for what the default configuration should be. They realise it can't be general purpose and stay as effective. But if you're doing CRUD apps, on the web, those defaults save you a bunch of time.

That's not hostile to differing ideas, it's just saying that some ideas don't belong in rails or rails itself becomes less good.

anko··on Async and Await in Rust: a full proposal
You're right, in theory, if your select() or epoll() doesn't have a timeout. And the threads aren't doing any active work. But if you're optimising for that state, then you don't care about inefficiencies of one model or another.

There are also costs in setting and checking those locks etc. Sure, you can build solutions to optimise a broken model, which we've done over decades (with quite a bit of success!), but it doesn't make the model less broken.

anko··on Async and Await in Rust: a full proposal
Threading sucks. It's a situation where you have some external process (the operating system) deciding when different pieces of work should be woken up, with no way of feeding this back (so it just bases it on relatively naive schedulers).

In practice, most of your threads are in one form of wait loop or another and you've just got polling both inside the threads and with the scheduler.

Have a look at Erlang if you want a better model :) the erlang "processes" (different to os processes) can intelligently only wake up when there is work for them to do.

For a language to efficiently use cores, it really needs to include it's own scheduling.

anko··on Hyperloop costs and challenges undermine pinned hopes
What if parking is done by the car via self driving technology? Would you still prefer the train?
anko··on Apple’s iMac Pro is a love letter to developers
I'm really interested in what you're doing in a startup that needs all that power locally.

For me, I would probably be happy with a 2 core macbook but I use a 4 core macbook pro. If I'm doing something that needs a lot of compute, it's in the cloud.

anko··on macOS High Sierra: Anyone can login as “root” with empty password
> I'm having significantly less problems with Windows then MacOS.

I'm interested.. What kind of problems?

> But Windows and MacOS both give me more problems then a FreeBSD or Linux box ever has.

I switched from linux on the desktop to MacOs precisely because of the problems linux had - driver support, even LTS updates breaking functionality, and overall clunkiness. I run linux on all my servers.

anko··on Ask HN: Is Ruby on Rails still worth it?
It seems like you're comparing a framework with a language?

What framework do you use on node.js?

My experience with nodejs has been pretty poor. I'll give some examples;

* The language and runtime is constantly updating - there is no such thing as stability

* Even npm couldn't produce deterministic installs until this year

* npm dependency hell

* there are lots of ways to do any task, so there is much fragmentation with advice / community

* the repls in node suck compared to pry

* I can't find a good opinionated framework - so everyone lays out each application differently, with different standards etc. That means you end up spending a ridiculous amount of time configuring everything.

* most apps i've needed to make don't actually benefit from being a SPA. It's a cargo cult thing.

* javascript as a language sucks!

anko··on An ex-trucker has some questions about the Tesla Semi
but then look at the gull wing doors! I think at this point we can only wait and see.
anko··on Why we used Pony to write Wallaroo
I think there is a lot to be said for the simplicity of the erlang model. It's not just about stopping a thread from hogging the cpu. The OS doesn't have a good idea when to wake threads up, so they are effectively polling needlessly.

I do scala/akka in my dayjob and the amount of time we spend tweaking threadpools (execution contexts) and retesting just to get okay performance is insane. You wear a pretty big cost when you layer on abstractions like that.

anko··on Boring Co. gets permission to begin digging in Maryland
> Isn’t too much to accredit one person?

How is that limit set?

anko··on Ask HN: Burned out 21 year old software developer, what's next?
dude turn up to random classes! nobody will notice. The chicks doing psychology are amazing.
anko··on Ask HN: Burned out 21 year old software developer, what's next?
sexual education, making friends for life (as you get older, people get into groups of friends and it's harder to make real "life" connections"), networking with people outside your future industry, trying things, getting new hobbies, parties etc.

You're at your peak in terms of learning new subjects, so if you get a chance, learn a few random ones! It's said that apple's focus on design and typography wouldn't have happened if Steve Jobs hadn't dropped in on some calligraphy classes during college.

anko··on Why Ruby App Servers Break on MacOS High Sierra
backwards compatibility has a high cost over the long term - if you're not supporting it, you're free to make your software better at your own whim. That's a strong postition to be in.

I would say the primary purpose of macos isn't to cater for everyone, it's to make using a computer a pleasurable experience for the non technical. It's about bringing computing to the masses.

If you're in a mahochist niche, good for you but you're better off on linux.

For me, macOs is pleasurable for the most part, and i'm technical enough to work around any problems I face. On windows/linux I have to do that for features that aren't even nearly advanced.

anko··on I’m Returning My Apple Watch 3 Cellular
that'd be a sunk cost, in economic terms. https://en.wikipedia.org/wiki/Sunk_cost
← PreviousPage 3 of 9Next →