Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
👾&⌚️
Search
giginet
PRO
March 03, 2017
Programming
11k
4
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
👾&⌚️
try! Swift 2017
giginet
PRO
March 03, 2017
More Decks by giginet
See All by giginet
🀄️ on swiftc
giginet
PRO
0
510
15年メンテしてきたdotfilesから開発トレンドを振り返る 2011 - 2026
giginet
PRO
2
390
Claude Codeログ基盤の構築
giginet
PRO
7
4.4k
Inside of Swift Export
giginet
PRO
1
2.7k
Swiftビルド弾丸ツアー - Swift Buildが作る新しいエコシステム
giginet
PRO
0
2.7k
SwiftでMCPサーバーを作ろう!
giginet
PRO
3
440
Creating Intuitive Developer Tool in Swift
giginet
PRO
0
1.6k
Mergeable Libraryで 高速なアプリ起動を実現しよう!
giginet
PRO
2
7.9k
5分でわかるExplicitly Built Modules
giginet
PRO
2
1.8k
Other Decks in Programming
See All in Programming
Inside Stream API
skrb
1
680
軽量Java基盤の設計 DIコンテナに頼らない、長期保守と1秒起動の実現 JJUG CCC 2026 Spring
macha64
0
490
並列実装の現場、2ヶ月間実務でAIを使い倒したAIもPCも私も限界が近い
ming_ayami
0
120
Webフレームワークの ベンチマークについて
yusukebe
0
150
Vue × Nuxt × Oxc どこまで使える?実運用の現在地
andpad
0
140
過去最大のMCPアップデート! 2026-07-28 RC版の謎に迫る
licux
6
210
「エンジニアインターン、どうやって取った?」準備のリアルを語るLT会 Progate BAR
akiomatic
0
130
AI駆動開発で崩れていくコードベースを立て直す
kyoko_nr_nr
1
450
Spec-Driven Development with AI-Agents: From High-Level Requirements to Working Software
antonarhipov
2
480
Oxcを導入して開発体験が向上した話
yug1224
4
300
New "Type" system on PicoRuby
pocke
1
780
ローカルLLMを使ってB2Bサービスを作っていての学び
yaotti
0
160
Featured
See All Featured
Design of three-dimensional binary manipulators for pick-and-place task avoiding obstacles (IECON2024)
konakalab
0
450
Accessibility Awareness
sabderemane
1
130
Statistics for Hackers
jakevdp
799
230k
Site-Speed That Sticks
csswizardry
13
1.2k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
250
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
540
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
254
22k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
210
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
200
Bash Introduction
62gerente
615
210k
WENDY [Excerpt]
tessaabrams
11
38k
Code Review Best Practice
trishagee
74
20k
Transcript
@giginet
&⌚
None
None
None
None
None
FCEUX(C++)
try! Objective-C
Metal OpenGL ES RENDERING
var texture: SKTexture { guard let videoBuffer: UnsafeRawPointer = emulatorCore.videoBuffer()
else { fatalError() } let data = Data(bytes: videoBuffer, count: Int(bufferCount)) let size = CGSize(width: 256, height: 240) return SKTexture(data: data, size: size, flipped: true) }
import AVFoundation // let destinationBuffer: AVAudioPCMBuffer! // Get source buffer
let sourceBuffer = UnsafeBufferPointer<Int16>(start: head.assumingMemoryBound(to: Int16.self), count: bufferLength) // Copy samples to AVAudioPCMBuffer for channel in 0..<channelCount { let samples = UnsafeMutableBufferPointer<Float32>(start: destinationBuffer.floatChannelData?.pointee, count: bufferLength) for frame in 0..<frameLength { // Cast 16bit audio to 32bit samples[frame] = Float32(audioBuffer[frame * channelCount + channel]) } } AUDIO
▸CoreMotion ▸WKGestureRecognizer ▸Tap ▸LongPress ▸Swipe ▸Pan ▸WKCrownDelegate, WKCrownSequencer INPUTS
Touch Down Touch Up WKTapGestureRecognizer
// super rapidly long press(1 frame) longPressGestureRecognizer.minimumPressDuration = 1.0 /
60.0 WKLongPressGestureRecognizer
None
public enum Button: UInt32 { case a = 1 case
b = 2 case select = 4 case start = 8 case up = 16 case down = 32 case left = 64 case right = 128 } if sender.state == .began { controllerState |= button.rawValue } else if sender.state == .ended { controllerState &= ~button.rawValue }
https://github.com/giginet/NESEmulator-watchOS
None
Have a nice Pokémon GO Life!
None