HNHacker News
TopNewBestAskShowJobs

m45t3r

1,652 karma · joined August 22, 2014

submissionscomments
m45t3r··on Cydia, the original app store, sues Apple on antitrust grounds
> Given that they claim to individually review each app within a short timeframe, a bulk upload would make it impractical for them to provide this service.

And they do a super good job at reviewing apps, right? /s

m45t3r··on Semantic Clojure Formatting
> Clojure doesn't have a spec at all (it has documentation for the single implementation; it seems to have another implementation which is even more a toy since no real Clojure programs can run on it, because JVM is part of Clojure, really...)

It is true that Clojure doesn't have a spec, but it is very stable. I saw some very minor breaking changes in Clojure, and most code just works after a update (including very big projects). Clojure is very conservative in general, and this is something that Rich says as a explicit design goal.

BTW, are you referring to ClojureScript? Because ClojureScript is far from a toy language, it works well and we use in production. Sure it have some warts, but they're mostly workable and while I am not a fan, I am not a fan of frontend in general so this is probably part of the problem.

m45t3r··on Semantic Clojure Formatting
> massive problem with trivial things like indentation.

Nope, someone wrote an article arguing for fixed formatting and Bozhidar Batsov decided to reply, but pretty much what he said is what is accepted by Clojure community anyway.

m45t3r··on Computer input latency from 1977-2017 (2017)
It on iPad 6. I think if I had an iPad Pro (that also has a 120Hz screen I think?) it would be the same.
m45t3r··on Computer input latency from 1977-2017 (2017)
Yeah, this is my favorite gimmick of my Samsung Galaxy S20. 120Hz display+240Hz touch sensor makes everything feels so fast and responsive, this is the first Android device that feels faster than my iPad.
m45t3r··on macOS to FreeBSD migration a.k.a. why I left macOS
> What exactly is involved with "Setting up macOS" to take you 3 days?

Different needs for different people?

I mean, every time I reinstall Windows it takes some days to me to setup it too (removing all crapware/ads, changing settings in places that doesn't make sense to me, install all my programs without a proper supported package manager [1], etc etc). In my NixOS setup it takes literally minutes if you exclude the download/build phase.

[1]: Yeah, I know about and use chocolatey. Still isn't the same, since for example most programs still use their own update mechanism, installation of packages fail constantly (specially more complicated packages like NVIDIA drivers) and there is some other headaches.

m45t3r··on gping: Ping, but with a graph
This is unlikely to change since if ping changes many programs would broke. It is kinda like ipconfig.

AFAIK, ping is a setuid binary (since it needs raw socket, that is a privileged operation) so a program that implements ping by itself would need to do the same (or it would work for root).

m45t3r··on Vigil: The eternal morally vigilant programming language
Would love to see a C compiler equivalent of this, using Undefined Behavior do to actually nasty things to the computer (deleting/creating files, showing random things in stdout, etc.).
m45t3r··on Review: A Counterfeit, $100 iPhone X
> Apple is trading on its reputation. "It's only OK to show non-genuine once". Scammers love this. They install the bogus battery, click through the warning, then when they show you you are screwed.

Like I said above, once every boot is fine, this is what my Dell Laptop does when I plug a non standard charger for example.

> Why can't apple disable features, like battery life indication, for batteries they haven't profiled for the service? This is what makes users trust apple, if your phone says battery life is 80%, you can be pretty sure it is 80%.

No, this is not for "trust", this is only for greed since without competition Apple can ask basically any price for changing your smartphone battery.

Take an example of iPods, it was also an immensely popular Apple product and it didn't have anything like this and still was fine. I don't remember anyone saying that "buying an used iPod is untrustworthy".

Actually, the only issue Apple even had with batteries as far as I remember was caused by them, thanks to the feature that slowed iPhones when the battery was not running at sufficient capacity.

m45t3r··on Review: A Counterfeit, $100 iPhone X
Once a boot is sufficient, there is no need to complicate too much.
m45t3r··on Taking screenshots isn't allowed by the app after upgrading to Android 11
iOS and PS4 also does have this block if the developer wishes to do so (generally for "security" reasons).
m45t3r··on A one-line change decreased our build times by 99%
> are we this forgiving of Equifax when they oopsie our data?

The kind of culture you're in favor for, blaming engineer for mistakes and punishing them, is exactly what makes the kinda of Equifax mistake possible. Suddenly, people stop to improve things and just do the minimum possible so they can keep their job, since anything else can cause a mistake that will cost your next performance cycle (or even worse, your job).

m45t3r··on Microsoft Tilecode
In the case of Odroid Go and Odroid Go Advance, yes. The others no, they're more like an actual product.
m45t3r··on Four features that justify a new Unix shell
> Even something that should be as simple as piping output from one process to another in Python is a nightmare, and fraught with opportunities to shoot yourself in the foot with buffering deadlocks and other nonsense.

This is true, but when I am writing a script in Python I generally don't need to pipe as often as I do in bash. Python offer many replacements for things that in Bash you need to call another process.

That is, of course, if performance isn't necessary. When it is bash is still unbeatable because of the pipes.

m45t3r··on Tools I use: argparse builder
There are multiple alternatives for argparse if you look for third-party libraries.

The thing that makes argparse particularly useful is because it is in stdlib, so if you use you can create a Python script without external dependencies.

m45t3r··on Python 3.9
> There's a similar change coming in 3.10

Wow, this is pretty exciting. Hope we also see match being accepted in Python 3.10, so this would make (for me at least) one of the best Python releases in years.

m45t3r··on Python 3.9
Any language with reflections needs to evaluate types as something meaningful at runtime.
m45t3r··on Apple Watch momentum is building
The software is pretty good actually. Have a Galaxy Active2, two day battery life, good health sensors, and I find the interface incredible easy to use (after one or two day of adaptation). The fact that it is round is a plus for me too (it looks like a watch if you turn Always on screen, though I use it off in mine).

I don't know about the SDK though, but it does seem to have some apps (not that I use many of them).

m45t3r··on Samsung TV owners complain about increasingly obtrusive ads
This maybe true, but Google Ads even on YouTube is way less invasive than Samsung ones. And BTW, YouTube Premium disable all ads, while there is no way to have a ad-free experience on Samsung.
m45t3r··on BPG Image Format
Yeah, I remember reading years ago a paper explaining the same for H.264 and why 10-bit encoding matters (even for 8-bit content). It was fascinating reason, btw.

AFAIK, there is also less banding issues even in 8-bit content, and the filesize is generally smaller too. The biggest reason against its usage is more computational power, though.

m45t3r··on Samsung TV owners complain about increasingly obtrusive ads
I never saw an ad with Chromecast, and I use it basically since it's inception.
m45t3r··on Caramel: an Erlang back end for OCaml
> Most of the statically typed languages around are used to enforce conventions inside large teams of coders

This is not the fault of the type system though. It is the fault of things like enforcing access via private/protected/public keywords. While most people confuse this with a static type system, this is not part of the type system.

> [..] they are not used to "model the problem elegantly".

I concur, but let me make my point more clearly: this is either the fault of the language for not allowing the programmer to express itself clearly, or it is the fault of the programmer by using patterns from a less expressive programming language in a more expressive programming language.

This is not the fault of the type system, that doesn't (by itself) require the user to create a Class with getters and setters for every attribute, for example. If the language you're using makes you do those kinda of things, it is the problem with the language itself, the type system is just the point of the iceberg (that is making the problem worse).

> If type driven development really produced bug free code while requiring the same cognitive load as hammering tens of lines of code one after the other, we will all be using something like Idris.

It doesn't produce bug free code (because there is still logic bugs), but it helps to reduce the number of bugs. But only in expressive type systems that are also sound. The Java type system for example doesn't help much (however I think they implemented nullables at some point, so the situation should be better).

m45t3r··on Caramel: an Erlang back end for OCaml
> Most of the time when I review code my remarks is: it should be a 10 lines function, why did you write 10 classes with 10 getters and setters each?

This is the fault of the language or programmer itself instead of its type system.

I am programming in Dart and sometimes I feel that I am writing some code just to workaround some limitations in the language (the language itself is nice 90% of time, just to make it clear).

Now, I also program in Python using mypy, and I never needed to write "10 getters and setters" to make the compiler happy. Sometimes I do need to write additional code to make mypy happy, but generally it is in overly clever code that mypy doesn't understand. So generally fixing the issues makes the code better.

m45t3r··on Throw away code
I know IPython, and yeah, it is very nice. But most of the time I just to test something fast the default REPL is already enough.
m45t3r··on Throw away code
Also I really like Python stdlib for those kinda of throwaway scripts. While `cargo` is a far better tool than `pip` for dealing with dependencies, if you don't need to dependencies at all it is even easier, and most times when using Python I don't really need to install any third party libraries even when doing non-trivial stuff (i.e.: sometime ago I did a script that scrapped a page for a download link for some APK and sideloaded it to my Android smartphone).

Someone also said the REPL, and while the REPL in Python is not as powerful as, i.e.: Clojure, it is still something that feels essential for a exploratory workflow that is the scripts case. Testing is not the same, it is much slower to interact, specially when you just want to check a hypothesis (also, most scripts I don't want to write tests, they will probably break anyway in a few months like the example of web scrapping I said above).

m45t3r··on Vitamin D, part 3 – The Evidence
Probably because of quarantine.
m45t3r··on Firefox Android Build that caused issues is working as intended
> Can you dismiss (most) of my arguments in this post?

Probably I can't, but I am not interested. Nothing that you cite bothers me so why should I work to disprove you? Like yourself said, this is what matters to you, not me. For me, the performance and interface changes brings much more value than what you put in your post, and I did use old Firefox but really was forcing myself to use it since I don't like Google hegemony. The new Firefox is for me a mobile browser that is finally a joy to use.

However, this is not my point. The Register does makes clickbait titles and clickbait articles. Of course this update broke some workflows (https://xkcd.com/1172/), but instead of getting data and saying that "new Firefox update broke this and that workflow, Mozilla is working to fix it" (this is assuming a good editorial asking for Mozilla input before publishing the article, not a tabloid like The Register), what we actually got is "Mozilla pushed a broken Firefox Android build".

m45t3r··on Firefox Android Build that caused issues is working as intended
> A small but vocal number of users complained

Yeah, I am going by the complaints from users in the Play Store ratings. It is pretty clear that the number is not big (the score on Firefox is still pretty high), but the complaints are very focal saying "this is the worst update ever".

> but most users are probably pretty satisfied with the update

And yeah, this one I don't have any backup, this is why I said "probably".

m45t3r··on Firefox Android Build that caused issues is working as intended
The Register makes some of the most clickbait titles in the area.

The real ones is that Firefox Quantum is finally out for Android (Firefox for Android jumped from version 68.0 to 79.0), and this bought a completely new interface too.

Now, the new interface is very nice (bottom navigator bar FTW) and the browser is much faster, but it lost some features and there is a limited number of extensions available for now (Mozilla seems to be manually approving them).

So what happened? A small but vocal number of users complained and we get this news from The Register like this was the worse mistake ever. It is not.

Sure Mozilla could have managed this update better (losing settings seems pretty bad for example), but most users are probably pretty satisfied with the update. I couldn't use Firefox Android before (too slow compared to Chrome) and I was using Nightly (and afterwards Beta) just so I could get the performance improvements since the browser is so much faster. And also the new interface looks fantastic.

m45t3r··on Stories and lessons from working with Jeff Bezos on the original Kindle
I would concur with you if the latency of e-paper was similar to a LCD screen, but it is not. Typing in the Kindle PW is a really bad experience.
← PreviousPage 6 of 16Next →