HNHacker News
TopNewBestAskShowJobs

bound008

2,598 karma · joined April 19, 2010

http://hnofficehours.com/profile/bound008/

submissionscomments
bound008··on Stop the Apple Music app from launching
PSA: Its Unix.

  sudo chmod -x /Applications/Music.app
edit: sorry about that. this used to work before the Music.app moved to /System/Applications
bound008··on San Remo Pasta Measurer
@zzzeek Thank you for your service.
bound008··on San Remo Pasta Measurer
This is such an HN comment and I love it. Get a cheap kitchen scale (with 0.1g accuracy) and weigh everything when you want a snack or an individual meal.

For family meals or when you want leftovers convert your common recipes to being weight based. On some common seasonings (Costco sized) I write the conversion for that seasoning for 1 tablespoon in grams. So much easier to combine dry ingredients without needing a litany of measuring utensils.

bound008··on F3: Open-source data file format for the future [pdf]
The irony of being a PDF file
bound008··on Gmail will no longer support checking emails from third-party accounts via POP
I'm not one to defend google, but it seems that they are only ending support for POP accounts, and retaining support for IMAP/SMTP. Seems like a reasonable deprecation for 2025, although they could have given more than a quarter to let people handle the change.
bound008··on Co-founder exiting after pivot – what's a fair exit package?
Important Questions:

1. How much did your involvement lead to the fundraising success?

2. How much did your involvement lead to the products' early success?

3. Does it make sense to take the IP early idea that you were passionate about as part of your exit package?

==========

Expectations:

* you should expect no cash. taking cash will lead to a lower chance of a return on your equity. if you desperately need cash, you should get a small package based on your salary.

* you have no way to protect against being diluted. you have no idea how much work it will take to make this project successful. making it successful will require dilution. at best you could negotiate never being diluted under a certain amount, and making that based on successive valuations. if you leave at pre-seed, and it becomes a unicorn, you likely don't deserve 10%. what do you think you realistically deserve if this is a massive runaway success AFTER you leave.

* one way to think about this, is what would your time have been worth at a company with a higher TC. if you would have been paid $500k including equity somewhere else, maybe you should get the same amount of equity as someone investing 500k in cash, and get the exact same dilution as they would.

* you will not find a standard answer anywhere. you need to find the best solution between:

  1. your ego
  
  2. your cofounders ego

  3. giving this startup the best chance of success so that all of this time will be worth something for everyone. even if thats less than you want it to be, its better than $0. because all of the hard work lies ahead.
bound008··on Exploiting the IKKO Activebuds “AI powered” earbuds (2024)
he's incredibly nice and a passionate geek like the rest of us. he's just excited about what generative models could mean for people who like to build stuff. if you want a better understanding of what someone who co-created django is doing posting about this stuff, take a look at his blog post introducing django -- https://simonwillison.net/2005/Jul/17/django/
bound008··on Show HN: AirAP AirPlay server – AirPlay to an iOS Device
On Apple devices you can stream to two bluetooth destinations if they are Apple (/beats) devices that can support it.
bound008··on Show HN: AirAP AirPlay server – AirPlay to an iOS Device
I haven't tried it yet but on Apple devices you can AirPlay audio to multiple devices. I think the limit on AirPlay 2 might be 16.
bound008··on Show HN: AirAP AirPlay server – AirPlay to an iOS Device
Thank you so much for checking something off of my todo list!

Apple TV lets you share with two sets of apple headphones, which is awesome... but I wanted a way to:

* Share to more than two sets * Extend coverage past the (very generous) bluetooth range of AirPods. * Have lossless (albeit 44khz/16bit) wireless audio with audiophile headphones.

I was considering using an esp32, but so happy this exists now! Thanks!

bound008··on Show HN: Pi Co-pilot – Evaluation of AI apps made easy
> From the team that brought you the magic of Google Search

This feels really disingenuous. Larry and Sergei are the team that brought us Google Search.

"Magic of" is trying to hide the fact that you didn't bring Google Search to fruition. The last 5 years of Google Search do not feel magical at all.

Instead, claim credit for something that you did do with Google Search.

From looking at your LinkedIn: CTO > Joined Google via acquisition of ITA Matrix and worked on schema.org amongst other very impressive things. Before that, founding team of Bing @ MSFT. CEO > Worked on search at Google from 2018 - 2024 ( 6 years )

These are impressive credentials-- so find a better way to showcase them.

bound008··on I hacked my clock to control my focus
I might do that at some point... this is the main part of it, just a swift data model and one file of views. Plus a bunch of example code for making widgets work.

``` import Foundation import SwiftData

@Model final class FocusItem { let created: Date = Date() var completed: Date? var theFocus: String = "New Focus" var details: String?

    init(completed: Date? = nil, theFocus: String, details: String? = nil) {
        self.completed = completed
        self.theFocus = theFocus
        self.details = details
    }
}

struct FocusItemDescriptors { static let currentFocusPredicate = #Predicate<FocusItem> { $0.completed == nil }

    static let sortDescriptor = SortDescriptor(\FocusItem.created, order: .reverse)

    static let currentFocusFetchDescriptor = FetchDescriptor(
        predicate: currentFocusPredicate, sortBy: [sortDescriptor])
} ```

``` import SwiftData import SwiftUI import WidgetKit

struct ContentView: View { @Query( filter: FocusItemDescriptors.currentFocusPredicate, sort: [FocusItemDescriptors.sortDescriptor]) private var items: [FocusItem] @Environment(\.modelContext) private var modelContext

  @State private var isAddingNewItem = false
  @State private var newFocusText = ""

  var body: some View {
    NavigationStack {
      List {
        ForEach(items) { item in
          NavigationLink {
            FocusItemDetailView(item: item)
          } label: {
            Text(item.theFocus)
          }
        }
        .onDelete(perform: deleteItems)
      }
      .navigationTitle("Focus")
      .toolbar {
        #if os(iOS)
          ToolbarItem(placement: .navigationBarTrailing) {
            EditButton()
          }
        #endif
        ToolbarItem {
          Button(action: addItem) {
            Label("Add Item", systemImage: "plus")
          }
        }
      }
    }
    .sheet(isPresented: $isAddingNewItem) {
      AddFocusItemView(isPresented: $isAddingNewItem, addItem: addNewItemWithFocus)
    }
  }

  private func addItem() {
    isAddingNewItem = true
  }

  private func addNewItemWithFocus(_ focus: String) {
    withAnimation {
      let newItem = FocusItem(theFocus: focus)
      modelContext.insert(newItem)
      DataManager.shared.reloadWidgets()
    }
  }

  private func deleteItems(offsets: IndexSet) {
    withAnimation {
      for index in offsets {
        modelContext.delete(items[index])
      }
      DataManager.shared.reloadWidgets()
    }
  }
}

struct FocusItemDetailView: View { @Environment(\.dismiss) private var dismiss let item: FocusItem

  var body: some View {
    VStack {
      Text(item.theFocus)
      if let details = item.details {
        Text(details)
      }
      Text(
        "\(item.created, format: Date.FormatStyle(date: .numeric, time: .standard))"
      )
      Button {
        item.completed = Date()
        DataManager.shared.reloadWidgets()
        dismiss()
      } label: {
        Text("Mark as Complete")
      }
    }
  }
} struct AddFocusItemView: View { @Binding var isPresented: Bool let addItem: (String) -> Void @State private var newFocusText = ""

  var body: some View {
    NavigationView {
      Form {
        TextField("What is your focus?", text: $newFocusText, axis: .vertical)
          .lineLimit(3...10)
      }
      .navigationTitle("New Focus")
      .toolbar {
        ToolbarItem(placement: .cancellationAction) {
          Button("Cancel") {
            isPresented = false
          }
        }
        ToolbarItem(placement: .confirmationAction) {
          Button("Add") {
            addItem(newFocusText)
            isPresented = false
          }
          .disabled(newFocusText.isEmpty)
        }
      }
    }
  }
```
bound008··on I hacked my clock to control my focus
I built a simple SwiftUI/Swift Data app to do the same thing across my Apple Watch, iPhone, iPad and Desktop.

With the heavy lifting of SwiftUI/Swift Data, and iCloud providing automatic and private syncing, this is the cloc output for my project, (including widgets and all of the code and projects needed to target all of these platforms.)

-------------------------------------------------------------------------------

Language files blank comment code

-------------------------------------------------------------------------------

XML 13 0 0 579

Swift 19 131 142 548

JSON 4 0 0 115

YAML 1 7 0 43

-------------------------------------------------------------------------------

SUM: 37 138 142 1285

-------------------------------------------------------------------------------

If you live in the apple ecosystem and want to make a simple tool for yourself, you really should go ahead and do that.

It started as a desire to have a "focus" on my Apple Watch at all times, and in less than 10 hours, I have widgets, shortcuts (and Siri) integrations, and syncing across every apple platform (although I haven't yet tried it on tvOS).

I've thought about productizing it, and I might one day, but that would add orders of magnitude to the time of making this something that people should be asked to pay for.

And I'm not going to open source it, because it is ~500 loc, with no libraries plus a bunch of Xcode generated stuff.

bound008··on Dropbox Acquires Reclaim.ai
Happy to say so.... just sprinkle in a little caldav ;)
bound008··on Apple sued by two women over AirTag stalking
You can't civilly sue the gun maker for the actions of their users: https://en.wikipedia.org/wiki/Protection_of_Lawful_Commerce_...
bound008··on You Might Also Like
> The play/pause media key automatically starting the Music app

$ sudo chmod -x /Applications/Music.app

This was a common complaint I have heard from those coming from Windows/Android and even Linux... It's unix.

Also, the play/pause key works with other apps. Other default apps can be set.

Many other valid points in this article and thread, but I don't know why people expect the default behavior of the play button to behave any differently when no media is playing. Music.app may have an upsell, but it's still a place to organize your own personal music library. No cloud or SaaS required.

bound008··on The link between August birthdays and ADHD (2018)
I would highly recommend any readers on here who have ADHD to read "Scattered: How Attention Deficit Disorder Originates" by Dr. Gabor Maté[1]

It provides a compelling argument as to the root cause of ADHD.

[1] https://drgabormate.com/book/scattered-minds/

bound008··on Apple M2 vs. AMD Ryzen 7 Pro 6850U Performance in Nearly 200 Benchmarks
I was really excited to see these benchmarks until I realized:

1. The Ryzen setup has twice the ram

2. The Ryzen setup has twice the cpu cores

3. The Ryzen setup has 3x the power envelope (in watts) as the M2[1]

4. They are using Asahi Linux on the M2.[2]

Too bad I missed the window to downvote.

If this said: Apple M2 (Linux/8gb/4c) vs. Ryzen 7 Pro 6850U (Linux/16gb/8c)... it would have been more honest, and potentially interesting, as it would also be an indication of the progress of Asahi Linux.

(edited to add line breaks)

[1]: Ryzen 46w (not sure if this includes the GPU) vs M2 15w (not sure if this includes the GPU)

[2]: Asahi Linux is super cool, but most M2 chips in the wild are not running it. So it's not a useful comparison.

bound008··on $55 board turns a Raspberry Pi CM4 into a router
One quick reason why not to flash an existing OTS router is RAM.

IMHO most consumer routers need to be reset because they have memory leaks, that reduce the amount of memory available for the routing table. A power cycle becomes the common fix.

Meanwhile 4GB of RAM on PfSense can probably power an office of 50 engineers with 50% of its ram left available (and no swap)... and it will never need to be restarted.

bound008··on Show HN: Yboard is a multiplayer desktop-like workspace based on CRDT
Looks really cool, just a friendly reminder to specify a license (or no license)
bound008··on About Last Week’s Announcement
This point is very interesting. I was watching a PG interview on YC's resources for startups.

An audience member asked about how to get pricing right early. Part of PG's answer (from autogenerated CC):

you can always change your prices later though if you want to lower your prices no one's gonna complain and if you want to raise your prices you just grandfather your existing users which if you have exponential growth will always be a tiny subset of your total users and then no one will complain about that either

https://www.ycombinator.com/library/85-a-conversation-with-p...

bound008··on Ask HN: What's the coolest website you know?
To experience the browser in a modern browser check out: https://html5zombo.com/
bound008··on Ford surprises F-150 Lightning owners with adapter for charging stranded Teslas
Had to edit the title to fit... original title: > Ford surprises F-150 Lightning owners with accessory that can recharge stranded Teslas
bound008··on You can no longer purchase Kindle books through the Amazon app on Android
Just a heads up (from articles and comments on other HN threads)--

Roku wants a cut of revenue from apps too. It is not in Amazon's incentive to limit distribution of Twitch. This may be why it is no longer on Roku.

bound008··on Tony Fadell: The Nest Thermostat Disrupted My Life
Heads up for privacy minded people in the Apple ecosystem... if you buy a HomeKit thermostat (or generally any HomeKit compatible device), you can usually set it up without the vendors app, or making an account, or accepting the ToS or Privacy Policy. There are some well established boring HVAC thermostat makers that have HomeKit compatible devices, and they are available for under $100. If you are a renter, you may need to get a 100-240VAC -> 24 VAC power brick to supply adequate power if your HVAC is not wired up properly.
bound008··on Turo Requires a Driver's License Number and Credit Card to Show Full Price
While I absolutely loathe dark patterns, I just wanted to share one thought.

They may have to "add" you to their insurance plan or carrier before renting you the car. That infuriating service fee might actually be personalized for your driving record.

As for the credit card, it is user-hostile at best to demand this before being able to see a price. I wish there was an easier way to complain about businesses that openly violate terms of the standard merchant agreements. Imagine a physical store requiring you to swipe a credit card before being able to enter. Amazon had to allow for customers without phones or credit cards at their "Go" stores for compliance reasons.

bound008··on Happy 15th birthday Hacker News
We need Dang as a Guido style BDFL[1]. At least until the community has grown to fully take on and continue the culture. (Which I am assuming why Guido felt he could step down)

Hope they are taking great care of you at YC!

1. For those unaware, Guido, the creator of Python, who remained the Benevolent Dictator for life until 2018.

bound008··on Show HN: Motor Admin – No-code admin panel
@petems do you have plans to attach a license to your component library? https://github.com/omohokcoj/view3
bound008··on Sketch Machine
That was fun! Thanks for sharing!
bound008··on iOS 15
Just an FYI, you can definitely do this when using CarPlay and Apple Maps. There is a set list of categories you can search while currently navigating. I wish you could make an arbitrary on route search, but you can't.
Page 1 of 7Next →