{"id":2422,"date":"2022-02-06T15:34:27","date_gmt":"2022-02-06T20:34:27","guid":{"rendered":"https:\/\/michaelrowe01.com\/?p=2422"},"modified":"2022-12-15T06:46:00","modified_gmt":"2022-12-15T11:46:00","slug":"a-potential-plan-for-2022","status":"publish","type":"post","link":"https:\/\/michaelrowe01.com\/index.php\/personal-softwareandit\/a-potential-plan-for-2022\/","title":{"rendered":"A potential plan for 2022"},"content":{"rendered":"\n\n\n<p>As I mentioned <a href=\"https:\/\/michaelrowe01.com\/index.php\/2021\/09\/12\/what-is-a-senior-technical-staff-member\/\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"a while back\">a while back<\/a>, I took on a much more technical role in my day job recently.  I am working on IBM&#8217;s &#8220;<a href=\"https:\/\/www.ibm.com\/products\/engineering-lifecycle-management\" target=\"_blank\" rel=\"noreferrer noopener nofollow\" title=\"Engineering Lifecycle Management\">Engineering Lifecycle Management<\/a>&#8221; product offering as a solution architect.  My primary focus is on our reusable components, which includes many of our APIs.  <\/p>\n\n\n\n<p>APIs are the building blocks of modern applications, and ELM has had APIs since its foundation many years ago.  Many of the APIs are build around the concept of <a href=\"https:\/\/open-services.net\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"Open-Services for Lifecycle Collaboration\">Open-Services for Lifecycle Collaboration<\/a> or OSLC.  The OSLC standard utilizes <a href=\"https:\/\/www.w3.org\/RDF\/\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"RDF\">RDF<\/a> as the format for its payloads; which is unfamiliar to many people.<\/p>\n\n\n\n<p>RDF allows for a semantically rich representation of data.  <\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"swift-playgrounds\">Swift Playgrounds<\/h4>\n\n\n\n<p>This weekend I wanted to see if I could make a very simple (and quick) iOS application utilizing Swift Playgrounds to read the &#8220;root services&#8221; document from any ELM application.  I had created a iOS app for my own use to do this in the past, utilizing a Swift Package by Gregory Williams called <a href=\"https:\/\/github.com\/kasei\/swift-serd\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"serd-swift\">serd-swift<\/a>.  This is a simple wrapper for the fast C library created by David Rollibard &#8211; <a href=\"http:\/\/drobilla.net\/software\/serd.html\" target=\"_blank\" rel=\"noreferrer noopener\" title=\"serd\">serd<\/a>.<\/p>\n\n\n\n<p>Of course, like many ideas dreamed up in the shower, this project was not going to be as simple as I wanted.  I started by creating a simple iOS app in Swift Playgrounds and adding in the above package.  At this point Swift Playgrounds complained that it could not compile &#8220;C&#8221; code.<\/p>\n\n\n\n<p>The funny thing is that Swift Playgrounds didn&#8217;t just come out and say that the Package was the problem, the message showed up as the error &#8211; &#8220;The target type, &#8220;Clang Target&#8221;, is not supported.  The good news is, I used to write objective C on the Mac, so I knew this meant, the &#8220;C&#8221; programming Language.<\/p>\n\n\n\n<p>I knew that in advance but had totally forgotten about it.  So now my plan is to try to write the original serd library by David into a native Swift Package.  This won&#8217;t be easy, and I plan to post updates on my blog as I progress.  <\/p>\n\n\n\n<p>Stay tuned, as this may take a while.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>As I mentioned a while back, I took on a much more technical role in my day job recently. I am working on IBM&#8217;s &#8220;Engineering Lifecycle Management&#8221; product offering as a solution architect. My primary focus is on our reusable components, which includes many of our APIs. APIs are the building blocks of modern applications, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_wp_convertkit_post_meta":{"form":"-1","landing_page":"0","tag":"0","restrict_content":"0"},"hide_page_title":"","footnotes":""},"categories":[597,3],"tags":[607,576],"class_list":["post-2422","post","type-post","status-publish","format-standard","hentry","category-ibm-elm","category-personal-softwareandit","tag-ci-cd","tag-oslc"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/michaelrowe01.com\/index.php\/wp-json\/wp\/v2\/posts\/2422","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/michaelrowe01.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/michaelrowe01.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/michaelrowe01.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/michaelrowe01.com\/index.php\/wp-json\/wp\/v2\/comments?post=2422"}],"version-history":[{"count":2,"href":"https:\/\/michaelrowe01.com\/index.php\/wp-json\/wp\/v2\/posts\/2422\/revisions"}],"predecessor-version":[{"id":2482,"href":"https:\/\/michaelrowe01.com\/index.php\/wp-json\/wp\/v2\/posts\/2422\/revisions\/2482"}],"wp:attachment":[{"href":"https:\/\/michaelrowe01.com\/index.php\/wp-json\/wp\/v2\/media?parent=2422"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/michaelrowe01.com\/index.php\/wp-json\/wp\/v2\/categories?post=2422"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/michaelrowe01.com\/index.php\/wp-json\/wp\/v2\/tags?post=2422"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}