HNHacker News
TopNewBestAskShowJobs

igneo676

464 karma · joined December 30, 2014

[ my public key: https://keybase.io/donniewest; my proof: https://keybase.io/donniewest/sigs/IBvf9lRvCVItG60Deros5f1iWKuEZjKxK9zOAuMD3Ww ]
submissionscomments
igneo676··on 2020 Mac Mini – Putting Apple Silicon M1 To The Test
Sure, the lockdown situation is worse than things are currently. You're likely to need per-device hacks that unlock it and enable freedom for users.

Even in that scenario though, ARM devices use standards too. There's a reason I can generally pick up any Android device and know what needs to be done to build my own OS for it. We just lack tooling that makes that incredibly easy and lack maintainers who want to make those devices work with the mainstream linux kernel.

Having open devices though (outside of Apple) is still my bet. We still need to make that process smoother but that just means there's lots of low hanging fruit :)

igneo676··on 2020 Mac Mini – Putting Apple Silicon M1 To The Test
You just have to look at the phone community (XDA Developers, etc) to see how this will (eventually) go.

A good example were the old Asus Transformer tablets. They were a super niche device, but it still lended itself to Linux and so a small team of people managed to load Ubuntu on it.

Another are Samsung phones. They try to lock people out, but they have popular enough devices that people find a way to put LineageOS on them.

Finally, even iPhones aren't immune. Small teams of people have managed to load Android on them and get it (partially) working. More people would give them even greater functionality.

If laptop manufacturers lock things down with ARM, there will be people who work around those mitigations and install their own OS on that hardware. Tooling will be developed to make that process easier and easier for the next round of people with that device (or future devices). It'll suck up front until the community grows large enough to work around issues faster and faster.

And that's even supposing worst case scenario. I'm not fully buying the idea that you _won't_ be able to change the OS on these laptops. Microsoft has tried (and failed) to lock other OS's out of their laptops. Chromebooks are (currently) the largest market of ARM laptops and you're able to change the OS on them. Apple might be the only company even remotely able to hinder freedom on their devices.

Either way. In the war on general computing, I'm generally optimistic for the users.

igneo676··on I Still Use Vim
The difference is that the lua runtime is embedded (and wicked fast) into Neovim vs nodejs that has to go over the remote plugin interface
igneo676··on Things I Was Wrong About: Types
I'll also throw out there that scripting languages w/o types tend to have a lot less tooling around the language. People are used to being able to type whatever they want and things kinda just work.

Typed languages are very different. The tooling is far more robust and more able to point out errors, but also tends to be more complex than just a simple text editor.

This is changing with VS Code and LSP being a thing, but it still influences those communities in fundamental ways.

igneo676··on Things I Was Wrong About: Types
I love types.

I just didn't when I was new to programming. I learned Python because that's what I saw pitched to me all the time. There was a local Python meetup, MIT's CS courses taught Python and Udacity eventually taught Python. I loved the language and learned quickly how to do a bunch of basic stuff

But I wanted to make Android apps and, ugh, Java confused the crap out of me. It wasn't so much the language, but rather "URI? Where in the world do I get one of those?! Oh, you instantiate a URI with the string. In Python this is just a String..."

Or another time, once I had mastered types, I convinced my Javascript team that Typescript was Worth It. And the ensuing chaos when nobody understood how to use Types and nothing would ever compile for anyone.

All SUPER noob-y mistakes. All because I (or my team) didn't understand how to think in Types. Furthermore, people who can Think in Types often don't know how to articulate that thought process to others.

igneo676··on An update to the Timescale license
My comment was more directed toward the grandparent, which had their own set of comments regarding Open Source software. By and large, I'm happy with the announcement and how you're handling these terms carefully.

My only nitpick is the repeated statement of:

> a source-available license that was open-source in spirit

Which, um, it's not. I understand you're trying to thread a needle here and protect your business but it's not following the "spirit" of the community. You're removing a rather fundamental freedom by introducing your own license. That's rather antithetical to the whole idea of Open Source

igneo676··on An update to the Timescale license
This. It boils down to "words mean things". They're fine being firmly on the side of proprietary-with-some-preservation-of-rights; it is _their_ code after all. Their customers get to decide what level of rights they're happy with putting up with.

They're not Open Source. They're not Free Software. Being part of those communities requires following the norms of those communities.

igneo676··on Show HN: Mono Icons – A simple, consistent open-source icon set
I completely missed the introduction you linked. That's _amazing_.

As a non-designer, I've had a few situations where I've wanted to use a minimal icon pack but it's missing the one or two icons I would need. I'm not opposed to putting something together myself (Inkscape, etc aren't that scary) but I always end up visually inconsistent. I just never know what to look for

But this? I can totally make an icon that fits this visual language. Even better since I can take an icon I like from another OSS icon pack and just make it fit. Even better than I can contribute back if I wanted to

igneo676··on A Picture of Java in 2020
This is why it's worth contributing to your language's LSP server[0] and why I encourage every Kotlin dev I see to contribute to Kotlin's[1].

I personally find IDEs are way too complex and cluttered for my personal tastes. To boot, a code editor allows for unified workflows across a broad swathe of languages in ways that IDEs simply can't replicate. It's a pity Jetbrains has long held a dismissive attitude[2] toward developers that don't want a full blown IDE, but that's what you get when there are financial incentives attached.

[0]: https://microsoft.github.io/language-server-protocol/

[1]: https://github.com/fwcd/kotlin-language-server

[2]: https://discuss.kotlinlang.org/t/any-plan-for-supporting-lan...

igneo676··on DuckDuckGo is growing fast
I see this kind of comment pop up every time DuckDuckGo is brought up. It makes me wonder what the disconnect is.

My speculation is that it's all in how you search. When I first started using Google, I learned how to craft my search precisely to get the exact results I needed. More keywords, filtering based on the site(s) that I might want, etc. Years later, this influences how I search considerably.

In contrast, most people I know who use Google tend to use much looser terminology and Google gets it roughly correct regardless. When searching for more obscure information I can generally outperform them but otherwise they're getting 90% of the way there

As a result my searches on DuckDuckGo haven't given me any worse results than Google would give me. If anything, they've gotten better (even setting aside bangs)

igneo676··on Statement Regarding the Zen Programming Language
That's fine if you reject the OSI's definition. We've been having this conversation as a community for decades and "the source code is freely available" is not enough.

For instance, there's Debian's[0] (which was considered authoritative enough that the OSI basically used it as their own) which spells out the freedoms necessary for software to be considered Open Source. This extends beyond the source being available to not discriminating against people groups, allowing for modification, etc.

There's another from the FSF/GNU projects[1] which lay out the Four Essential Freedoms. These extend beyond source availability to the ability to run the program as you wish, to study the program and to redistribute it (among others).

To say source availability == Open Source is to rewrite history. It's about user freedom and always has been.

[0]: https://www.debian.org/social_contract

[1]: https://www.gnu.org/philosophy/free-sw.en.html

igneo676··on Statement Regarding the Zen Programming Language
Except, we do have a rigorous definition on what Open Source really means. The best place to check is the OSI's definition[0] and the licenses they approve[1]. What you're describing is commonly described as Source Available and doesn't readily meet the definition of Open Source.

Our terms matter. And considering this conversation is really about what it means to be OSS and what the tradeoffs are, we need to "get into semantics on what open source means". Too many people co-opt the term and we need to defend it.

[0]: https://opensource.org/osd-annotated

[1]: https://opensource.org/licenses

igneo676··on React is becoming a black box
I believe there are genuinely people who think of hooks as intuitive:

1. Hooks handle a lot more of React's lifecycle in a way that better matches how they're used

2. They allow more widespread usage of functional components. No more rewriting to and from classes while refactoring!

3. Concurrent mode all the things!

Unfortunately, the opposition to hooks has gotten lost in the sea of people trying to wrap their heads around it. It's also really easy to respond to criticism with "Just wait! Cool things are coming!". That's no fun for someone who has legitimate criticism and doesn't really see a way to voice those concerns.

It's a lot of what made me seriously consider other communities. React may be dominant, but gosh, at least I can roughly predict where other projects are going and can contribute in meaningful ways

igneo676··on One Year with ThinkPad and Linux (From MacBook Pro)
A Mac is required to build to an actual device or Simulator. You'll definitely want that to test out any device specific differences.

You can count on the framework to abstract away big significant parts of your app (business logic, UI) but some of the nuances you will probably have to tweak yourself. Launcher icons, handling notches, device specific features, and other weird oddities.

At least in the React Native community, you can often get away with building to the device only once every native dependency change. This becomes a better experience with Expo though

igneo676··on Why Johnny Won't Upgrade
No. They can choose if it's a minor-enough update and not blow a fuse
igneo676··on Patrick Collison's Questions
I find this doubly interesting in the context of homeschooling.

Often the parent's goals are to make the student as capable of being self-taught as possible. After the early years, the parent essentially steps into the role of tutor. You look for shortcomings and help the student step through those knowledge gaps. Otherwise the student can go as quickly or slowly through the material as they need to

Not that this scales, we'd have to look elsewhere for that, but interesting to see this function in a small community.

igneo676··on Ketamine that's injected during arrests draws new scrutiny
It's worth reading up on Ketamine and its use medically before coming to conclusions based on this article. Notably:

1. EMTs are generally under the oversight of a head doctor and aren't supposed to take actions outside of what they're directed to do there. Even if instructed by a LEO

2. Ketamine is a relatively safe drug used for a variety of purposes. While it may calm down someone experiencing stress, it can also stabilize patients en-route to the hospital

While this situation may be a miscarriage of justice,we needn't throw the baby out with the bathwater.

Source: https://youtu.be/Dj4eBa7z03U

Also, the source here is a professional EMT and worth checking out for more points and more information. Prep Medic is awesome :-)

igneo676··on Why Mozilla's layoffs and Google deal made me rethink my browser of choice
People take existential threats seriously, but the alternative here of being beholden to Google's browser engine is just not one I want to take.

I'm sticking with Firefox until I see concretely that things are going downhill. It's unlikely that there will be an alternative at that point that's not strongly Google influenced. That's a pity.

igneo676··on Shadow traffic: site visits that are not captured by typical analytics providers
Use a hybrid approach:

1. Server side analytics

2. Client side analytics for information akin to what you're asking that Server side misses

3. Crash analytics for client side errors

As mentioned though, you're only getting partial info from some of those options. It also gives you a chance to decide which of these you _really_ need and hopefully eliminate anything you don't

igneo676··on "Rust does not have a stable ABI"
You can live in this world right now.

1. Snap and/or Flatpak allow you to install GUI applications from most places nowadays. The internal tooling (system packages) are kept separate from the User installed applications and are effectively sandboxed in this way

2. Linuxbrew allows a Mac OS-like separation from your personal development tools and your OS's internal packages. Notably, this also allows you to install far newer tooling than your distribution would typically provide

3. Drop application binaries in ~/.local/bin if all else fails

If I weren't on a rolling release distribution I'd probably go that route. I hate being restricted by whatever my distro provides, I hate upgrading the entire world when new releases are made, and I hate third party repos and the hell the provide reconciling everything together.

It's really the in-between state that's terrible. Either go full *BSD or Mac OS and separate the concepts or full Arch Linux (w/ AUR) and don't. All other ways of distribution software tend to be more server centric anyway

igneo676··on Why forgiving someone else is about you
Establish firm boundaries and, if they're transgressed, cut off your parents. Period. Zero contact, even if they show up on your front door screaming.

For me, it was the most difficult thing I'd ever done. The benefits for you and your family though are worth fighting for and it's the only way you might have some semblance of a relationship with your parents in the future. You don't deserve that treatment.

The book Boundaries: When to Say Yes, How to Say No to Take Control of Your Life by Henry Cloud and John Townsend is what helped me work through this. It's definitely written for people who are Christians, but I've heard secular people recommend it heavily.

Finally, seek a therapist. If you're like me, you've been broken in ways you can't even identify and a professional will help you work through that.

Good luck

igneo676··on Systems Design for Advanced Beginners
I get the same error :/

Also, it'd be great to be able to turn off the mailing list sign up on the videos. I'm already technically subscribed via RSS and it'd be great if the videos play through without intervention

igneo676··on Guns are selling out across America
You are responsible for your own safety. Period.

A firearm, for most people, is the most effective means to defend themselves against another aggressor. That doesn't mean that it's the right call for everyone.

You're right though, training is necessary "table stakes" and I hope that's not what you're going to sacrifice if you purchase. At the very least, go to an outdoor range and get some amount of practice in so that you can handle your firearm safely.

Also, you need to make the decision up front that you're willing to defend yourself with deadly force. Some people can't or are unwilling to do so. This is a far more consequential decision than most people realize. Without training, practice and the will to use it a firearm is simply a liability.

Some other thoughts:

1. Consider getting a medical kit and keeping it on hand. You're far more likely to use it and Stop the Bleed classes are free. It won't cost much to keep on hand

2. Get Concealed Carry Insurance. You'll need legal representation in the case of defending your life.

3. Realize that after you take a life, you'll likely need counseling. Prepare accordingly

igneo676··on Record Numbers of Americans Try to Buy Guns
It's worrying how many people are purchasing firearms as first-time buyers who are also dis-incentivized from training due to the pandemic. Sure, many states mandate training before initially purchasing and/or carrying a firearm but that should be an ongoing thing.

At the start of the buying spree, gun ranges near me were all closed down and prevented the sort of practice that any responsible gun owner should have.

I appreciate people like Maj Toure and his organization Black Guns Matter who are going and teaching proper gun safety across the nation. There should be more people like him

igneo676··on MIT and Harvard file suit against new ICE regulations
No. Ideally, ICE would've announced this much sooner so that Universities could prepare. Or asked for an exception or the laws changed so that this isn't a problem.

Instead they chose to announce this and give universities 9 days to get everything figured out.

This is patently immoral for visa holders that would otherwise be allowed to be in the country given any other circumstances (ie not a global pandemic)

igneo676··on Onyx is violating the Linux kernel's license, refuses to release source code
My understanding is that there's a period of time after receiving a cease-and-desist that you can remove the offending GPL library without opening your codebase. After that, there's no harm to either side:

They don't have to release code and the licensed software's owners don't have their rights violated any further

Of course, IANAL

igneo676··on Renting a home is clearly better than buying in much of US
Agreed

Expanding on this, if you want an unorthodox housing situation or have a non-standard family unit, renting can either be prohibitively expensive or impossible.

For instance, there's the Tiny House movement which all but requires you to own your home in most areas. On the other end of the spectrum, larger families (4 or more children) will often find that rental units cannot accommodate them because of local regulation regarding # of rooms per occupant

igneo676··on Ask HN: Which tools have made you a much better programmer?
If you keep up with the LSP space, this is now possible with Vim

https://github.com/eclipse/eclipse.jdt.ls

https://github.com/georgewfraser/java-language-server

Are both good examples. You'll need a corresponding client like this one

https://github.com/prabirshrestha/vim-lsp

There are others, but this one is pretty good. Next release of Neovim will have one built into the editor. Frankly, it's a bit of a hassle but once you get an LSP provider set up you can get one for just about any language you're using

igneo676··on Show HN: Move 1000 subscription emails out of your Gmail inbox in 10 seconds
Ah, that context is really good to know

IMO that badge really cheapens the look and feel of your site and caused me to scrutinize it WAY more than if it hadn't of been there. If it's not official, it's always going to be suspect

igneo676··on Show HN: Move 1000 subscription emails out of your Gmail inbox in 10 seconds
I don't think I've ever seen a "Verified by Google" badge on a website. Looking into it, apparently you're under a different set of API usage policies and only a limited set of uses.

I'm guessing according to this https://developers.google.com/terms/api-services-user-data-p... slimbox falls under the following

1. Native and web email clients that allow users to compose, send, read, and process email via a user interface

3. Applications that enhance the email experience for productivity purposes (such as applications for customer relationship management, delayed sending of email, or mail merge)

Interesting stuff! I don't see where that badge comes from though. It implies to me more than "I accept the Google policies and have followed a couple hoops to allow usage of these APIs" and more of a relationship with Google

← PreviousPage 3 of 5Next →