Skip to content

Instantly share code, notes, and snippets.

View wisnukurniawan's full-sized avatar

Wisnu Kurniawan wisnukurniawan

View GitHub Profile
@wisnukurniawan
wisnukurniawan / wwdc2020_sessions.txt
Created June 9, 2021 01:24 — forked from hujunfeng/wwdc2020_sessions.txt
The list of WWDC 2020 sessions
101 Keynote
102 Platforms State of the Union
10004 Expanding automation with the App Store Connect API
10005 What's new in assessment
10006 Introducing Car Keys
10008 Optimize the Core Image pipeline for your video app
10009 Edit and play back HDR video with AVFoundation
10010 Export HDR media in your app with AVFoundation
10011 Author fragmented MPEG-4 content with AVAssetWriter
10012 Discover ray tracing with Metal
101 WWDC 2018 Keynote
102 Platforms State of the Union
103 Apple Design Awards
201 Creating Apps for a Global Audience
202 What's New in Cocoa Touch
203 I Have This Idea For An App...
204 Automatic Strong Passwords and Security Code AutoFill
205 Advances in Research and Care Frameworks
206 What's New in watchOS
207 Strategies for Securing Web Content
@wisnukurniawan
wisnukurniawan / WWDC.json
Created June 9, 2021 01:21 — forked from harishgonnabattula/WWDC.json
WWDC 2015-2018 Video urls and summary
[
{"url": "https://devstreaming-cdn.apple.com/videos/wwdc/2018/236mwbxbxjfsvns4jan/236/236_hd_avspeechsynthesizer_making_ios_talk.mp4?dl=1", "title": "AVSpeechSynthesizer: Making iOS Talk", "summary": "Speech can enhance the audio experience of your app, whether you are generating spoken feedback for accessibility, or providing critical information beyond simple alerts or notifications. AVSpeechSynthesizer produces synthesized speech from text and allows you to control and monitor the progress of ongoing speech. Learn the ins and outs of AVSpeechSynthesizer and how to add computer-generated speech output to your app."},
{"url": "https://devstreaming-cdn.apple.com/videos/wwdc/2018/405bjty1j94taqv8ii/405/405_hd_measuring_performance_using_logging.mp4?dl=1", "title": "Measuring Performance Using Logging", "summary": "Learn how to use signposts and logging to measure performance. Understand how the Points of Interest instrument can be used to examine logged data. Get an introduction into creating and using custo
@wisnukurniawan
wisnukurniawan / wwdc_2012_urls.txt
Created June 9, 2021 00:36 — forked from mmorris/wwdc_2012_urls.txt
WWDC 2012 HD video URL list
https://developer.apple.com/devcenter/download.action?path=/videos/wwdc_2012__hd/session_307__building_great_newsstand_apps.mov
https://developer.apple.com/devcenter/download.action?path=/videos/wwdc_2012__hd/session_311__building_and_distributing_custom_b2b_apps_for_ios.mov
https://developer.apple.com/devcenter/download.action?path=/videos/wwdc_2012__hd/session_304__events_and_reminders_in_event_kit.mov
https://developer.apple.com/devcenter/download.action?path=/videos/wwdc_2012__hd/session_300__getting_around_using_map_kit.mov
https://developer.apple.com/devcenter/download.action?path=/videos/wwdc_2012__hd/session_306__integrating_with_facebook_twitter_and_sina_weibo.mov
https://developer.apple.com/devcenter/download.action?path=/videos/wwdc_2012__hd/session_301__introducing_passbook_part_1.mov
https://developer.apple.com/devcenter/download.action?path=/videos/wwdc_2012__hd/session_309__introducing_passbook_part_2.mov
https://developer.apple.com/devcenter/download.action?path=/videos/wwdc_2012__hd/session_3

1. Separation of immutable and mutable logic

Quite a lot of different people have been on the same trail of thought. Gary Bernhardt's formulation of a "functional core, imperative shell" seems to be the most voiced.

"Boundaries" - Gary Bernhardt

"Imperative shell" that wraps and uses your "functional core".. The result of this is that the shell has fewer paths, but more dependencies. The core contains no dependencies, but encapsulates the different logic paths. So we’re encapsulating dependencies on one side, and business logic on the other side. Or put another way, the way to figure out the separation is by doing as much as you can without mutation, and then encapsulating the mutation separately. Functional core — Many fast unit tests. Imperative shell — Few integration tests

https://www.youtube.com/watch?v=yTkzNHF6rMs

@wisnukurniawan
wisnukurniawan / HD.txt
Last active June 9, 2021 00:27 — forked from lexrus/HD.txt
All WWDC 2013 Session Videos URLs in https://developer.apple.com/wwdc/videos/ dumped with Chrome. You can download these videos **without** a Apple developer account by running the download.sh script. There is also a sample code downloader here: https://github.com/jfahrenkrug/WWDC-Downloader
http://devstreaming-cdn.apple.com/videos/wwdc/2013/710xfx3xn8197k4i9s2rvyb/710/710-HD.mov?dl=1
http://devstreaming-cdn.apple.com/videos/wwdc/2013/202xdx2x47ezp1wein/202/202-HD.mov?dl=1
http://devstreaming-cdn.apple.com/videos/wwdc/2013/200xdx2x35e1pxiinm/200/200-HD.mov?dl=1
http://devstreaming-cdn.apple.com/videos/wwdc/2013/413xdx5x97itb5ek4yex3r7/413/413-HD.mov?dl=1
http://devstreaming-cdn.apple.com/videos/wwdc/2013/612xax4xx65z1ervy5np1qb/612/612-HD.mov?dl=1
http://devstreaming-cdn.apple.com/videos/wwdc/2013/221xex4xxohbllf4hblyngt/221/221-HD.mov?dl=1
http://devstreaming-cdn.apple.com/videos/wwdc/2013/220xbx4xipaxfd1tggxuoib/220/220-HD.mov?dl=1
http://devstreaming-cdn.apple.com/videos/wwdc/2013/711xcx4x8yuutk8sady6t9f/711/711-HD.mov?dl=1
http://devstreaming-cdn.apple.com/videos/wwdc/2013/404xbx2xvp1eaaqonr8zokm/404/404-HD.mov?dl=1
http://devstreaming-cdn.apple.com/videos/wwdc/2013/505xbx4xrgmhwby4oiwkrpp/505/505-HD.mov?dl=1
https://devstreaming-cdn.apple.com/videos/wwdc/2017/604r7b4rnjq86/604/604_hd_scenekit_whats_new.mp4?dl=1
https://devstreaming-cdn.apple.com/videos/wwdc/2017/603anuihzisyb2a3/603/603_hd_vr_with_metal_2.mp4?dl=1
https://devstreaming-cdn.apple.com/videos/wwdc/2017/507koao27wdpt/507/507_hd_capturing_depth_in_iphone_photography.mp4?dl=1
https://devstreaming-cdn.apple.com/videos/wwdc/2017/514tjrrgnguh4k/514/514_hd_error_handling_best_practices_for_http_live_streaming.mp4?dl=1
https://devstreaming-cdn.apple.com/videos/wwdc/2017/515vy4sl7iu70/515/515_hd_hls_authoring_update.mp4?dl=1
https://devstreaming-cdn.apple.com/videos/wwdc/2017/513fzgbviu23l/513/513_hd_high_efficiency_image_file_format.mp4?dl=1
https://devstreaming-cdn.apple.com/videos/wwdc/2017/506jgz9rblchh/506/506_hd_vision_framework_building_on_core_ml.mp4?dl=1
https://devstreaming-cdn.apple.com/videos/wwdc/2017/505e36yrkhhfv/505/505_hd_whats_new_in_photos_apis.mp4?dl=1
https://devstreaming-cdn.apple.com/videos/wwdc/2017/707h2gkb95cx1l/707/707_hd_advances_i