HNHacker News
TopNewBestAskShowJobs

Fr0styMatt88

2,266 karma · joined August 20, 2015

submissionscomments
Fr0styMatt88··on NymphCast: Casual attempt at open alternative to Chromecast
This exactly. The fact that internally the TV is pulling the software and content itself is mostly an implementation detail (I say mostly because once you've 'thrown' the video to your TV you can do other things with your phone).

It's less confusing if you don't think too hard about it.

Fr0styMatt88··on NymphCast: Casual attempt at open alternative to Chromecast
What do you think she had specific trouble with? Really curious from an 'inmate in the asylum' perspective.

Other than the need for the two devices to each be connected to the same Wi-Fi network and the non-obviousness of being able to use your phone for other things once you start casting, I find it generally seamless, bit again I'm an 'inmate in the asylum' :)

Fr0styMatt88··on The Economics of Clean Code
Awesome, thanks for the recommendations.
Fr0styMatt88··on The Economics of Clean Code
I totally agree. It's hard because management relentlessly pushes you to get things 'done', to move onto the next thing. That thing is done already, why do you want to touch it? Why is this thing going to take so long to do, didn't you do those other parts already? Sure, you can have some maintenance time later.... Maybe, I guess. No sorry this new feature is a higher priority. Also why aren't you quicker?

There's a lot of social pressure that pushes people to view code as a thing that's either done and permanent, or not done, unfinished and therefore unacceptable.

Fr0styMatt88··on The Economics of Clean Code
Can you recommend any open-source codebases that are designed around this style of architecture? I'd really like to see what a good example of this looks like.
Fr0styMatt88··on The Economics of Clean Code
When I read it, what I thought of as 'hyper-abstracted' is more the mistake of building a set of generic objects to then compose your functionality out of, rather than just composing your functionality out of direct function and method calls.

I've been thinking about this a lot lately actually. At some level, when you create a hierarchy of classes and/or a collection of objects, you're deciding that some logic is best implemented with that set of objects and the way they talk to each other as the fundamental building block. It's very much like designing a language; you're designing the lego bricks and then putting them together to make something. The hope is of course that you're going to be able to use those lego bricks in other situations by composing them in different ways.

Where I think we can go wrong is in getting stuck on the one abstraction type; particularly in this case it's falling into a mindset where the only way to compose software is by comnposing objects. Yet at some level, you're going to be composing your logic out of function calls (or what essentially look like them). You need to know at what level you're building and viewing the system. Sure, you can build a set of objects that you can then use to build some other logic that's implemented by their composition and collaboration, but sometimes maybe all you need is a method that implements this logic more directly, using function calls and their results. From far away, it's OOP with objects collaborating via messages; from up close, it's just procedural (or even functional) code with restrictions on the state it has access to.

This mistake I think is embodied in a sentiment I used to pick up on a lot at the tail end of my CS education (around the time Java was really starting to come into fashion). It was a sentiment I'd describe as something like "OOP has superceded procedural programming". To which I'd always want to ask the question "but what about inside your objects?"

Fr0styMatt88··on A prospective Alzheimer’s trial reports
This is a teaching that really stuck with me from one of my university professors as well. I really wish this was something that was taught more to the general public, I think especially in schools. At least for me, it's something I'd never heard said in a succinct way until I was in university.
Fr0styMatt88··on A list of companies using Elm in production
I haven’t followed Elm very actively for quite awhile. My workplace has a kiosk product where I, along with two others, did the entire front-end UI in Elm. Multiple screens, a full configuration interface and talking to a C# back-end. I think we’re on Elm 0.17 or Elm 0.18 still. At least at the time we shipped the first version, it was larger than any example app I’d seen and there weren’t a lot of non-toy applications or examples to compare against.

I certainly have overall positive feelings about it, with some frustrations (like any language really). I’ll say that the most stand-out thing about that code is that I can be off it for six months, come back to it and within an hour or so I’m back to comfortably knowing what’s going on.

I’d played around with functional languages before Elm; I’m a bit of a language nut. One thing that’s easy to forget is how intimidating the syntax can be to people who haven’t seen anything like it before.

I don’t know that I would do such a large project in Elm again though. Or at least, it’s not something I’d push for wider adoption within work; some has to do with factors like finding developers and fact it’s just really early days for the languages in the grand scheme of things. It needs more time to grow.

On the technical side, having subpages and doing the routing of messages can be really painful and I don’t really like the ‘huge flat data model’ approach. I abstracted the core routing boilerplate away by using a JavaScript templating library to make a boilerplate generator. You specify the screens you want and your main.elm gets generated from a template, with the appropriate message routing and handling for update and view calls and the structure of the top-level data model being generated for you into an Elm source file that actually gets compiled. it worked out for us, but I still feel like it’s working around a shortcoming of the language.

Fr0styMatt88··on Anti-cheat kernel driver
I would go as far as arguing that if anti-cheat is so important to a game, they should figure out how to do it server-side. I think the trade-off they're trying to make us accept here is terrible. It's as disrespectful as Sony's rootkit from back in the day.

We don't expect to just be able to start a random game with untrusted strangers in real life and be assured they're not going to cheat.

Could you imagine if any time you wanted to play sports in real life you had to consent to wearing something that could read your mind so that it could determine you weren't cheating? That seems as ridiculous as the end-game of client-side cheat prevention.

I understand there are competitive settings where money is involved and that's where you need referrees. Otherwise, I think we've gone down this road where we take cheating far, far too seriously. I say this as someone that absolutely loves videogames, so I'm not meaning to disregard them.

Trusting strangers is ultimately a problem you'll never solve completely. I just don't think there's a technical solution to it.

Also, far out I hate some of the big companies in gaming. The attitude that Riot is displaying here just sucks.

Fr0styMatt88··on Building all of our new mobile apps using React Native
I really like the idea of PWAs, but I've tried a few of them and I always come away being annoyed at the app launch latency. They still feel like they're hitting a remote server when starting up for.... something? My uneducated hunch is that they're over-zealously checking their server for updates.

The other issue I have with their implementation is the opaqueness of how offline caching works. How much space do apps get? When does the offline cache get invalidated? I care about that because of that terrible launch latency.

I think these issues can be attributed to PWAs being second-class citizens in Android and iOS.

Fr0styMatt88··on The iPad Awkwardly Turns 10
Don't get me started on Google! Hangouts, for whatever reason, never got iOS multitasking support like being able to use it in a side panel (and if I recall correctly, the multitasking features got to iOS long before Google started abandoning Hangouts or whatever they're doing with it now). Though to be fair, I really think Apple should have found a way to do this without a requirement from app developers. I don't think it's an impossible task - just look at what Samsung DeX can do on Android without explicit support from existing apps (even if it isn't perfect,).
Fr0styMatt88··on The iPad Awkwardly Turns 10
I still remember people saying that the iPad was just going to be a big iPhone and what is the point?

I NEVER understood this. I was one of those people that was immediately excited about the iPad. Being able to lay back in bed and casually browse the web, read magazines, watch movies, play games? On something with a decently large screen, decent battery life and something that wasn't bulky? PLEASE TAKE MY MONEY!!!!

It really surprises me to hear that there wasn't much excitement inside Apple for it. I now have the first generation of the 12.9-inch iPad Pro and it's just about always in my bag with me.

I do think it's a shame you can't really develop apps ON the device. I'm glad the OS is getting more capable with the direction they're taking, so who knows? We might get Xcode one day :)

Fr0styMatt88··on Qt Offering Changes 2020
I made a joke once that the Godot open-source game engine had 'accidentally' become an amazing alternative to Qt (Godot's own editor is itself a Godot application and quite nice for a desktop UI).

Notwithstanding what Qt offers in the embedded space, I think it's interesting to ask the question more seriously. For rich, cross-platform desktop applications, is a game engine a better choice than Qt?

Fr0styMatt88··on How to Port from Python 2 to Python 3 (2019)
The main mental stumbling block I have about IPv6 (and I know it's kind of a silly one, but it's honestly what I feel on introspection) is that I can't remember an IPv6 address off by heart. IPv4 addresses just _feel_ so much more human-consumable than IPv6 addresses. I can't imagine myself using IPv6 addresses on the command line like I do with IPv4 now.

There's also the issue that honestly, I have no idea what is using IPv6 and what's using IPv4 right now. On my internal network I only ever deal with IPv4, but I have no intuition as to what is using IPv6; I couldn't tell you off the top of my head if my ISP supports it.

Fr0styMatt88··on Pipeline and chain operators (|| and &&) now in pwsh
I've become a massive fan of PowerShell. Getting used to using TAB-completion helps immensely, as do the aliases like you mentioned.

For TAB-completion I use MenuComplete instead of the default (Set-PSReadLineKeyHandler -Key Tab -Function MenuComplete) as it gives you IPython-like completion menus. With something like posh-git, it's amazing: you can type git checkout and then press TAB and have an interactive menu of the branches you can switch to; or if you've done a 'git status' you can then do git add, press TAB and you get a menu that intelligently shows you what files you might want to add.

Fr0styMatt88··on Incarcerated and Facebook
This culture of not treating people even half-decently frustrates me. Is it so hard to acknowledge that the user is a human?
Fr0styMatt88··on Why build this blog, or anything, on IPFS?
That almost seems like a slippery slope. I mean, your site’s content could now just end up sitting on some CDN server or proxy alongside something nefarious, without IPFS and you’d have no idea.

I’d have the same objection if the seeder was voluntarily choosing what to seed for that express purpose, but I don’t know that it should apply if the seeding is just an automatic part of how the network operates underneath.

Fr0styMatt88··on An alternative argument for why women leave STEM
I think careers in IT/software can have exactly the same issues of work/life balance, though it's very dependent on which industry and company you work in.

For an extreme example, just look at the AAA games industry.

Having said that, I think you could say the same about most industries unfortunately. I don't know if it's just because that's what competition forces us into, but I would guess that is a big part of it.

Fr0styMatt88··on Why we've never fallen in love with virtual reality
To me, Google killing off Daydream and Samsung killing off GearVR is akin to TV manufacturers killing off their black-and-white TV models because everyone has moved on to colour.
Fr0styMatt88··on Impossible Pork
I tried the Beyond Meat patty, version 1 I think. Wondering if anyone else got an absolutely strange type of taste / sensation in their throat when they tried it? It wasn’t at all pleasant and really hard to describe. Kind of like - I don’t know - canola oil mixed with peanut - sort-of? While breathing in a thick gas. Very odd.

I was really hyped up to like it, but found it only somewhat like meat. I was impressed with the texture inside. The outer crust reminded me of warm cardboard. To be fair, I might have burned it so I do want to try it again. Really keen to try an Impossible Burger (anyone know if there’s somewhere in Australia that serves them?).

My whole place smelled sickly sweet after cooking it as well. I’ve seen some people describing it as smelling like cat food, which I’d agree with.

Fr0styMatt88··on The Polygons of Another World
Also interesting is the game 'Universe', which boasted achieving 256 colours on ECS (edit: a comment on the StackOverflow page linked below says it works on OCS as well). Some quick Googling before asking you guys about it as I was planning to turned up this:

https://retrocomputing.stackexchange.com/questions/44/how-to...

The Amiga was such an interesting machine. It's too bad I never got into assembly programming back then.

Fr0styMatt88··on Godot Engine – A decade in retrospective and future
An almost constant criticism of Unity that I hear is that it's "too slow", that games made with it run slower than what their visuals would suggest. This has been such a common criticism of Unity for so long. So I don't think it's solely a response to requests from AAA studios either. My impression is that the current Unity model just doesn't scale by default (as in, yes it can be made to work but it's not the default and you'd be fighting with the architecture to do it). Or perhaps a much better way of saying it is that the default Unity architecture encourages less-experienced developers to write slower code. I've heard them say that "performance by default" is a goal for DOTS in a number of talks.
Fr0styMatt88··on Godot Engine – A decade in retrospective and future
I keep debating whether I want to commit time to doing a hobby project in Godot or Unity (yes, I know I should just pick one and do it). Unity has made massive strides but I just find Godot so damn pleasant to work in, especially with code editing being built right into the editor and GDScript being such a nice language.

I can really see Godot becoming the Blender of game engines. Kudos to the team!

Fr0styMatt88··on Ask HN: How do those eMMC Windows laptops work?
Every time I try to play a game that I paid for on iOS that no longer works because Apple doesn't care about backwards compatibility, I'm reminded of how thankful I am for Microsoft's efforts here.

I really think the amount they've improved Windows under-the-hood over time is impressive, especially taking into account the constraints they've had to work within.

On a related (though somewhat tangential) note I must say that I think MS tying WinRT (which as I understand it is the clean rewrite of the Windows API) to the Microsoft Store initially was a massive mistake. I still don't have a clear, confident impression of where I can or should use WinRT, even after all these years.

Fr0styMatt88··on Ask HN: How do those eMMC Windows laptops work?
The bloat in Windows is an interesting issue. I put together Windows OS images and a freshly-installed, before-updates Windows 10 image might be around 2 gigs (maybe a bit more or less, I’m going from memory here). Granted, a Linux distro may hit that size with a lot more preinstalled software, but I haven’t paid much attention.

Windows starts bloating when you apply updates. It keeps a lot around to facilitate rolling back updates if needed; this gets cleaned up over time but it can be an issue on a small disk. There’s ways to get the size back down (while sacrificing the ability to roll back updates that you’ve applied), but you don’t regain all the space.

I get the feeling the Windows Update mechanism is a large legacy mess that is stuck having to account for corner-cases that have built up over time. Microsoft are improving it; I think it’s just a really big engineering task that they’re having to slowly work through. I vaguely remember something about the way Windows handles overwriting open files in-place which makes this worse, but I can’t remember the specifics off the top of my head.

Fr0styMatt88··on Floatplane – Linus Tech Tips launches their own video hosting platform
I think they need to let you watch stuff (some stuff) without logging on or creating an account, or at least have a landing page that's geared for viewers. I hope eventually that's what happens.

I was also extremely confused looking at it - I wasn't even sure whether I was signing up as a creator or a viewer. Then I signed up and got in and was presented with nothing except a bunch of locked content. I had watched the video on the launch and still had no idea that it was a pay-per-month thing. I'm not against that at all - I just didn't know.

I'm extremely glad Floatplane exists. YouTube is changing for the worse IMHO - at least I no longer feel like I'm their target audience.

I hope the Floatplane guys are reading this and other places and taking all this feedback in. I'm really excited to watch this one; I can see the end of YouTube, at least as a viewer and I'm glad that people are starting to build and consider alternatives.

Fr0styMatt88··on Conscious Perception Of Vision Occurs Outside The Visual Cortex
So I’ve got an interesting question - how does this fit with the subjective experience (insofar as we can tell) of an Alzheimer’s patient? If they can’t remember the last 20 years say, does that mean they were unconscious for those 20 years?

Every time I follow this train of thought, I also end up pondering time’s arrow. I also wonder - since I’m conscious of typing this right now, can I assume that I will never get Alzheimer’s that will erase this precise moment from my memory?

Fr0styMatt88··on VR optics and why inter-pupillary distance (IPD) means too many things
Somewhat related - I made the mistake of putting effort into learning how to stereo free-view Google Cardboard / Daydream VR apps. At the time it was kind of interesting what it felt like.

Except I must have made something super-sensitive in my visual system, to the point where now it’s almost TOO easy to stereo-fuse repeated patterns — though having said that, my visual system is kind of different I think anyway. Now if I see repeated patterns I’ll start getting phantom stereo fusion if I keep my eyes looking at one spot and relaxed too long. It’s not distressing or anything, it’s just really unusual.

Fr0styMatt88··on VR optics and why inter-pupillary distance (IPD) means too many things
The latest software update for the Oculus Quest shows you what you’re setting the slider too now as well, FWIW.
Fr0styMatt88··on Shopping Sucks Now
I've never seen it put this way before. This exactly describes me - I enjoy purchasing. I don't enjoy shopping.
← PreviousPage 9 of 14Next →