{"id":797,"date":"2010-10-25T10:00:08","date_gmt":"2010-10-25T09:00:08","guid":{"rendered":"http:\/\/blog.eweibel.net\/?p=797"},"modified":"2011-08-22T15:18:20","modified_gmt":"2011-08-22T13:18:20","slug":"nhibernate-day-in-bologna","status":"publish","type":"post","link":"https:\/\/blog.eweibel.net\/?p=797","title":{"rendered":"NHibernate day in Bologna"},"content":{"rendered":"<p><a href=\"http:\/\/blog.eweibel.net\/wp-content\/uploads\/NHDay_3.png\"><img loading=\"lazy\" decoding=\"async\" style=\"border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; margin-left: 0px; border-left-width: 0px; margin-right: 0px\" title=\"NHDay_3\" border=\"0\" alt=\"NHDay_3\" align=\"right\" src=\"http:\/\/blog.eweibel.net\/wp-content\/uploads\/NHDay_3_thumb.png\" width=\"240\" height=\"71\" \/><\/a>During a whole day several speakers spoke about NHibernate and related topics. This conference was in Bologna and was very well prepared and organized.<\/p>\n<p>You could watch the slides and the videos of the sessions here. I joined the following sessions:<\/p>\n<p><strong>Keynote<\/strong><\/p>\n<p><a href=\"http:\/\/codeclimber.net.nz\/\" target=\"_blank\">Simone Chiaretta<\/a> opened the conference and showed during his keynote how the day is organized. But he couldn\u2019t resist to make a little joke about us Swiss folk which isn\u2019t part of the European union, so basically we shouldn\u2019t be here ;-).<\/p>\n<p>On the next graphic you see a summary about the attendees.<\/p>\n<p><a href=\"http:\/\/blog.eweibel.net\/wp-content\/uploads\/image8.png\"><img loading=\"lazy\" decoding=\"async\" style=\"border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px\" title=\"image\" border=\"0\" alt=\"image\" src=\"http:\/\/blog.eweibel.net\/wp-content\/uploads\/image_thumb8.png\" width=\"300\" height=\"175\" \/><\/a><\/p>\n<p>Actually there were around 150 attendees, two rooms with parallel sessions. In the main room mainly <a href=\"http:\/\/twitter.com\/#!\/ayende\" target=\"_blank\">Ayende<\/a> hold his sessions.<\/p>\n<p>Links: Slides, <a href=\"http:\/\/www.ustream.tv\/recorded\/10088190\" target=\"_blank\">Video<\/a><\/p>\n<p><strong>What\u2019s new in NH 3.0<\/strong><\/p>\n<p><a href=\"http:\/\/ayende.com\/Blog\/default.aspx\" target=\"_blank\"><img loading=\"lazy\" decoding=\"async\" style=\"border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px\" title=\"P1030010\" border=\"0\" alt=\"P1030010\" align=\"right\" src=\"http:\/\/blog.eweibel.net\/wp-content\/uploads\/P1030010.jpg\" width=\"304\" height=\"229\" \/> Oren Eini<\/a>, aka <a href=\"http:\/\/twitter.com\/#!\/ayende\" target=\"_blank\">Ayende<\/a>,&#160; showed in this session what\u2019s new in NHibernate 3.0. For me there wasn\u2019t a lot new, also because I hold <a href=\"http:\/\/blog.eweibel.net\/?p=761\" target=\"_blank\">two presentation at the .Net User group Bern<\/a> about NHibernate in august.<\/p>\n<p>Highlights in this session:<\/p>\n<ul>\n<li>New book: NHibernate 3.0 Cookbook by Jason Dentler <\/li>\n<li>NHibernate is a matured technology: It is 7 years old <\/li>\n<li>New LINQ Provider in NHibernate (Ayende said he suffered to write the first implementation, it wasn\u2019t any fun to do it) <\/li>\n<li>NHibernate for medium trust environments <\/li>\n<li>Query Over <\/li>\n<li>Extensions in the Criteria API <\/li>\n<li>Strongly typed configuration <\/li>\n<li>Dependencies between NHibernate and Log4net removed <\/li>\n<li>Over 170 issues fixed <\/li>\n<\/ul>\n<p>After the presentation I asked Ayende if the lazy properties aren\u2019t in NHibernate 3.0. But Ayende just forgot to mention them so he did it in his next session.<\/p>\n<p>Links: Slides, <a href=\"http:\/\/www.ustream.tv\/recorded\/10088288\" target=\"_blank\">Video<\/a><\/p>\n<p><strong>Loosely Coupled Complexity &#8211; Unleash the power of your domain model, using Event Sourcing and CQRS<\/strong><\/p>\n<p><a href=\"http:\/\/blog.eweibel.net\/wp-content\/uploads\/P1030022.jpg\"><img loading=\"lazy\" decoding=\"async\" style=\"border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px\" title=\"P1030022\" border=\"0\" alt=\"P1030022\" align=\"right\" src=\"http:\/\/blog.eweibel.net\/wp-content\/uploads\/P1030022_thumb.jpg\" width=\"304\" height=\"229\" \/><\/a> This session by <a href=\"http:\/\/ziobrando.blogspot.com\/\" target=\"_blank\">Alberto Brandolini<\/a> was very interesting and entertaining. The topic was about CQRS. It is currently a hot topic, so I took the chance to learn a bit more about it. There was a lot of content but the presentation run a bit out of time.<\/p>\n<p>Alberto asked during his presentation a lot of interesting questions and showed by very nice slides (only the beamer had sometimes problems with the colors) how to transform a classical layered architecture to a CQRS architecture. The following two graphics show the transformation. On the left you see the traditional architecture and on the left the CQRS architecture:<\/p>\n<p>&#160;<a href=\"http:\/\/blog.eweibel.net\/wp-content\/uploads\/image4.png\"><img loading=\"lazy\" decoding=\"async\" style=\"border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px\" title=\"image\" border=\"0\" alt=\"image\" src=\"http:\/\/blog.eweibel.net\/wp-content\/uploads\/image_thumb4.png\" width=\"294\" height=\"222\" \/><\/a> <a href=\"http:\/\/blog.eweibel.net\/wp-content\/uploads\/image5.png\"><img loading=\"lazy\" decoding=\"async\" style=\"border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px\" title=\"image\" border=\"0\" alt=\"image\" src=\"http:\/\/blog.eweibel.net\/wp-content\/uploads\/image_thumb5.png\" width=\"294\" height=\"222\" \/><\/a><\/p>\n<p>Highlights in this session:<\/p>\n<ul>\n<li>Transform current architecture to a CQRS architecture <\/li>\n<li>Anemic Domain Model IS an anti pattern <\/li>\n<li>List of how to shoot yourself in the foot <\/li>\n<li>Aggregates <\/li>\n<li>Traditional DDD View of an architecture <\/li>\n<li>Introduction into CQRS <\/li>\n<li>Event Sourcing <\/li>\n<li>Advice: Start small <\/li>\n<\/ul>\n<p>Here my most favored slide of this session:<\/p>\n<p><a href=\"http:\/\/blog.eweibel.net\/wp-content\/uploads\/image6.png\"><img loading=\"lazy\" decoding=\"async\" style=\"border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px\" title=\"image\" border=\"0\" alt=\"image\" src=\"http:\/\/blog.eweibel.net\/wp-content\/uploads\/image_thumb6.png\" width=\"300\" height=\"226\" \/><\/a><\/p>\n<p>As usual, CQRS isn\u2019t a silver bullet. You have to ask yourself if it makes sense to do all queries through an object relational mapper and not directly to the database. That doesn\u2019t mean to go back to ASP or PHP, but just use the tools for the purpose for which they made for.<\/p>\n<p>Links: <a href=\"http:\/\/www.slideshare.net\/ziobrando\/loosely-coupled-complexity-unleash-the-power-of-your-domain-model-with-command-query-responsibility-segregation-and-event-sourcing\" target=\"_blank\">Slides<\/a>, <a href=\"http:\/\/vimeo.com\/16054927\" target=\"_blank\">Video<\/a><\/p>\n<p><strong>NHibernate Hidden Gems<\/strong><\/p>\n<p><a href=\"http:\/\/blog.eweibel.net\/wp-content\/uploads\/P10300432.jpg\"><img loading=\"lazy\" decoding=\"async\" style=\"border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px\" title=\"P1030043\" border=\"0\" alt=\"P1030043\" align=\"right\" src=\"http:\/\/blog.eweibel.net\/wp-content\/uploads\/P1030043_thumb2.jpg\" width=\"304\" height=\"229\" \/><\/a> This session was also held by Ayende. He showed some concepts in NHibernate by showing some code.<\/p>\n<p>One concept was quite interesting: The Feel-the-Pain-Interceptor. During the development of a new application the database server is on the same machine like the application server or the web server. Because the developer doesn\u2019t feel the pain of a huge amount of queries to the database or a query which returns a lot of data. But in a production environment the database server isn\u2019t normally installed on the same server like the web server or application server. To make the developer aware to optimize the communication to the database server, Ayende implemented an Interceptor which just make sleep the current thread for one or two seconds. Now the developer feels the pain when he tests the application.<\/p>\n<p>Highlights in this session:<\/p>\n<ul>\n<li>Feel-the-Pain-Interceptor <\/li>\n<li>Optimize startup times <\/li>\n<li>Use of User Types <\/li>\n<li>Use of Listeners <\/li>\n<li>Use of Future, specially in Criteria API <\/li>\n<\/ul>\n<p>Links: Slides, <a href=\"http:\/\/www.ustream.tv\/recorded\/10090521\" target=\"_blank\">Video<\/a><\/p>\n<p><strong>NHibernate Worst practices<\/strong><\/p>\n<p><a href=\"http:\/\/blog.eweibel.net\/wp-content\/uploads\/P10300542.jpg\"><img loading=\"lazy\" decoding=\"async\" style=\"border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px\" title=\"P1030054\" border=\"0\" alt=\"P1030054\" align=\"right\" src=\"http:\/\/blog.eweibel.net\/wp-content\/uploads\/P1030054_thumb2.jpg\" width=\"304\" height=\"229\" \/><\/a> This was a very interesting session with Ayende. He discussed the worst practices with NHibernate.<\/p>\n<p>Highlights in this session:<\/p>\n<ul>\n<li>Hiding NHibernate (by building additional layers on top of NHibernate) <\/li>\n<li>Select N + 1 Problems <\/li>\n<li>If the Database couldn\u2019t do it, NHibernate can\u2019t do it as well <\/li>\n<li>Micro management of the NHibernate session <\/li>\n<\/ul>\n<p>After Ayende finished his presentation he asked the attendees what they did bad things with NHibernate or what kind of worst practices they observed.<\/p>\n<p>Links: Slides<\/p>\n<p><strong>NHibernate Q&amp;A round table<\/strong><\/p>\n<p>In this session Fabio Maulo joined us through Skype from Argentina (unfortunately audio only). It was funny, because Ayende mentioned after the session, that it was the first time that Ayende and Fabio talked together about NHibernate:<\/p>\n<p><a href=\"http:\/\/blog.eweibel.net\/wp-content\/uploads\/image7.png\"><img loading=\"lazy\" decoding=\"async\" style=\"border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px\" title=\"image\" border=\"0\" alt=\"image\" src=\"http:\/\/blog.eweibel.net\/wp-content\/uploads\/image_thumb7.png\" width=\"444\" height=\"61\" \/><\/a><\/p>\n<p><a href=\"http:\/\/blog.eweibel.net\/wp-content\/uploads\/P10300622.jpg\"><img loading=\"lazy\" decoding=\"async\" style=\"border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px\" title=\"P1030062\" border=\"0\" alt=\"P1030062\" align=\"right\" src=\"http:\/\/blog.eweibel.net\/wp-content\/uploads\/P1030062_thumb2.jpg\" width=\"304\" height=\"229\" \/><\/a> During this session the attendees could ask question to Fabio or to Ayende and they tried to answer them. Fabio speaks much better Italian or Spanish, so most of the English questions was answered by Ayende.<\/p>\n<p>But Fabio mentioned the following several times: \u201cWelcome to NHibernate, welcome to the world of options!\u201d<\/p>\n<p>One last thing: At the beginning of this session Ayende and Fabio announced the fist beta of NHibernate 3.0.<\/p>\n<p>Links: <a href=\"http:\/\/www.ustream.tv\/recorded\/10092987\" target=\"_blank\">Video<\/a><\/p>\n<p><strong>RavenDB<\/strong><\/p>\n<p><a href=\"http:\/\/blog.eweibel.net\/wp-content\/uploads\/P10300672.jpg\"><img loading=\"lazy\" decoding=\"async\" style=\"border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px\" title=\"P1030067\" border=\"0\" alt=\"P1030067\" align=\"right\" src=\"http:\/\/blog.eweibel.net\/wp-content\/uploads\/P1030067_thumb2.jpg\" width=\"304\" height=\"229\" \/><\/a> Ayende presented the current version of RavenDB. It was very interesting to see a NoSQL Database in Action. One more item for my to-do-list. With RavenDB there is no longer a need for an object relational mapper because the data could be stored directly into the database.<\/p>\n<p>At the dinner after the conference I asked Ayende if RavenDB is also designed to be shared. He answered with no, as I expected. If it would be shared, then you probably need at the end a framework to map your model to the model of the database. And something funny: Maybe you would also need someday a person like a document database admin (DDA).<\/p>\n<p>Links: Slides, <a href=\"http:\/\/www.ustream.tv\/recorded\/10094948\" target=\"_blank\">Video<\/a><\/p>\n<p><strong>Conclusion<\/strong><\/p>\n<p>The location of the conference Bologna was for me well reachable. I was surprised from how many countries in Europe people came to this event. I&#160; wasn\u2019t the only geek from Switzerland, also <a href=\"http:\/\/twitter.com\/#!\/kherzam\" target=\"_blank\">Kay Herzam<\/a>, was present at the event.<\/p>\n<p><a href=\"http:\/\/blog.eweibel.net\/wp-content\/uploads\/iPhone0311.jpg\"><img loading=\"lazy\" decoding=\"async\" style=\"border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px\" title=\"iPhone 031\" border=\"0\" alt=\"iPhone 031\" src=\"http:\/\/blog.eweibel.net\/wp-content\/uploads\/iPhone031_thumb1.jpg\" width=\"284\" height=\"214\" \/><\/a> <a href=\"http:\/\/blog.eweibel.net\/wp-content\/uploads\/NHDay_Friday_Dinner1.jpg\"><img loading=\"lazy\" decoding=\"async\" style=\"border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px\" title=\"NHDay_Friday_Dinner\" border=\"0\" alt=\"NHDay_Friday_Dinner\" src=\"http:\/\/blog.eweibel.net\/wp-content\/uploads\/NHDay_Friday_Dinner_thumb1.jpg\" width=\"284\" height=\"214\" \/><\/a> <\/p>\n<p>For me the networking was very important. So I had also dinner at Friday with the a group of attendees, organizers and speakers. Also during Saturday (lunch and dinner) I had the possibility to discuss with Ayende or <a href=\"http:\/\/codeofrob.com\/\" target=\"_blank\">Rob Ashton<\/a>. I had a lot of fun and could make a lot of contacts to Italian software engineers.<\/p>\n<p>And one final note: The food in Bologna was exceptional (as expected) and Bologna has also a very nice old city.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>During a whole day several speakers spoke about NHibernate and related topics. This conference was in Bologna and was very well prepared and organized. You could watch the slides and the videos of the sessions here. I joined the following sessions: Keynote Simone Chiaretta opened the conference and showed during his keynote how the day is organized. But he couldn\u2019t resist to make a little joke about us Swiss folk which isn\u2019t part of the European union, so basically we&#8230;<\/p>\n<p class=\"read-more\"><a class=\"btn btn-default\" href=\"https:\/\/blog.eweibel.net\/?p=797\"> Read More<span class=\"screen-reader-text\">  Read More<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_exactmetrics_skip_tracking":false,"_exactmetrics_sitenote_active":false,"_exactmetrics_sitenote_note":"","_exactmetrics_sitenote_category":0,"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[13,4,14],"tags":[],"class_list":["post-797","post","type-post","status-publish","format-standard","hentry","category-net","category-software-architecture","category-software-engineering"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/plOV9-cR","jetpack_sharing_enabled":true,"jetpack-related-posts":[{"id":761,"url":"https:\/\/blog.eweibel.net\/?p=761","url_meta":{"origin":797,"position":0},"title":"NHibernate presentations at DNUG Bern","author":"Patrick","date":"2. Sep 2010","format":false,"excerpt":"I hold in August two presentations at the .Net User Group Bern together with Ren\u00e9 Leupold.\u00a0 In both presentations the topic was object relational mapping in the .Net world. So we showed Microsoft Entity Framework 4.0 and NHibernate. My part was NHibernate and Rene showed EF. In the first presentation\u2026","rel":"","context":"In &quot;.NET&quot;","block_context":{"text":".NET","link":"https:\/\/blog.eweibel.net\/?cat=13"},"img":{"alt_text":"dnugbe","src":"https:\/\/i0.wp.com\/blog.eweibel.net\/wp-content\/uploads\/dnugbe_thumb.png?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":377,"url":"https:\/\/blog.eweibel.net\/?p=377","url_meta":{"origin":797,"position":1},"title":"NHibernate mapping possibilities","author":"Patrick","date":"24. Aug 2009","format":false,"excerpt":"I prepare currently a new talk about NHibernate. In this talk I'll show the different mapping possibilities with NHibernate. To demonstrate the three possibilities (and a fourth one) I chose a quite simple model: I implement three classes Cat, Dog and Bird an for each one I chose a different\u2026","rel":"","context":"In &quot;.NET&quot;","block_context":{"text":".NET","link":"https:\/\/blog.eweibel.net\/?cat=13"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":745,"url":"https:\/\/blog.eweibel.net\/?p=745","url_meta":{"origin":797,"position":2},"title":"ConfORM &ndash; Another NHibernate mapping possibility","author":"Patrick","date":"1. Sep 2010","format":false,"excerpt":"I recently hold two presentations at the .Net User Group Bern (DNUG) with Ren\u00e9 Leupold about object relational mapping in the .Net world. We showed Entity Framework 4.0 and NHibernate. My part was NHibernate. You could download the slides and samples from the DNUG website. In the two presentations I\u2026","rel":"","context":"In &quot;.NET&quot;","block_context":{"text":".NET","link":"https:\/\/blog.eweibel.net\/?cat=13"},"img":{"alt_text":"ConfOrmBigTransparent","src":"https:\/\/i0.wp.com\/blog.eweibel.net\/wp-content\/uploads\/ConfOrmBigTransparent_thumb.png?resize=350%2C200","width":350,"height":200},"classes":[]},{"id":1353,"url":"https:\/\/blog.eweibel.net\/?p=1353","url_meta":{"origin":797,"position":3},"title":"NDC 2014","author":"Patrick","date":"16. Jun 2014","format":false,"excerpt":"I attended this year's NDC (Norwegian developer conference) in Oslo. It was a very interesting conference, but as a short summary, it saw something like a consolidation. JavaScript - as some people say in its fourth generation (Simple Scripts, AJAX, MVC-Framworks, SPA) - is finally accepted as a language like\u2026","rel":"","context":"In &quot;.NET&quot;","block_context":{"text":".NET","link":"https:\/\/blog.eweibel.net\/?cat=13"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/blog.eweibel.net\/wp-content\/uploads\/ndclogo2014.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":160,"url":"https:\/\/blog.eweibel.net\/?p=160","url_meta":{"origin":797,"position":4},"title":"When to use stored procedures","author":"Patrick","date":"13. May 2009","format":false,"excerpt":"Recently I discussed with a colleague when to use stored procedures. As exptected it was quite a religious conversation. A few days later I found the following screencast: The Pros and Cons of Stored Procedures Based on the discussion and the screencast I tried to summarize my Pros and Cons:\u2026","rel":"","context":"In &quot;Good practices&quot;","block_context":{"text":"Good practices","link":"https:\/\/blog.eweibel.net\/?cat=5"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":1224,"url":"https:\/\/blog.eweibel.net\/?p=1224","url_meta":{"origin":797,"position":5},"title":"My personal wrap-up of the NDC 2012","author":"Patrick","date":"21. Jun 2012","format":false,"excerpt":"I was at the Norwegian Developer Conference (NDC) 2012 in Oslo. It is one of the best conferences I know in Europe. One reason is, that a lot of alpha-geeks are speaking there. There were during three days 8 parallels tracks, so you have to manage your program. My program\u2026","rel":"","context":"In &quot;First experiencies&quot;","block_context":{"text":"First experiencies","link":"https:\/\/blog.eweibel.net\/?cat=7"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"_links":{"self":[{"href":"https:\/\/blog.eweibel.net\/index.php?rest_route=\/wp\/v2\/posts\/797","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.eweibel.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.eweibel.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.eweibel.net\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.eweibel.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=797"}],"version-history":[{"count":27,"href":"https:\/\/blog.eweibel.net\/index.php?rest_route=\/wp\/v2\/posts\/797\/revisions"}],"predecessor-version":[{"id":1085,"href":"https:\/\/blog.eweibel.net\/index.php?rest_route=\/wp\/v2\/posts\/797\/revisions\/1085"}],"wp:attachment":[{"href":"https:\/\/blog.eweibel.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=797"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.eweibel.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=797"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.eweibel.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=797"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}