science and technology JAMA Surgery : Assessment of the Contribution of the Work Relative Value Unit Scale to Differences in Physician Compensation By edhub.ama-assn.org Published On :: Wed, 15 Apr 2020 15:00:00 +0000 Interview with Christopher P. Childers, MD, PhD, and Melinda Maggard Gibbons, MD, authors of Assessment of the Contribution of the Work Relative Value Unit Scale to Differences in Physician Compensation Across Medical and Surgical Specialities Full Article
science and technology JAMA Oncology : Immune Checkpoint Inhibitor Rechallenge After Immune-Related Adverse Events in Patients With Cancer By edhub.ama-assn.org Published On :: Thu, 16 Apr 2020 15:00:00 +0000 Interview with Charles Dolladille, MD, author of Immune Checkpoint Inhibitor Rechallenge After Immune-Related Adverse Events in Patients With Cancer Full Article
science and technology JAMA Internal Medicine : Effect of a Mammography Screening Decision Aid for Women 75 Years and Older By edhub.ama-assn.org Published On :: Mon, 20 Apr 2020 15:00:00 +0000 Interview with Mara A. Schonberg, MD, MPH, author of Effect of a Mammography Screening Decision Aid for Women 75 Years and Older: A Cluster Randomized Clinical Trial, and Quyen Ngo-Metzger, MD, MPH, author of The Life and Death of Mammograms in Patients 75 Years and Older—To Screen or Not to Screen? Full Article
science and technology JAMA Psychiatry : Trends in the Incidence and Lethality of Suicidal Acts in the United States By edhub.ama-assn.org Published On :: Wed, 22 Apr 2020 15:00:00 +0000 Interview with Kristin M Holland, PhD, MPH, author of Trends in the Incidence and Lethality of Suicidal Acts in the United States, 2006 to 2015 Full Article
science and technology JAMA Internal Medicine : Contact Tracing Assessment of COVID-19 Transmission Dynamics in Taiwan By edhub.ama-assn.org Published On :: Fri, 01 May 2020 15:00:00 +0000 Interview with Hsien-Ho Lin, MD, ScD, author of Contact Tracing Assessment of COVID-19 Transmission Dynamics in Taiwan and Risk at Different Exposure Periods Before and After Symptom Onset Full Article
science and technology JAMA Neurology : Care Delivery and Outcomes for Acute Stroke and Transient Ischemic Attacks in Rural and Urban Medicare Patients By edhub.ama-assn.org Published On :: Mon, 04 May 2020 15:00:00 +0000 Interview with Ateev Mehrotra, MD, author of Trends Among Rural and Urban Medicare Beneficiaries in Care Delivery and Outcomes for Acute Stroke and Transient Ischemic Attacks, 2008-2017 Full Article
science and technology JAMA Dermatology : Face-Aging Mobile App–Based Intervention on Skin Cancer Protection Behavior By edhub.ama-assn.org Published On :: Wed, 06 May 2020 15:00:00 +0000 Interview with Titus Josef Brinker, MD, author of Effect of a Face-Aging Mobile App–Based Intervention on Skin Cancer Protection Behavior in Secondary Schools in Brazil: A Cluster-Randomized Clinical Trial Full Article
science and technology Focus on effective surveillance of COVID-19, contact-tracing and early diagnosis: Harsh Vardhan tells Tamil Nadu, Telangana and Karnataka By www.thehindu.com Published On :: Fri, 08 May 2020 20:42:21 +0530 The Minister also asked the States to ensure adoption of infection, prevention and control (IPC) practices in all health-care settings to avoid and reduce chances of infections to health-care workers. Full Article Health
science and technology How to Create Custom WordPress Editor Blocks in 2020 By deliciousbrains.com Published On :: Wed, 06 May 2020 14:43:24 +0000 Peter Tasker on creating blocks right now: It’s fairly straightforward these days to get set up with the WP CLI ‘scaffold’ command. This command will set up a WordPress theme or plugin with a ‘blocks’ folder that contains the PHP and base CSS and JavaScript required to create a custom block. The only drawback that I noticed is that the JavaScript uses the old ES5 syntax rather than modern ESNext. Modern JavaScript allows us to write more concise … Read article “How to Create Custom WordPress Editor Blocks in 2020” The post How to Create Custom WordPress Editor Blocks in 2020 appeared first on CSS-Tricks. Full Article Article Link gutenberg WordPress blocks
science and technology How to Use Block Variations in WordPress By css-tricks.com Published On :: Wed, 06 May 2020 14:43:36 +0000 WordPress 5.4 was released not so long ago and, along with other improvements and bug fixes, it introduced a feature called Block Variations. I had a chance to use it on one of my recent projects and am so pleasantly surprised with how smart this feature is. I actually think it hasn’t received the attention it deserves, which is why I decided to write this article. What is a Block Variation? Block Variations allow developers to define instances of existing … Read article “How to Use Block Variations in WordPress” The post How to Use Block Variations in WordPress appeared first on CSS-Tricks. Full Article Article gutenberg WordPress WordPress blocks
science and technology Static Hoisting By rauchg.com Published On :: Wed, 06 May 2020 21:09:28 +0000 The other day in “Static or not?” I said: […] serving HTML from a CDN is some feat. What I meant is that serving resources like images, CSS, and JavaScript from a CDN is fairly straightforward. The industry at large has been doing that for many years. An asset with a URL can be moved to a CDN and served from it. Changes to that asset are usually handled by changing the URL (e.g. style.324535.css, style.css?v=345434 or the like) … Read article “Static Hoisting” The post Static Hoisting appeared first on CSS-Tricks. Full Article Article cdn jamstack
science and technology Working With MDX Custom Elements and Shortcodes By css-tricks.com Published On :: Thu, 07 May 2020 14:18:03 +0000 MDX is a killer feature for things like blogs, slide decks and component documentation. It allows you to write Markdown without worrying about HTML elements, their formatting and placement while sprinkling in the magic of custom React components when necessary. Let’s harness that magic and look at how we can customize MDX by replacing Markdown elements with our own MDX components. In the process, we’ll introduce the concept of “shortcodes” when using those components. As a heads up, the code … Read article “Working With MDX Custom Elements and Shortcodes” The post Working With MDX Custom Elements and Shortcodes appeared first on CSS-Tricks. Full Article Article gatsby markdown mdx react
science and technology Creating an Accessible Range Slider with CSS By www.a11ywithlindsey.com Published On :: Thu, 07 May 2020 18:17:01 +0000 The accessibility trick is using <input type="range"> and wrestling it into shape with CSS rather than giving up and re-building it with divs or whatever and later forget about accessibility. The most clever example uses an angled linear-gradient background making the input look like a volume slider where left = low and right = high. CodePen Embed Fallback Direct Link to Article — Permalink… Read article “Creating an Accessible Range Slider with CSS” The post Creating an Accessible Range Slider with CSS appeared first on CSS-Tricks. Full Article Article accessibility inputs
science and technology Exciting Things on the Horizon For CSS Layout By css-irl.info Published On :: Fri, 08 May 2020 00:51:37 +0000 Michelle Barker notes that it’s been a heck of a week for us CSS layout nerds. Firefox has long had the best DevTools for CSS Grid, but Chrome is about to catch up and go one bit better by visualizing grid line numbers and names. Firefox supports gap for display: flex, which is great, and now Chrome is getting that too. Firefox is trying out an idea for masonry layout. Direct Link to Article — Permalink… Read article “Exciting Things on the Horizon For CSS Layout” The post Exciting Things on the Horizon For CSS Layout appeared first on CSS-Tricks. Full Article Link flexbox gap grid layout
science and technology I’m getting back to making videos By css-tricks.com Published On :: Fri, 08 May 2020 00:51:44 +0000 It’s probably one part coronavirus, one part new-fancy-video setup, and one part “hey this is good for CodePen too,” but I’ve been doing more videos lately. It’s nice to be back in the swing of that for a minute. There’s something fun about coming back to an old familiar workflow. Where do the videos get published? I’m a publish-on-your-own site kinda guy, as I’m sure you know, so there is a whole Videos section of this site where every … Read article “I’m getting back to making videos” The post I’m getting back to making videos appeared first on CSS-Tricks. Full Article Article screen recording
science and technology Let’s Take a Deep Dive Into the CSS Contain Property By css-tricks.com Published On :: Fri, 08 May 2020 14:33:21 +0000 Compared to the past, modern browsers have become really efficient at rendering the tangled web of HTML, CSS, and JavaScript code a typical webpage provides. It takes a mere milliseconds to render the code we give it into something people can use. What could we, as front-end developers, do to actually help the browser be even faster at rendering? There are the usual best practices that are so easy to forget with our modern tooling — especially in cases where … Read article “Let’s Take a Deep Dive Into the CSS Contain Property” The post Let’s Take a Deep Dive Into the CSS Contain Property appeared first on CSS-Tricks. Full Article Article
science and technology prerender.js By github.com Published On :: Fri, 08 May 2020 23:22:32 +0000 This is another player in the game of rendering the page of the link that you’re about to click on before you click it. It’s like getting a decent performance boost for extremely little effort. Instant.page is another one, and I’ve been sufficiently convinced by its methodology to the extent that I run it here on this site right now. I don’t really know the difference between the two. And they aren’t the only players either. Google has quicklink and … Read article “prerender.js” The post prerender.js appeared first on CSS-Tricks. Full Article Article performance prefetch
science and technology Chromium lands Flexbox gap By web.dev Published On :: Fri, 08 May 2020 23:22:40 +0000 I mentioned this the other day via Michelle Barker’s coverage, but here I’ll link to the official announcement. The main thing is that we’ll be getting gap with flexbox, which means: .flex-parent { display: flex; gap: 1rem; } .flex-child { flex: 1; } That’s excellent, as putting space in between flex items has been tough in the past. We have justify-content: space-between, which is nice sometimes, but that doesn’t allow you to explicitly tell the flex container how … Read article “Chromium lands Flexbox gap” The post Chromium lands Flexbox gap appeared first on CSS-Tricks. Full Article Link flexbox gap grid
science and technology Tiny Web Stacks By feedproxy.google.com Published On :: Wed, 05 Feb 2020 16:47:06 +0000 When it comes to side projects, micro-sites and one-off experiments, you don't need much to get started. Full Article Development Process
science and technology What Flushing Toilets Taught Me About Web Design By feedproxy.google.com Published On :: Thu, 06 Feb 2020 16:22:05 +0000 I re-learned an old design lesson from the humble toilet flusher. As new features are added to existing technologies, careful design is required to make their usage clear. Full Article Design Philosophy
science and technology How to Publish an Updated Version of an npm Package By feedproxy.google.com Published On :: Mon, 10 Feb 2020 21:29:28 +0000 What’s typically involved in an npm version release? How can you determine the release process for an existing project? Can project maintainers do anything to make it easier for new contributors? Full Article Development howto modules npm packages process
science and technology Navigation for Design Systems and Style Guides By feedproxy.google.com Published On :: Fri, 21 Feb 2020 16:35:31 +0000 A key part of my job for the past year has been contributing to design systems. To benefit from those contributions though, users need to be able to find them. That’s why it’s not only the content of a design system that’s important but also its usability. Design systems should be easy to navigate, especially […] Full Article Design Pattern Libraries
science and technology Responsive Images the Simple Way By feedproxy.google.com Published On :: Thu, 02 Apr 2020 17:18:08 +0000 The responsive images spec is fantastic and covers a lot of use cases, but most of the time you’ll only need one: resolution switching using the `srcset` and `sizes` attributes. Full Article Responsive Web Design images responsive sizes srcset
science and technology Getting Unstuck By feedproxy.google.com Published On :: Fri, 03 Apr 2020 08:00:06 +0000 Problem-solving is an essential part of software development. Sometimes we get stuck on a particularly baffling problem, and this can feel frustrating and discouraging. The following are some strategies for getting yourself "unstuck." Full Article Development
science and technology CSS Animation Timelines: Building a Rube Goldberg Machine By feedproxy.google.com Published On :: Mon, 13 Apr 2020 15:41:25 +0000 Lately I've been using variables to plan out pure CSS timelines for complex animations. I built an SVG and CSS Rube Goldberg machine to put this technique to the test! Full Article Animation Best Practices CSS Design
science and technology Quick Tip: How to Hide Whitespace Changes in Git Diffs By feedproxy.google.com Published On :: Mon, 20 Apr 2020 21:24:36 +0000 If you’ve ever had to review a PR where the only code change is adding a wrapper element, you’ll be familiar with the pain of reviewing what appears to be a massive change but is actually trivial. Full Article Development diffs git github gitlab whitespace
science and technology Less rigid design systems By feedproxy.google.com Published On :: Tue, 21 Apr 2020 08:00:56 +0000 In The Design Systems We Swim In, Ethan Marcotte asked a thoughtful question about design systems: Does the system you work with allow you to control the process of your work, to make situational decisions? Or is it simply a set of rules you have to follow? Ethan makes the case that many design systems […] Full Article Design Design Systems Pattern Libraries
science and technology From Drizzle to Storybook By feedproxy.google.com Published On :: Tue, 28 Apr 2020 15:29:20 +0000 Why we're changing up our pattern library UI after four years of rolling our own bespoke solution. Full Article Design Systems Pattern Libraries Process Redesign
science and technology Podcasts By adactio.com Published On :: Thu, 16 Apr 2020 14:18:49 GMT I’ve been on a few different podcasts recently. The tenth episode of the Design Systems podcast is myself and Chris having a back-and-forth about design systems: Overcoming Entropy and Turning Chaos Into Order: Chris and Jeremy Keith discuss imbuing teams with a shared sense of ownership of their design system, creating design systems able to address unforeseen scenarios, design ops as an essential part of an effective design system, and more. Gerry has started a new podcast to accompany his new book, World Wide Waste. He invited me on for the first episode: ‘We’ve ruined the Web. Here’s how we fix it.’: Welcome to World Wide Waste, a podcast about how digital is killing the planet, and what to do about it. In this session, I’m chatting with Jeremy Keith. Jeremy is a philosopher of the internet. Every time I see him speak, I’m struck by his calming presence, his brilliant mind and his deep humanity. We talked about performance, energy consumption, and digital preservation. We agreed on a lot, but there were also points where we fundamentally disagreed. Good stuff! If you like the sound of some Irishmen chatting on a podcast, then as well as listening to me and Gerry getting into it, you might also enjoy the episode of The Blarney Pilgrims podcast that I was on: Jeremy Keith is the founder and keeper of thesession.org, probably the greatest irish music resource in the world. And this episode hopefully has something of the generous essence of that archive. We flow, from The North as a different planet to Galway as the centre of the ’90s slacker world. From the one-tune-a-week origin of thesession.org and managing an online community to the richness and value of constancy. I’ve already written about how much this meant to me. On the same topic—Irish music on the web—I made a brief appearance in the latest episode of Shannon Heaton’s Irish Music Stories, Irish Tunes in the Key of C-19: How are traditional musicians and dancers continuing creative careers and group music events during the Covid-19 pandemic? How is social distancing affecting the jigs and reels? In this unexpected open of Season Four of Irish Music Stories, musicians from Ireland, England, Belgium, Sweden, and the U.S. address on and offline strategies… from a safe distance. Full Article podcasts audio interviews talk chat medium:id=8f97cb25fafd
science and technology Future Sync 2020 By adactio.com Published On :: Fri, 17 Apr 2020 09:09:33 GMT I was supposed to be in Plymouth yesterday, giving the opening talk at this year’s Future Sync conference. Obviously, that train journey never happened, but the conference did. The organisers gave us speakers the option of pre-recording our talks, which I jumped on. It meant that I wouldn’t be reliant on a good internet connection at the crucial moment. It also meant that I was available to provide additional context—mostly in the form of a deluge of hyperlinks—in the chat window that accompanied the livestream. The whole thing went very smoothly indeed. Here’s the video of my talk. It was The Layers Of The Web, which I’ve only given once before, at Beyond Tellerrand Berlin last November (in the Before Times). As well as answering questions in the chat room, people were also asking questions in Sli.do. But rather than answering those questions there, I was supposed to respond in a social medium of my choosing. I chose my own website, with copies syndicated to Twitter. Here are those questions and answers… The first few questions were about last years’s CERN project, which opens the talk: Based on what you now know from the CERN 2019 WorldWideWeb Rebuild project—what would you have done differently if you had been part of the original 1989 Team? I responded: Actually, I think the original WWW project got things mostly right. If anything, I’d correct what came later: cookies and JavaScript—those two technologies (which didn’t exist on the web originally) are the source of tracking & surveillance. The one thing I wish had been done differently is I wish that JavaScript were a same-origin technology from day one: https://adactio.com/journal/16099 Next question: How excited were you when you initially got the call for such an amazing project? My predictable response: It was an unbelievable privilege! I was so excited the whole time—I still can hardly believe it really happened! https://adactio.com/journal/14803 https://adactio.com/journal/14821 Later in the presentation, I talked about service workers and progressive web apps. I got a technical question about that: Is there a limit to the amount of local storage a PWA can use? I answered: Great question! Yes, there are limits, but we’re generally talking megabytes here. It varies from browser to browser and depends on the available space on the device. But files stored using the Cache API are less likely to be deleted than files stored in the browser cache. More worrying is the announcement from Apple to only store files for a week of browser use: https://adactio.com/journal/16619 Finally, there was a question about the over-arching theme of the talk… Great talk, Jeremy. Do you encounter push-back when using the term “Progressive Enhancement”? My response: Yes! …And that’s why I never once used the phrase “progressive enhancement” in my talk. ???? There’s a lot of misunderstanding of the term. Rather than correct it, I now avoid it: https://adactio.com/journal/9195 Instead of using the phrase “progressive enhancement”, I now talk about the benefits and effects of the technique: resilience, universality, etc. Full Article futuresync2020 conference talk presentation questions answers progressive enhancement pwas webapps cern web frontend development speaking medium:id=43bbbfb8e331
science and technology Overlay gap By adactio.com Published On :: Mon, 20 Apr 2020 15:39:33 GMT I think a lot about Danielle’s talk at Patterns Day last year. Around about the six minute mark she starts talking about gaps and overlaps. Gaps are where hidden complexity live. If we don’t have a category to cover it, in effect it becomes invisible. But that doesn’t mean it’s not there. Unidentified gaps cause inconsistency and confusion. Overlaps occur when two separate categories encompass some of the same areas of responsibility. They cause conflict, duplication of effort, and unnecessary friction. This is the bit I keep thinking about. It’s such an insightful lens to view things through. On just about any project, tensions are almost due to either gaps (“I thought someone else was doing that”) or overlaps (“Oh, you’re doing that? I thought we were doing that”). When I was talking to Gerry on his new podcast recently, we were trying to figure out why web performance is in such a woeful state. I mused that there may be a gap. Perhaps designers think it’s a technical problem and developers think it’s a design problem. I guess you could try to bridge this gap by having someone whose job is to focus entirely on performance. But I suspect the better—but harder—solution is to create a shared culture of performance, of the kind Lara wrote about in her book: Performance is truly everyone’s responsibility. Anyone who affects the user experience of a site has a relationship to how it performs. While it’s possible for you to single-handedly build and maintain an incredibly fast experience, you’d be constantly fighting an uphill battle when other contributors touch the site and make changes, or as the Web continues to evolve. I suspect there’s a similar ownership gap at play when it comes to the ubiquitous obtrusive overlays that are plastered on so many websites these days. Kirill Grouchnikov recently published a gallery of screenshots showcasing the beauty of modern mobile websites: There are two things common between the websites in these screenshots that I took yesterday. They are beautifully designed, with great typography, clear branding, all optimized for readability. I had to install Firefox, Adblock Plus and uBlock Origin, as well as manually select and remove additional elements such as subscription overlays. The web can be beautiful. Except it’s not right now. How is this dissonance possible? How can designers and developers who clearly care about the user experience be responsible for unleashing such user-hostile interfaces? PM/Legal/Marketing made me do it I get that. But surely the solution can’t be to shrug our shoulders, pass the buck, and say “not my job.” Somebody designed each one of those obtrusive overlays. Somebody coded up each one and pushed them into production. It’s clear that this is a problem of communication and understanding, rather than a technical problem. As always. We like to talk about how hard and complex our technical work is, but frankly, it’s a lot easier to get a computer to do what you want than to convince a human. Not least because you also need to understand what that other human wants. As Danielle says: Recognising the gaps and overlaps is only half the battle. If we apply tools to a people problem, we will only end up moving the problem somewhere else. Some issues can be solved with better tools or better processes. In most of our workplaces, we tend to reach for tools and processes by default, because they feel easier to implement. But as often as not, it’s not a technology problem. It’s a people problem. And the solution actually involves communication skills, or effective dialogue. So let’s say it is someone in the marketing department who is pushing to have an obtrusive newsletter sign-up form get shoved in the user’s face. Talk to them. Figure out what their goals are—what outcome are they hoping to get to. If they don’t seem to understand the user-experience implications, talk to them about that. But it needs to be a two-way conversation. You need to understand what they need before you start telling them what you want. I realise that makes it sound patronisingly simple, and I know that in actuality it’s a sisyphean task. It may be that genuine understanding between people is the wickedest of design problems. But even if this problem seems insurmoutable, at least you’d be tackling the right problem. Because the web can’t survive like this. Full Article overlays mobile design ui ux interface antipatterns gaps overlaps communication performance process collaboration understanding medium:id=ef694f67bbc6
science and technology Lightweight By adactio.com Published On :: Thu, 23 Apr 2020 17:12:17 GMT It’s been fascinating to see how television programmes have adapted to The Situation. It’s like there’s been a weird inversion with the YouTube asthetic. Instead of YouTubers doing their utmost to emulate the look of professional television, now everyone on professional television looks like a YouTuber. No more lighting or audio technicians. No more studio audiences. Heck, no more studios. There are some kinds of TV programmes that are showing the strain. A lot of comedy formats just fall flat without the usual production values. But a lot of programmes work just fine. In fact, some of them might be better. Watching Mary Beard present Front Row Late from her house is an absolute delight. It feels more direct and honest without the artiface of a television studio. It kind of makes you wonder whether expensive production costs are really necessary when what you really care about is the content. All of this is one big belaboured metaphor for websites. In times of crisis, informational websites sometimes offer a “lite” version. Max has even made an emergency website kit: The site contains only the bare minimum - no webfonts, no tracking, no unnecessary images. The entire thing should fit in a single HTTP request. It’s basically just a small, ultra-lean blog focused on maximum resilience and accessibility. The Service Worker takes it a step further from there so if you’ve visited the site once, the information is still accessible even if you lose network coverage. Eric emphasises the importance of performance in his post Get Static: I’m thinking here of sites for places like health departments (and pretty much all government services), hospitals and clinics, utility services, food delivery and ordering, and I’m sure there are more that haven’t occurred to me. As much as you possibly can, get it down to static HTML and CSS and maybe a tiny bit of enhancing JS, and pare away every byte you can. Tom Loosemore offers this advice to teams building new coronavirus services: Get a 4 year-old Android phone, and use it as your test/demo device. https://design-system.service.gov.uk is your friend. Full React isn’t your friend if it makes your service slow & inaccessible Remember: This is for everyone. Indeed, Gov.uk are usually a paragon of best practices in just about any situation. But they dropped the ball recently, as Matthew attests: coronavirus.data.gov.uk is a static site, fetching and displaying remote data. It is also a 100% client-side JavaScript React site. http://dracos.co.uk/made/coronavirus.data.gov.uk/ is 238K vs 770K (basics) on load. I’ve removed about 550K of JavaScript. It seems to work the same. As Tom says: One sign that your website isn’t meeting the needs of all your users is when Matthew Somerville gets sufficiently grumpy about it to do a proper version himself. It’s true enough that Matthew excels at creating lightweight, accessible versions of services that are too bloated or buggy to use. His accessible Odeon project from back in the day is legendary. And I use his slimline version of the National Rail website all the time: traintimes.org.uk—it’s a terrificly performant progressive web app. It’s thankless work though. It flies in the face of everything considered “modern” web development. (If you want to know the cost of “modern” framework-driven JavaScript-first web development, Tim has the numbers.) But Matthew is kind of a hero to me. I wish more developers would follow his example. Maybe now, with this rush to make lightweight versions of valuable services, we might stop and reflect on whether we ever really needed all those added extras in the first place. Hope springs eternal. Update: Matthew has written about his process in Looking at coronavirus.data.gov.uk. Full Article performance lightweight content prioritisation television covid-19 coronavirus javascript frameworks frontend development medium:id=2c8816346890
science and technology Reading By adactio.com Published On :: Sat, 25 Apr 2020 11:10:41 GMT At the beginning of the year, Remy wrote about extracting Goodreads metadata so he could create his end-of-year reading list. More recently, Mark Llobrera wrote about how he created a visualisation of his reading history. In his case, he’s using JSON to store the information. This kind of JSON storage is exactly what Tom Critchlow proposes in his post, Library JSON - A Proposal for a Decentralized Goodreads: Thinking through building some kind of “web of books” I realized that we could use something similar to RSS to build a kind of decentralized GoodReads powered by indie sites and an underlying easy to parse format. His proposal looks kind of similar to what Mark came up with. There’s a title, an author, an image, and some kind of date for when you started and/or finished reading the book. Matt then points out that RSS gets close to the data format being suggested and asks how about using RSS?: Rather than inventing a new format, my suggestion is that this is RSS plus an extension to deal with books. This is analogous to how the podcast feeds are specified: they are RSS plus custom tags. Like Matt, I’m in favour of re-using existing wheels rather than inventing new ones, mostly to avoid a 927 situation. But all of these proposals—whether JSON or RSS—involve the creation of a separate file, and yet the information is originally published in HTML. Along the lines of Matt’s idea, I could imagine extending the h-entry collection of class names to allow for books (or films, or other media). It already handles images (with u-photo). I think the missing fields are the date-related ones: when you start and finish reading. Those fields are present in a different microformat, h-event in the form of dt-start and dt-end. Maybe they could be combined: <article class="h-entry h-event h-review"> <h1 class="p-name p-item">Book title</h1> <img class="u-photo" src="image.jpg" alt="Book cover."> <p class="p-summary h-card">Book author</p> <time class="dt-start" datetime="YYYY-MM-DD">Start date</time> <time class="dt-end" datetime="YYYY-MM-DD">End date</time> <div class="e-content">Remarks</div> <data class="p-rating" value="5">★★★★★</data> <time class="dt-published" datetime="YYYY-MM-DDThh:mm">Date of this post</time> </article> That markup is simultaneously a post (h-entry) and an event (h-event) and you can even throw in h-card for the book author (as well as h-review if you like to rate the books you read). It can be converted to RSS and also converted to .ics for calendars—those parsers are already out there. It’s ready for aggregation and it’s ready for visualisation. I publish very minimal reading posts here on adactio.com. What little data is there isn’t very structured—I don’t even separate the book title from the author. But maybe I’ll have a little play around with turning these h-entries into combined h-entry/event posts. Full Article books reading indieweb publishing micorformats h-entry h-event structured data json rss aggregation syndication visualisation medium:id=d65a123b163
science and technology Principles and priorities By adactio.com Published On :: Mon, 27 Apr 2020 14:33:11 GMT I think about design principles a lot. I’m such a nerd for design principles, I even have a collection. I’m not saying all of the design principles in the collection are good—far from it! I collect them without judgement. As for what makes a good design principle, I’ve written about that before. One aspect that everyone seems to agree on is that a design principle shouldn’t be an obvious truism. Take this as an example: Make it usable. Who’s going to disagree with that? It’s so agreeable that it’s practically worthless as a design principle. But now take this statement: Usability is more important than profitability. Ooh, now we’re talking! That’s controversial. That’s bound to surface some disagreement, which is a good thing. It’s now passing the reversability test—it’s not hard to imagine an endeavour driven by the opposite: Profitability is more important than usability. In either formulation, what makes these statements better than the bland toothless agreeable statements—“Usability is good!”, “Profitability is good!”—is that they introduce the element of prioritisation. I like design principles that can be formulated as: X, even over Y. It’s not saying that Y is unimportant, just that X is more important: Usability, even over profitability. Or: Profitability, even over usability. Design principles formulated this way help to crystalise priorities. Chris has written about the importance of establishing—and revisiting—priorities on any project: Prioritisation isn’t and shouldn’t be a one-off exercise. The changing needs of your customers, the business environment and new opportunities from technology mean prioritisation is best done as a regular activity. I’ve said it many times, but one on my favourite design principles comes from the HTML design principles. The priority of consitituencies (it’s got “priorities” right there in the name!): In case of conflict, consider users over authors over implementors over specifiers over theoretical purity. Or put another way: Users, even over authors. Authors, even over implementors. Implementors, even over specifiers. Specifiers, even over theoretical purity. When it comes to evaluating technology for the web, I think there are a number of factors at play. First and foremost, there’s the end user. If a technology choice harms the end user, avoid it. I’m thinking here of the kind of performance tax that a user has to pay when developers choose to use megabytes of JavaScript. Mind you, some technologies have no direct effect on the end user. When it comes to build tools, version control, toolchains …all the stuff that sits on your computer and never directly interacts with users. In that situation, the wants and needs of developers can absolutely take priority. But as a general principle, I think this works: User experience, even over developer experience. Sadly, I think the current state of “modern” web development reverses that principle. Developer efficiency is prized above all else. Like I said, that would be absolutely fine if we’re talking about technologies that only developers are exposed to, but as soon as we’re talking about shipping those technologies over the network to end users, it’s negligent to continue to prioritise the developer experience. I feel like personal websites are an exception here. What you do on your own website is completely up to you. But once you’re taking a paycheck to make websites that will be used by other people, it’s incumbent on you to realise that it’s not about you. I’ve been talking about developers here, but this is something that applies just as much to designers. But I feel like designers go through that priority shift fairly early in their career. At the outset, they’re eager to make their mark and prove themselves. As they grow and realise that it’s not about them, they understand that the most appropriate solution for the user is what matters, even if that’s a “boring” tried-and-tested pattern that isn’t going to wow any fellow designers. I’d like to think that developers would follow a similar progression, and I’m sure that some do. But I’ve seen many senior developers who have grown more enamoured with technologies instead of honing in on the most appropriate technology for end users. Maybe that’s because in many organisations, developers are positioned further away from the end users (whereas designers are ideally being confronted with their creations being used by actual people). If a lead developer is focused on the productivity, efficiency, and happiness of the dev team, it’s no wonder that their priorities end up overtaking the user experience. I realise I’m talking in very binary terms here: developer experience versus user experience. I know it’s not always that simple. Other priorities also come into play, like business needs. Sometimes business needs are in direct conflict with user needs. If an online business makes its money through invasive tracking and surveillance, then there’s no point in having a design principle that claims to prioritise user needs above all else. That would be a hollow claim, and the design principle would become worthless. Because that’s the point with design principles. They’re there to be used. They’re not a nice fluffy exercise in feeling good about your work. The priority of constituencies begins, “in case of conflict” and that’s exactly when a design principle matters—when it’s tested. Suppose someone with a lot of clout in your organisation makes a decision, but that decision conflicts with your organisations’s design principles. Instead of having an opinion-based argument about who’s right or wrong, the previously agreed-upon design principles allow you to take ego out of the equation. Prioritisation isn’t easy, and it gets harder the more factors come into play: user needs, business needs, technical constraints. But it’s worth investing the time to get agreement on the priority of your constituencies. And then formulate that agreement into design principles. Full Article design principles priorities prioritisation medium:id=f7cd29a57a5d
science and technology Modified machete By adactio.com Published On :: Tue, 28 Apr 2020 19:21:38 GMT The Rise Of Skywalker arrives on Disney Plus on the fourth of May (a date often referred to as Star Wars Day, even though May 25th is and always will be the real Star Wars Day). Time to begin a Star Wars movie marathon. But in which order? Back when there were a mere two trilogies, this was already a vexing problem if someone were watching the films for the first time. You could watch the six films in episode order: The Phantom Menace Attack Of The Clones Revenge Of The Sith A New Hope The Empire Strikes Back The Return Of The Jedi But then you’re spoiling the grand reveal in episode five. Alright then, how about release order? A New Hope The Empire Strikes Back Return Of The Jedi The Phantom Menace Attack Of The Clones Revenge Of The Sith But then you’re front-loading the big pay-off, and you’re finishing with a big set-up. This conundrum was solved with the machete order. It suggests omitting The Phantom Menace, not because it’s crap, but because nothing happens in it that isn’t covered in the first five minutes of Attack Of The Clones. The machete order is: A New Hope The Empire Strikes Back Attack Of The Clones Revenge Of The Sith Return Of The Jedi It’s kind of brilliant. You get to keep the big reveal in The Empire Strikes Back, and then through flashback, you see how this came to be. Best of all, the pay-off in Return Of The Jedi has even more resonance because you’ve just seen Anakin’s downfall in Revenge Of The Sith. With the release of the new sequel trilogy, an adjusted machete order is a pretty straightforward way to see the whole saga: A New Hope The Empire Strikes Back The Phantom Menace (optional) Attack Of The Clones Revenge Of The Sith Return Of The Jedi The Force Awakens The Last Jedi The Rise Of Skywalker Done. But …what if you want to include the standalone films too? If you slot them in in release order, they break up the flow: A New Hope The Empire Strikes Back The Phantom Menace (optional) Attack Of The Clones Revenge Of The Sith Return Of The Jedi The Force Awakens Rogue One The Last Jedi Solo The Rise Of Skywalker I’m planning to watch all eleven films. This was my initial plan: Rogue One A New Hope The Empire Strikes Back The Phantom Menace Attack Of The Clones Revenge Of The Sith Solo Return Of The Jedi The Force Awakens The Last Jedi The Rise Of Skywalker I definitely want to have Rogue One lead straight into A New Hope. The problem is where to put Solo. I don’t want to interrupt the Sith/Jedi setup/payoff. So here’s my current plan, which I have already begun: Solo Rogue One A New Hope The Empire Strikes Back The Phantom Menace Attack Of The Clones Revenge Of The Sith Return Of The Jedi The Force Awakens The Last Jedi The Rise Of Skywalker This way, the two standalone films work as world-building for the saga and don’t interrupt the flow once the main story is underway. I think this works pretty well. Neither Solo nor Rogue One require any prior knowledge to be enjoyed. And just in case you’re thinking that perhaps I’m overthinking it a bit and maybe I’ve got too much time on my hands …the world has too much time on its hands right now! Thanks to The Situation, I can not only take the time to plan and execute the viewing order for a Star Wars movie marathon, I can feel good about it. Stay home, they said. Literally saving lives, they said. Happy to oblige! Full Article starwars films movies sci-fi sciencefiction narrarative storytelling viewing sequence order medium:id=feaf0e2e51b2
science and technology User agents By adactio.com Published On :: Thu, 30 Apr 2020 17:08:25 GMT I was on the podcast A Question Of Code recently. It was fun! The podcast is aimed at people who are making a career change into web development, so it’s right up my alley. I sometimes get asked about what a new starter should learn. On the podcast, I mentioned a post I wrote a while back with links to some great resources and tutorials. As I said then: For web development, start with HTML, then CSS, then JavaScript (and don’t move on to JavaScript too quickly—really get to grips with HTML and CSS first). That’s assuming you want to be a good well-rounded web developer. But it might be that you need to get a job as quickly as possible. In that case, my advice would be very different. I would advise you to learn React. Believe me, I take no pleasure in giving that advice. But given the reality of what recruiters are looking for, knowing React is going to increase your chances of getting a job (something that’s reflected in the curricula of coding schools). And it’s always possible to work backwards from React to the more fundamental web technologies of HTML, CSS, and JavaScript. I hope. Regardless of your initial route, what’s the next step? How do you go from starting out in web development to being a top-notch web developer? I don’t consider myself to be a top-notch web developer (far from it), but I am very fortunate in that I’ve had the opportunity to work alongside some tippety-top-notch developers at Clearleft—Trys, Cassie, Danielle, Mark, Graham, Charlotte, Andy, and Natalie. They—and other top-notch developers I’m fortunate to know—have something in common. They prioritise users. Sure, they’ll all have their favourite technologies and specialised areas, but they don’t lose sight of who they’re building for. When you think about it, there’s quite a power imbalance between users and developers on the web. Users can—ideally—choose which web browser to use, and maybe make some preference changes if they know where to look, but that’s about it. Developers dictate everything else—the technology that a website will use, the sheer amount of code shipped over the network to the user, whether the site will be built in a fragile or a resilient way. Users are dependent on developers, but developers don’t always act in the best interests of users. It’s a classic example of the principle-agent problem: The principal–agent problem, in political science and economics (also known as agency dilemma or the agency problem) occurs when one person or entity (the “agent”), is able to make decisions and/or take actions on behalf of, or that impact, another person or entity: the “principal”. This dilemma exists in circumstances where agents are motivated to act in their own best interests, which are contrary to those of their principals, and is an example of moral hazard. A top-notch developer never forgets that they are an agent, and that the user is the principal. But is it realistic to expect web developers to be so focused on user needs? After all, there’s a whole separate field of user experience design that specialises in this focus. It hardly seems practical to suggest that a top-notch developer needs to first become a good UX designer. There’s already plenty to focus on when it comes to just the technology side of front-end development. So maybe this is too simplistic a way of defining the principle-agent relationship between users and developers: user :: developer There’s something that sits in between, mediating that relationship. It’s a piece of software that in the world of web standards is even referred to as a “user agent”: the web browser. user :: web browser :: developer So if making the leap to understanding users seems too much of a stretch, there’s an intermediate step. Get to know how web browsers work. As a web developer, if you know what web browsers “like” and “dislike”, you’re well on the way to making great user experiences. If you understand the pain points for browser when they’re parsing and rendering your code, you’ve got a pretty good proxy for understanding the pain points that your users are experiencing. Full Article browsers frontend development learning developers users medium:id=7dac827c181e
science and technology Television By adactio.com Published On :: Sun, 03 May 2020 14:10:30 GMT What a time, as they say, to be alive. The Situation is awful in so many ways, and yet… In this crisis, there is also opportunity—the opportunity to sit on the sofa, binge-watch television and feel good about it! I mean just think about it: when in the history of our culture has there been a time when the choice between running a marathon or going to the gym or staying at home watching TV can be resolved with such certitude? Stay at home and watch TV, of course! It’s the only morally correct choice. Protect the NHS! Save lives! Gorge on box sets! What you end up watching doesn’t really matter. If you want to binge on Love Island or Tiger King, go for it. At this moment in time, it’s all good. I had an ancient Apple TV device that served me well for years. At the beginning of The Situation, I decided to finally upgrade to a more modern model so I could get to more streaming services. Once I figured out how to turn off the unbelievably annoying sounds and animations, I got it set up with some subscription services. Should it be of any interest, here’s what I’ve been watching in order to save lives and protect the NHS… Watchmen, Now TV Superb! I suspect you’ll want to have read Alan Moore’s classic book to fully enjoy this series set in the parallel present extrapolated from that book’s ‘80s setting. Like that book, what appears to be a story about masked vigilantes is packing much, much deeper themes. I have a hunch that if Moore himself were forced to watch it, he might even offer some grudging approval. Devs, BBC iPlayer Ex Machina meets The Social Network in Alex Garland’s first TV show. I was reading David Deutsch while I was watching this, which felt like getting an extra bit of world-building. I think this might have worked better in the snappier context of a film, but it makes for an enjoyable saunter as a series. Style outweighs substance, but the style is strong enough to carry it. Breeders, Now TV Genuinely hilarious. Watch the first episode and see how many times you laugh guiltily. It gets a bit more sentimental later on, but there’s a wonderfully mean streak throughout that keeps the laughter flowing. If you are a parent of small children though, this may feel like being in a rock band watching Spinal Tap—all too real. The Mandalorian, Disney Plus I cannot objectively evaluate this. I absolutely love it, but that’s no surprise. It’s like it was made for me. The execution of each episode is, in my biased opinion, terrific. Read what Nat wrote about it. I agree with everything they said. Westworld, Now TV The third series is wrapping up soon. I’m enjoying this series immensely. It’s got a real cyberpunk sensibility; not in a stupid Altered Carbon kind of way, but in a real Gibsonian bit of noirish fun. Like Devs, it’s not as clever as it thinks it is, but it’s throroughly entertaining all the same. Tales From The Loop, Amazon Prime The languid pacing means this isn’t exactly a series of cliffhangers, but it will reward you for staying with it. It avoids the negativity of Black Mirror and instead maintains a more neutral viewpoint on the unexpected effects of technology. At its best, it feels like an updated take on Ray Bradbury’s stories of smalltown America (like the episode directed by Jodie Foster featuring a cameo by Shane Carruth—the time traveller’s time traveller). Years and Years, BBC iPlayer A near-future family and political drama by Russell T Davies. Subtlety has never been his strong point and the polemic aspects of this are far too on-the-nose to take seriously. Characters will monologue for minutes while practically waving a finger at you out of the television set. But it’s worth watching for Emma Thompson’s performance as an all-too believable populist politician. Apart from a feelgood final episode, it’s not light viewing so maybe not the best quarantine fodder. For All Mankind, Apple TV+ An ahistorical space race that’s a lot like Mary Robinette Kowal’s Lady Astronaut books. The initial premise—that Alexei Leonov beats Neil Armstrong to a moon landing—is interesting enough, but it really picks up from episode three. Alas, the baton isn’t really kept up for the whole series; it reverts to a more standard kind of drama from about halfway through. Still worth seeing though. It’s probably the best show on Apple TV+, but that says more about the paucity of the selection on there than it does about the quality of this series. Avenue Five, Now TV When it’s good, this space-based comedy is chucklesome but it kind of feels like Armando Iannucci lite. Picard, Amazon Prime It’s fine. Michael Chabon takes the world of Star Trek in some interesting directions, but it never feels like it’s allowed to veer too far away from the established order. The Outsider, Now TV A tense and creepy Stephen King adaption. I enjoyed the mystery of the first few episodes more than the later ones. Once the supernatural rules are established, it’s not quite as interesting. There are some good performances here, but the series gives off a vibe of believing it’s more important than it really is. Better Call Saul, Netflix The latest series (four? I’ve lost count) just wrapped up. It’s all good stuff, even knowing how some of the pieces need to slot into place for Breaking Bad. Normal People, BBC iPlayer I heard this was good so I went to the BBC iPlayer app and hit play. “Pretty good stuff”, I thought after watching that episode. Then I noticed that it said Episode Twelve. I had watched the final episode first. Doh! But, y’know, watching from the start, the foreknowledge of how things turn out isn’t detracting from the pleasure at all. In fact, I think you could probably watch the whole series completely out of order. It’s more of a tone poem than a plot-driven series. The characters themselves matter more than what happens to them. Hunters, Amazon Prime A silly 70s-set jewsploitation series with Al Pacino. The enjoyment comes from the wish fulfillment of killing nazis, which would be fine except for the way that the holocaust is used for character development. The comic-book tone of the show clashes very uncomfortably with that subject matter. The Shoah is not a plot device. This series feels like what we would get if Tarentino made television (and not in a good way). Full Article television tv entertainment watchmen westworld picard hunters mandalorian breeders devs outsider sci-fi sciencefiction drama comedy medium:id=bd2a05529b02
science and technology A decade apart By adactio.com Published On :: Mon, 04 May 2020 18:09:08 GMT Today marks ten years since the publication of HTML5 For Web Designers, the very first book from A Book Apart. I’m so proud of that book, and so honoured that I was the first author published by the web’s finest purveyors of brief books. I mean, just look at the calibre of their output since my stumbling start! Here’s what I wrote ten years ago. Here’s what Jason wrote ten years ago. Here’s what Mandy wrote ten years ago. Here’s what Jeffrey wrote ten years ago. They started something magnificent. Ten years on, with Katel at the helm, it’s going from strength to strength. Happy birthday, little book! And happy birthday, A Book Apart! Here’s to another decade! Full Article abookapart html5forwebdesigners decade anniversary publishing books writing medium:id=fedc0a42685e
science and technology Environmental Toxicants: Human Exposures and Their Health Effects, 4th Edition By www.wiley.com Published On :: 2020-04-07T04:00:00Z An Updated Reference on Human Exposure to Environmental Toxicants and A Study of Their Impact on Public HealthWith the 4th edition of Environmental Toxicants: Human Exposures and Their Health Effects, readers have access to up-to-date information on the study and science of environmental toxicology and public health worldwide. Practitioners and professionals can use this resource to understand newly discovered information on the adverse health effects Read More... Full Article
science and technology Cancer Chemotherapy: Basic Science to the Clinic, 2nd Edition By www.wiley.com Published On :: 2020-04-13T04:00:00Z Provides a clear and accessible summary of all stages and aspects of the discovery, design, development, validation and clinical use of anticancer drugsThis new edition provides an update on the current state of the art of cancer chemotherapy and clinical practice and presents new pipeline anticancer agents and promising therapeutic strategies that are emerging alongside new breakthroughs in cancer biology. Its unique approach enables students to Read More... Full Article
science and technology Lecture Notes Nephrology: A Comprehensive Guide to Renal Medicine By www.wiley.com Published On :: 2020-04-13T04:00:00Z Lecture Notes: Nephrology is a concise introduction to the fundamental principles of nephrology. An ideal study guide for medical trainees, this accessible resource combines the depth of a textbook with the accessibility of a handbook. Succinct chapters describe the clinical implications of renal physiology, examine major renal disorders and diseases, and explain a wide range of management and treatment options. Read More... Full Article
science and technology Human Genetics and Genomics: A Practical Guide By www.wiley.com Published On :: 2020-04-13T04:00:00Z Finally meeting the need for a laboratory manual on human genetics, this practical guide is the perfect companion title to all major standard textbooks on the subject. The authors all have a high-level research background and are actively involved in teaching and counseling.Based on a standard curriculum in human genetics, each chapter equals one practical unit of the course and topics range from basics in human inheritance to genetics in major disease Read More... Full Article
science and technology Autoimmune Liver Disease: Management and Clinical Practice By www.wiley.com Published On :: 2020-04-13T04:00:00Z A practical guide to autoimmune liver diseases through pathogenesis, diagnosis, and managementIn Autoimmune Liver Disease Management and Clinical Practice, practitioners will learn about the current state of autoimmune liver disease and how to focus on their diagnosis and treatment. The four-part book begins with a thorough investigation of current immunological thinking as it relates to the autoimmunity of the liver. It also covers the four major Read More... Full Article
science and technology Textbook for Orthodontic Therapists By www.wiley.com Published On :: 2020-04-13T04:00:00Z Textbook for Orthodontic Therapists is a comprehensive text specifically designed for orthodontic therapists. Written in an accessible and digestible format, it provides the essential clinical and theoretical knowledge needed for daily clinical practice.Covering learning outcomes required by the examining bodies and the General Dental Council (GDC), it includes topics such as common types of orthodontic appliances, frequently found orthodontic problems Read More... Full Article
science and technology The Cardiovascular System at a Glance, 5th Edition By www.wiley.com Published On :: 2020-04-13T04:00:00Z Everything you need to know about the cardiovascular system... at a Glance!The Cardiovascular System at a Glance is the essential reference guide to understanding all things circulatory. Concise, accessible, and highly illustrated, this latest edition presents an integrated overview of the subject, from the basics through to application. Featuring brand new content on stroke, examination and imaging, heart block and ECGs, and myopathies and channelopathies Read More... Full Article
science and technology Natural Oral Care in Dental Therapy By www.wiley.com Published On :: 2020-04-14T04:00:00Z Because of increasing antibiotic resistance, stronger antibiotics are reserved for serious active infection, paving the way for a greater use of herbal antibiotics. This book helps dentists in implementing safe and effective natural medicine therapies to complement the current practice guidelines.Oral diseases continue to be a major health problem world-wide. Oral health is integral to general well-being and relates to the quality-of-life that extends Read More... Full Article
science and technology The Wiley Handbook of Healthcare Treatment Engagement: Theory, Research, and Clinical Practice By www.wiley.com Published On :: 2020-04-14T04:00:00Z Against a global backdrop of problematic adherence to medical treatment, this volume addresses and provides practical solutions to the simple question: “Why don’t patients take treatments that could save their lives?”The Wiley handbook of Healthcare Treatment Engagementoffers a guide to the theory, research and clinical practice of promoting patient engagement in healthcare treatment at individual, organizational and systems levels. The concept of Read More... Full Article
science and technology The Dentist's Drug and Prescription Guide, 2nd Edition By www.wiley.com Published On :: 2020-04-14T04:00:00Z The updated and authoritative reference to medications used in dental practice The revised and updated second edition of The Dentist's Drug and Prescription Guide offers a practical and quick reference to medications commonly prescribed in dental practice. With contributions from experts on the topic, this comprehensive book takes an accessible question-and-answer format, providing answers to common questions dentists ask about drugs. The most updated Read More... Full Article
science and technology Temporary Anchorage Devices in Clinical Orthodontics By www.wiley.com Published On :: 2020-04-21T04:00:00Z Provides the latest information on all aspects of using temporary anchorage devices in clinical orthodontics, from diagnosis and treatment planning to appliances and applications Written by some of the world’s leading experts in orthodontics, Temporary Anchorage Devices in Clinical Orthodontics is a comprehensive, up-to-date reference that covers all aspects of temporary anchorage device (TAD) use in contemporary orthodontics. Taking a real-world Read More... Full Article
science and technology Removable Prosthodontics at a Glance By www.wiley.com Published On :: 2020-04-21T04:00:00Z Removable Prosthodontics at a Glance provides a comprehensive and accessible guide to the practical elements of complete and partial denture provision. It serves as the perfect illustrated guide for learners, and a handy revision guide for subsequent undergraduate and postgraduate studies.Following the familiar, easy to use at a Glance format, each topic is presented as a double page spread with text accompanied by clear colour diagrams and clinical Read More... Full Article