HNHacker News
TopNewBestAskShowJobs

hacker_9

3,224 karma · joined June 17, 2015

submissionscomments
hacker_9··on Reddit's Stock Threads Become a Must-Read on Wall Street
The memes are great on that subreddit, when the March crash happened and people were posting gifs of 'Order 66' being executed from Star Wars... priceless
hacker_9··on Windows Privacy Dashboard: GUI for Windows 10 Privacy Settings
GrepWin!
hacker_9··on Why Is the Human Brain So Efficient? (2018)
50% of the time it works 100% of the time
hacker_9··on Software Engineering Within SpaceX
This is bonkers. The UI did look good, I'm suprised it wasn't something native like QT. But I guess when I think about it, does it really matter? Chromium has some of the best engineers behind it, and web developer supply has never been higher.
hacker_9··on Twitter hides Donald Trump tweet for “glorifying violence”
It's interesting Twitter finally started taking a stand in Trump's last year as president, I wonder if it's because they hope he'll get ousted and they won't have to deal with the backlash from him for too long. Or it's just a marketing ploy, perhaps customer count was falling.
hacker_9··on EA will be releasing the C&C Tiberian Dawn and Red Alert source code under GPL3
Now we need a post mortem, like has been done with the Doom source code!
hacker_9··on Cambridge research team estimates 12% of England has been infected already
Shame we can't prove it until they start randomised testing.
hacker_9··on COBOL programmers answer call
Have you used imgui? Easily fastest way to create a GUI since dawn of computing, Cobol screen section really has nothing on it.
hacker_9··on How to manage HTML DOM with vanilla JavaScript only?
Interesting at first glance, but what is the performance of this? It looks like all cases would have to be evaluated before picking one, so even slower than an if-else-if.
hacker_9··on UK government to pay up to 80% of wages for employees not working
You understand this only helps in the short term right? Yeah we'll live, we'll also be poorer than ever at the end of this, and someone's gonna have to pay back this debt.
hacker_9··on Am I Unique?
Hang on, how is this unique:

    Keyboard layout 0.09% Qwerty
Is this saying less than 1% of users use a Querty keyboard? I must be living under a rock if that's the case.
hacker_9··on Depending Less on Structure
Perhaps, but we've had this problem since being able to formulate speech, where we have no way to 'undo' what we said in the physical world. So our language adapted to allow us to say things such as 'let me rephrase that', or 'ignore what I said, I'm wrong' etc. It's interesting that when we moved to computers, the preference was almost immediately to be able to completely delete/rewrite our thoughts instead.
hacker_9··on Depending Less on Structure
If you want to continue thinking along these lines, then look at how humans do it. For example, when writing a word document, the person has a continuous stream of ideas of how to write about a subject. But do they continually append only to the document? No, they delete, rewrite, restructure etc. It's just english is more flexible than our programming languages (and thus more ambiguous), so these operations are easier to do.

I would think if continually layering over the top of existing ideas was somehow better, then evolution would have gone that route instead.

hacker_9··on Depending Less on Structure
1. Example is too simple, functions could modify anything in a model depending on context.

2. Good luck trying to optimise this (just merging all behaviours together at the end does not equal optimisation).

3. You're just pushing the problem elsewhere - now I need to understand all behaviours from a black box, then wrap them, all while dealing with all the other wrappers people have already put in place. Imagine dealing with that complexity.

hacker_9··on State of JavaScript 2019
I think I'm going to have make this my last comment as this is going in circles. I mean what is even your argument? Types exist whether you like it or not, implicitly or explicitly. You cannot get around this, it is simply a fact. When you have input parameters, or a return type, they follow a structure. That structure is a type. This is not nuance, this is just how things work.

'Good' developers is a subjective term, what is a good developer to you? Someone who can work without types? Wtf?

Anyway, I'll keep being productive with typed languages. You do you I guess.

hacker_9··on State of JavaScript 2019
Slows down what?

Compile times? By a small amount sure, but with the incremental compilation we're talking maybe a few tens of seconds max. Any longer and you need to look at improving your build dependencies for better parallelism, and upgrading your hardware.

Development time? Types reduce mental overhead and abstraction for the developer, speeding up development.

Run time? Variables with types that stay static execute faster in JS engines.

Types keep code maintainable, and protect against any accidentally implicit conversions (rife in JS). Types still exist whether you define them or not, so being explicit gives the maintainer of your code much less mental overhead when working with your code. Knowing the contract that a function follows allows them to skip over any assumptions and know exactly what the code is meant to do. Break the contract, get a compile time error.

Anyone can write code, writing maintainable code is the real challenge. In my own 20 years experience this is always what separates the wheat from the chaff.

hacker_9··on State of JavaScript 2019
Typescript doesn't make things easier, and react is intuitive? You know April fool's is still a few months away right?
hacker_9··on Layered Programming (2013)
Well this is interesting, I recently spent a weekend creating a 'splicing compiler', which could take a typescript project split up into features, where a feature was written in just one single typescript file. Each section of code could then specify new 'code hooks', for future code to insert itself at during compilation.

My original inspiration was that English language is spoken sequentially, but ends up in a graph database (i.e. the brain's neural network). So you'd write code like a thesis, and the hooks you specify would allow the splicer to form the code graph.

In theory it seemed like it would be useful, so I built Pacman with it and, well, it didn't really work in practice! Things ended up being more abstract in the end, and I'd be mentally juggling where hooks were created and what the final code would look like. Even showing the code output to the right wasn't that helpful, as the way the code was spliced together put things in not the most readable order.

Additionally how to split up the code wasn't the most obvious, i.e. when should a hook be added? It often felt I'd only know after writing the code in full. At which point it just felt like extra work. I'd often find myself to be inserting code all over the place to get something working, and so the refactoring needed at the end became overwhelming. Ultimately these reasons lead me to abandon the idea.

hacker_9··on Never mind the 1 percent Let's talk about the 0.01 percent (2017)
If you provide a service people want/need, you are going to end up with more money.. It's not rocket science. This is how the capitalist cogs turn.
hacker_9··on Half-Life: Alyx
Wow this looks like finally a reason to buy VR
hacker_9··on The magic of generating new ideas
> We take the sun being the center of the universe for granted today, but it was an extremely non-obvious fact for the smartest people in the world for millenia.

It seems new ideas truly are difficult to inject..

hacker_9··on Age Discrimination at Work
What profession is this article about? Surely age discrimination varies hugely depending on profession.
hacker_9··on Software Architecture Guide
Agree. They talk the talk but don't walk the walk.
hacker_9··on Rust GUI ecosystem overview
Where is imgui bindings in this list?
hacker_9··on Rust GUI ecosystem overview
QT these days is written in a JavaScript-esqe language and runs a modified WebKit to power the UI. It's as bad as it sounds.
hacker_9··on Performance Matters
This is a non realistic reply, as if optimisation is something that can be tacked on after. The truth is you have to walk the fine line between performance and maintenance. It's good to plan ahead and be able to optimise on the bigger picture early, so the design can go through several iterations and code reviews and therefore be trustworthy at the end.

Your example of caching is almost basic programming, maintainable code also caches values after calculation for use elsewhere. You don't not cache the results of a database query and pass it around, that's just spaghetti.

In reality you have to break out your design into components that can later be rewritten one at a time in order to eek out performance. Easier said then done, but at a high level this first means keeping your big areas (UI, database queries, File IO, networking) separate, and work out the infrastructure from there.

hacker_9··on A Boeing Code Leak Exposes Security Flaws Deep in a 787's Guts
So people hack planes now. Well this is just great.
hacker_9··on Why is modern web development so complicated?
Modern Javascript is complicated*. Elm Lang on the other hand is great for web dev.
hacker_9··on StockX was hacked, exposing millions of customers’ data
> The stolen data contained names, email addresses, scrambled password (believed to be hashed with the MD5 algorithm and salted), and other profile information — such as shoe size and trading currency. The data also included the user’s device type, such as Android or iPhone, and the software version.

The serious tone of this article made me double check if this was April 1st when I read this paragraph. The stolen data is shoe sizes? MD5 hashing for passwords isn't ideal, especially combined with email addresses - that could lead to some email accounts being accessed if people use the same password for everything. The article seems to not really give much attention to this though, not clear if the author even realises this is the main problem.

hacker_9··on B-threads: programming in a way that allows for easier changes
>> when you "commit" your release, you'd end up with a single, optimized artifact for deployment

I agree this would be nice, but think of this problem more deeply and you quickly run into major issues. The biggest one being that your compiler now has a large scale optimisation step to do completely automatically, better than a human.

In order to make this work, you'd effectively have to build everything out of composable components, which you then can switch on/off with some sort of layering system. The problem here is how do you come to a decision on what those composable units look like? You don't know what you don't know - i.e. what those future layers you append are going to need to turn off or on.

And coming back to optimisation - once you know the features you are combining together in an algorithm, only then do you know the data structures that fit the problem. Optimisation isn't a forward process when you turn parts off and end up with an efficient system. Optimisation requires a high level view, a low level view, an understanding of context, of memory requirements, of language capabilities, even leaps of logic.

For the last part when I mean is that whilst a compiler may be able to reorganize something in the form a*b=c (and even then knowing when to do this is a book on it's own), it can't know that if I, for example, disable a feature that adds nested nodes to a tree structure, that it could rewrite functions to no longer require recursion and instead treat them like serial lists.

You could rewrite the methods yourself and add them to your new layer, but you also will inevitably end up not fitting the previous composable structure.

I think the deeper problem is related more to the tying of syntax to structure, as structure is ultimately your application's performance profile. Untying these two though could lead to a way forward for the append style paradigm.

← PreviousPage 2 of 30Next →