way Aviation Minister proposes over 50 helicopter emergency medical units along highways By www.thehindubusinessline.com Published On :: Tue, 05 Nov 2024 20:48:52 +0530 This initiative aims to enhance rapid medical assistance, particularly in remote areas, and align with global healthcare standards Full Article Logistics
way New flagship Land Rover Defender on its way By www.thehindubusinessline.com Published On :: Fri, 29 Mar 2024 22:04:00 +0530 It’ll be powered by a twin-turbo V8 Full Article Auto focus
way Data | Malappuram, Palakkad and Wayanad lag behind other Kerala districts By www.thehindu.com Published On :: Wed, 05 Jul 2023 16:34:32 +0530 While inter-district disparities exist, they were not as stark in Kerala compared to Tamil Nadu Full Article Data
way Body of woman found near Uran railway station in Navi Mumbai By www.thehindu.com Published On :: Sun, 28 Jul 2024 15:47:27 +0530 A case under Section 103 of BNS has been registered. Three teams have been formed to trace the accused: Navi Mumbai DCP Full Article Mumbai
way Wayanad landslide: More than 1,000 government employees engaged in 24x7 relief operations, says CMO By www.thehindu.com Published On :: Sun, 04 Aug 2024 15:40:33 +0530 The government staff are handling the coordination of the search and rescue effort, distribution of relief materials, counselling of landslide victims with medical conditions Full Article Kerala
way Parents hoping to adopt orphans of Wayanad landslide may not have their wish granted By www.thehindu.com Published On :: Sun, 04 Aug 2024 17:06:03 +0530 It is estimated that the landslide has robbed five children of their parents; currently they are with their immediate relatives at the relief camp Full Article Kerala
way ‘Dynamite’ Daniel Dubois smashes his way into the heavyweight world title scene By www.thehindu.com Published On :: Sat, 05 Oct 2024 00:22:12 +0530 After destroying fan favourite Anthony Joshua’s redemption arc with a brutal hammering, the IBF champion’s future looks bright. He could await the winner of the Usyk-Fury fight, where the WBA, WBO and WBC belts are on the line, for an opportunity to become the undisputed champion Full Article Other Sports
way We have to go all the way back to Karpov and Kasparov on the top two boards to find something like India’s dominance: Peter Svidler By www.thehindu.com Published On :: Sat, 19 Oct 2024 00:59:03 +0530 In this chat, Russian GM Svidler talks about India’s historic Olympiad, his experience of coaching Praggnanandhaa, his love affair with Test cricket and his assessment of the Global Chess League, not just as a chess player but also as a cricket fan who follows the IPL Full Article Other Sports
way Three runaway Yanadi tribe children traced, restored to family By www.thehindu.com Published On :: Mon, 04 Nov 2024 09:22:19 +0530 The siblings went missing from their homes at Kalekhanpeta on November 1 and were traced at Tammirasa village in Krishna district, says Superintendent of Police Gangadhar Rao Full Article Andhra Pradesh
way Kondamodu-Perecherla National Highway project in A.P. gets Centre’s nod By www.thehindu.com Published On :: Wed, 06 Nov 2024 10:40:04 +0530 The Union Ministry has approved the bid submitted by RRS Infra, amounting to ₹506.88 crore. Full Article Andhra Pradesh
way Railway police launch search after mother and son go missing in Vijayawada By www.thehindu.com Published On :: Fri, 08 Nov 2024 18:29:14 +0530 Full Article Andhra Pradesh
way Minor girl sold away by traffickers on pretext of marriage in A.P., ICDS officials rescue girl By www.thehindu.com Published On :: Sat, 09 Nov 2024 16:26:07 +0530 The semi-orphan girl was sold away to a person who was willing to marry her, WDCW officials said Full Article Andhra Pradesh
way A way out: On the government and doctor-led protests in West Bengal By www.thehindu.com Published On :: Wed, 18 Sep 2024 00:20:00 +0530 The West Bengal government must enable the changes doctors want to see Full Article Editorial
way Take the gauntlet: On safety and the Indian Railways By www.thehindu.com Published On :: Mon, 14 Oct 2024 00:38:00 +0530 ‘Kavach’ implementation is a priority but will not be a silver bullet Full Article Editorial
way Synthesis of a celastrol derivative as a cancer stem cell inhibitor through regulation of the STAT3 pathway for treatment of ovarian cancer By pubs.rsc.org Published On :: RSC Med. Chem., 2024, 15,3433-3443DOI: 10.1039/D4MD00468J, Research ArticleMeijuan Liu, Na Li, Zhaoxue Wang, Shuo Wang, Shaoda Ren, Xiaojing LiA synthetic celastrol derivative (Cel-N) attenuates cancer cell stemness, inhibits the STAT3 pathway, and exerts anti-ovarian cancer effects in cell and mouse models.The content of this RSS Feed (c) The Royal Society of Chemistry Full Article
way SLL-1A-16 suppresses proliferation and induces autophagy in non-small-cell lung cancer cells via the AKT/mTOR signaling pathway By pubs.rsc.org Published On :: RSC Med. Chem., 2024, 15,3460-3468DOI: 10.1039/D4MD00405A, Research ArticleXiaoqin Luo, Jin Wang, Ruichang Wang, Jiabing Lian, Mengnan Guo, Hongrui Zhou, Mengxue Zhang, Zhe Yang, Xiaolong Li, Xianran He, Xiuli BiSchematic of proposed mechanism for the treatment of the SLL-1A-16 inhibiting the proliferation in NSCLC.The content of this RSS Feed (c) The Royal Society of Chemistry Full Article
way Therapeutic upregulation of DNA repair pathways: strategies and small molecule activators By pubs.rsc.org Published On :: RSC Med. Chem., 2024, Advance ArticleDOI: 10.1039/D4MD00673A, Review ArticleJuhyung Song, Cheoljun Park, Francis E. B. Cabanting, Yong Woong JunPotential therapeutic target proteins for upregulating DNA repair system are reviewed, along with reported small-molecule activators.To cite this article before page numbers are assigned, use the DOI form of citation above.The content of this RSS Feed (c) The Royal Society of Chemistry Full Article
way Railways using treated water from its STP for maintaining green spaces By www.thehindu.com Published On :: Thu, 07 Nov 2024 20:46:00 +0530 The treated water is stored in an overhead tank and used in gardens at the two railway rest houses meant for officers at Kallukuzhi near Tiruchi Railway Junction Full Article Tiruchirapalli
way Uppiliyapuram, gateway to scenic Pachamalai, lacks bus stand with passengers left to fight the elements By www.thehindu.com Published On :: Fri, 08 Nov 2024 19:20:03 +0530 Buses stop at a busy junction making it difficult for commuters as well as local businessmen; a site is yet to be identified for the bus stand Full Article Tiruchirapalli
way Nagapattinam MP presses for new express trains, railway line extensions By www.thehindu.com Published On :: Sat, 09 Nov 2024 20:34:19 +0530 Full Article Tiruchirapalli
way Are freeways viable? By www.thehindu.com Published On :: Fri, 20 Mar 2015 15:01:41 +0530 Barring very few functionally useful ones, many elevated concrete structures with suboptimal utility have ripped the city apart, defiled and marred it. Full Article Property Plus
way Spotlight on ways to end violence against children By www.thehindubusinessline.com Published On :: Sun, 03 Nov 2024 19:24:25 +0530 Full Article Pulse
way Corporates look to tread the India Way By www.thehindubusinessline.com Published On :: Fri, 08 Nov 2024 10:33:04 +0530 Business leaders are realising that longevity may be a better marker for growth than shareholder value maximisation Full Article Corporate File
way Dream Rig Contest Underway By www.arrl.org Published On :: Fri, 25 Oct 2024 14:38:00 -0500 The 5th annual Youth "Dream Rig" Essay Contest has begun to accept submissions.The contest is sponsored by The Intrepid-DX Group, a U.S.-based 501 (c) (3) nonprofit organization that promotes amateur radio activities around the world and recognizes the importance of including youth in the amateur radio hobby.Contestants must be USA or Canadian amateur radio license holders aged 19 or younger. A... Full Article
way Desecration of a way of life By www.thehindubusinessline.com Published On :: Sun, 06 Sep 2020 19:34:08 +0530 A story of how China ripped into the genteel charm of the traditional Buddhist society in Tibet Full Article Books
way The Masaba way By www.thehindu.com Published On :: Wed, 03 Aug 2016 00:00:00 +0530 Designer Masaba Gupta finds inspiration in everything: from a table fan to a table tennis table Full Article Bombay Showcase
way Saidapet-Teynampet elevated corridor project: Highways Dept. removes footpaths on Anna Salai to construct flyover By www.thehindu.com Published On :: Sun, 10 Nov 2024 21:24:11 +0530 The removal of the footpaths will help increase the width of the carriageway at points where lanes on either side of the median will be barricaded Full Article Tamil Nadu
way T.N. stretch of Bengaluru-Chennai Expressway may be completed by August 2025 By www.thehindu.com Published On :: Sun, 10 Nov 2024 22:17:27 +0530 While the 24.50-km package from Walajapet to Arakkonam has the most progress, with over 84% of the work being carried out, the Arakkonam to Kancheepuram package has the least progress with about 52% Full Article Chennai
way A History of CSS Through Fifteen Years of 24 ways By 24ways.org Published On :: Mon, 16 Dec 2019 12:00:00 +0000 Rachel Andrew guides us through a tour of the last fifteen years in CSS layout, as manifested in articles here on 24 ways. From the days when Internet Explorer 6 was de rigueur, right up to the modern age of evergreen browsers, the only thing you can be sure of is that the web never stands still for long. I’ve written nine articles in the 15 years of 24 ways, and all but one of those articles had something to do with CSS. In this last year of the project, I thought I would take a look back at those CSS articles. It’s been an interesting journey, and by reading through my words from the last 15 years I discovered not only how much the web platform has evolved - but how my own thinking has shifted with it. 2005: CSS layout starting points Latest web browser versions: Internet Explorer 6 (at this point 4 years old), IE5.1 Mac, Netscape 8, Firefox 1.5, Safari 2 Fifteen years ago, my contributions to 24 ways started with a piece about CSS layout. That article explored something I had been using in my own work. In 2005, most of the work I was doing was building websites from Photoshop files delivered to me by my design agency clients. I’d built up a set of robust, tried-and-tested CSS layouts to use to implement these. My starting point when approaching any project was to take a look at the static comps and figure out which layout I would use: Liquid, multiple column with no footer Liquid, multiple column with footer Fixed width, centred At that point, there were still many sites being shipped with table-based layouts. We had learned how to use floats to create columns some four years earlier, however layout was still a difficult and often fragile thing. By developing patterns that I knew worked, where I had figured out any strange bugs, I saved myself a lot of time. Of course, I wasn’t the only person thinking in this way. The two sites from which the early CSS for layout enthusiasts took most of their inspiration, had a library of patterns for CSS layout. The Noodle Incident little boxes is still online, glish.com/css is sadly only available at the Internet Archive. which one of the two possible websites are you currently designing? pic.twitter.com/ZD0uRGTqqm— Jon Gold (@jongold) February 2, 2016 This thinking was taken to a much greater extreme in 2011, when Twitter Bootstrap launched and starting with an entire framework for layout and much more became commonplace across the industry. While I understand the concern many folk have about every website ending up looking the same, back in 2005 I was a pragmatist. That has not changed. I’ve always built websites and run businesses alongside evangelizing web standards and contributing to the platform. I’m all about getting the job done, paying the bills, balancing that with trying to make things better so we don’t need to make as many compromises in the future. If that means picking from one of a number of patterns, that is often a very reasonable approach. Not everything needs to be a creative outpouring. Today however, CSS Grid Layout and Flexbox mean that we can take a much more fluid approach to developing layouts. This enables the practical and the creative alike. The need for layout starting points - whether simple like mine, or a full framework like Bootstrap - seems to be decreasing, however in their place comes an interest in component libraries. This approach to development partly enabled by the fact that new layout makes it possible to drop a component into the middle of a layout without blowing the whole thing up. 2006: Faster Development with CSS Constants Latest web browser versions: Internet Explorer 7, Netscape 8.1, Firefox 2, Safari 2 My article in 2006 was once again taken from the work I was doing as a developer. I’ve always been as much, if not more of a backend developer than a frontend one. In 2006, I was working in PHP on custom CMS implementations. These would also usually include the front-end work. Along with several other people in the industry I’d been experimenting with ways to use CSS “constants” as we all seemed to call them, by processing the CSS with our server-side language of choice. The use case was mostly for development, although as a CMS developer, I could see the potential of allowing these values to be updated via the CMS. Perhaps to allow a content editor to change a color scheme. Also in 2006, the first version of Sass was released, created by Hampton Catlin and Natalie Weizenbaum. Sass, LESS and other pre-processors began to give us a more streamlined and elegant way to achieve variables in CSS. In 2009, the need for pre-processors purely for variables is disappearing. CSS now has Custom Properties - something I did not foresee in 2006. These “CSS Variables” are far more powerful than swapping out a value in a build process. They can be changed dynamically, based on something changing in the environment, rather than being statically set at build time. 2009: Cleaner Code with CSS3 Selectors Latest web browser versions: Internet Explorer 8, Firefox 3.5, Safari 4, Chrome 3 After a break from writing for 24 ways, in 2009 I wrote this piece about CSS3 Selectors, complete with jQuery fallbacks due to the fact that some of these selectors were not usable in Internet Explorer 8. Today these useful selectors have wide browser support, we also have a large number of new selectors which are part of the Level 4 specification. The changes section of the Level 4 spec gives an excellent rundown of what has been added over the years. Browser support for these newer selectors is more inconsistent, MDN has an excellent list with the page for each selector detailing current browser support and usage examples. 2012: Giving Content Priority with CSS3 Grid Layout Latest web browser versions: Internet Explorer 10, Firefox 17, Safari 6, Chrome 23 My 2012 piece was at the beginning of my interest in the CSS Grid Layout specification. Earlier in 2012 I had attended a workshop given by Bert Bos, in which he demonstrated some early stage CSS modules, including the CSS Grid Layout specification. I soon discovered that there would be an implementation of Grid in IE10, the new browser shipped in September of 2012 and I set about learning how to use Grid Layout. This article was based on what I had learned. The problem of source versus visual order As a CMS developer I immediately linked the ability to lay out items and prioritize content, to the CMS and content editors. I was keen to find ways to allow content editors to prioritize content across breakpoints, and I felt that Grid Layout might allow us to do that. As it turned out, we are still some way away from that goal. While Grid does allow us to separate visual display from source order, it can come at a cost. Non-visual browsers, and the tab order of the document follow the source and not the visual display. This makes it easy to create a disconnected and difficult to use experience if we essentially jumble up the display of elements, moving them away from how they appear in the document. I still think that an issue we need to solve is how to allow developers to indicate that the visual display should be considered the correct order rather than the document order. The Grid Specification moved on Some of the issues in this early version of the grid spec were apparent in my article. I needed to use a pre-processor, to calculate the columns an element would span. This was partly due to the fact that the early grid specifications did not have a concept of the gap property. In addition the initial spec did not include auto-placement and therefore each item had to be explicitly placed onto the grid. The basics of the final specification were there, however over the years that followed the specification was refined and developed. We got gaps, and auto-placement, and the grid-template-areas property was introduced. By the time Grid shipped in Firefox, Chrome, and Safari many of the sticky things I had encountered when writing this article were resolved. 2015: Grid, Flexbox, Box Alignment: Our New System for Layout Latest web browser versions: Edge 13, Firefox 43, Safari 9, Chrome 47 Grid still hadn’t shipped in more browsers but the specification had moved on. We had support for gaps, with the grid-row-gap, grid-column-gap and grid-gap properties. My own thinking about the specification, and the related specifications had developed. I had started teaching grid not as a standalone module, but alongside Flexbox and Box Alignment. I was trying to demonstrate how these modules worked together to create a layout system for modern web development. Another place my thinking had moved on since my initial Grid article in 2012, was in terms of content reordering and accessibility. In July of 2015 I wrote an article entitled, Modern CSS Layout, Power and Responsibility in which I outlined these concerns. Some things change, and some stay the same. The grid- prefixed gap properties were ultimately moved into the Box Alignment specification in order that they could be defined for Flex layout and any other layout method which in future required gaps. What I did not expect, was that four years on I would still be being asked about Grid versus Flexbox: “A question I keep being asked is whether CSS grid layout and flexbox are competing layout systems, as though it might be possible to back the loser in a CSS layout competition. The reality, however, is that these two methods will sit together as one system for doing layout on the web, each method playing to certain strengths and serving particular layout tasks.” 2016: What next for CSS Grid Layout? Latest web browser versions: Edge 15, Firefox 50, Safari 10, Chrome 55 In 2016, we still didn’t have Grid in browsers, and I was increasingly looking like I was selling CSS vaporware. However, with the spec at Candidate Recommendation, and it looking likely that we would have grid in at least two browsers in the spring, I wrote an article about what might come next for grid. The main subject was the subgrid feature, which had by that point been removed from the Level 1 specification. The CSS Working Group were still trying to decide whether a version of subgrid locked to both dimensions would be acceptable. In this version we would have declared display: subgrid on the grid item, after which its rows and columns would be locked to the tracks of the parent. I am very glad that it was ultimately decided to allow for one-dimensional subgrids. This means that you can use the column tracks of the parent, yet have an implicit grid for the rows. This enables patterns such as the one I described in A design pattern solved by subgrid. At the end of 2019, we don’t yet have wide browser support for subgrid, however Firefox has already shipped the value in Firefox 71. Hopefully other browsers will follow suit. Level 2 of the grid specification ultimately became all about adding support for subgrid, and so we don’t yet have any of the other features I mentioned in that piece. All of those features are detailed in issues in the CSS Working Group Github repo, and aren’t forgotten about. As we come to decide features for Level 3, perhaps some of them will make the cut. It was worth waiting for subgrid, as the one-dimensional version gives us so much more power, and as I take a look back over these 24 ways articles it really underlines how much of a long game contributing to the platform is. I mentioned in the closing paragraph of my 2016 article that you should not feel ignored if your idea or use case is not immediately discussed and added to a spec, and that is still the case. Those of us involved in specifying CSS, and in implementing CSS in browsers care very much about your feedback. We have to balance that with the need for this stuff to be right. 2017: Christmas Gifts for Your Future Self: Testing the Web Platform Latest web browser versions: Edge 16, Firefox 57, Safari 11, Chrome 63 In 2017 I stepped away from directly talking about layout, and instead published an article about testing. Not about testing your own code, but about the Web Platform Tests project, and how contributing to the tests which help to ensure interoperability between browsers could benefit the platform - and you. This article is still relevant today as it was two years ago. I’m often asked by people how they can get involved with CSS, and testing is a great place to start. Specifications need tests in order to progress to become Recommendations, therefore contributing tests can materially help the progress of a spec. You can also help to free up the time of spec editors, to make edits to their specs, by contributing tests they might otherwise need to work on. The Web Platform Tests project has recently got new and improved documentation. If you have some time to spare and would like to help, take a look and see if you can identify some places that are in need of tests. You will learn a lot about the CSS specs you are testing while doing so, and you can feel that you are making a useful and much-needed contribution to the development of the web platform. 2018: Researching a Property in the CSS Specifications Latest web browser versions: Edge 17, Firefox 64, Safari 12, Chrome 71 I almost stayed away from layout in my 2018 piece, however I did feature the Grid Layout property grid-auto-rows in this article. If you want to understand how to dig up all the details of a CSS property, then this article is still useful. One thing that has changed since I began writing for 24 ways, is the amount of great information available to help you learn CSS. Whether you are someone who prefers to read like me, or a person who learns best from video, or by following along with a tutorial, it’s all out there for you. You don’t have to rely on understanding the specifications, though I would encourage everyone to become familiar with doing so, if just to be able to fact check a tutorial which seems to be doing something other than the resulting code. 2019: And that’s a wrap Latest web browser versions: Edge 18, Firefox 71, Safari 12, Chrome 79 This year is the final countdown for 24 ways. With so many other publications creating great content, perhaps there is less of a need for an avalanche of writing in the closing days of each year. The archive will stay as a history of what was important, what we were thinking, and the problems of the day - many of which we have now solved in ways that the authors could never have imagined at the time. I can see through my articles how my thinking evolved over the years, and I’m as excited about what comes next as I was back in 2005, wondering how to make CSS layout easier. About the author Rachel Andrew is a Director of edgeofmyseat.com, a UK web development consultancy and creators of the small content management system, Perch; a W3C Invited Expert to the CSS Working Group; and Editor in Chief of Smashing Magazine. She is the author of a number of books including The New CSS Layout for A Book Apart and a Google Developer Expert for Web Technologies. She curates a popular email newsletter on CSS Layout, and is passing on her layout knowledge over at her CSS Layout Workshop. When not writing about business and technology on her blog at rachelandrew.co.uk or speaking at conferences, you will usually find Rachel running up and down one of the giant hills in Bristol, or attempting to land a small aeroplane while training for her Pilot’s license. More articles by Rachel Full Article Code css
way Five Interesting Ways to Use Array.reduce() (And One Boring Way) By 24ways.org Published On :: Wed, 18 Dec 2019 12:00:00 +0000 Chris Ferdinandi turns the heat down low and lets the sauce reduce while we take a look at how to add spice to our source with a sprinkling of Array.reduce(). Just a little ingenuity with the humblest of functions. Of all the modern array methods, the one I had the hardest time wrapping my head around was Array.reduce(). On the surface, it seems like a simple, boring method that doesn’t do much. But below its humble exterior, Array.reduce() is actually a powerful, flexible addition to your developer toolkit. Today, we’re going to look at some cool things you can do with Array.reduce(). How Array.reduce() works Most of the modern array methods return a new array. The Array.reduce() method is a bit more flexible. It can return anything. Its purpose is to take an array and condense its content into a single value. That value can be a number, a string, or even an object or new array. That’s the part that’s always tripped me up – I didn’t realize just how flexible it is! The syntax The Array.reduce() accepts two arguments: a callback method to run against each item in the array, and a starting value. The callback also accepts two arguments: the accumulator, which is the current combined value, and the current item in the loop. Whatever you return is used as the accumulator for the next item in the loop. On the very first loop, that starting value is used instead. var myNewArray = [].reduce(function (accumulator, current) { return accumulator; }, starting); Let’s look at some examples to make this all tangible. 1. Adding numbers together Let’s say you had an array of numbers that you wanted to add together. Using Array.forEach(), you might do something like this: var total = 0; [1, 2, 3].forEach(function (num) { total += num; }); This is the cliche example for using Array.reduce(). I find the word accumulator confusing, so in this example, I’m calling it sum, because that’s what it is. var total = [1, 2, 3].reduce(function (sum, current) { return sum + current; }, 0); Here, we pass in 0 as our starting value. In the callback, we add the current value to the sum, which has our starting value of 0 on the first loop, then 1 (the starting value of 0 plus the item value of 1), then 3 (the sum value of 1 plus the item value of 2), and so on. Here’s a demo. 2. Combining multiple array methods into Array.map() and Array.filter() into a single step Imagine you had an array of wizards at Hogwarts. var wizards = [ { name: 'Harry Potter', house: 'Gryfindor' }, { name: 'Cedric Diggory', house: 'Hufflepuff' }, { name: 'Tonks', house: 'Hufflepuff' }, { name: 'Ronald Weasley', house: 'Gryfindor' }, { name: 'Hermione Granger', house: 'Gryfindor' } ]; You want to create a new array that contains just the names of wizards who are in Hufflepuff. One way you could do that is by using the Array.filter() method to get back just wizards whose house property is Hufflepuff. Then, you’d use the Array.map() method to create a new array containing just the name property for the remaining wizards. // Get the names of the wizards in Hufflepuff var hufflepuff = wizards.filter(function (wizard) { return wizard.house === 'Hufflepuff'; }).map(function (wizard) { return wizard.name; }); With the Array.reduce() method, we can get the same array in a single pass, improving our performance. You pass in an empty array ([]) as the starting value. On each pass, you check to see if the wizard.house is Hufflepuff. If it is, you push it to the newArr (our accumulator in this example). If not, you do nothing. Either way, you return the newArr to become the accumulator on the next pass. // Get the names of the wizards in Hufflepuff var hufflepuff = wizards.reduce(function (newArr, wizard) { if (wizard.house === 'Hufflepuff') { newArr.push(wizard.name); } return newArr; }, []); Here’s another demo. 3. Creating markup from an array What if, instead of creating an array of names, we wanted to create an unordered list of wizards in Hufflepuff? Instead of passing an empty array into Array.reduce() as our starting value, we’ll pass in an empty string ('') and call it html. If the wizard.house equals Hufflepuff, we’ll concatenate our html string with the wizard.name wrapped in an opening and closing list item (li). Then, we’ll return the html to become the accumulator on the next loop. // Create a list of wizards in Hufflepuff var hufflepuffList = wizards.reduce(function (html, wizard) { if (wizard.house === 'Hufflepuff') { html += '<li>' + wizard.name + '</li>'; } return html; }, ''); Add an opening and closing unordered list element before and after Array.reduce(), and you’re ready to inject your markup string into the DOM. // Create a list of wizards in Hufflepuff var hufflepuffList = '<ul>' + wizards.reduce(function (html, wizard) { if (wizard.house === 'Hufflepuff') { html += '<li>' + wizard.name + '</li>'; } return html; }, '') + '</ul>'; See it in action here. 4. Grouping similar items in an array together The lodash library has a groupBy() method takes a collection of items as an array and groups them together into an object based on some criteria. Let’s say you want an array of numbers. If you wanted to group all of the items in numbers together based on their integer value, you would do this with lodash. var numbers = [6.1, 4.2, 6.3]; // returns {'4': [4.2], '6': [6.1, 6.3]} _.groupBy(numbers, Math.floor); If you had an array of words, and you wanted to group the items in words by their length, you would do this. var words = ['one', 'two', 'three']; // returns {'3': ['one', 'two'], '5': ['three']} _.groupBy(words, 'length'); Creating a groupBy() function with Array.reduce() You can recreate that same functionality using the Array.reduce() method. We’ll create a helper function, groupBy(), that accepts the array and criteria to sort by as arguments. Inside groupBy(), we’ll run Array.reduce() on our array, passing in an empty object ({}) as our starting point, and return the result. var groupBy = function (arr, criteria) { return arr.reduce(function (obj, item) { // Some code will go here... }, {}); }; Inside the Array.reduce() callback function, we’ll check to see if the criteria is a function, or a property of the item. Then we’ll get its value from the current item. If there’s no property in the obj with that value yet, we’ll create it and assign an empty array as its value. Finally, we’ll push the item to that key, and return the object as the accumulator for the next loop. var groupBy = function (arr, criteria) { return arr.reduce(function (obj, item) { // Check if the criteria is a function to run on the item or a property of it var key = typeof criteria === 'function' ? criteria(item) : item[criteria]; // If the key doesn't exist yet, create it if (!obj.hasOwnProperty(key)) { obj[key] = []; } // Push the value to the object obj[key].push(item); // Return the object to the next item in the loop return obj; }, {}); }; Here’s a demo of the completed helper function. Special thanks to Tom Bremer for helping me make some improvements to this one. You can find this helper function and more like it on the Vanilla JS Toolkit. 5. Combining data from two sources into an array Remember our array of wizards? var wizards = [ { name: 'Harry Potter', house: 'Gryfindor' }, { name: 'Cedric Diggory', house: 'Hufflepuff' }, { name: 'Tonks', house: 'Hufflepuff' }, { name: 'Ronald Weasley', house: 'Gryfindor' }, { name: 'Hermione Granger', house: 'Gryfindor' } ]; What if you had another data set, an object of house points each wizard has earned. var points = { HarryPotter: 500, CedricDiggory: 750, RonaldWeasley: 100, HermioneGranger: 1270 }; Imagine you wanted to combine both sets of data into a single array, with the number of points added to each wizard’s data in the wizards array. How would you do it? The Array.reduce() method is perfect for this! var wizardsWithPoints = wizards.reduce(function (arr, wizard) { // Get the key for the points object by removing spaces from the wizard's name var key = wizard.name.replace(' ', ''); // If the wizard has points, add them // Otherwise, set them to 0 if (points[key]) { wizard.points = points[key]; } else { wizard.points = 0; } // Push the wizard object to the new array arr.push(wizard); // Return the array return arr; }, []); Here’s a demo combining data from two sources into an array. 6. Combining data from two sources into an object What if you instead wanted to combine the two data sources into an object, where each wizard’s name was the key, and their house and points were properties? Again, the Array.reduce() method is perfect for this. var wizardsAsAnObject = wizards.reduce(function (obj, wizard) { // Get the key for the points object by removing spaces from the wizard's name var key = wizard.name.replace(' ', ''); // If the wizard has points, add them // Otherwise, set them to 0 if (points[key]) { wizard.points = points[key]; } else { wizard.points = 0; } // Remove the name property delete wizard.name; // Add wizard data to the new object obj[key] = wizard; // Return the array return obj; }, {}); Here’s a demo combining two data sets into an object. Should you use Array.reduce() more? The Array.reduce() method has gone from being something I thought was pointless to my favorite JavaScript method. So, should you use it? And when? The Array.reduce() method has fantastic browser support. It works in all modern browsers, and IE9 and above. It’s been supported in mobile browsers for a long time, too. If you need to go back even further than that, you can add a polyfill to push support back to IE6. The biggest complaint you can make about Array.reduce() is that it’s confusing for people who have never encountered it before. Combining Array.filter() with Array.map() is slower to run and involves extra steps, but it’s easier to read. It’s obvious from the names of the methods what they’re supposed to be doing. That said, there are times where Array.reduce() makes things that would be complicated more simple rather than more complicated. The groupBy() helper function is a good example. Ultimately, this is another tool to add to your toolkit. A tool that, if used right, can give you super powers. About the author Chris Ferdinandi helps people learn vanilla JavaScript. He believes there’s a simpler, more resilient way to make things for the web. Chris is the author of the Vanilla JS Pocket Guide series, creator of the Vanilla JS Academy training program, and host of the Vanilla JS Podcast. His developer tips newsletter is read by thousands of developers each weekday. He’s taught developers at organizations like Chobani and the Boston Globe, and his JavaScript plugins have been used used by Apple and Harvard Business School. Chris Coyier, the founder of CSS-Tricks and CodePen, has described his writing as “infinitely quote-worthy.” Chris loves pirates, puppies, and Pixar movies, and lives near horse farms in rural Massachusetts. He runs Go Make Things with Bailey Puppy, a lab-mix from Tennessee. More articles by Chris Full Article Code javascript
way Four Ways Design Systems Can Promote Accessibility – and What They Can’t Do By 24ways.org Published On :: Mon, 23 Dec 2019 12:00:00 +0000 Amy Hupe prepares a four bird roast of tasty treats so we can learn how the needs of many different types of users can be served through careful implementation of components within a design system. Design systems help us to make our products consistent, and to make sure we’re creating them in the most efficient way possible. They also help us to ensure our products are designed and built to a high quality; that they’re not only consistent in appearance, and efficiently-built, but that they are good. And good design means accessible design. 1 in 5 people in the UK have a long term illness, impairment or disability – and many more have a temporary disability. Designing accessible services is incredibly important from an ethical, reputational and commercial standpoint. For EU government websites and apps, accessibility is also a legal requirement. With that in mind, I’ll explain the four main ways I think we can use design systems to promote accessible design within an organisation, and what design systems can’t do. 1. Bake it in Design systems typically provide guidance and examples to aid the design process, showing what best practice looks like. Many design systems also encompass code that teams can use to take these elements into production. This gives us an opportunity to build good design into the foundations of our products, not just in terms of how they look, but also how they work. For everyone. Let me give an example. The GOV.UK Design System contains a component called the Summary list. It’s used in a few different contexts on GOV.UK, to summarise information. It’s often used at the end of a long or complex form, to let users check their answers before they send them, like this: Users can review the information and, if they’ve entered something incorrectly, they can go back and edit their answer by clicking the “Change” link on the right-hand side. This works well if you can see the change link, because you can see which information it corresponds to. In the top row, for example, I can see that the link is giving me the option to change the name I’ve entered because I can see the name label, and the name I put in is next to it. However, if you’re using a screen reader, this link – and all the others – will just say “change”, and it becomes harder to tell what you’re selecting. So to help with this, the GOV.UK Design System team added some visually-hidden text to the code in the example, to make the link more descriptive. Sighted users won’t see this text, but when a screen reader reads out the link, it’ll say “change name”. This makes the component more accessible, and helps it to satisfy a Web Content Accessibility Guidelines (WCAG 2.1) success criterion for links which says we must “provide link text that identifies the purpose of the link without needing additional context”. By building our components with inclusion in mind, we can make it easier to make products accessible, before anyone’s even had to think about it. And that’s a great starting point. But that doesn’t mean we don’t have to think about it – we definitely do. And a design system can help with that too. 2. Explain it Having worked as the GOV.UK Design System’s content designer for the best part of 3 years, I’m somewhat biased about this, but I think that the most valuable aspect of a design system is its documentation. (Here’s a shameless plug for my patterns Day talk on design system documentation earlier this year, if you want to know more about that.) When it comes to accessibility, written documentation lets us guide good practice in a way that code and examples alone can’t. By carefully documenting implementation rules for each component, we have an opportunity to distribute accessible design principles throughout a design system. This means design system users encounter them not just once, but repeatedly and frequently, in various contexts, which helps to build awareness over time. For instance, WCAG 2.1 warns against using colour as “the only visual means of conveying information, calling an action, prompting a response or distinguishing a visual element”. This is a general principle to follow, but design system documentation lets us explain how this relates to specific components. Take the GOV.UK Design System’s warning buttons. These are used for actions with serious, often destructive consequences that can’t easily be undone – like permanently deleting an account. The example doesn’t tell you this, but the guidance explains that you shouldn’t rely on the red colour of warning buttons to communicate that the button performs a serious action, since not all users will be able to see the colour or understand what it signifies. Instead, it says, “make sure the context and button text makes clear what will happen if the user selects it”. In this way, the colour is used as an enhancement for people who can interpret it, but it’s not necessary in order to understand it. Making the code in our examples and component packages as accessible as possible by default is really important, but written documentation like this lets us be much more explicit about how to design accessible services. 3. Lead by example In our design systems’ documentation, we’re telling people what good design looks like, so it’s really important that we practice what we preach. Design systems are usually for members of staff, rather than members of the public. But if we want to build an inclusive workplace, we need to hold them to the same standards and ensure they’re accessible to everyone who might need to use them – today and in the future. One of the ways we did this in my team, was by making sure the GOV.UK Design System supports users who need to customise the colours they use to browse the web. There are a range of different user needs for changing colours on the web. People who are sensitive to light, for instance, might find a white background too bright. And some users with dyslexia find certain colours easier to read than others. My colleague, Nick Colley, wrote about the work we did to ensure GOV.UK Design System’s components will work when users change colours on GOV.UK. To ensure we weren’t introducing barriers to our colleagues, we also made it possible to customise colours in the GOV.UK Design System website itself. Building this flexibility into our design system helps to support our colleagues who need it, but it also shows others that we’re committed to inclusion and removing barriers. 4. Teach it The examples I’ve drawn on here have mostly focused on design system documentation and tooling, but design systems are much bigger than that. In the fortuitously-timed “There is No Design System”, Jina reminds us that tooling is just one of the ways we systematise design: …it’s a lot of people-focused work: Reviewing. Advising. Organizing. Coordinating. Triaging. Educating. Supporting.” To make a design system successful, we can’t just build a set of components and hope they work. We have to actively help people find it, use it and contribute to it. That means we have to go out and talk about it. We have to support people in learning to use it and help new teams adopt it. These engagement activities and collaborative processes that sit around it can help to promote awareness of the why, not just the what. At GDS, we ran workshops on accessibility in the design system, getting people to browse various web pages using visual impairment simulation glasses to understand how visually impaired users might experience our content. By working closely with our systems’ users and contributors like this, we have an opportunity to bring them along on the journey of making something accessible. We can help them to test out their code and content and understand how they’ll work on different platforms, and how they might need to be adjusted to make sure they’re accessible. We can teach them what accessibility means in practice. These kinds of activities are invaluable in helping to promote accessible design thinking. And these kinds of lessons – when taught well – are disseminated as colleagues share knowledge with their teams, departments and the wider industry. What design systems can’t do Our industry’s excitement about design systems shows no signs of abating, and I’m excited about the opportunities it affords us to make accessible design the default, not an edge case. But I want to finish on a word about their limitations. While a design system can help to promote awareness of the need to be accessible, and how to design products and services that are, a design system can’t make an organisation fundamentally care about accessibility. Even with the help of a thoughtfully created design system, it’s still possible to make really inaccessible products if you’re not actively working to remove barriers. I feel lucky to have worked somewhere that prioritises accessibility. Thanks to the work of some really brilliant people, it’s just part of the fabric at GDS. (For more on that work and those brilliant people, I can’t think of a better place to start than my colleague Ollie Byford’s talk on inclusive forms.) I’m far from being an accessibility expert, but I can write about this because I’ve worked in an organisation where it’s always a central consideration. This shouldn’t be something to feel lucky about. It should be the default, but sadly we’re not there yet. Not even close. Earlier this year, Domino’s pizza was successfully sued by a blind customer after he was unable to order food on their website or mobile app, despite using screen-reading software. And in a recent study carried out by disability equality charity, Scope, 50% of respondents said that they had given up on buying a product because the website, app or in-store machine had accessibility issues. Legally, reputationally and most importantly, morally, we all have a duty to do better. To make sure our products and services are accessible to everyone. We can use design systems to help us on that journey, but they’re just one part of our toolkit. In the end, it’s about committing to the cause – doing the work to make things accessible. Because accessible design is good design. About the author Amy is a content specialist and design systems advocate who’s spent the last 3 years working as a Senior Content Designer at the Government Digital Service. In that time, she’s led the content strategy for the GOV.UK Design System, including a straightforward and inclusive approach to documentation. In January, Amy will continue her work in this space, in her new role as Product Manager for Babylon Health’s design system, DNA. More articles by Amy Full Article Process style-guides
way Sprinting away in style By www.thehindu.com Published On :: Fri, 19 Aug 2016 16:29:31 +0530 The ongoing Olympics at Rio is creating a buzz not just for its sports but also for the fashion flaunted by the sportsmen, says NEETI SARKAR Full Article Metroplus
way Sprinting away in style By www.thehindu.com Published On :: Sun, 21 Aug 2016 02:56:44 +0530 The ongoing Olympics at Rio is creating a buzz not just for its sports but also for the fashion flaunted by the sports stars, says NEETI SARKAR Full Article Metroplus
way My fit, my way By www.thehindu.com Published On :: Mon, 22 Aug 2016 16:16:07 +0530 A short film by Nandith Jaisimha and Aloka Gloria D’souza looks at women, body consciousness, and fashion Full Article Metroplus
way Bending fashion the cheapensive way By www.thehindu.com Published On :: Tue, 06 Sep 2016 15:45:41 +0530 Creating a balance between budget and fashion, branded and streetwear, reuse and recycle, Bengaluru's college goers show the way Full Article Metroplus
way Making headway, fashionably By www.thehindu.com Published On :: Mon, 17 Oct 2016 19:00:49 +0530 Full Article Fashion
way Designer Ranna Gill brings the essence of Lake Como to the runway at the Lakme Fashion Week X FDCI By www.thehindu.com Published On :: Fri, 10 Mar 2023 17:01:57 +0530 Twenty-five years of Ranna Gill, and she still lets the flowers do the talking in her garments. Ahead of her show at Lakme Fashion Week X FDCI, the designer gives us a sneak peek into her collection Full Article Life & Style
way ‘Courtesy Calls’ Mukesh Ambani way! By www.thehindubusinessline.com Published On :: Fri, 19 Apr 2013 16:12:41 +0530 Full Article Richa Mishra
way The organic way By www.thehindu.com Published On :: Wed, 30 Mar 2016 22:46:47 +0530 Evelyn Sharma believes in working out for a healthy life and not just because her work demands it Full Article Metroplus
way Consultation, just a flick away By www.thehindu.com Published On :: Sat, 25 Jun 2016 16:54:47 +0530 Here is a look at how technology is getting people connected to healthcare, thanks to your Smartphone Full Article Metroplus
way Editorial. Big-bang reforms now need to give way to grunt work By www.thehindubusinessline.com Published On :: Mon, 22 Jul 2024 21:30:36 +0530 The Economic Survey advises, sanely, that policy choices for India need to be driven more by pragmatism than ideology and warns against a blind aping of the West Full Article Editorial
way Editorial. Small-scale commercial nuclear reactors, the way forward By www.thehindubusinessline.com Published On :: Sun, 25 Aug 2024 21:19:20 +0530 It is increasingly being realised that achieving net-zero is not possible without nuclear energy Full Article Editorial
way Editorial. Liberal norms in GIFT City, the right way forward By www.thehindubusinessline.com Published On :: Tue, 03 Sep 2024 21:37:17 +0530 Will not only boost the primary market activity in the GIFT IFSC but will also enable GIFT City to effectively compete with other international financial jurisdictions Full Article Editorial
way Sand supply hits as 89 boatmen associations stay away from sand collection in Godavari river in A.P. By www.thehindu.com Published On :: Sat, 09 Nov 2024 17:18:42 +0530 Only 30 boatmen associations out of the permitted 119 are active reportedly due to unviable payment fixed by the government under the sand policy Full Article Andhra Pradesh
way The way to solve the ‘Kashmir problem’ By www.thehindu.com Published On :: Fri, 11 Oct 2024 01:55:47 +0530 The people expect the political class to resolve the Kashmir issue through political dialogue and democratic deliberations Full Article Jammu and Kashmir Assembly
way The end of the bell lap for Kolkata’s tramway By www.thehindu.com Published On :: Sun, 13 Oct 2024 01:20:00 +0530 Rather than ending India’s last remaining passenger tram network, attempts should have been made to revitalise and modernise it Full Article Comment
way Time series analysis and its applications [electronic resource] : with R examples / Robert H. Shumway, David S. Stoffer By darius.uleth.ca Published On :: New York : Springer, 2006 Full Article
way Probability and partial differential equations in modern applied mathematics [electronic resource] / Edward C. Waymire, Jinqiao Duan, editors By darius.uleth.ca Published On :: New York : Springer, [2005] Full Article
way Combinatorial game theory : a special collection in honor of Elwyn Berlekamp, John H. Conway and Richard K. Guy / edited by Richard J. Nowakowski [and 5 others]. By darius.uleth.ca Published On :: Berlin/Boston : Walter de Gruyter GmbH, 2022. Full Article
way Konkan Railway to run Karwar-Bengaluru special train for festival returnees By www.thehindu.com Published On :: Mon, 28 Oct 2024 21:55:53 +0530 A train to be operated from Karwar to Sir M. Visvesvaraya Terminal, Bengaluru, on November 3 Full Article Mangaluru