HNHacker News
TopNewBestAskShowJobs

Sahhaese

782 karma · joined November 27, 2018

submissionscomments
Sahhaese··on Vigenère Cipher
My 'gut' intuition is that doing that is the same as applying the cipher of length 2, then the cipher of length 3, 5, 7 each in turn invidually, but I haven't had the chance to dig out cyberchef to confirm this.

Edit: Indeed: (no spoilers for the fun of actually breaking your message)

https://gchq.github.io/CyberChef/#recipe=Vigen%C3%A8re_Encod...

Sahhaese··on Justin.tv's Live Video Broadcasting Architecture (2010)
text overlays would still be clunky, what's really needed is dynamic video spliced directly into the stream so the viewer understands it's the broadcasters' connection that is poor not the viewer's.

This could be achieved if twitch allowed broadcasters to upload a 2 second loop as a 'placeholder' for connection drops, and twitch could mix that in if it detects too many frame-drops.

It would need to be a setting though because some streamers just stream over a bad connection (e.g. Hitchhiking streams) and wouldn't want that interruption.

Sahhaese··on Zachademics: Free games for schools
I'm the same, I find TIS-100 and Shenzhen I/O reasonably comfortable in comparison to the other titles. I haven't completed either, I've almost completed TIS-100, but shenzhen I/O really pushes me way beyond my comfort zone but is more fun. I struggled to even get into spacechem or infinifactory at all. I found exapunks trickier to reason about but in a different way, I got stuck on a tree search puzzle where I find it tricky to match what I expect to happen with what actually executes because of I struggle to reason about the lifetime of the workers. (I've just realised I think I also struggle to program in Rust because of similar problems reasoning about lifetimes and borrowing).
Sahhaese··on NPM 6.9.1 is broken due to .git folder in published tarball
I prefer the term "best practice" to capture what companies should do but typically don't adhere to all best practices for everything.
Sahhaese··on NPM 6.9.1 is broken due to .git folder in published tarball
I see it's been fixed by releasing 6.9.2.

Does this mean you can now "brick" people's projects by sneaking npm@6.9.1 into their package.json?

Sahhaese··on Average Global Temperatures since 1850
I wish we were, in reality the frogs do actually jump out.
Sahhaese··on What is ergodicity? (2016)
You're right, I screwed up the arithmetic making it look like something it's not.

It's just a regular sub-martingale with 'positive' expectation as you say.

Sahhaese··on What is ergodicity? (2016)
The expectation of a single flip is 'positive' ( > 1 ), the expectation of n flips is 'negative' ( < 1).

My layman reading of this is that this 'appears' to be a violation of martingale theory because this 'should' be a sub-martingale but martingale theory requires finite variance so I suspect the variance of this must go infinite as n tends to infinity?

Sahhaese··on James Lovelock at 100: the Gaia saga continues
That was published 2004, I'd be interested to hear if that's still the case given the 10x cost decrease in photovoltaic panels since then.
Sahhaese··on Doing work locally minimizes problems with Electron apps
That's odd, OUTLOOK.EXE is using 44MB of ram as I type this and has been open for 7 hours.
Sahhaese··on Doing work locally minimizes problems with Electron apps
I'm not an electron hater, but when only using 300mb of memory while idle is something to boast about, they may have a point.
Sahhaese··on Ask HN: US government funds a lot of tech research, why don't startups use it?
That's actually unusual, very few countries tax non-residents.
Sahhaese··on Firefox zero-day was used in attack against Coinbase employees, not its users
If I were a crypto startup I'd be more worried about insider threat than anything sophisticated.

Protecting against a rogue employee also adds defence against employee computer compromise.

Sahhaese··on Ask HN: Stuck with an unpronounceable product name
Or Cwobserve
Sahhaese··on QuadrigaCX CEO allegedly traded millions in fake funds to fund luxury lifestyle
You're right, in that situation you're not borrowing from others, you're borrowing from your own capital.

That said, it is a little different, because without margin you can ride out any position, but with margin you get margin called (liq'd) at increasingly smaller deviations.

Or in another view of it, it does the equivalent of turning low-return 1:1 odds into high return 100:1 odds which further attract problem gamblers.

Watch the rekt bot for a while and tell me that there aren't a lot of problem gamblers on mex.

Sahhaese··on Migrating 300k LOC from Flow to TypeScript
Typescript only checks all that at compile time though. The complaint here is that even a typed json.Parse<T> :(json:string)=>T will not actually give any type checking when you pass it a string containing any schema.
Sahhaese··on QuadrigaCX CEO allegedly traded millions in fake funds to fund luxury lifestyle
(high) Margin trading isn't just gambling, it's borrowing to gamble, which is a crazy idea.

Gambling debt wasn't even enforcable in this country until recently because lending people money to gamble with is fundamentally wrong.

Sahhaese··on Slack Is Going Public at a $16B Valuation
Open source moves at a slow pace now, but look at HTML between 1994 and 1998, that was a fast-moving and exciting time.
Sahhaese··on Slack Is Going Public at a $16B Valuation
The death of the protocol.

People no longer release protocols, they release products. The open net, the open web has truly died.

I wonder sometimes what we're missing because the conditions that let the web grow out of the internet have disappeared. What next leap are we missing?

Sahhaese··on One liner NPM package “is-windows” has 2.5M dependants, why on earth?
Visual Studio is an IDE.

A better example would be the .net SDK which is a few hundred MB, but is far more featured.

The npm ecosystem is more comparable to nuget packages, but they are generally at a far more sane scope.

Sahhaese··on The worst morale-boosting gesture I've experienced
Or they put on a show because they had visitors in...
Sahhaese··on Things I learnt the hard way in thirty years of software development
That is why I like Michael Feathers' definition of legacy code, which is (paraphrasing):

> Legacy code is code not under test

That said, I'm not against the existence of legacy code, but any bugs damn well should be written up as tests to catch regressions.

That way new development can be done without tests (full TDD is tedious and often way too coupled to implementation imo) but any bugs are captured in a way that can't be tests written against the implementation and guard against regression.

Sahhaese··on The State of CSS 2019
This is the killer reason why I hate doing anything with CSS. There's close to zero predictability.

CSS has no isolation / encapsulation, no control flow and no local state. Every line of code can modify and affect every other line. And even then, what happens is then dependent on an independently defined DOM object.

Yes, it's possible to write CSS in a way that helps ease the problems that the missing features above cause, but that's working harder to work around the language.

The raison d'etre of CSS, "style independently of the semantic document" is a failed project. It works for DOM trees that can be legitimately considered documents but fails horribly for what can be considered 'applications'. For that reason, I think an overhaul of web document styling is much needed.

The purists will cry that most of what is delivered on the web are "applications" and not "documents", especially when it comes to the morning news, but pretending that isn't the case isn't helpful.

Sahhaese··on Should array length be stored into a local variable in C#?
Iterating from the tail has other advantages, such as if you want to remove items from the list. With negative iteration you don't need to do any special handling. But that is an optimisation for development time rather than run-time, I'd imagine multiple in-place removals is not so efficient.
Sahhaese··on Why aren’t more companies remote-first?
Am I the exception? I think Remote work sucks.

I'd rather have proximity to co-workers so we can easily share ideas in informal ways.

Sometimes you don't want to formally disperse some information but are happy to let people overhear what you think.

An environment where people can find meeting rooms when they need them, can find peace and quiet when they need them but also generally have co-location means good team cohesion.

If developers are remote, you will find that your code-base becomes the same. That critical FooBarAdapter becomes something that only Naimh can work on because without co-location if another developer is stuck on it, rather than grabbing her for a "Can you look at this?" over the shoulder, it gets slung over the fence in an issue or pull request.

Yes, when working face to face too many (formal) meetings can be a problem, but don't abolish co-location just abolish the meetings.

And don't be a cubicle farm. Yes, if you think the alternative to remote work is an anonymous grey cubicle on the 5th floor of an anonymous office block (or just as bad, the 'trendy' exposed ducts open plan office), then remote work will look like nirvana.

Of course I'd also recommend being somewhere with good public transport and have flexible working hours so people aren't forced into long commutes in poluting personal transport. Also offer and allow occassional remote work to further ease that demand without losing the benefits of co-location.

But whole-team remote work? No thanks!

Sahhaese··on Password expiration is dead, long live passwords
I agree sharing passwords is a really common thing, even among corporate / enterprise SaaS. Even with MFA people share dongles / code pads.

But the correct pattern is a formal system for delegation and/or disconnecting 'login' with 'account' (i.e. separate charging for a service from the login). This is something that AWS does very well for example.

Sahhaese··on Unity Editor for Linux
Given there's an android version of Hearthstone, what would have stopped them having a generic linux client before?
Sahhaese··on Angular v8.0
This should point to https://github.com/angular/angular-cli/releases/tag/v8.0.0 which is the release page for this version rather than all releases.
Sahhaese··on Git rebase in depth
But those high level tasks could also be exposed directly. There's nothing to stop there being more commands which more directly accomplish the desired tasks.

The idea that git is good because it is difficult to use is just "git snobbery", as is the idea that it must be difficult because it's a DVCS.

There's nothing to stop git having two levels of the API, one exposed for tools to build off of with the full complexity and another for every day use.

Sahhaese··on Git rebase in depth
When you have a command so confusing that you need an entire website dedicated to a single command, and still need to warn against using it, then perhaps you've got the UX wrong.
← PreviousPage 2 of 4Next →