HNHacker News
TopNewBestAskShowJobs

jpz

438 karma · joined July 31, 2011

submissionscomments
jpz··on Yukihiro Matsumoto: “Ruby is designed for humans, not machines”
Numerical computation is generally done on scripting platforms - Matlab for instance.

After a few different options such as Octave, numerical computation in the free software space coalesced around Python.

The Python ecosystem - it's change and release processes (PIPs etc) - thorough API documentation - make for a good target language, over other languages that simply do not have that infrastructure.

I don't know what the state of Ruby documentation is these days for instance, but back in the day, it was simply incomplete.

jpz··on Australia fires: Aboriginal planners say the bush 'needs to burn'
I agree with the criticism, and disagree with your counterpoint.

There is no evidentiary record of this being "successful for centuries." After all, there are no written records.

On the face of it, if you start a fire in a bushland which is 100s of kilometres in breadth, how are Aboriginal people going to communicate and control such a blaze? They don't have access to:

- water pumps - hoses - irrigation - telecommunications - horses

There's some mythmaking going on at the moment in Australia about this.

I find it hard to take the claims at face value.

jpz··on A lot of complex “scalable” systems can be done with a simple, single C++ server
Yes, I'm aware. I've written and maintained several of these systems in exotic derivatives space. Scale-out of CPU was required for these.

These are not big data problems, however, by definition.

jpz··on A lot of complex “scalable” systems can be done with a simple, single C++ server
Big data is about I/O not CPU

I’m a C++ veteran btw and understand the point but big data is about how to process petabytes of I/O not how to consume CPU.

jpz··on Julian Assange “slowly dying” and “often sedated” in Belmarsh prison
He had a fair trial for the crime of jumping bail, and has been jailed for it.
jpz··on Julian Assange “slowly dying” and “often sedated” in Belmarsh prison
He is in jail for the offence of jumping bail. That Sweden dropped the charges doesn’t dismiss that offence.

The UK spent 10s of millions on policing costs monitoring abscondment.

It is entirely right that he is serving a sentence as for reasons of deterrence.

jpz··on Julian Assange “slowly dying” and “often sedated” in Belmarsh prison
We are all slowly dying. He’s not alone.
jpz··on Sweden Drops Julian Assange Rape Investigation
The UK is not within the Schengen zone, and has passport checks for entry to and from the UK for that reason.
jpz··on Sweden Drops Julian Assange Rape Investigation
He confined himself to a room. He skipped bail and was on the lam.

Ridiculous for the UN to qualify this as the UK state torturing him - it denigrates the reputation of the UN.

jpz··on Differentiable Programming Manifesto
Does anyone else dislike the usage of the word "manifesto" in computing? It always seems to me to indicate a faith-based rather than evidence-based commitment to some train of thought.

Seems strange to see manifestos discussed in the ML space, which is nominally a measure-oriented world. Mind you, when has statistics not been polemical.

jpz··on MathSharp, a vector and matrix library written in C# using hardware intrinsics
The following call which is in MatrixOperations for instance is about cameras - I assume this is some scene-object type of logic regarding 3d graphics?

That does not look like a general-purpose linear algebra library to me.

public static MatrixSingle CreateBillboard(in Vector4FParam1_3 objectPosition, in Vector4FParam1_3 cameraPosition, in Vector4FParam1_3 cameraUpVector, in Vector4FParam1_3 cameraForwardVector)

jpz··on Things I Learnt from a Senior Software Engineer
100% with you on this. I find the replies to your comment here remarkable.

Namings should be descriptive not idiosyncratic.

It might be just like the guy I spoke to last month that said he just makes everything public when writing Java. Some people can have opinions that differ from best practice, it doesn't justify them, however.

Express your personality when you speak to people face to face, tell a joke, make witty observations at lunch, or in a code review meeting, don't express your personality in manifest idiosyncracies in your comments and code.

jpz··on A Primer on Bézier Curves (2013)
What a great contribution.
jpz··on Deutsche Bank Faces Criminal Investigation for Potential Money-Laundering Lapses
There's no discussion of cryptocurrency in this article.
jpz··on Deutsche Bank Faces Criminal Investigation for Potential Money-Laundering Lapses
Isn't this off topic?

https://news.ycombinator.com/newsguidelines.html

jpz··on macOS deprecating scripting language runtimes, including Python, Ruby, and Perl
The main issue here is that they don't want the hassle and responsibility of breaking everyone's software each time they release a new system-level python.

They have a problem deprecating python2.7 as it is, the smartest deprecation is not to release a python3+ version at all.

You see a similar issue with python on Debian. Python 2.7 is still the system python for all of the Debian tree, and it is very challenging to migrate to a new version because of the huge impact it has.

That's not to say MacOS won't be a place where python is happy to run - just that Apple don't want to dictate a specific version of it in their releases (i.e. developers/users/applications should install one.)

jpz··on Kotlin is now Google’s preferred language for Android app development
Type erasure on the JVM is still awful. Advocates and defenders have a variety of intellectual arguments to defend its awesomeness, but it doesn't "erase" its painfulness.
jpz··on Apple News has a notification spam problem
This is a problem - I was getting 10-30 notifications a day - I've just switched off notifications for this app.

It's a shame, as I'd like to be notified if some proper breaking news of significance actually happens. One of my notifications for instance was on Princess Eugenie's 29th birthday.

I have zero interest in lifestyle stories, let alone those of the royalty - it is utter spam.

jpz··on European Parliament approves copyright reform
I appreciate the links. However - you need incoming revenue to maintain infrastructure as well as software.

Wikipedia probably stands alone as a not-for-profit (as do, incidentally, government-sponsored services - so in the UK, BBC should be fine for any liability, but Sky would be screwed, for instance.)

jpz··on EFI Boot Application in C#
Thanks - answers all my questions as to how this works :)
jpz··on Integer multiplication in time O(n log n) [pdf]
thanks - new to me
jpz··on Integer multiplication in time O(n log n) [pdf]
Try google :)
jpz··on Integer multiplication in time O(n log n) [pdf]
For the very basics, Chapter 30 of Introduction to Algorithms has a very good stand-alone introduction to the topic of large integer multiplication via polynomials and the FFT.

https://en.wikipedia.org/wiki/Introduction_to_Algorithms

jpz··on Event Sourcing is Hard
If you’re confused, welcome to how everyone felt. The nuances and abstract definitions made for confusion for the staff. I’ve forgotten what I knew about it, you may well be right in your definitions, however what was clear was that we needed to implement asynchronous pub/sub comms on the Kafka queue to get this work. What might have been simple with an RPC (e.g. a POST/PUT) was turned into a system which needed to track the state of its asynchronous RPCs, and listen to the queue for responses.

All of this was for no real purpose, and as I said the proof was in the pudding - tens of millions of dollars wasted, hundreds of staff hired and then fired. The domain itself was not complex (e-commerce) but the implementation was ludicrous.

There were basic delivery problems in the project as there was a complete lack of keeping things simple, and massive overengineering.

jpz··on Event Sourcing is Hard
There are commands and events in CQRS/ES - where you need commands and success reported from multiple subsystems from front end interaction, now you need a transaction coordinator for your “saga”

Typically the front end needed to get a success message to say user created, or user creation rejected (e.g. backend checking on valid postcode, valid username, etc - rejections which would come from two separate services.)

jpz··on Event Sourcing is Hard
It is hard to separate DDD, Event Sourcing/CQRS - they seem to all be joined up concepts promoted by a small circle of people.

I worked on a blockbuster project financed by a local billionaire in a Gulf State where the entire shebang was “mandated” by the CTO and a well-known Scala consultancy. Event sourcing, CQRS, with DDD to define architecture.

Let me describe one simple issue that was almost intractably complex - user sign up.

We had one service which was authentication, and another which was user preferences.

The front end sends a create new user command (set up a new user in the auth system with a password, email, etc), we also needs now to send some kind of message to initialise the user info records (e.g. home address, telephone, language preference, etc.)

We need to implement a saga for this, e.g. implement a process coordinator. Or maybe the authorisation system should on first request where the data is not populated, fill in a blank, default record?

We genuinely achieved organisational paralysis over this, as there was no clear emergent right way to do this, and a bunch of ways that really smelled.

Additionally, regarding the a code organisation perspective, we had a repo that had the central commands and events defined as code, which every service linked to. So we had a huge central dependency which had a high velocity of change.

What was meant to be a distributed, loosely connected system was in fact the most coupled system I’ve ever worked on.

Architecture is about clear communication, and the developers were simply perplexed. We were bringing in 10 developers a month, and communicating the architecture was impossible. Lofty ideals were espoused.

The first basic rule of delivery in a software engineering project, KISS, was universally ignored, in favour of using “sexy” architecture.

Fitfully, the CEO was first sacked after 18 months at the helm, a few months later the CTO and 95% of the dev staff. The year long coding effort was turfed. Estimates are $50m-$100m was burnt.

The winner of course was the DDD consultant that mandated everything, whose word was seen as law, who didn’t actually seem to have very much pragmatic, practical experience - he was getting paid $2k/day, and found it difficult to listen to any idea which watered down his architecture in any way - I think he would eeked out enough cash from this shitshow to purchase a small dwelling.

The biggest losers were the hundreds of staff that had relocated to the region sometimes with families, that had made genuine plans to be in the region for years, that would have all had their visas cancelled.

I think the entire thing is a con - my experience was in ideologues and purists pushing it and making themselves niche consultancy/speaking/writing careers in it.

Now this is just one apocryphal story - but it really is an architectural style that can totally wreck a development or even a company - people are ideological about it - it is not low-risk, and the entire Saga/Process Coordinator stuff is just a tack-on to try to (unsuccessfully in my opinion) answer things that simply don’t work properly. The message I mean to communicate is that the async-everywhere nature of CQRS/ES is super complex where coordination is required.

If you are going for loosely connected services, I far more prefer the microservices/RPC architecture - such as Netflix - as the synchronous model with distributed load balancing is a lot more sound.

jpz··on Functional programming in C++ (2012)
DoF design patterns is Java bollocks IMO.

It's only Java developers and to a lesser extent C# developers that really go nuts for this stuff. Visitor is clearly a framework for expressing multimethods - thus one can say Visitor is merely a workaround for the constriction of expressiveness of a given language - which is a claim made about many of the GoF patterns.

Singletons as a pattern? How is that different to global variables? It isn't.

jpz··on Using D to Create the World’s Fastest File System
I don't criticise him, I just think the structure of the project meant it failed to really launch. There are people like me (20y+ C++) that when certainly I think of D, I think of it being a closed project. I spent quite a bit of time looking at it and thinking how great it was, but it seemed confusingly proprietary (which is not a great place for a programming language to be.)
jpz··on Using D to Create the World’s Fastest File System
Ah, just looking at this. When I was looking at D back around 2005 it was a closed shop run by one guy - I had the feeling it did not take off because it simply wasn't an open enough project.

It is a shame, as since then we've had go, Swift, Rust all come along and it is a lot more competitive for mindshare in that space... not to forget the merits of modern C++ (it is a far better language post 2011)

jpz··on What happens if Julian Assange is tried in the US?
Matt Taibbi is a self-aggrandising conspiracy theorist and polemicist.
← PreviousPage 3 of 4Next →