HNHacker News
TopNewBestAskShowJobs

Fr0styMatt88

2,272 karma · joined August 20, 2015

submissionscomments
Fr0styMatt88··on Charter prohibits working from home despite spread of coronavirus
I've been finding myself really aggravated at people who continue to downplay it, especially when they're engineers who should know what exponential growth means. There also seems to be this weird narrative going around (or at least it was, I'm not sure if it still is now) that this is all being overplayed by the media. My manager told me over the phone yesterday that it was 'just a bad flu' and that the reaction everyone was having was out of proportion. She's an engineering type that I'd have expected to know better. I'm currently working from home unless it's absolutely necessary to go into the office.

At the same time, I'm having to grapple with the honest truth (found after some introspection) that my extreme need to make people understand this is just as much about my own fear as some people's need to pretend everything is okay and downplay it is to them.

While reading yesterday's thread about "I'm not sure there's an acceptable solution to this", something in me started raising some alarm bells. Reading that thread, it was like the world had already ended. I can totally understand this, but I know there's only a certain amount you can be drawn into that before it goes from being responsibly aware to being uselessly hopeless.

So I'm trying to practice empathy and remind myself not to jump down my friend's throats in chat everytime something coronavirus comes up. At the end of the day, we're all in this together and nobody has definitive answers.

I guess what I'm trying to say is, remind yourself to be nice to people. Everyone needs this more than ever right now.

Edit: Not intended to be directed at anyone in particular here. Just a bit of my rambling thoughts. I'm also not saying we shouldn't spread good information. I've just been finding myself getting really angry at really close friends and trying to keep on top of why that is for me and how I can be a bit nicer to them.

Fr0styMatt88··on “I'm not sure there is an acceptable solution to the problem we are facing”
That’s a good point I hadn’t considered. Only time will tell, I guess. These are now really scary times to be in.
Fr0styMatt88··on “I'm not sure there is an acceptable solution to the problem we are facing”
Not really. The delivery riders, Uber drivers, couriers and postal workers that bring you all that stuff you can order online like food and goods. The people that work maintaining the cables for your ISP (and the technicians in their data centers) that let you work from home in the first place. The people that clean your streets. Ambulance drivers. Taxi drivers. Cooks. The people that collect your garbage. The people that maintain your cities. These are all just off the top of my head.

Really think hard about it; it's pretty easy to take a whole bunch of stuff for granted especially when you work in high-tech areas. I'm extremely fortunate that I can work from home, but what if my fridge breaks down or I just run out of milk and my Internet happens to be down?

Fr0styMatt88··on The case of the missing WAV audio files on the FAT32 SD Card
That was an awesome article! The kind of rabbit hole I’d gladly go down :)

SD cards and USB sticks are just.... weird. I haven’t delved too deeply but maybe someone here knows.... why is this? At this point I almost think of them as ‘not disks’. The particular weirdness I’m thinking of is I’ve seen more than one drive just seem to die, just because you try and repartition them in Windows. Not even filling the drives up.

Is it the case that USB drive and SD card firmware is just crap? Like it makes assumptions about the device other than ‘this is just a set of blocks on flash memory’ and actually needs things on the disk at a file system level to be a certain way for it to work properly? I’m really curious.

Fr0styMatt88··on Microsoft plots the end of Visual Basic
Yeah, keep in mind that the output is a fully-fledged object, it is not the text you see. The text is generated by the PowerShell host if the returned object makes it back there and the host is set up to present that object to the user that way.

Take the following in PowerShell:

ls | sort DateTime -d

ls returns an array of objects, sort then sorts the array by each object’s DateTime field (and here I’m asking it to sort in descending order with -d). The point is that sort isn’t depending on any text output, so it works with any array of objects regardless of the command that returned them.

The other cool thing this enables is auto-complete awareness in the shell. If I typed:

ls | sort <Tab>

then the shell knows what makes sense in auto-completion here as ls has an actual return type and in this case it will give me a list of available fields that I can sort on.

For those unfamiliar: ls and sort here are shortened aliases to more wordy verb-noun commands. These (as well as a large bunch of others) are given to you by default.

Fr0styMatt88··on Microsoft plots the end of Visual Basic
I don't find it ugly, just strange. It's optimized for interactive usage though from what I understand. I think of it mostly as calling .NET methods that all have named parameters:

myfunc -param1 this -param2 that

instead of:

myfunc(param1: this, param2: that);

I get the impression it's designed with the intent that you're supposed to type the dash, then hit Tab to get tab-completion in most cases. Same with the verb/noun syntax (I know I want to 'Get' something, so typing Get-<Tab> for the list of things is usually the thing to do). I do find it a bit difficult sometimes to think of an approprioate verb right off the top of my head (is it Get- or New- that I need?).

I'd also love to see the concept of proper namespaces in PowerShell; it seems really inconsistent right now (unless I've missed something). For example, type Show-Command and hit ENTER, then look at the different modules that are available. Some will express a 'namespace' by having it prepended to the noun (see for example, commands from the BitLocker module, their nouns all start with BitLocker) while others express no namespace at all (see for example commands from the 'Dism' module). For everyday use I've gone with the 'add the name to the noun' approach in my own scripts. That does mean I tend to use short namespace names though.

I've mentioned this in an older PowerShell-related thread here - MenuComplete is absolutely awesome and improves the PowerShell experience in the console. I actually think it should be the default. If you havent already, try these commands:

Set-PSReadLineKeyHandler -key Tab -Function MenuComplete

Set-PSReadLineOption -ShowToolTips

PowerShell is my full-time shell in Windows now (and it will be in Linux also when I get back into it); I rarely use CMD for anything and parsing text in bash just seems antiquated.

Fr0styMatt88··on Magic Leap trying to sell for $10B
Didn't they release a headset using their proposed technology? Or were they using something else for that?
Fr0styMatt88··on Coronavirus: the second-weirdest solution?
Thanks to everyone that responded. I hadn't seen the reasons for the added concern explained as clearly/directly.
Fr0styMatt88··on Coronavirus: the second-weirdest solution?
It could also be because your immune system got used to the change in environment.

I honestly don’t understand the particular level of fear around COVID-19 when compared to other flu outbreaks. Can anyone point me to a concise explanation? I mean, I get that it’s a new virus we’ve never seen before, but what distinctly sets it apart? Everything I’ve read says that it affects older people and those with a compromised immune system the worst, which is just like any flu. Is it mostly that we’re worried about what we don’t know that we don’t know? Not trying to be dismissive, I just feel like I’m missing something. I don’t remember the panic around swine flu or bird flu being like this.

Also does anyone know why people are panic-buying toilet paper in my country?

Fr0styMatt88··on The human body’s remarkable ability to adapt to the cold
Anyone know the rationale of people that make a room freezing with air-conditioning and then wear a jumper in that room to warm up? I know a few people like this and I’ve always been curious if it’s almost like some kind of glitch in their body temperature regulation, like it might be easier for them to regulate their body warmer or colder but not the other way around or something.
Fr0styMatt88··on Google's ambitious push into gaming is floundering
It's funny though, I remember the old days before Google and they built something that was demonstrably superior for their users than what was out there at the time. They did win with a superior product.

Stadia feels like something that got designed by asking "how can we make something that's worse for our users than the other alternatives that are out there now?" and then going and building that.

Now had they come out with virtual machines better than what anyone could get at home, maybe?

Don't get me wrong though; I'm sure a lot of this is death by a thousand compromises.

As a side note: I was watching the Product Keynote from Flutter Interact '19 and when the person from the Stadia team was speaking about their app, it reminded me that despite all the negativity Stadia is getting, we should remember that there are real people building it that are enthusiastic about what they're doing and trying to make something good.

Fr0styMatt88··on Google's ambitious push into gaming is floundering
This is the thing that baffles me the most. You pay the full price for games you don't even own? At least with Steam there's the possibility of downloading your library in case Steam ever goes away for whatever reason.

The other thing is - they must, must be playing the multi-year long game here. Infrastructure around the world just isn't ready for game streaming.

Having said that, from what I hear GeForce Now is giving people a FAR better experience than Stadia.

Now that I think about it, why did they even rush Stadia out? I never got the impression anyone was dying to get their hands on it. They could have given it another year of polish at least and nobody would have complained, surely?

I'd love to hear Google's internal rationale for why they thought this pricing model was a good idea.

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.

← PreviousPage 9 of 15Next →