HNHacker News
TopNewBestAskShowJobs

14113

650 karma · joined February 15, 2013

submissionscomments
14113··on Lies we tell ourselves to keep using Golang
From the article: "[...] as developers get more and more senior, they tend to ignore more and more problems, because they've gotten so used to it. That's the way it's always been done, and they've learned to live with them, so they've stopped questioning it any more."
14113··on Nvidia CEO Introduces Nvidia Ampere Architecture, Nvidia A100 GPU
This is wrong - triSYCL is roughly the same age as ComputeCpp, and hipSYCL is only slightly younger. There has been a lot of academic interest in SYCL, but as with any new technology (especially niche technologies) it's always going to take time to get people on board.

Also, from a quick look at your profile, you seem to have quite a lot of comments criticizing or commenting on CodePlay. Do you have some sort of relationship or animosity with them?

14113··on Celerity – High-level C++ for Accelerator Clusters
DPC++ is basically "just" SYCL, so no MPI.
14113··on British Airways passengers facing delays after IT failures
Well maybe the other carriers have less awful legacy tech - I can't speak for what they have. All I know is what I saw while working at BA.
14113··on British Airways passengers facing delays after IT failures
That's a much more reasonable explanation - thanks, I appreciate it! The way I'd had it explained to me was more along the lines of "greedy pilots want to be able to fax because they can't be bothered to learn how to use email", but your explanation makes a lot more sense.
14113··on British Airways passengers facing delays after IT failures
Speaking as someone who (for a time) worked in the IT department of British Airways, the culprit is really just ancient systems that aren't well maintained, along with institutional and industrial pressure not to improve them or upgrade them.

For example, I worked as part of the team that managed the software that allowed pilots to submit flight plans. Any upgrades had to go through multiple weeks of reviews and testing (I don't mean code review - I mean reviews through managers and processes), and was run on some rather ancient hardware. Moreover, thanks to pressure from the pilots union, the system had to be able to accept flight plans by fax, so had a lot of legacy cruft to support that too.

The problem isn't agility, corner cutting or moving too fast - it's moving too slow.

14113··on The Long, Slow Death of Venice
The issue is that pickpockets and others looking to target more "naive" tourists will be less likely to target you if you're dressed less like a tourist.
14113··on Zulip 2.0: Open source team chat
Zulip also has a terminal client.
14113··on Implications of Rewriting a Browser Component in Rust
It's not idiomatic, but it's still possible. I've got NullPointerExceptions while writing fairly complex, modern Scala, so it's about as possible as with Java in my experience.
14113··on Can AI Predict the Next Area to Gentrify?
Really? There are at least two coffee places within ten metres of the train station on Rye Lane, right across from the Cinema. You're talking absolute rubbish.
14113··on Lisp and Haskell (2017)
I would argue that C++ (or at least, modern C++) aims to /enable/ one to treat it as either. It gives the programmer the power to write very low level code if they wish, but also to define type safe interfaces and high level abstractions which allow the programmer to trust the glue that binds together their blocks of code.
14113··on Apple Engineers Its Own Downfall with the Macbook Pro Keyboard
Unlike C compilers which have no NP-hard problems to solve /s
14113··on Quicksort in Idris
Which, of course, depends on what you consider to be a "safe" algorithm.
14113··on Toxic management cost an award-winning game studio its best developers
> and promoted those who could argue against him.

I've worked with managers like this, and although it might work for some, it was hell for me. Having to constantly argue to defend your ideas is draining, soul destroying, depressing, and lead to me burning out multiple times. Discussing and critiquing ideas should not involve force from either the idea's champion, nor who they are pitching it to. If, at the end of the day, you're evaluating ideas based on the force by which they're presented all you end up with is ideas that support being presented and defended forcefully - not deftly, nor intelligently.

14113··on How Much Does a Compiler Cost?
LLVM is targeted by both Haskell and Idris - two of the most un-C/C++-like languages I've ever come across.
14113··on What I learned from watching my iPad's slow death
A UI shouldn't be unresponsive in that case. It should present a progress bar, or other visual indicator that the UI [thread/actor/process] is waiting for the IO [thread/actor/process]. A UI should only become unresponsive when only one [thread/actor/process] is trying to do everything (I.e. both IO and UI), which should only occur if your application is not written with concurrency in mind.
14113··on Ibuprofen alters human testicular physiology including testosterone production
I went through a period of heavy physical activity without good equipment, which caused quite bad shin splints. My doctor prescribed precisely this dose, along with some physiotherapy. I think it's quite common for inflammatory problems like that.
14113··on Stargazer: understanding the π-calculus, visually
I just followed the guidelines when submitting - i.e:

> Otherwise please use the original title, unless it is misleading or linkbait.

It's regrettable that π looks similar to n, however I think it's a very minor issue that is resolved the second that you click the link.

14113··on Thruster for Mars mission breaks records
One problem with nuclear reactors on space craft is what happens if/when the craft re-enters the atomosphere? How do you stop the reactor from becoming a high-altitude dirty bomb?
14113··on How to Legally Own Another Person (2015) [pdf]
What drivel is this? The purpose of a college degree is to show to your peers that an academic institution is satisfied with your level of knowledge in a particular area.

There are legitimate criticisms of the current university system (such as cost, political interference in teaching, irerelevant curriculums etc), but claiming that a college degree "demonstrates submissiveness" is utter horseshit.

14113··on Diminishing returns of static typing
Well said. This article is essentially dismissing a technique that is barely used, with the argument that the technique is not the entire solution. Of course it isn't, but that doesn't change the benefits that it can bring.
14113··on Tiny Phones That Go Inside a Butt (2016)
I have the "cloud to butt" extension[1] installed, which led me to initially assume the article was about running phones as part of a cloud service, either for compute or testing. It was therefore quite a surprise for me when I actually clicked through to the article...

[1] https://chrome.google.com/webstore/detail/cloud-to-butt-plus...

14113··on The design side of programming language design
Doesn't the author somewhat argue the opposite? If form follows function, then surely a "new" way of doing dictionaries should have a new syntax?
14113··on The design side of programming language design
I think this article misses a crucial point with it's phrasing, or construction of the "design vs mathematics" tradeoff. Mathematics is superior for underpinning programming languages because it is universal. Design, like art, relies on a shared view on the world to be appeasing. Design from the 70's, or 80's is often unappealing to modern viewers because of the lack of shared experience with the designer, for example.

Mathematics solves this by appealing to a shared underlying "truth", that allows not only programmers with different backgrounds, but also computers to understand and process a programming language.

14113··on Why category theory matters in programming
> hot-synching whole data centers

That is actually what Facebook is doing with their spam detection code - their purely functional architecture makes it easier and more reliable for them to hot-swap out parts of their codebase when the need to update it.

https://code.facebook.com/posts/745068642270222/fighting-spa...

14113··on Sorting with GPUs: A Survey
Define "complex data layouts"? One reason that tools like Futhark often don't is that complex data structures don't provide good performance on GPUs.

If, however, you mean complicated compositions of arrays, then that is something we support, as well as efficient ways for describing (e.g.) coalesced accesses or stencil operations.

14113··on Writing a SQLite clone from scratch in C
Could you expand on this? I've not come across this before, and I'd be very interested in using it, if it's easy...
14113··on Sorting with GPUs: A Survey
The problem isn't that a particular library is AMD or NVIDIA only in terms of computation, but NVIDIA or AMD only in terms of performance. GPU implementations are usually optimised for a specific architecture, which is then the "supported" architecture.

On occasion, such implementations do use vendor specific tools (such as CUDA), but there are a plethora of tools such as OpenCL, SyCL etc that provide portability - but not always performance portability, meaning that they will still be tuned to a specific architecture.

For performance portability, the LIFT project (http://www.lift-project.org/) provides a partial solution. Our approach relies on a high level model of computation (think or something like a functional, or pattern based programming language) coupled with a rewrite-based compiler that explores the space of OpenCL programs with which to implement a computation.

That lets us "optimise" a given implementation to a specific architecture, entirely automatically, in a way that many other low level approaches simply aren't able to, as they contain too many implementation (rather than computation) details.

14113··on Sorting with GPUs: A Survey
The LIFT project (http://www.lift-project.org/) is specifically trying to solve the problem of performance portability. Our approach relies on a high level model of computation (think or something like a functional, or pattern based programming language) coupled with a rewrite-based compiler that explores the space of OpenCL programs with which to implement a computation.

We get really quite good results over a number of benchmarks - check out our papers!

14113··on Writing a SQLite clone from scratch in C
On a related note (and this seems a good forum to ask), are there any typed databases available similar to sqlite?
← PreviousPage 2 of 10Next →