Letters or sign: WRITE-IN HACKETT

Hafa Adai,

Please see the attached.

Thank you,
Judea

On Mon, Nov 4, 2024 at 12:56 PM Satoshi Nakamoto <3659745> wrote:

SAY prices, please

Mahalo

SIGNATURE:
Clifford "RAY" Hackett www.rayis.me RESUME: www.rayis.me/resume

I founded www.adapt.org in 1980 it now has over 50 million members.
$500 of material=World’s fastest hydrofoil sailboat. http://sunrun.biz

On Mon, Nov 4, 2024 at 11:39 AM Satoshi Nakamoto <3659745> wrote:

Black ON white largest you can do today please make suggestions and I will be down there later

Mahalo

SIGNATURE:
Clifford "RAY" Hackett www.rayis.me RESUME: www.rayis.me/resume

I founded www.adapt.org in 1980 it now has over 50 million members.
$500 of material=World’s fastest hydrofoil sailboat. http://sunrun.biz

Write-In Hackett.pdf

Letters or sign: WRITE-IN HACKETT

SAY prices, please

Mahalo

SIGNATURE:
Clifford "RAY" Hackett www.rayis.me RESUME: www.rayis.me/resume

I founded www.adapt.org in 1980 it now has over 50 million members.
$500 of material=World’s fastest hydrofoil sailboat. http://sunrun.biz

On Mon, Nov 4, 2024 at 11:39 AM Satoshi Nakamoto <3659745> wrote:

Black ON white largest you can do today please make suggestions and I will be down there later

Mahalo

SIGNATURE:
Clifford "RAY" Hackett www.rayis.me RESUME: www.rayis.me/resume

I founded www.adapt.org in 1980 it now has over 50 million members.
$500 of material=World’s fastest hydrofoil sailboat. http://sunrun.biz

Letters or sign: WRITE-IN HACKETT

Black ON white largest you can do today please make suggestions and I will be down there later

Mahalo

SIGNATURE:
Clifford "RAY" Hackett www.rayis.me RESUME: www.rayis.me/resume

I founded www.adapt.org in 1980 it now has over 50 million members.
$500 of material=World’s fastest hydrofoil sailboat. http://sunrun.biz

Habit app

import SwiftUI
import CloudKit

// MARK: – Habit Model
struct Habit: Identifiable {
var id: CKRecord.ID?
var title: String
var streak: Int
var isCompleted: Bool

init(record: CKRecord) {
self.id = record.recordID
self.title = record[“title”] as? String ?? “”
self.streak = record[“streak”] as? Int ?? 0
self.isCompleted = record[“isCompleted”] as? Bool ?? false }

func toCKRecord() -> CKRecord {
let record = CKRecord(recordType: “Habit”)
record[“title”] = title as CKRecordValue
record[“streak”] = streak as CKRecordValue
record[“isCompleted”] = isCompleted as CKRecordValue
return record
}
}

// MARK: – CloudKit Manager
class CloudKitManager: ObservableObject {
private var database = CKContainer.default().publicCloudDatabase @Published var habits: [Habit] = []

func fetchHabits() {
let query = CKQuery(recordType: “Habit”, predicate: NSPredicate(value: true))
database.perform(query, inZoneWith: nil) { [weak self] records, error in if let error = error {
print(“Error fetching habits: \(error.localizedDescription)”) return
}

DispatchQueue.main.async {
self?.habits = records?.compactMap { Habit(record: $0) } ?? [] }
}
}

func addHabit(title: String) {
let habit = Habit(id: nil, title: title, streak: 0, isCompleted: false) let record = habit.toCKRecord()

database.save(record) { [weak self] _, error in
if let error = error {
print(“Error saving habit: \(error.localizedDescription)”) } else {
self?.fetchHabits()
}
}
}

func updateHabit(_ habit: Habit) {
guard let recordID = habit.id else { return }

database.fetch(withRecordID: recordID) { [weak self] record, error in if let record = record, error == nil {
record[“streak”] = habit.streak as CKRecordValue record[“isCompleted”] = habit.isCompleted as CKRecordValue
self?.database.save(record) { _, error in
if let error = error {
print(“Error updating habit: \(error.localizedDescription)”) } else {
self?.fetchHabits()
}
}
}
}
}
}

// MARK: – Habit Row View
struct HabitRowView: View {
var habit: Habit
@ObservedObject var manager: CloudKitManager

var body: some View {
HStack {
Text(habit.title)
Spacer()
Text(“Streak: \(habit.streak)”)
Button(action: {
var updatedHabit = habit
if !updatedHabit.isCompleted {
updatedHabit.isCompleted = true
updatedHabit.streak += 1
}
manager.updateHabit(updatedHabit)
}) {
Image(systemName: habit.isCompleted ? “checkmark.circle.fill” : “circle”) }
}
}
}

// MARK: – Habit List View
struct HabitListView: View {
@ObservedObject var manager = CloudKitManager()
@State private var newHabitTitle = “”

var body: some View {
NavigationView {
VStack {
HStack {
TextField(“New Habit”, text: $newHabitTitle) .textFieldStyle(RoundedBorderTextFieldStyle()) Button(action: {
if !newHabitTitle.isEmpty {
manager.addHabit(title: newHabitTitle) newHabitTitle = “”
}
}) {
Text(“Add”)
}
}.padding()

List(manager.habits) { habit in
HabitRowView(habit: habit, manager: manager) }
}
.navigationTitle(“Micro-Habits”)
.onAppear {
manager.fetchHabits()
}
}
}
}

// MARK: – App Entry Point
@main
struct HabitAppApp: App {
var body: some Scene {
WindowGroup {
HabitListView()
}
}
}

Habit app

import SwiftUI import CloudKit

// MARK: – Habit Model struct Habit: Identifiable { var id: CKRecord.ID? var title: String var streak: Int var isCompleted: Bool init(record: CKRecord) { self.id = record.recordID self.title = record["title"] as? String ?? "" self.streak = record["streak"] as? Int ?? 0 self.isCompleted = record["isCompleted"] as? Bool ?? false } func toCKRecord() -> CKRecord { let record = CKRecord(recordType: "Habit") record["title"] = title as CKRecordValue record["streak"] = streak as CKRecordValue record["isCompleted"] = isCompleted as CKRecordValue return record } }

// MARK: – CloudKit Manager class CloudKitManager: ObservableObject { private var database = CKContainer.default().publicCloudDatabase @Published var habits: [Habit] = [] func fetchHabits() { let query = CKQuery(recordType: "Habit", predicate: NSPredicate(value: true)) database.perform(query, inZoneWith: nil) { [weak self] records, error in if let error = error { print("Error fetching habits: \(error.localizedDescription)") return } DispatchQueue.main.async { self?.habits = records?.compactMap { Habit(record: $0) } ?? [] } } } func addHabit(title: String) { let habit = Habit(id: nil, title: title, streak: 0, isCompleted: false) let record = habit.toCKRecord() database.save(record) { [weak self] _, error in if let error = error { print("Error saving habit: \(error.localizedDescription)") } else { self?.fetchHabits() } } } func updateHabit(_ habit: Habit) { guard let recordID = habit.id else { return } database.fetch(withRecordID: recordID) { [weak self] record, error in if let record = record, error == nil { record["streak"] = habit.streak as CKRecordValue record["isCompleted"] = habit.isCompleted as CKRecordValue self?.database.save(record) { _, error in if let error = error { print("Error updating habit: \(error.localizedDescription)") } else { self?.fetchHabits() } } } } } }

// MARK: – Habit Row View struct HabitRowView: View { var habit: Habit @ObservedObject var manager: CloudKitManager var body: some View { HStack { Text(habit.title) Spacer() Text("Streak: \(habit.streak)") Button(action: { var updatedHabit = habit if !updatedHabit.isCompleted { updatedHabit.isCompleted = true updatedHabit.streak += 1 } manager.updateHabit(updatedHabit) }) { Image(systemName: habit.isCompleted ? "checkmark.circle.fill" : "circle") } } } }

// MARK: – Habit List View struct HabitListView: View { @ObservedObject var manager = CloudKitManager() @State private var newHabitTitle = "" var body: some View { NavigationView { VStack { HStack { TextField("New Habit", text: $newHabitTitle) .textFieldStyle(RoundedBorderTextFieldStyle()) Button(action: { if !newHabitTitle.isEmpty { manager.addHabit(title: newHabitTitle) newHabitTitle = "" } }) { Text("Add") } }.padding() List(manager.habits) { habit in HabitRowView(habit: habit, manager: manager) } } .navigationTitle("Micro-Habits") .onAppear { manager.fetchHabits() } } } }

// MARK: – App Entry Point @main struct HabitAppApp: App { var body: some Scene { WindowGroup { HabitListView() } } }

Appointment needed

Next week works for me.

On Wed, Oct 23, 2024 at 11:09 AM Andrew L. Linhardt <Andrew.Linhardt> wrote:

I’m actually going to be gone all of November.

So we can do this week or next.

Andrew Linhardt

Social Worker

Department of Integrated Services for Individuals with Disabilities (DISID)

138 East Marine Corps Drive

Jones & Guerrero Commercial Plaza, Suite C101

Hagatna, Guam 96910

(671) 475-4624

Solar NowNow