wyqydsyq's comments

wyqydsyq | 7 years ago | on: Dbeaver – Multi-platform database tool

The software is great but I would never buy it purely because of their business model.

There is absolutely no reason DataGrip needs to be a subscription service. There aren't any ongoing costs for customers to use it.

It should be a one-off purchase with optional support subscription, maybe requiring re-purchase at major version increments, not this bullshit where you need to maintain a subscription for a license on a binary program you already paid for and installed.

Feels as dodgy as Adobe turning Photoshop into a subscription service

Fuck these business models and the sales idiots who try to apply them to every single product

wyqydsyq | 7 years ago | on: Browsers

You seem to have missed the part of my comment that said "since IE6"

AFAIK the box-sizing box model you mentioned was implemented since the beginning of Trident, well before IE6 came about.

XHR was available from IE5 onwards (only accessible via ActiveX object, it didn't become available as a native window property in JS until IE7 but the feature was still available), so again isn't "since IE6". If you think whether it was available in native JS matters, note that Mozilla had a native JS XHR object available in 2002, well before it was available in IE7 in 2006.

I specifically mentioned "since IE6" because that was the point at which Microsoft had decided they'd won the browser war, and ceased to innovate. From that point onwards they have been playing a perpetual game of catch-up, constantly lagging behind other browsers in implementing new specifications and features.

setImmediate is not standardised for good reason, there are already more appropriate use-case specific solutions: use `requestAnimationFrame` if you are working with animations/visual changes use `postMessage` or WebWorkers if you are working with transporting or processing heavy data

There's no browser use-case enabled by `setImmediate` that isn't supported by one of the above. It does however make sense for `setImmediate` to be implemented in node because a node environment lacks the two APIs mentioned above and doesn't really have any way of achieving the desired outcome short of forking child processes.

wyqydsyq | 7 years ago | on: Browsers

> But if only a single browser will be able to display it, this not only questions the longevity claim, but also questions the whole web stack. New CSS specs can't be reviewed and proven with independent implementations, and web specs will, even more so than they already do, become "whatever Chrome does".

Safari and Konqueror still use WebKit, Firefox still uses Gecko, so not "only a single browser will be able to display it", but multiple maintained browsers using 3 different implementations will still be able to display it. Additionally, even in that worst-case scenario of Chromium/Blink/V8 becoming the de-facto implementation and making standards irrelevant, it wouldn't be "whatever Chrome does", but "whatever Chromium does". Being in that situation Chromium would be in use by everyone, so if anything that only places more power in the hands of the community because Chromium is an open-source project. Why should every browser have their own competing (and often incompatible) implementations of each standard to the detriment of the web? How is that more beneficial than browser developers all collaborating on a common, shared implementation? Very rarely have implementation-specific differences between browsers benefited the web, generally such differences will either remain implementation-specific and become redundant (e.g. all the IE-only APIs) or are experimental implementations of a standard that's only in draft state and will be updated to be consistent once the relevant standard is finalised, in both cases they're just neat toys for developers to play with that aren't practical to employ in production (because they'll only work for a fraction of viewers).

> This is a terrible and fatal result for the web as we know it. Because why would we continue the practice of creating baroque, power-inefficient web frontends with JavaScript and the browser stack monstrosity when we're essentially targetting a single browser? We could as well use a much leaner and lighter GUI framework designed for the purpose, and a saner language.

This is a fantastic and wonderful result for the web as we know it. With less implementations to support, the web would be substantially faster and more efficient. Because why would we want to load our asset bundles with megabytes of polyfills and shims just so things don't explode on the odd chance someone tries to view your website in the default browser of their OS that's either outdated or poorly implements specs?

If every major browser ran Blink/Webkit + V8, the web could be written once in native ES2018 javascript and consistently execute anywhere. This is not the case today because implementations behave differently, you can't write a webapp purely following the established specs because the specs are inconsistently implemented. For example `navigator.mediaDevices` API works differently across browsers, some browsers support-sub features that others don't etc. This ends up requiring checks and work-arounds that waste processing power to execute and human resources to implement.

wyqydsyq | 7 years ago | on: Browsers

It's open source, the recent changes you mention (which I'm not aware of, a reference to these changes would be nice) can be reverted and the ethics of the company behind it aren't really relevant because it's an open-source project, the only way Google really benefits from it's use is if they receive contributions back to the Chromium project, which also benefits everyone else.

wyqydsyq | 7 years ago | on: Browsers

How does the next default Windows browser being forked from Chromium mean Google controls it?

You know what open-source is, right?

People threw their arms in the air because IE was substantially behind other browsers in stability and capabilities, and all their new features were IE-specific APIs that didn't work anywhere else.

Chromium is an open-source project that largely follows IETF/W3C/ECMA standards.

The two are not even remotely comparable.

wyqydsyq | 7 years ago | on: Browsers

Honestly I just see all this, even despite the author claiming taking time to "mull it over", as a knee-jerk reaction. There is little evidence that MS changing to Blink/V8 will have any tangible impact on the web.

Microsoft has hardly offered much as far as competition and diversity goes since IE6, basically the only web "innovations" they're responsible for is a bunch of IE-specific APIs that didn't work in any other browser.

The garbage rhetoric that Mozilla and their supporters have been spreading is pure FUD:

> By adopting Chromium, Microsoft hands over control of even more of online life to Google.

MS' new default browser being based on Chromium does not give any additional control of online life to Google. They're open-source projects that, while Google manages, does not have absolute control over the consumption of. If Google did ever try to muscle control on Chromium like they've been doing with Android, Microsoft could simply fork it without the hostile Google changes.

If anything I see this whole thing being beneficial for the web in the long run - now instead of MS engineers pissing their time and effort down the drain on a dead browser and needlessly fragmenting the market with engine differences, even if people don't use the default Windows browser Microsoft's engineers can contribute to and benefit the web by contributing their improvements upstream to the Chromium/Blink/V8 projects.

wyqydsyq | 7 years ago | on: Goodbye, EdgeHTML

What a load of sensationalist FUD.

MS are going to be using Chromium, the open-source project along with it's Blink and V8 rendering and JS engines as the basis for their next default browser. They are not planning to install Google Chrome as the default browser.

Microsoft choosing to use one open-source project over another to fork their next browser from does not threaten the health or diversity of the internet. It isn't giving Google any additional control or power over the internet, because Chromium is an open-source project and any integrations to Google's own services exists only in Google Chrome.

Basically this article is just Mozilla whinging because their project wasn't chosen and pushing FUD about the health and balance of the internet being threatened as a result.

In reality Google does not gain any "power" from this, unless you count the couple of contributions Microsoft have submitted to the Chromium project (which again, is open-source) as an increase in "power", by which logic Mozilla should already have more "power" because they have been receiving decades of contributions as a result of being the default browser in most Linux distributions (leading hackers to write Firefox contributions and addons instead of for Chromium for example).

wyqydsyq | 7 years ago | on: Firefox desktop market share now below 9%

The main thing stopping me from using FF is it's poor profile support.

There is a profile manager but it sucks. You have to launch it directly (can't open from a FF window) and you can only have one profile active at a time.

Compared to Chrome where I can seamlessly have my work and personal profiles active at once, allowing me to do all of my work in a segregated profile while still having access to all my personal stuff like music playing in another window.

wyqydsyq | 7 years ago | on: Lucee: A dynamic, Java-based, tag and scripting language for web app development

You wouldn't build apps with this. It's essentially a modern implementation of a ColdFusion engine. CFML is quite arguably an abandoned language and should never be used in new projects.

The only meaningful use case I see in Lucee is to be able to run and maintain legacy CF applications in an environment that is still supported without rewriting them for a more modern and capable language/runtime. It would be best utilised for putting legacy applications on life support, not for creating the next big thing.

wyqydsyq | 8 years ago | on: Luna 1.0 Beta is out

I love the concept of Luna and think the project itself was great,

However I feel you guys have chosen a poor approach to distributing it.

① I feel it would have been far better to implement the studio as an Atom plugin rather than a fork of Atom

② I feel having the compiler only available bundled into the studio is a mistake, there should be a pure CLI interface with minimal external dependencies so that people can use Luna in their existing CI pipelines

wyqydsyq | 8 years ago | on: Ask HN: Does anyone use an alternative to a password manager?

Don't store your passwords anywhere, have them be determined by generating a unique password based on the service name and a master password with an added salt, this is similar to other proposed algorithm methods except more secure because your unique salt is used in addition to your master password, so even if someone guessed/learned your master password (e.g. social engineering) they would not be able to generate the same result passwords for services without your unique salt that's only located on your device(s) which should (hopefully) be physically secure.

This way you only need to remember one password (master) to re-generate your password for any given service, and nobody can replicate the resulting service passwords without knowing BOTH your master password and your salt.

I wrote a proof of concept a few years ago, it's pretty outdated and generating word phrases would be better than just hashes, but it conveys the idea: https://github.com/wyqydsyq/ysnp

wyqydsyq | 8 years ago | on: Infinitown – A WebGL Experiment

As the shaders are basically only good for post-processing whatever output you get from your renderer, you'd definitely need to use an infinicity-esque approach for everything interactive in a game, but you could still leverage shaders in conjunction with that for non-interactive stuff like weather effects, animals (birds flying around etc), pedestrian and vehicle traffic and so on
page 6