{"id":3653,"date":"2018-06-25T17:15:24","date_gmt":"2018-06-25T14:15:24","guid":{"rendered":"https:\/\/www.systemcodegeeks.com\/?p=3653"},"modified":"2018-06-25T12:34:37","modified_gmt":"2018-06-25T09:34:37","slug":"shell-productivity-zsh-aliases","status":"publish","type":"post","link":"https:\/\/www.systemcodegeeks.com\/shell-scripting\/shell-productivity-zsh-aliases\/","title":{"rendered":"Increasing Shell Productivity With Zsh Aliases"},"content":{"rendered":"<p>The zsh shell, such as many others, supports aliases to minimize the amount of typing required. Beside simple <em>command<\/em> aliases, zsh comes with a multitude of extended alias features.<\/p>\n<p>Normal, or <em>command<\/em> aliases are very helpful for commands that you keep typing all over again. How often do you type <code>git status<\/code>, <code>mvn clean install<\/code>, or <code>docker build<\/code> yourself, manually? (And how often do you swear at yourself for misspelling them?)<\/p>\n<p><em>Command<\/em> alias definitions, such as <code>alias gst='git status'<\/code>, make your command line life much easier. The oh-my-zsh extension for example already ships with many required Git aliases.<\/p>\n<p><strong>Alias Expansion<\/strong><\/p>\n<p>To know with which command the typed alias is being substituted it helps a lot to actually see the expanded command once you hit the space bar. However, there are also commands that you deliberately don\u2019t want to expand with a space at the end, such as <code>curl localhost:<\/code>, to be able to continue typing right away. And also, there are commands that you might not want to expand at all, such as <code>l<\/code> which I aliased to <code>exa -ahl<\/code>, an alternative to <code>ls<\/code>.<\/p>\n<p><a href=\"http:\/\/www.systemcodegeeks.com\/wp-content\/uploads\/2018\/06\/zsh-autocompletion.gif\"><img decoding=\"async\" class=\"aligncenter wp-image-3654 size-full\" src=\"http:\/\/www.systemcodegeeks.com\/wp-content\/uploads\/2018\/06\/zsh-autocompletion.gif\" alt=\"zsh aliases\" width=\"464\" height=\"303\" \/><\/a><\/p>\n<p>I\u2019ve included an extra functionality into my zsh configuration that handles these cases. The following shows my the current configuration code; I\u2019m not a zsh scripting expert, so please don\u2019t judge the code too hard \ud83d\ude42<\/p>\n<pre class=\"brush:bash\"># blank aliases\r\ntypeset -a baliases\r\nbaliases=()\r\n\r\nbalias() {\r\n  alias $@\r\n  args=\"$@\"\r\n  args=${args%%\\=*}\r\n  baliases+=(${args##* })\r\n}\r\n\r\n# ignored aliases\r\ntypeset -a ialiases\r\nialiases=()\r\n\r\nialias() {\r\n  alias $@\r\n  args=\"$@\"\r\n  args=${args%%\\=*}\r\n  ialiases+=(${args##* })\r\n}\r\n\r\n# functionality\r\nexpand-alias-space() {\r\n  [[ $LBUFFER =~ \"\\&lt;(${(j:|:)baliases})\\$\" ]]; insertBlank=$?\r\n  if [[ ! $LBUFFER =~ \"\\&lt;(${(j:|:)ialiases})\\$\" ]]; then\r\n    zle _expand_alias\r\n  fi\r\n  zle self-insert\r\n  if [[ \"$insertBlank\" = \"0\" ]]; then\r\n    zle backward-delete-char\r\n  fi\r\n}\r\nzle -N expand-alias-space\r\n\r\nbindkey \" \" expand-alias-space\r\nbindkey -M isearch \" \" magic-space<\/pre>\n<p>Another thing to take into account are <em>global<\/em> aliases. Normally <em>command<\/em> aliases are only substituted if they\u2019re at the beginning of the line. <em>Global<\/em> aliases are substituted anywhere on the line.<\/p>\n<p>That is, I have now following methods to define aliases that are supposed to be expanded:<\/p>\n<pre class=\"brush:bash\"># command aliases\r\nalias jj='java -jar'\r\nalias mcp='mvn clean package'\r\n...\r\n\r\n# blank aliases, without trailing whitespace\r\nbalias clh='curl localhost:'\r\n...\r\n\r\n# \"ignored\" aliases, not expanded\r\nialias l='exa -al'\r\nialias curl='curl --silent --show-error'\r\n...\r\n\r\n# global aliases\r\nalias -g L='| less'\r\nalias -g G='| grep'\r\nialias -g grep='grep --color=auto --exclude-dir={.bzr,CVS,.git,.hg,.svn}'<\/pre>\n<p><strong>Suffix Aliases<\/strong><\/p>\n<p>Zsh also supports <em>suffix<\/em> aliases, another very helpful feature that allows to open specific programs for files that are typed into the command line, depending on their extensions.<\/p>\n<pre class=\"brush:bash\">$&gt; file.pdf\r\n# will open PDF viewer with file.pdf in background<\/pre>\n<p>I included a zsh functionality that opens a program with the file loaded in background:<\/p>\n<pre class=\"brush:bash\"># starts one or multiple args as programs in background\r\nbackground() {\r\n  for ((i=2;i&lt;=$#;i++)); do\r\n    ${@[1]} ${@[$i]} &amp;&gt; \/dev\/null &amp;\r\n  done\r\n}<\/pre>\n<p>This enables to define <em>suffix<\/em> aliases that open programs in the background.<\/p>\n<pre class=\" brush:php\">alias -s html='background chromium'\r\nalias -s {pdf,PDF}='background mupdf'\r\nalias -s {mp4,MP4,mov,MOV}='background vlc'\r\nalias -s {zip,ZIP}=\"unzip -l\"\r\n...<\/pre>\n<p>I hope you\u2019ll enjoy replacing your most commonly used commands with aliases. I, for now, have defined more than 300 of these little helpers \ud83d\ude42 Over time, you\u2019ll save yourself a lot of time and typing.<\/p>\n<div class=\"attribution\">\n<table>\n<tbody>\n<tr>\n<td>Published on System Code Geeks with permission by Sebastian Daschner, partner at our <a href=\"\/\/www.systemcodegeeks.com\/join-us\/scg\/\" target=\"_blank\" rel=\"noopener\">SCG program<\/a>. See the original article here: <a href=\"https:\/\/blog.sebastian-daschner.com\/entries\/zsh-aliases\" target=\"_blank\" rel=\"noopener\">Increasing Shell Productivity With Zsh Aliases<\/a><\/p>\n<p>Opinions expressed by System Code Geeks contributors are their own.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>The zsh shell, such as many others, supports aliases to minimize the amount of typing required. Beside simple command aliases, zsh comes with a multitude of extended alias features. Normal, or command aliases are very helpful for commands that you keep typing all over again. How often do you type git status, mvn clean install, &hellip;<\/p>\n","protected":false},"author":1490,"featured_media":185,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[18],"tags":[],"class_list":["post-3653","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-shell-scripting"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.5 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Increasing Shell Productivity With Zsh Aliases - System Code Geeks - 2026<\/title>\n<meta name=\"description\" content=\"Interested to learn more about zsh aliases? Check out our article where we replace your most commonly used commands with aliases!\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.systemcodegeeks.com\/shell-scripting\/shell-productivity-zsh-aliases\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Increasing Shell Productivity With Zsh Aliases - System Code Geeks - 2026\" \/>\n<meta property=\"og:description\" content=\"Interested to learn more about zsh aliases? Check out our article where we replace your most commonly used commands with aliases!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.systemcodegeeks.com\/shell-scripting\/shell-productivity-zsh-aliases\/\" \/>\n<meta property=\"og:site_name\" content=\"System Code Geeks\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/systemcodegeeks\" \/>\n<meta property=\"article:published_time\" content=\"2018-06-25T14:15:24+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.systemcodegeeks.com\/wp-content\/uploads\/2016\/01\/bash-logo.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"150\" \/>\n\t<meta property=\"og:image:height\" content=\"150\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Sebastian Daschner\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@DaschnerS\" \/>\n<meta name=\"twitter:site\" content=\"@systemcodegeeks\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Sebastian Daschner\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.systemcodegeeks.com\/shell-scripting\/shell-productivity-zsh-aliases\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.systemcodegeeks.com\/shell-scripting\/shell-productivity-zsh-aliases\/\"},\"author\":{\"name\":\"Sebastian Daschner\",\"@id\":\"https:\/\/www.systemcodegeeks.com\/#\/schema\/person\/9e45b8cb8485a741a785f8a11fe79904\"},\"headline\":\"Increasing Shell Productivity With Zsh Aliases\",\"datePublished\":\"2018-06-25T14:15:24+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.systemcodegeeks.com\/shell-scripting\/shell-productivity-zsh-aliases\/\"},\"wordCount\":392,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.systemcodegeeks.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.systemcodegeeks.com\/shell-scripting\/shell-productivity-zsh-aliases\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.systemcodegeeks.com\/wp-content\/uploads\/2016\/01\/bash-logo.jpg\",\"articleSection\":[\"Shell Scripting\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.systemcodegeeks.com\/shell-scripting\/shell-productivity-zsh-aliases\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.systemcodegeeks.com\/shell-scripting\/shell-productivity-zsh-aliases\/\",\"url\":\"https:\/\/www.systemcodegeeks.com\/shell-scripting\/shell-productivity-zsh-aliases\/\",\"name\":\"Increasing Shell Productivity With Zsh Aliases - System Code Geeks - 2026\",\"isPartOf\":{\"@id\":\"https:\/\/www.systemcodegeeks.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.systemcodegeeks.com\/shell-scripting\/shell-productivity-zsh-aliases\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.systemcodegeeks.com\/shell-scripting\/shell-productivity-zsh-aliases\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.systemcodegeeks.com\/wp-content\/uploads\/2016\/01\/bash-logo.jpg\",\"datePublished\":\"2018-06-25T14:15:24+00:00\",\"description\":\"Interested to learn more about zsh aliases? Check out our article where we replace your most commonly used commands with aliases!\",\"breadcrumb\":{\"@id\":\"https:\/\/www.systemcodegeeks.com\/shell-scripting\/shell-productivity-zsh-aliases\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.systemcodegeeks.com\/shell-scripting\/shell-productivity-zsh-aliases\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.systemcodegeeks.com\/shell-scripting\/shell-productivity-zsh-aliases\/#primaryimage\",\"url\":\"https:\/\/www.systemcodegeeks.com\/wp-content\/uploads\/2016\/01\/bash-logo.jpg\",\"contentUrl\":\"https:\/\/www.systemcodegeeks.com\/wp-content\/uploads\/2016\/01\/bash-logo.jpg\",\"width\":150,\"height\":150},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.systemcodegeeks.com\/shell-scripting\/shell-productivity-zsh-aliases\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.systemcodegeeks.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Shell Scripting\",\"item\":\"https:\/\/www.systemcodegeeks.com\/category\/shell-scripting\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Increasing Shell Productivity With Zsh Aliases\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.systemcodegeeks.com\/#website\",\"url\":\"https:\/\/www.systemcodegeeks.com\/\",\"name\":\"System Code Geeks\",\"description\":\"Operating System Developers Resource Center\",\"publisher\":{\"@id\":\"https:\/\/www.systemcodegeeks.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.systemcodegeeks.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.systemcodegeeks.com\/#organization\",\"name\":\"Exelixis Media P.C.\",\"url\":\"https:\/\/www.systemcodegeeks.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.systemcodegeeks.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.systemcodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png\",\"contentUrl\":\"https:\/\/www.systemcodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png\",\"width\":864,\"height\":246,\"caption\":\"Exelixis Media P.C.\"},\"image\":{\"@id\":\"https:\/\/www.systemcodegeeks.com\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/systemcodegeeks\",\"https:\/\/x.com\/systemcodegeeks\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.systemcodegeeks.com\/#\/schema\/person\/9e45b8cb8485a741a785f8a11fe79904\",\"name\":\"Sebastian Daschner\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.systemcodegeeks.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/c5f7cd4d32ab6265242b5c9fdb10e6be68a6a583d8863f746fd9852b8149bbd9?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/c5f7cd4d32ab6265242b5c9fdb10e6be68a6a583d8863f746fd9852b8149bbd9?s=96&d=mm&r=g\",\"caption\":\"Sebastian Daschner\"},\"description\":\"Sebastian Daschner is a self-employed Java consultant and trainer. He is the author of the book 'Architecting Modern Java EE Applications'. Sebastian is a Java Champion, Oracle Developer Champion and JavaOne Rockstar.\",\"sameAs\":[\"https:\/\/blog.sebastian-daschner.com\/\",\"https:\/\/x.com\/DaschnerS\"],\"url\":\"https:\/\/www.systemcodegeeks.com\/author\/sebastian-daschner\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Increasing Shell Productivity With Zsh Aliases - System Code Geeks - 2026","description":"Interested to learn more about zsh aliases? Check out our article where we replace your most commonly used commands with aliases!","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.systemcodegeeks.com\/shell-scripting\/shell-productivity-zsh-aliases\/","og_locale":"en_US","og_type":"article","og_title":"Increasing Shell Productivity With Zsh Aliases - System Code Geeks - 2026","og_description":"Interested to learn more about zsh aliases? Check out our article where we replace your most commonly used commands with aliases!","og_url":"https:\/\/www.systemcodegeeks.com\/shell-scripting\/shell-productivity-zsh-aliases\/","og_site_name":"System Code Geeks","article_publisher":"https:\/\/www.facebook.com\/systemcodegeeks","article_published_time":"2018-06-25T14:15:24+00:00","og_image":[{"width":150,"height":150,"url":"https:\/\/www.systemcodegeeks.com\/wp-content\/uploads\/2016\/01\/bash-logo.jpg","type":"image\/jpeg"}],"author":"Sebastian Daschner","twitter_card":"summary_large_image","twitter_creator":"@DaschnerS","twitter_site":"@systemcodegeeks","twitter_misc":{"Written by":"Sebastian Daschner","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.systemcodegeeks.com\/shell-scripting\/shell-productivity-zsh-aliases\/#article","isPartOf":{"@id":"https:\/\/www.systemcodegeeks.com\/shell-scripting\/shell-productivity-zsh-aliases\/"},"author":{"name":"Sebastian Daschner","@id":"https:\/\/www.systemcodegeeks.com\/#\/schema\/person\/9e45b8cb8485a741a785f8a11fe79904"},"headline":"Increasing Shell Productivity With Zsh Aliases","datePublished":"2018-06-25T14:15:24+00:00","mainEntityOfPage":{"@id":"https:\/\/www.systemcodegeeks.com\/shell-scripting\/shell-productivity-zsh-aliases\/"},"wordCount":392,"commentCount":0,"publisher":{"@id":"https:\/\/www.systemcodegeeks.com\/#organization"},"image":{"@id":"https:\/\/www.systemcodegeeks.com\/shell-scripting\/shell-productivity-zsh-aliases\/#primaryimage"},"thumbnailUrl":"https:\/\/www.systemcodegeeks.com\/wp-content\/uploads\/2016\/01\/bash-logo.jpg","articleSection":["Shell Scripting"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.systemcodegeeks.com\/shell-scripting\/shell-productivity-zsh-aliases\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.systemcodegeeks.com\/shell-scripting\/shell-productivity-zsh-aliases\/","url":"https:\/\/www.systemcodegeeks.com\/shell-scripting\/shell-productivity-zsh-aliases\/","name":"Increasing Shell Productivity With Zsh Aliases - System Code Geeks - 2026","isPartOf":{"@id":"https:\/\/www.systemcodegeeks.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.systemcodegeeks.com\/shell-scripting\/shell-productivity-zsh-aliases\/#primaryimage"},"image":{"@id":"https:\/\/www.systemcodegeeks.com\/shell-scripting\/shell-productivity-zsh-aliases\/#primaryimage"},"thumbnailUrl":"https:\/\/www.systemcodegeeks.com\/wp-content\/uploads\/2016\/01\/bash-logo.jpg","datePublished":"2018-06-25T14:15:24+00:00","description":"Interested to learn more about zsh aliases? Check out our article where we replace your most commonly used commands with aliases!","breadcrumb":{"@id":"https:\/\/www.systemcodegeeks.com\/shell-scripting\/shell-productivity-zsh-aliases\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.systemcodegeeks.com\/shell-scripting\/shell-productivity-zsh-aliases\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.systemcodegeeks.com\/shell-scripting\/shell-productivity-zsh-aliases\/#primaryimage","url":"https:\/\/www.systemcodegeeks.com\/wp-content\/uploads\/2016\/01\/bash-logo.jpg","contentUrl":"https:\/\/www.systemcodegeeks.com\/wp-content\/uploads\/2016\/01\/bash-logo.jpg","width":150,"height":150},{"@type":"BreadcrumbList","@id":"https:\/\/www.systemcodegeeks.com\/shell-scripting\/shell-productivity-zsh-aliases\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.systemcodegeeks.com\/"},{"@type":"ListItem","position":2,"name":"Shell Scripting","item":"https:\/\/www.systemcodegeeks.com\/category\/shell-scripting\/"},{"@type":"ListItem","position":3,"name":"Increasing Shell Productivity With Zsh Aliases"}]},{"@type":"WebSite","@id":"https:\/\/www.systemcodegeeks.com\/#website","url":"https:\/\/www.systemcodegeeks.com\/","name":"System Code Geeks","description":"Operating System Developers Resource Center","publisher":{"@id":"https:\/\/www.systemcodegeeks.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.systemcodegeeks.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.systemcodegeeks.com\/#organization","name":"Exelixis Media P.C.","url":"https:\/\/www.systemcodegeeks.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.systemcodegeeks.com\/#\/schema\/logo\/image\/","url":"https:\/\/www.systemcodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","contentUrl":"https:\/\/www.systemcodegeeks.com\/wp-content\/uploads\/2022\/06\/exelixis-logo.png","width":864,"height":246,"caption":"Exelixis Media P.C."},"image":{"@id":"https:\/\/www.systemcodegeeks.com\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/systemcodegeeks","https:\/\/x.com\/systemcodegeeks"]},{"@type":"Person","@id":"https:\/\/www.systemcodegeeks.com\/#\/schema\/person\/9e45b8cb8485a741a785f8a11fe79904","name":"Sebastian Daschner","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.systemcodegeeks.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/c5f7cd4d32ab6265242b5c9fdb10e6be68a6a583d8863f746fd9852b8149bbd9?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c5f7cd4d32ab6265242b5c9fdb10e6be68a6a583d8863f746fd9852b8149bbd9?s=96&d=mm&r=g","caption":"Sebastian Daschner"},"description":"Sebastian Daschner is a self-employed Java consultant and trainer. He is the author of the book 'Architecting Modern Java EE Applications'. Sebastian is a Java Champion, Oracle Developer Champion and JavaOne Rockstar.","sameAs":["https:\/\/blog.sebastian-daschner.com\/","https:\/\/x.com\/DaschnerS"],"url":"https:\/\/www.systemcodegeeks.com\/author\/sebastian-daschner\/"}]}},"_links":{"self":[{"href":"https:\/\/www.systemcodegeeks.com\/wp-json\/wp\/v2\/posts\/3653","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.systemcodegeeks.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.systemcodegeeks.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.systemcodegeeks.com\/wp-json\/wp\/v2\/users\/1490"}],"replies":[{"embeddable":true,"href":"https:\/\/www.systemcodegeeks.com\/wp-json\/wp\/v2\/comments?post=3653"}],"version-history":[{"count":0,"href":"https:\/\/www.systemcodegeeks.com\/wp-json\/wp\/v2\/posts\/3653\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.systemcodegeeks.com\/wp-json\/wp\/v2\/media\/185"}],"wp:attachment":[{"href":"https:\/\/www.systemcodegeeks.com\/wp-json\/wp\/v2\/media?parent=3653"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.systemcodegeeks.com\/wp-json\/wp\/v2\/categories?post=3653"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.systemcodegeeks.com\/wp-json\/wp\/v2\/tags?post=3653"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}