HNHacker News
TopNewBestAskShowJobs

moojd

461 karma · joined September 18, 2017

[ my public key: https://keybase.io/mooj; my proof: https://keybase.io/mooj/sigs/AfQQqgJbHRteeex6ikj_NIJ_3bk5Hss3VFXMWN5FToE ]

hn [at] jmoo [dot] io

submissionscomments
moojd··on I'm resigning from my job at Facebook
We need a better framework for discussing speech issues in general. Even here arguments devolve into semantics over what the first amendment applies to when we should really be discussing how we actually expect/want society to function. Maybe we can adopt RFC language. Example:

  must: A law should/does enforce this
  must-not: A law should/does forbid this
  should: You have the right to NOT do this, but I believe this is what should be done
  should-not: Although you have the right to do this, I believe you shouldn't do this

  social media platforms (must|must-not) have the right to police speech
  social media platforms (should|should-not|must|must-not) police speech
moojd··on Ellen Pao Responds to Reddit
This mentality is why I believe every centralized social media platform has a limited shelf-life. We don't have a lot of discussions like this about what people should be allowed to say in an e-mail, or snail mail, or on a soapbox in Times Square as long as they aren't harassing anyone directly. If you aim to run a global social media platform, moderating in a way that is satisfies every one is an unsolvable boolean satisfiability problem and acting on outrage from users is a vicious cycle. Eventually the proprietors will (understandably) start to feel responsible for the content that is posted on their platform and take actions that anger large parts of their userbase. The next generation will use the next hip platform that isn't encumbered by this legacy and then the cycle will continue.
moojd··on Deno Is a Browser for Code
The lack of a standard library is definitively a major factor and the way npm solves the Diamond Dependency Problem exacerbates the issue by an order of magnitude. Not only is everyone pulling in dozens of packages that do simple things, you also end up pulling in dozens of versions of each of those packages because package developers aren't forced to flatten their dependency trees. And since no one is forced to do do this, using something like 'yarn install --flat' yourself is a huge pain.

If we had a proper standard library and a sane package manager with flat dependency resolution by default, bundling just the parts of the standard library we need for the web would be easy (browserify has existed for a long time).

moojd··on Twitter hides Donald Trump tweet for “glorifying violence”
Not fact checking is only picking a side once you have decided to fact check. Before all of this twitter could claim to be a medium of communication. There isn't implicit trust that something is true because it is written on paper, posted on a billboard, or appears on TV. By choosing to mark tweets as true or false, they are no longer just a medium of communication. We can now imply that if twitter does not mark a tweet as false, they are endorsing that tweet as true.
moojd··on Happiness is a freshly organized codebase
'git mv <source> <dest>' works pretty well for this.
moojd··on Why we listen to new music
I rarely 'fall out of love' with music I discover but I do have to take a break every once in a while. I spend most of my time listening to new indie releases or genres of the past that I haven't explored before, but then I'll get to urge to just listen to Sgt. Pepper's front to back or something. I find that when I take a break and come back to music I've listened to for years I get a bit of a nostalgia rush for the time when I first heard it. I also start to notice and appreciate parts that I may not have picked up on first listen when I can come back with a fresh mindset.

I also listen to music for 8 hours a day so it's easy to burn out on things but I always come back to things I loved before eventually. Today feels like it's going to be a Built To Spill day.

moojd··on Scuttlebot: Peer-to-peer database, identity provider, and messaging system
Protobuf, cap n proto, and messagepack are a few I've seen before
moojd··on Scuttlebot: Peer-to-peer database, identity provider, and messaging system
I think this right here is a killer app for decentralized social networks and is something I've been thinking about a lot. I'm looking forward to your post!
moojd··on Scuttlebot: Peer-to-peer database, identity provider, and messaging system
It's possible (and important) that moderation can be implemented in a decentralized community. Aether[0] has a really interesting take on it where it is essentially democratic.

[0] https://getaether.net/

moojd··on Scuttlebot: Peer-to-peer database, identity provider, and messaging system
I've been tinkering with SSB recently as well and I'm also finding it difficult to figure out how to interface with the wider SSB network in the 'correct' way. The communication protocol is well documented and easy to implement if you have libsodium available. Building applications on it should be straight forward considering it's just an eventually consistent event store.

I am having a few issues though. The 'api' that patchwork and other parts of the network use on top of the communication protocol seems to not be documented at all outside of the 'post' message. I'm not sure if it's not documented or if I just haven't discovered it yet. For example, I'm having to dive in to the code to see how a 'vote' message is formatted. I'm not sure how all of the various clients are staying compatible. None of the message formats seem to versioned in anyway either.

I'm also not sure what are the 'correct' ways to introduce my own message types. Should I use a vendor prefix in the type or something? Is it bad form to pollute the network with your own message types that other clients can't understand?

I've just started diving in to all this so maybe I just haven't gotten deep enough yet. I wrote a little toy SSB implementation last weekend to learn the protocol. I've really enjoyed playing around with it so far but I'm still not sure if it's the right fit for the applications I want to build yet.

moojd··on Show HN: ZoomerBackgrounds – community-sourced virtual video backgrounds
Kirin J Callinan and Alex Cameron both like to invent characters and then write songs from the character's perspective as sincerely as possible. Sometimes the characters they are playing are just exaggerated version of themselves. They write 'serious' songs with elements irony and sometimes this means the songs fall closer to the 'parody' end of the spectrum.

I think their best attempt at this was Alex Cameron's album 'Forced Witness'[0]. Alex imagines what a Marlon Brando obsessed, porn addicted loner from the 80s would look like in 2017 with access to the internet. It manages to achieve biting satire and great song writing without devolving into simple parody.

[0] https://www.youtube.com/watch?v=KU01Rix_l2w - The lyrics of this album are very NSFW .. read the pitchfork review if you want to know what you're getting in to: https://pitchfork.com/reviews/albums/alex-cameron-forced-wit...

moojd··on New iPhone SE
FaceID is better than front or in-screen fingerprint readers but I greatly prefer fingerprint readers on the back of the phone. It's right where your finger naturally rests when taking the phone out of your pocket so the phone is unlocked before it even leaves your pocket. Plus you can pull down the notification bar with it one-handed without having to awkwardly stretch to reach it on large devices.
moojd··on ActivityPub Could Be the Future
> Name one major social media site today that was based on a “new protocol”? Answer: None.

If one already existed then this title of this post would be 'ActivityPub is the Now' instead of 'ActivityPub Could Be the Future'. Efficiency isn't the only metric and comes at the cost of freedom and resiliency.

moojd··on ActivityPub Could Be the Future
Thanks! I would like to know if there are any projects working on this. I found this thread discussing how it could be done over SSB

https://github.com/ssbc/ssb-db/issues/202

moojd··on ActivityPub Could Be the Future
Mastodon can appeal to people who enjoy the idea of twitter but want to be able to have their own cordoned off community version of it with the ability to whitelist other communities that are allowed to interop.
moojd··on ActivityPub Could Be the Future
In the words of Gucci Mane, "A man can get lost in the sauce, but the same man can be lost without the sauce."

It's natural that here on hacker news we spend most of our time discussing protocols and implementation details. No, protocols alone are not a solution but they are important. What's the point of just re-inventing centralized social networks over and over again? That being said, in order for any of these protocols to reach the masses the protocol itself needs to be invisible to casual users. If the marketing for your new social network is "It runs on this cool decentralized protocol!" you will never reach a non-technical audience.

The end product needs to be as good and as easy to use as centralized equivalents even if that means making some compromises.

moojd··on ActivityPub Could Be the Future
I want to see a hybrid federation/p2p approach (Secure Scuttlebutt pubs/rooms are close this). As far as I understand it ActivityPub is just a standard for interop between social network services. The social networks still own your data and while they do offer tools for migrating between them you are still essentially at their mercy. You could run your own instance but you'll run into the same problems as you would running your own email server. Not every one will have to ability to do that and you could still run into the 'gmail problem' where large instances refuse to federate with small user instances.

It would be cool if there was a protocol that was fundamentally p2p but with a federated 'tracker' layer that is basically indistinguishable from normal social media sites to casual users. The social media sites would help propagate the content and if one went down or refuses to track your content you can just peer with another one (or just continue to share content with your personal network of followers over a gossip protocol like SSB without the need for a tracker)

moojd··on The 480
Are you sure those numbers aren't reversed? I'm in a red state and while most people I know were in denial a month ago most now at least have moderate concern. It's pretty hard to deny that COVID-19 is a threat when our hospitals are full and the empty shelves in our grocery stores are a signal that people are panicking.
moojd··on If nearly all Airbnb reviews are positive, does that make them meaningless?
Once you have a large enough userbase the thumbs up / thumbs down method might be the best option. My favorite example of numbered rating systems failing is metacritic where almost every user score is either a 10 or a 0. They have a weird dynamic where users will give a 10 to counteract a low score or a 0 to counteract an inflated score. Giving a 0 or a 10 makes your vote more impactful so why would you score any different?

At the end of the day most people just want to know if people think a service, movie, driver, seller, etc. is worth it or not * . If you need more info you are going to read the reviews anyway.

* An exception might be niche user review communities like myanimelist or rateyourmusic

moojd··on Apple Just Disabled Clearview AI's iPhone App for Breaking Rules on Distribution
You are probably right. I apologize.
moojd··on Apple Just Disabled Clearview AI's iPhone App for Breaking Rules on Distribution
How does having the ability to personally opt out of the walled garden prevent others from staying in the garden? You may not want to opt out of the garden but I don't see why you would want to deny that the others? Surely they can decide for themselves.
moojd··on Mini projects built with VanillaJS. No frameworks or libraries
Yep, I wish either nmpjs.com or npms.io would list the total number of transitive dependencies in their search so I could sort by it.

npmjs.com shows the number of dependencies at the top but doesn't total in dev-dependencies unless you dive in further. At first glance, npmjs.com leads you to believe webpack has only 24 dependencies when they have 52 additional dev dependencies leading to ~300 transitive deps with ~200 maintainers I now have to either constantly audit or implicitly trust[0]

[0] http://npm.broofa.com/?q=webpack

moojd··on Luis von Ahn, co-founder and CEO of Duolingo
I've been using the voice-to-text included with the google keyboard on android to practice speech on duo. I'd be interested to hear from a native speaker how accurate the voice-to-text model is but I find it fun getting a computer to understand me in a different language. It can be pretty unforgiving for certain sounds that aren't in my native language so I feel like I really have to nail the pronunciation.
moojd··on The Octopus: An Alien Among Us
Hunting and deriving enjoyment from it does not mean you can't have respect for the individual animal. Obviously there are sociopathic people out there who kill animals (and other people) without respect but you are arguing that there isn't an alternative. I would argue that hunters that respect animals vastly outnumber the hunters that don't.

Unless you have zero capacity for empathy, it is impossible to not have a massive respect for life when you take direct responsibility for death. Every aspect of our mass produced lives causes death. Unless you are 100% off grid, everything you consume from the vegetables and meat you eat to the clothes on your back are the products of death. Hunting forces you to take direct responsibility.

Correct me if I'm wrong but I don't think this aspect was what you took offence to, but it was the idea of enjoyment. I was raised as deer hunter and cried after my first kill. I challenge you to ask any lifelong deer hunter what they enjoy about hunting. Sure, they enjoy finding a big one but none of them find enjoyment in seeing an animal suffer or in the act of killing alone. They become better marksmen so they can kill as quickly and painlessly as possible and they eat what they kill. They enjoy the craft of marksmanship, tracking animals, and land management. They enjoy being alone in the woods all day doing nothing but watching and listening to wildlife. And they enjoy having visceral connection to nature, our past, and what we consume.

I'm not asking you to agree with any of this. I only ask you to try to see that there are other perspectives outside of your bubble and to not flippantly dismiss discussion about them as 'disingenuous and intellectually dishonest.'

moojd··on What ORMs have taught me: just learn SQL (2014)
This is the 'data mapper' vs 'active record' debate and I would argue both are sub-categories of 'Object-relational mapper.' I've seen multiple people in this thread even include query builders in their definition of ORM. I'm starting to wonder if much of the disagreement in this thread is caused by everyone having their own definition of ORM.
moojd··on Binance.us opens for US customers today
5/10 of the most populous states

2. Texas

4. Florida

5. New York

9. Georgia

10. North Carolina

A quick check to https://en.wikipedia.org/wiki/List_of_states_and_territories... gave me ~38% of the US population

moojd··on Colorado Town Offers 1 Gbps for $60 After Years of Battling Comcast
For contrast: My rural hometown of around 15,000 (not tiny but still 10 times smaller than Ft. Collins) built its own fiber network in the mid-90s. It still runs today and has expanded to include many of our smaller neighboring communities of 400-10k people. Now that the city has grown to about 20k we have larger ISPs moving in. They lease the city's infrastructure so we have a municipal fiber network with multiple competing private options. You get fancier hardware and more channels with the private companies but I find the local ISP more reliable and I have one bill for internet, power, gas, water, and waste.

Way better setup than when I was in I was in ATL and forced to use Comcast. Plus there aren't any data caps.

moojd··on Installing Debian Linux 2.0 (1998)
Thanks for reminding me of these! I remember when they announced shipit. I think I was in middle school and got them shipped to my parents house because they were free and why not. I lived in a rural area and didn't have broadband yet. I can thank those CDs for kindling my love of programming and Linux. Thanks Canonical!
moojd··on Rules for Intuitive UX
Interesting enough I actually agree in principle with arsenico and ken. The debug button example is a weird corner case. On pretty much every smart phone you click a green call button to make a call and click a red disconnect button to disconnect. The debug button is consistent with other toggle buttons while being the reverse of a common convention. It may have been less confusing if it was a grayed out phone when off and green when connected.

UI is hard indeed.

moojd··on Rules for Intuitive UX
The most confusing toggle I've seen is the "Listen for debug connections" in intellij [0,1]. It shows the current status instead of the action you would be performing. You have to click the "Hang up" icon[0] to START listening and and "Connect" icon[1] to STOP listening.

In their defense that's how most UI toggles[2] work but they are using a 'phone' metaphor and it's implemented backwards from how you would usually expect a phone call UI to work.

[0] https://www.jetbrains.com/help/img/idea/2019.2/php.icons.deb...

[1] https://www.jetbrains.com/help/img/idea/2019.2/php.icons.deb...

[2] https://www.jqueryscript.net/images/jQuery-Plugin-For-Slidin...

← PreviousPage 4 of 5Next →