41554 blogs · [ { "id": "01a0879f-8a2f-70bd-9ed4-0c8eaae8cbf2", "title": "Shareshot Update — Month 2", "url": "https://marcpalmer.net/shareshot-update-month-2/", "published_at": "2024-10-17T16:07:26+00:00" }, { "id": "01a0879f-8a2f-70bd-9ed4-0c8eab41aa3b", "title": "I feel like I’m taking crazy pills. What is Core Image doing with my alpha channel and colour management?", "url": "https://marcpalmer.net/i-feel-like-im-taking-crazy-pills-what-is-core-image-doing-with-my-alpha-channel-and-colour-management/", "published_at": "2024-10-09T20:52:13+00:00" }, { "id": "01a0879f-8a2f-70bd-9ed4-0c8eac38fcea", "title": "Shareshot’s Launch Week", "url": "https://marcpalmer.net/shareshots-launch-week/", "published_at": "2024-08-20T17:53:07+00:00" }, { "id": "01a0879f-8a2f-70bd-9ed4-0c8eacf66be9", "title": "Confused by appintentsmetadataprocessor errors in Xcode 16?", "url": "https://marcpalmer.net/changes-in-app-intents-pre-processing-causing-confusing-errors-in-xcode-16/", "published_at": "2024-07-26T17:59:29+00:00" }, { "id": "01a0879f-8a2f-70bd-9ed4-0c8ead078202", "title": "My Mac History", "url": "https://marcpalmer.net/my-mac-history/", "published_at": "2024-01-25T11:38:02+00:00" }, { "id": "01a0879f-8a2f-70bd-9ed4-0c8ead445855", "title": "iPad Pros Podcast Ep.177 — Tim and I talk subtitling videos on iPad", "url": "https://marcpalmer.net/ipad-pros-podcast-ep-177-tim-and-i-talk-subtitling-videos-on-ipad/", "published_at": "2023-08-03T16:10:43+00:00" }, { "id": "01a0879f-8a2f-70bd-9ed4-0c8eadfc52e0", "title": "We tried using video ads for Indie App user acquisition. Are TikTok ads a scam?", "url": "https://marcpalmer.net/using-video-ads-for-indie-app-user-acquisition-are-tiktok-ads-a-scam/", "published_at": "2023-07-01T14:23:58+00:00" }, { "id": "01a0879f-8a2f-70bd-9ed4-0c8eae941e3c", "title": "Radar: FB9697336 – ScrollViewReader scrollTo scrolls incorrectly sometimes, affected by unrelated padding", "url": "https://marcpalmer.net/radar-fb9697336-scrollviewreader-scrollto-scrolls-incorrectly-sometimes-affected-by-unrelated-padding/", "published_at": "2021-10-29T19:13:20+00:00" }, { "id": "01a0879f-8a2f-70bd-9ed4-0c8eae94a7be", "title": "Is your SwiftUI ScrollView scrolling to the wrong location in iOS 15?", "url": "https://marcpalmer.net/is-your-swiftui-scrollview-scrolling-to-the-wrong-location-in-ios-15/", "published_at": "2021-10-29T18:24:46+00:00" }, { "id": "01a0879f-8a2f-70bd-9ed4-0c8eaf4c3a90", "title": "Beware the cancelled interactive dismiss of SwiftUI popovers", "url": "https://marcpalmer.net/beware-the-cancelled-interactive-dismiss-of-swiftui-popovers/", "published_at": "2020-11-21T18:10:56+00:00" }, { "id": "01a0bb52-1c8c-70c8-bd42-0ad98745a332", "title": "Popovers on iPad in SwiftUI render ugly corner aliasing when forcing a colorScheme", "url": "https://marcpalmer.net/popovers-on-ipad-in-swiftui-render-ugly-corner-aliasing-when-forcing-a-colorscheme/", "published_at": "2020-11-20T18:48:15+00:00" }, { "id": "01a0bb52-1c8c-70c8-bd42-0ad9880230b9", "title": "Using SwiftUI .hoverEffect modifier on iPad causes doubling of visuals", "url": "https://marcpalmer.net/using-swiftui-hovereffect-modifier-on-ipad-causes-doubling-of-visuals/", "published_at": "2020-11-19T18:36:40+00:00" }, { "id": "01a0bb52-1c8c-70c8-bd42-0ad988b5a349", "title": "Sheets in SwiftUI on iPhone do not make the presenting view shrink behind", "url": "https://marcpalmer.net/sheets-in-swiftui-on-iphone-do-not-make-the-presenting-view-shrink-behind/", "published_at": "2020-11-18T18:28:14+00:00" }, { "id": "01a0bb52-1c8d-711f-bcdd-8a6a1b85d48d", "title": "Are you seeing a weird change in text and image styles when you dismiss a SwiftUI popover?", "url": "https://marcpalmer.net/are-you-seeing-a-weird-change-in-text-and-image-styles-when-you-dismiss-a-swiftui-popover/", "published_at": "2020-11-17T18:21:50+00:00" }, { "id": "01a0bb52-1c8d-711f-bcdd-8a6a1c1ce0b3", "title": "SwiftUI Popover replaces existing popover without moving it or pointing it at the correct view", "url": "https://marcpalmer.net/swiftui-popover-replaces-existing-popover-without-moving-it-or-pointing-it-at-the-correct-view/", "published_at": "2020-11-16T18:18:14+00:00" }, { "id": "01a0bb52-1c8d-711f-bcdd-8a6a1c80b5dd", "title": "SwiftUI adaptive Popover swipe-to-dismiss is broken", "url": "https://marcpalmer.net/swiftui-adaptive-popover-swipe-to-dismiss-is-broken/", "published_at": "2020-11-15T18:13:45+00:00" }, { "id": "01a0bb52-1c8d-711f-bcdd-8a6a1caba406", "title": "Colouring the arrow of a Popover in SwiftUI", "url": "https://marcpalmer.net/colouring-the-arrow-of-a-popover-in-swiftui/", "published_at": "2020-11-14T18:05:25+00:00" }, { "id": "01a0bb52-1c8d-711f-bcdd-8a6a1d58955d", "title": "Me: “Why is my SwiftUI view not updating when the model changes?”", "url": "https://marcpalmer.net/me-why-is-my-swiftui-view-not-updating-when-the-model-changes/", "published_at": "2020-11-13T18:57:15+00:00" }, { "id": "01a0bb52-1c8d-711f-bcdd-8a6a1d6579ec", "title": "xCloud and its ilk should never be allowed on the App Store", "url": "https://marcpalmer.net/xcloud-and-its-ilk-should-never-be-allowed-on-the-app-store/", "published_at": "2020-08-11T14:12:22+00:00" }, { "id": "01a0bb52-1c8d-711f-bcdd-8a6a1e55c99f", "title": "Remembering Tim Smith of Cardiacs", "url": "https://marcpalmer.net/remembering-tim-smith-of-cardiacs/", "published_at": "2020-07-22T13:42:41+00:00" }, { "id": "01a0bb59-a94e-72da-8d2a-70bb8548260a", "title": "A funny thing happened at WWDC 2019", "url": "https://marcpalmer.net/a-funny-thing-happened-at-wwdc-2019/", "published_at": "2020-06-03T13:58:45+00:00" }, { "id": "01a0bb59-a94e-72da-8d2a-70bb85a6983a", "title": "What Apple could learn from Nintendo Switch", "url": "https://marcpalmer.net/what-apple-could-learn-from-nintendo-switch/", "published_at": "2020-05-21T12:11:15+00:00" }, { "id": "01a0bb59-a94e-72da-8d2a-70bb8648e769", "title": "We’re all worried that voting Green in Stroud we’ll get a Tory MP again
", "url": "https://marcpalmer.net/votegreen/", "published_at": "2019-11-25T22:49:48+00:00" }, { "id": "01a0bb59-a94e-72da-8d2a-70bb86e56751", "title": "Overview of the Climate Change hustings in Stroud", "url": "https://marcpalmer.net/overview-of-the-climate-change-hustings-in-stroud/", "published_at": "2019-11-20T14:02:04+00:00" }, { "id": "01a0bb59-a94e-72da-8d2a-70bb870fa578", "title": "The Making of Bloop — OMG the logs are too noisy!", "url": "https://marcpalmer.net/the-making-of-bloop-omg-the-logs-are-too-noisy/", "published_at": "2019-08-29T16:00:04+00:00" }, { "id": "01a0bb59-a94e-72da-8d2a-70bb872dcbd0", "title": "The Making of Bloop – Converting some code to Flint Actions", "url": "https://marcpalmer.net/the-making-of-bloop-converting-some-code-to-flint-actions/", "published_at": "2019-08-26T15:23:12+00:00" }, { "id": "01a0bb59-a94e-72da-8d2a-70bb87c14af8", "title": "The Making of Bloop — SwiftUI Shenanigans", "url": "https://marcpalmer.net/the-making-of-bloop-swiftui-shenanigans/", "published_at": "2019-08-21T15:10:07+00:00" }, { "id": "01a0bb59-a94e-72da-8d2a-70bb889c9289", "title": "Our First Electric Car: A week with a petrol SUV made us yearn for our electric LEAF", "url": "https://marcpalmer.net/our-first-electric-car-a-week-with-a-petrol-suv-made-us-yearn-for-our-electric-leaf/", "published_at": "2019-08-20T17:48:51+00:00" }, { "id": "01a0bb59-a94e-72da-8d2a-70bb8937c7fb", "title": "Our First Electric Car — Adventures in Charging", "url": "https://marcpalmer.net/our-first-electric-car-adventures-in-charging/", "published_at": "2019-06-22T15:24:41+00:00" }, { "id": "01a0bb59-a94e-72da-8d2a-70bb89ddb0f2", "title": "Our First Electric Car — Real world range & charging", "url": "https://marcpalmer.net/our-first-electric-car-real-world-range-charging/", "published_at": "2019-05-20T13:34:59+00:00" }, { "id": "01a0bb61-cd42-7289-91fb-33858ce3417a", "title": "Our First Electric Car: The Decision Process and Purchasing", "url": "https://marcpalmer.net/our-first-electric-car-the-decision-process-and-purchasing/", "published_at": "2019-05-13T20:01:25+00:00" }, { "id": "01a0bb61-cd42-7289-91fb-33858d6d8c12", "title": "How I added a Siri Shortcut to an existing app in under an hour* using the open source framework Flint", "url": "https://marcpalmer.net/adding-a-siri-shortcut-to-an-existing-app-in-under-an-hour-using-the-open-source-framework-flint/", "published_at": "2019-04-23T09:44:11+00:00" }, { "id": "01a0bb61-cd42-7289-91fb-33858e32256c", "title": "How to save $1000s on your iOS development costs by making design compromises", "url": "https://marcpalmer.net/how-to-save-1000s-on-your-ios-development-costs-by-making-design-compromises/", "published_at": "2019-02-25T16:58:16+00:00" }, { "id": "01a0bb61-cd42-7289-91fb-33858eed5786", "title": "A theory of Mac future", "url": "https://marcpalmer.net/a-theory-of-mac-future/", "published_at": "2018-11-21T21:56:38+00:00" }, { "id": "01a0bb61-cd42-7289-91fb-33858f606a0e", "title": "My visit to iOSDevUK 2018", "url": "https://marcpalmer.net/my-visit-to-iosdevuk-2018/", "published_at": "2018-09-23T14:25:34+00:00" }, { "id": "01a0bb61-cd42-7289-91fb-33858fd0fb33", "title": "My interview on iDeveloper podcast, and the new Flint site", "url": "https://marcpalmer.net/my-interview-on-ideveloper-podcast-and-the-new-flint-site/", "published_at": "2018-06-29T12:38:11+00:00" }, { "id": "01a0bb61-cd42-7289-91fb-33858ff4048c", "title": "Cool new things the WWDC 2018 Keynote could bring to the Flint framework", "url": "https://marcpalmer.net/cool-new-things-the-wwdc-2018-keynote-could-bring-to-the-flint-framework/", "published_at": "2018-06-05T22:21:24+00:00" }, { "id": "01a0bb61-cd42-7289-91fb-338590150295", "title": "Hacking my shell prompt so I make fewer mistakes working with Xcode projects", "url": "https://marcpalmer.net/hacking-my-shell-prompt-so-i-make-less-mistakes-working-with-xcode-projects/", "published_at": "2018-05-30T11:44:10+00:00" }, { "id": "01a0bb61-cd42-7289-91fb-33859080ea34", "title": "Flint’s new Feature Constraints DSL", "url": "https://marcpalmer.net/flints-new-feature-constraints-dsl/", "published_at": "2018-05-03T20:18:00+00:00" }, { "id": "01a0bb61-cd42-7289-91fb-33859164e2f8", "title": "Using conditional conformances to improve API ergonomics in Flint", "url": "https://marcpalmer.net/using-conditional-conformances-to-improve-api-ergonomics-in-flint/", "published_at": "2018-04-27T16:22:28+00:00" }, { "id": "01a0bb68-0aaa-7229-93b7-78009a3c88f1", "title": "You’ll never believe what held up Soundproof development for months", "url": "https://marcpalmer.net/youll-never-believe-what-held-up-soundproof-development-for-months/", "published_at": "2017-10-01T22:13:35+00:00" }, { "id": "01a0bb68-0aaa-7229-93b7-78009a5727d3", "title": "AirPods are great but… could be smarter", "url": "https://marcpalmer.net/airpods-are-great-but-could-be-smarter/", "published_at": "2017-06-30T10:51:30+00:00" }, { "id": "01a0bb68-0aaa-7229-93b7-78009a59758a", "title": "This page contains 0 facts", "url": "https://marcpalmer.net/this-page-contains-0-facts/", "published_at": "2017-02-17T12:35:17+00:00" }, { "id": "01a0bb68-0aaa-7229-93b7-78009b4edee3", "title": "We need “Protest Mode” on phones", "url": "https://marcpalmer.net/we-need-protest-mode-on-phones/", "published_at": "2017-01-30T10:32:15+00:00" }, { "id": "01a0bb68-0aaa-7229-93b7-78009c08b614", "title": "The Mac is back?", "url": "https://marcpalmer.net/the-mac-is-back/", "published_at": "2016-11-04T10:37:36+00:00" }, { "id": "01a0bb68-0aaa-7229-93b7-78009cdd5256", "title": "Curious corners of Swift", "url": "https://marcpalmer.net/curious-corners-of-swift/", "published_at": "2016-09-01T09:03:42+00:00" }, { "id": "01a0bb68-0aaa-7229-93b7-78009d81af50", "title": "One possible future for Apple Watch", "url": "https://marcpalmer.net/one-possible-future-for-apple-watch/", "published_at": "2016-05-10T10:33:11+00:00" }, { "id": "01a0bb68-0aaa-7229-93b7-78009e5b3d30", "title": "Our WWDC keynote party (in ENGLAND)", "url": "https://marcpalmer.net/our-wwdc-keynote-party-in-england/", "published_at": "2016-05-05T09:40:54+00:00" }, { "id": "01a0bb68-0aaa-7229-93b7-78009f5029c9", "title": "Suggested iPhone Lock Screen improvement", "url": "https://marcpalmer.net/suggested-iphone-lock-screen-improvement/", "published_at": "2016-05-05T09:10:17+00:00" }, { "id": "01a0bb68-0aaa-7229-93b7-78009fc03e45", "title": "iOS development is exciting", "url": "https://marcpalmer.net/ios-development-is-exciting/", "published_at": "2015-08-17T13:18:31+00:00" }, { "id": "01a0bb6c-2ebe-739e-a779-7f6212a4b959", "title": "“Where we’re going, we don’t need… [any road signs]”", "url": "https://marcpalmer.net/where-were-going-we-dont-need-any-road-signs/", "published_at": "2015-08-14T13:12:27+00:00" }, { "id": "01a0bb6c-2ebe-739e-a779-7f621380cbc9", "title": "Google’s industrial espionage potential", "url": "https://marcpalmer.net/googles-industrial-espionage-potential/", "published_at": "2015-08-12T14:00:36+00:00" }, { "id": "01a0bb6c-2ebe-739e-a779-7f62140b3419", "title": "Bitcode. I just don’t buy it.", "url": "https://marcpalmer.net/bitcode-i-just-dont-buy-it/", "published_at": "2015-07-14T14:56:20+00:00" }, { "id": "01a0bb6c-2ebe-739e-a779-7f621414bfac", "title": "The Microsoft years – don’t be mad John", "url": "https://marcpalmer.net/the-microsoft-years-dont-be-mad-john/", "published_at": "2015-07-13T10:23:44+00:00" }, { "id": "01a0bb6c-2ebe-739e-a779-7f6214df94ee", "title": "Interview – “Revealed: Soundproof”", "url": "https://marcpalmer.net/interview-revealed-soundproof/", "published_at": "2015-05-29T14:42:09+00:00" }, { "id": "01a0bb6c-2ebe-739e-a779-7f62158d7996", "title": "Going deep with Accessibility in Soundproof", "url": "https://marcpalmer.net/going-deep-with-accessibility-in-soundproof/", "published_at": "2014-12-01T14:50:38+00:00" }, { "id": "01a0bb6c-2ebe-739e-a779-7f6215d886d6", "title": "Logging in Swift without overhead in production", "url": "https://marcpalmer.net/logging-in-swift-without-overhead-in-production/", "published_at": "2014-10-29T15:14:00+00:00" }, { "id": "01a0bb6c-2ebe-739e-a779-7f6216b4642d", "title": "The Making of Soundproof, part 3: Unlocking features with In-App Purchases", "url": "https://marcpalmer.net/the-making-of-soundproof-part-3-unlocking-features-with-in-app-purchases/", "published_at": "2014-10-20T14:00:38+00:00" }, { "id": "01a0bb6c-2ebe-739e-a779-7f6217b1a932", "title": "The Making of Soundproof, part 2: Repeat Markers", "url": "https://marcpalmer.net/the-making-of-soundproof-part-2-repeat-markers/", "published_at": "2014-10-17T12:46:14+00:00" }, { "id": "01a0bb6c-2ebe-739e-a779-7f6217e08828", "title": "The Making of Soundproof, part 1: iPhone 6 made our huge play button look tiny", "url": "https://marcpalmer.net/the-making-of-soundproof-part-1-iphone-6-made-our-huge-play-button-look-tiny/", "published_at": "2014-10-13T10:00:29+00:00" }, { "id": "01a0bb70-206a-725d-9f97-c970ba0f482a", "title": "My first public iOS app is now available", "url": "https://marcpalmer.net/my-first-public-ios-app-is-now-available/", "published_at": "2014-10-01T10:41:18+00:00" }, { "id": "01a0bb70-206a-725d-9f97-c970bab60a96", "title": "Apple Watch and intimacy", "url": "https://marcpalmer.net/apple-watch-and-intimacy/", "published_at": "2014-09-12T14:20:39+00:00" }, { "id": "01a0bb70-206a-725d-9f97-c970bb9ede35", "title": "Let’s quickly bash this one out", "url": "https://marcpalmer.net/lets-quickly-bash-this-one-out/", "published_at": "2014-08-15T15:58:49+00:00" }, { "id": "01a0bb70-206a-725d-9f97-c970bc6a556b", "title": "Animation timings", "url": "https://marcpalmer.net/animation-timings/", "published_at": "2014-08-12T21:34:48+00:00" }, { "id": "01a0bb70-206a-725d-9f97-c970bc97aec5", "title": "Trying out indie dev on my pygmy pony", "url": "https://marcpalmer.net/trying-out-indie-dev-on-my-pygmy-pony/", "published_at": "2014-08-10T14:35:20+00:00" }, { "id": "01a0bb70-206a-725d-9f97-c970bd952bc1", "title": "Is “Unlock Everything” a mistake?", "url": "https://marcpalmer.net/is-unlock-everything-a-mistake/", "published_at": "2014-08-06T22:03:56+00:00" }, { "id": "01a0bb70-206a-725d-9f97-c970be6e3781", "title": "The journey from Objective-C to Groovy", "url": "https://marcpalmer.net/the-journey-from-objective-c-to-groovy/", "published_at": "2014-06-17T10:54:52+00:00" }, { "id": "01a0bb70-206a-725d-9f97-c970bf59e682", "title": "UITableView move handles not showing?", "url": "https://marcpalmer.net/uitableview-move-handles-not-showing/", "published_at": "2014-05-20T22:09:21+00:00" }, { "id": "01a0bb70-206a-725d-9f97-c970c04f5067", "title": "Proposal: How to bring upgrade pricing to your iOS and Mac apps", "url": "https://marcpalmer.net/proposal-how-to-bring-upgrade-pricing-to-your-ios-and-mac-apps/", "published_at": "2014-05-19T12:17:16+00:00" }, { "id": "01a0bb70-206a-725d-9f97-c970c13fdbe4", "title": "Kids’ App Review: Rom and the Whale of Dreams", "url": "https://marcpalmer.net/kids-app-review-rom-and-the-whale-of-dreams/", "published_at": "2014-05-08T16:15:34+00:00" }, { "id": "01a0bb73-a247-72fe-9638-440c74d95baf", "title": "Building a wireless speaker system with just an Apple TV", "url": "https://marcpalmer.net/building-a-wireless-speaker-system-with-just-an-apple-tv/", "published_at": "2014-05-01T16:22:37+00:00" }, { "id": "01a0bb73-a247-72fe-9638-440c74f88f5e", "title": "The Journey from Groovy to Objective-C", "url": "https://marcpalmer.net/the-journey-from-groovy-to-objective-c/", "published_at": "2014-04-25T13:53:44+00:00" }, { "id": "01a0bb73-a247-72fe-9638-440c75129bca", "title": "Faces", "url": "https://marcpalmer.net/faces/", "published_at": "2014-04-17T16:28:50+00:00" }, { "id": "01a0bb73-a247-72fe-9638-440c75758ad6", "title": "It’s been a while…", "url": "https://marcpalmer.net/its-been-a-while/", "published_at": "2014-03-26T14:19:33+00:00" }, { "id": "01a0bb73-a247-72fe-9638-440c763999c1", "title": "Leading horses to water", "url": "https://marcpalmer.net/leading-horses-to-water/", "published_at": "2013-10-01T07:28:36+00:00" }, { "id": "01a0bb73-a247-72fe-9638-440c76f44f8e", "title": "Apple’s new anti-theft measures will cause pain for thousands", "url": "https://marcpalmer.net/apples-new-anti-theft-measures-will-cause-pain-for-thousands/", "published_at": "2013-08-13T13:36:20+00:00" }, { "id": "01a0bb73-a247-72fe-9638-440c77566958", "title": "A look at Vesper’s UI", "url": "https://marcpalmer.net/a-look-at-vespers-ui/", "published_at": "2013-06-07T12:35:56+00:00" }, { "id": "01a0bb73-a247-72fe-9638-440c778bea1b", "title": "Debugging tools for OpenGL in XCode", "url": "https://marcpalmer.net/debugging-tools-opengl-in-xcode/", "published_at": "2013-05-23T11:25:34+00:00" }, { "id": "01a0bb73-a247-72fe-9638-440c787918ab", "title": "Podcasts for iOS developers making their own apps", "url": "https://marcpalmer.net/podcasts-for-ios-developers-making-their-own-apps/", "published_at": "2013-05-22T20:16:12+00:00" }, { "id": "01a0bb73-a247-72fe-9638-440c796a66a0", "title": "Why is my button triggering the wrong gesture?", "url": "https://marcpalmer.net/why-is-my-button-triggering-the-wrong-gesture/", "published_at": "2013-04-29T11:46:35+00:00" }, { "id": "01a0bb76-e249-73d6-a381-cd2e45c4c114", "title": "Status Board for iPad by Panic", "url": "https://marcpalmer.net/status-board-for-ipad-by-panic/", "published_at": "2013-04-10T13:13:07+00:00" }, { "id": "01a0bb76-e249-73d6-a381-cd2e46b49570", "title": "Facebook vs. The world", "url": "https://marcpalmer.net/facebook-vs-the-world/", "published_at": "2013-04-08T12:50:52+00:00" }, { "id": "01a0bb76-e249-73d6-a381-cd2e46d280f0", "title": "What will Dropbox become?", "url": "https://marcpalmer.net/what-will-dropbox-become/", "published_at": "2013-04-03T20:55:20+00:00" }, { "id": "01a0bb76-e249-73d6-a381-cd2e47d1c2cc", "title": "Trying out Philips Hue lights", "url": "https://marcpalmer.net/trying-out-philips-hue-lights/", "published_at": "2013-04-03T15:29:51+00:00" }, { "id": "01a0bb76-e249-73d6-a381-cd2e485f677b", "title": "Starting a new blog", "url": "https://marcpalmer.net/starting-a-new-blog/", "published_at": "2013-04-03T12:14:43+00:00" } ] posts Claim your blog
Back to marcpalmer.net
Blog · corpus.blog/blogs/marcpalmer.net/posts

marcpalmer.net

marcpalmer.net

2024

2023

2021

2020

2019

2018

2017

2016

2015

2014

2013