tor Most shocking free-agent decisions in MLB history By mlb.mlb.com Published On :: Wed, 27 Feb 2019 14:12:20 EDT Since the first free agent signing of the modern era back in 1974, there have been several free agent deals that shook the baseball world and realigned power across the Majors. Here's a look at several moves that changed the landscape of baseball, and in some cases, were downright shocking: Full Article
tor The best 'walk years' in baseball history By mlb.mlb.com Published On :: Wed, 27 Feb 2019 14:11:06 EDT There is a long history of exceptional walk years as well, and Adrian Beltre, who retired after the 2018 season, is a big part of it. Here is a look at 20 of the best. Full Article
tor Biggest free-agent contracts in MLB history By mlb.mlb.com Published On :: Wed, 27 Feb 2019 14:06:30 EDT Manny Machado inked a 10-year, $300 million deal with the Padres, the biggest free-agent contract in MLB history. Here's the Top 10. Full Article
tor History of Design in Michigan By feedproxy.google.com Published On :: Tue, 03 Dec 2019 15:00:00 +0000 While most known for automotive, Michigan has a rich history in design. As a designer myself, I wanted to learn more about Michigan’s design roots. Not knowing what to expect, I found Michigan is home to many historic designers, several innovative design-forward companies, and top design schools. Automotive is a source of Michigan pride, but […] The post History of Design in Michigan appeared first on Psychology of Web Design | 3.7 Blog. Full Article Business Graphic Design Misc
tor 8 Free Wallpaper Photos Apps On Microsoft Store You (Might) Never Knew For Windows By feedproxy.google.com Published On :: Sun, 17 Jun 2018 18:17:38 +0000 There are many apps are available on Microsoft store for free which can be installed very easily but who knows? That is why we are sharing 8 Wallpaper Photos Apps On Microsoft Store You (Might) Never Knew For Windows. So, without any further ado let’s take a... The post 8 Free Wallpaper Photos Apps On Microsoft Store You (Might) Never Knew For Windows appeared first on SmashingApps.com. Full Article Best of the Web Image Tools Tools WWW FUN
tor 12 Diversified Yet Free To Use WYSIWYG Text Editors By feedproxy.google.com Published On :: Wed, 20 Jun 2018 04:06:39 +0000 Are you looking for some free to use Javascript or jQuery WYSIWYG HTML editors? Well, if your answer is yes, then you are lucky enough to land on the right page. In this round up, we are presenting 12 Diversified Yet Free To Use WYSIWYG Text Editors.... The post 12 Diversified Yet Free To Use WYSIWYG Text Editors appeared first on SmashingApps.com. Full Article Best of the Web Freebies html5 Libraries Web Design
tor Remembering The Original Woodstock In Wonderful Historical Photographs, 1969 By feedproxy.google.com Published On :: Tue, 05 May 2020 12:13:54 +0000 A wide-angle view of the huge crowd facing the distant stage during the Woodstock Music & Art Fair in August... Full Article Photography 1960s festival music woodstock
tor WooCommerce 4.0: Better, More Efficient Store Management By feedproxy.google.com Published On :: Tue, 17 Mar 2020 06:00:00 +0000 WooCommerce 4.0 is here! Read all about the new, streamlined dashboard, time-saving store management tools, and enhanced reporting and analytics. The post WooCommerce 4.0: Better, More Efficient Store Management appeared first on WooCommerce. Full Article Blog
tor How to Choose a Niche for Your Online Store By feedproxy.google.com Published On :: Tue, 24 Mar 2020 15:00:00 +0000 Find your niche in 5 steps! Choosing a niche is one of the most important aspects of building a profitable online store. Follow this guide to define yours. The post How to Choose a Niche for Your Online Store appeared first on WooCommerce. Full Article Blog
tor How to Create Buyer Personas for Your Online Store By feedproxy.google.com Published On :: Tue, 07 Apr 2020 16:42:37 +0000 How much do you really know about your customers? Learn why buyer personas are the foundation of your business & how to create your own in just four steps. The post How to Create Buyer Personas for Your Online Store appeared first on WooCommerce. Full Article Blog Marketing
tor Three Essential Follow-Up Emails Every WooCommerce Store Needs By feedproxy.google.com Published On :: Thu, 09 Apr 2020 15:00:00 +0000 It’s more important than ever to follow up with existing customers. Learn how to save a ton of time by automating your most important follow-up emails. The post Three Essential Follow-Up Emails Every WooCommerce Store Needs appeared first on WooCommerce. Full Article Blog Marketing
tor The Fastest Way to Add an eCommerce Store to Your Existing WordPress Website By feedproxy.google.com Published On :: Tue, 14 Apr 2020 15:50:45 +0000 WooCommerce is the seamless, trusted solution to add an online store to your WordPress site. Add a new revenue stream to your business in just a few steps! The post The Fastest Way to Add an eCommerce Store to Your Existing WordPress Website appeared first on WooCommerce. Full Article Blog
tor Collaboration creates Camp-in-a-Bag kits for mentoring program By feedproxy.google.com Published On :: Thu, 07 May 2020 09:59:31 PDT “I pledge my Head to clearer thinking, my Heart to greater loyalty, my Hands to larger service, and my Health to better living, for my club, my community, my country, and my world.”... Full Article Community
tor Historical newspaper archives are online By www.thegazette.com Published On :: Tue, 5 May 2020 17:53:15 -0400 I was happy to read Joe Coffey’s article in Sunday’s paper (“The birth of news in Linn County”) about the history of newspapers in Linn County. But I was disappointed that Mr. Coffey did not include mention of the Metro Libraries’ historical newspaper databases. All of the papers mentioned and pictured in his article (and many more!) are available in scanned, full-text, searchable versions, through the websites of the Cedar Rapids and Marion Public Libraries. There is no charge to browse or search these delightful old editions, and in fact, you don’t even need a library card. I encourage anyone with an interest in local history, or just with a little time on your hands, to look at some of these old newspapers. It’s a delightful adventure to read about lives in other times. Jo PearsonMarion Full Article Letters to the Editor
tor Greenfield: Iowa needs a senator who understands tough times By www.thegazette.com Published On :: Tue, 5 May 2020 16:54:59 -0400 Growing up on the Greenfield family farm outside a little town of 500, we worked hard and learned to look out for one another.I’ve visited with folks in every corner of Iowa during my U.S. Senate campaign. The people I hear from want the dignity of providing for their families, and to know they can get a hand up when they need it. Now, as the coronavirus threatens our communities and Washington seems more focused on pointing fingers than getting results, Iowans want to know that we can get through this and come out stronger in the end. I’ve been through tough times, and I know from my own life that the only way we get through is by pulling together.I was 24 when my first husband, an electrical worker, was killed in a workplace accident. Social Security and hard-earned union benefits helped me get back on my feet and pursue a career where I could support my two young sons. I’ll fight to protect and strengthen Social Security so every Iowan can get that same hand up.So, I know what it’s like to have a loved one not come home from work. When I hear about workers having to choose between staying home safely or earning a paycheck, I say no way. Since March, I’ve put out two plans calling for more testing, personal protective equipment, paid sick leave, premium pay, and stronger protections for our front-line workers.I also believe health care is a right — not a privilege. This shouldn’t be partisan.As a businesswoman and a mom, I know the tough decisions our small businesses and families are making right now. That’s why I’ve called for more urgent economic aid and faster help for our small businesses and workers — not more bailouts for corporate CEOs. We also need a robust infrastructure plan and to invest in more skills training to create opportunity in all of our hometowns.None of this will happen unless we make Washington work more like we do by ending political corruption. I’m not taking a dime of corporate PAC money and I will work to overturn Citizens United, and ban dark money and corporate PACs.Sen. Joni Ernst broke her promise to be different. Instead, she’s voted with Mitch McConnell and her corporate PAC donors for tax breaks to corporations and the wealthiest — while hardworking Iowans fall further behind. Iowans deserve a senator who shares their grit and their resolve, who will carry the fight for our small towns and our working families in her heart. It’s how we get through this pandemic and how we create more opportunity for our state. In the Senate, I’ll never forget where I’m from or who I’m fighting for, and I’ll always put Iowa first.Theresa Greenfield is a candidate in the Democratic primary for U.S. Senate. Full Article Guest Columnist
tor Borchardt: 2nd District needs a true Iowa citizen legislator By www.thegazette.com Published On :: Thu, 7 May 2020 09:57:10 -0400 I’m running for Iowa’s 2nd district seat in the U.S. House of Representatives. Early last fall, I found that Mariannette Miller-Meeks is running again, after three losses, and that former Illinois Congressman Bobby Schilling is an Illinoisan turned Iowan. The second district seat should be held by a true Iowa citizen legislator.The House of Representatives was meant to be the people’s house. One where people temporarily left their home and family to serve in Washington, then returned home to resume their life. Being elected to office was never intended to be a lifetime job. If elected I will serve three terms, then return to Iowa and the private sector.I believe our government should be small, efficient and responsive to its citizens. I would insist that all government programs are reviewed and eliminated if they are not currently serving the public’s interests. I would also push for a budget that does not grow at a higher rate than incoming revenues.I believe that all law-abiding citizens have the right to own a gun to hunt or to protect themselves from danger. I will not support any additional restrictions placed on law-abiding citizens.I believe all life is sacred, from conception to natural death, regardless of ability. It is not my intention to tell any woman what to do with her body. I would prefer that each women take full control of her body and the choices she makes before pregnancy occurs.In the beginning, our country was land rich and people poor. Anyone who could make it to our country was welcome and opportunities abounded. Today, we are crowded and too many struggle to find substantial work. Immigrants are welcome, but I support only legal immigration, to mitigate how many enter the United States, while our county exercises its right to defend its borders by reasonable means, including strengthening barriers to illegal entry.I grew up in Washington, Iowa and moved to Iowa City in my late 20s. I currently work in retail and my wife works at a food distribution plant. We have two children, ages 11 and 9, who attend public school in Iowa City. On any given day you could see me at the grocery store, the mall, at the children’s school or at their soccer game. I will be a true citizen-legislator and I would like your support.Tim Borchardt is a candidate in the Republican primary for Iowa’s 2nd Congressional District. Full Article Guest Columnist
tor How to Migrate a Local WordPress Install to a Live Site. Duplicator plugin By feedproxy.google.com Published On :: Fri, 29 Sep 2017 04:41:54 +0000 Using a local server environment will save you a bunch of time if you regularly develop new WordPress websites. Local development has many advantages – it’s faster and more secure than constantly uploading files to a server. Full Article Plugins duplicator life localhost migration plugin site to
tor Luchetti Store By feedproxy.google.com Published On :: Fri, 20 Mar 2020 17:18:42 +0000 From the continuous desire to innovate and from the maniacal care about every detail comes the range of Luchetti family products. Objects of the highest manufacture & essential design The post Luchetti Store appeared first on WeLoveWP. Full Article Food WordPress Gallery eCommerce Fixed Navigation Infinite Scroll Masonry Off-Canvas Responsive Simple Woocommerce
tor Collaboration creates Camp-in-a-Bag kits for mentoring program By feedproxy.google.com Published On :: Thu, 07 May 2020 09:59:31 PDT “I pledge my Head to clearer thinking, my Heart to greater loyalty, my Hands to larger service, and my Health to better living, for my club, my community, my country, and my world.” — 4-H pledgeThe Johnson County 4-H program is living up to these words, teaming up with Big Brothers Big Sisters of Johnson County to assemble Camp-in-a-Bag kits for the youngest “Littles” enrolled in the BBBS mentoring program. Big Brothers Big Sisters creates one-on-one opportunities between adult volunteer mentors and at-risk youths ages 6 to 18. Known as “Bigs” and “Littles,” they meet for at least six hours a month for 18 months. But those in-person outings to movies, museums, restaurants, recreational activities and new adventures, as well as monthly events and school-based programs organized by the agency, are on hold during the COVID-19 pandemic. So the kits became an outreach outlet. “I was thinking about ways that we would be able to connect with our Littles, to let them know that we’re thinking about them,” said Dina Bishara, program specialist for Big Brothers Big Sisters of Johnson County. “And also in a very small way, to try to fill that gap that so many kids are experiencing right now. They’re used to the structure and activity of school and extracurricular activities and playing with friends.”The bags contain more than six hours of STEAM — science, technology, engineering, arts and math — activities, from the pieces needed for building gliders and balloon flyers, to conducting scientific experiments, planting seeds, choosing healthy snacks and writing down their thoughts. Those activities also reflect the other contributing partners: Johnson County Master Gardeners, Johnson County Extension and Outreach’s Pick a Better Snack program, O’Brien Family McDonalds and Forever Green Garden Center. “(We wanted to) just give them something really fun and also educational and engaging, to help them spend time with their siblings, if they have them, and get their parents involved, if possible — and just really keep them connected to that learning and the fun, but also to Big Brothers Big Sisters,” Bishara said. “Camp-in-a-Bag helps us structure things in an intentional and thoughtful way.”Partnering with 4-H, known for its summer camps, fairs and educational programs, “was a really great way to make sure that the activities we were including were really robust, so it was not going to be a hodgepodge, throw-some-things-in-a-bag,” Bishara added. “We really needed to be deliberate about it, to have the directions nicely laid out.”The first wave is being distributed to 20 elementary-age children, and officials are hoping to expand the project.“Funding is always a question,” Bishara said. “We would love to expand to 20 or 40 for more. ... We’d sure like to be able to target the kits to a little older kids, who have different interests.”Bishara and Kate Yoder, who works with 4-H out of the Iowa State University Extension office in Johnson County, are eager to continue their collaborative efforts. “It really great,” Yoder said. “When you work together, things comes together and amazing things happen. I’m excited to see what the future holds — what partnerships we can build on and grow.”Comments: (319) 368-8508; diana.nollen@thegazette.comTo help• What: Big Brothers Big Sisters Camp-in-a-Bag kit contributions• Contact: Email Dina Bishara at dina@bbbsjc.org Full Article Community
tor GOP senators want guest worker visas held up By feedproxy.google.com Published On :: Thu, 07 May 2020 15:18:48 PDT Four Republican senators closely allied with President Donald Trump are urging him to suspend all new guest worker visas for 60 days, and to suspend other types of worker visas including those for advanced skills sought by the technology industry, until unemployment in the United States “has returned to normal levels.”The senators, who include Iowa’s Chuck Grassley, said that Trump’s April 22 order suspending most immigrant visas for 60 days doesn’t go far enough. While Trump suspended the issuing of new green cards for would-be U.S. permanent residents, they want visas affecting skilled workers, agriculture workers and others to face curbs.“Given the extreme lack of available jobs for American job-seekers as portions of our economy begin to reopen, it defies common sense to admit additional foreign guest workers to compete for such limited employment,” wrote the senators, who also include Tom Cotton of Arkansas, Ted Cruz of Texas and Josh Hawley of Missouri.The letter was reported earlier by Politico.The letter from some of the Senate’s most prominent immigration hard-liners could put new pressure on the president to expand his executive order, which drew criticism from business, civil rights and immigrant rights groups who said it would keep companies from hiring critical workers and could prevent family reunification.The president said at the time there would be carve-outs for migrant agricultural workers, and promised to make it even easier for farmers rebounding from the coronavirus crisis to hire labor from other countries.The order exempts individuals seeking to permanently enter the country as a medical professional or researcher, as well as members of the armed forces, those seeking asylum or refugee status, and children being adopted by American parents.In their letter, the senators said Trump should go much further by suspending all new guest worker visas for 60 days.“Exceptions to this suspension should be rare, limited to time-sensitive industries such as agriculture, and issued only on a case-by-case basis when the employer can demonstrate that they have been unable to find Americans to take the jobs,” they wrote.After the 60 days, they said, Trump should continue to suspend new non-immigrant guest workers for one year or until U.S. unemployment returns to “normal levels.” That should include H-1B visas for highly skilled workers in the technology and other industries, H-2B visas for non-agricultural seasonal workers and those in the Optional Practical Training Program that extends visas of foreign students after they graduate.About three-quarters of H-1B visas go to people working in the technology industry, though the exact levels vary year by year.They also called on Trump to suspend the EB-5 immigrant visa program “effective immediately,” calling it “plagued by scandal and fraud” and in need of change. EB-5 visas allow immigrant investors to qualify for a green card by investing at least $900,000 in a business that will employ at least 10 Americans. Full Article Nation & World
tor Bricks are better black. ◾️ (at Toronto, Ontario) By feedproxy.google.com Published On :: Tue, 20 Dec 2016 17:02:40 -0500 Bricks are better black. ◾️ (at Toronto, Ontario) Full Article
tor I just realized that I can export my entire story all at once... By feedproxy.google.com Published On :: Tue, 27 Dec 2016 17:02:17 -0500 I just realized that I can export my entire story all at once now, which means uploading my tutorials to my Facebook page will be a million times easier (it was tedious to stitch all the individual clips together before). ???? . Related: I posted a story this morning deconstructing the edit on yesterday’s shot. . Also related: I uploaded the 3 tutorials from my November feature on @thecreatorclass to my Facebook page this morning too. More to come! (at London, United Kingdom) Full Article
tor Auphonic Audio Inspector Release By feedproxy.google.com Published On :: Mon, 20 Nov 2017 09:01:02 +0000 At the Subscribe 9 Conference, we presented the first version of our new Audio Inspector: The Auphonic Audio Inspector is shown on the status page of a finished production and displays details about what our algorithms are changing in audio files. A screenshot of the Auphonic Audio Inspector on the status page of a finished Multitrack Production. Please click on the screenshot to see it in full resolution! It is possible to zoom and scroll within audio waveforms and the Audio Inspector might be used to manually check production result and input files. In this blog post, we will discuss the usage and all current visualizations of the Inspector. If you just want to try the Auphonic Audio Inspector yourself, take a look at this Multitrack Audio Inspector Example. Inspector Usage Control bar of the Audio Inspector with scrollbar, play button, current playback position and length, button to show input audio file(s), zoom in/out, toggle legend and a button to switch to fullscreen mode. Seek in Audio Files Click or tap inside the waveform to seek in files. The red playhead will show the current audio position. Zoom In/Out Use the zoom buttons ([+] and [-]), the mouse wheel or zoom gestures on touch devices to zoom in/out the audio waveform. Scroll Waveforms If zoomed in, use the scrollbar or drag the audio waveform directly (with your mouse or on touch devices). Show Legend Click the [?] button to show or hide the Legend, which describes details about the visualizations of the audio waveform. Show Stats Use the Show Stats link to display Audio Processing Statistics of a production. Show Input Track(s) Click Show Input to show or hide input track(s) of a production: now you can see and listen to input and output files for a detailed comparison. Please click directly on the waveform to switch/unmute a track - muted tracks are grayed out slightly: Showing four input tracks and the Auphonic output of a multitrack production. Please click on the fullscreen button (bottom right) to switch to fullscreen mode. Now the audio tracks use all available screen space to see all waveform details: A multitrack production with output and all input tracks in fullscreen mode. Please click on the screenshot to see it in full resolution. In fullscreen mode, it’s also possible to control playback and zooming with keyboard shortcuts: Press [Space] to start/pause playback, use [+] to zoom in and [-] to zoom out. Singletrack Algorithms Inspector First, we discuss the analysis data of our Singletrack Post Production Algorithms. The audio levels of output and input files, measured according to the ITU-R BS.1770 specification, are displayed directly as the audio waveform. Click on Show Input to see the input and output file. Only one file is played at a time, click directly on the Input or Output track to unmute a file for playback: Singletrack Production with opened input file. See the first Leveler Audio Example to try the audio inspector yourself. Waveform Segments: Music and Speech (gold, blue) Music/Speech segments are displayed directly in the audio waveform: Music segments are plotted in gold/yellow, speech segments in blue (or light/dark blue). Waveform Segments: Leveler High/No Amplification (dark, light blue) Speech segments can be displayed in normal, dark or light blue: Dark blue means that the input signal was very quiet and contains speech, therefore the Adaptive Leveler has to use a high amplification value in this segment. In light blue regions, the input signal was very quiet as well, but our classifiers decided that the signal should not be amplified (breathing, noise, background sounds, etc.). Yellow/orange background segments display leveler fades. Background Segments: Leveler Fade Up/Down (yellow, orange) If the volume of an input file changes in a fast way, the Adaptive Leveler volume curve will increase/decrease very fast as well (= fade) and should be placed in speech pauses. Otherwise, if fades are too slow or during active speech, one will hear pumping speech artifacts. Exact fade regions are plotted as yellow (fade up, volume increase) and orange (fade down, volume decrease) background segments in the audio inspector. Horizontal red lines display noise and hum reduction profiles. Horizontal Lines: Noise and Hum Reduction Profiles (red) Our Noise and Hiss Reduction and Hum Reduction algorithms segment the audio file in regions with different background noise characteristics, which are displayed as red horizontal lines in the audio inspector (top lines for noise reduction, bottom lines for hum reduction). Then a noise print is extracted in each region and a classifier decides if and how much noise reduction is necessary - this is plotted as a value in dB below the top red line. The hum base frequency (50Hz or 60Hz) and the strength of all its partials is also classified in each region, the value in Hz above the bottom red line indicates the base frequency and whether hum reduction is necessary or not (no red line). You can try the singletrack audio inspector yourself with our Leveler, Noise Reduction and Hum Reduction audio examples. Multitrack Algorithms Inspector If our Multitrack Post Production Algorithms are used, additional analysis data is shown in the audio inspector. The audio levels of the output and all input tracks are measured according to the ITU-R BS.1770 specification and are displayed directly as the audio waveform. Click on Show Input to see all the input files with track labels and the output file. Only one file is played at a time, click directly into the track to unmute a file for playback: Input Tracks: Waveform Segments, Background Segments and Horizontal Lines Input tracks are displayed below the output file including their track names. The same data as in our Singletrack Algorithms Inspector is calculated and plotted separately in each input track: Waveform Segments with different colors: Music and Speech Segments (gold, blue), Leveler High/No Amplification (dark blue, light blue) Background Segments: Leveler Fade Up/Down (yellow, orange) Horizontal Lines: Noise and Hum Reduction Profiles Noise and Hum Reduction Profiles (red) Output Waveform Segments: Multiple Speakers and Music Each speaker is plotted in a separate, blue-like color - in the example above we have 3 speakers (normal, light and dark blue) and you can see directly in the waveform when and which speaker is active. Audio from music input tracks are always plotted in gold/yellow in the output waveform, please try to not mix music and speech parts in music tracks (see also Multitrack Best Practice)! You can try the multitrack audio inspector yourself with our Multitrack Audio Inspector Example or our general Multitrack Audio Examples. Ducking, Background and Foreground Segments Music tracks can be set to Ducking, Foreground, Background or Auto - for more details please see Automatic Ducking, Foreground and Background Tracks. Ducking Segments (light, dark orange) In Ducking, the level of a music track is reduced if one of the speakers is active, which is plotted as a dark orange background segment in the output track. Foreground music parts, where no speaker is active and the music track volume is not reduced, are displayed as light orange background segments in the output track. Background Music Segments (dark orange background) Here the whole music track is set to Background and won’t be amplified when speakers are inactive. Background music parts are plotted as dark organge background segments in the output track. Foreground Music Segments (light orange background) Here the whole music track is set to Foreground and its level won’t be reduced when speakers are active. Foreground music parts are plotted as light organge background segments in the output track. You can try the ducking/background/foreground audio inspector yourself: Fore/Background/Ducking Audio Examples. Audio Search, Chapters Marks and Video Audio Search and Transcriptions If our Automatic Speech Recognition Integration is used, a time-aligned transcription text will be shown above the waveform. You can use the search field to search and seek directly in the audio file. See our Speech Recognition Audio Examples to try it yourself. Chapters Marks Chapter Mark start times are displayed in the audio waveform as black vertical lines. The current chapter title is written above the waveform - see “This is Chapter 2” in the screenshot above. A video production with output waveform, input waveform and transcriptions in fullscreen mode. Please click on the screenshot to see it in full resolution. Video Display If you add a Video Format or Audiogram Output File to your production, the audio inspector will also show a separate video track in addition to the audio output and input tracks. The video playback will be synced to the audio of output and input tracks. Supported Audio Formats We use the native HTML5 audio element for playback and the aurora.js javascript audio decoders to support all common audio formats: WAV, MP3, AAC/M4A and Opus These formats are supported in all major browsers: Firefox, Chrome, Safari, Edge, iOS Safari and Chrome for Android. FLAC FLAC is supported in Firefox, Chrome, Edge and Chrome for Android - see FLAC audio format. In Safari and iOS Safari, we use aurora.js to directly decode FLAC files in javascript, which works but uses much more CPU compared to native decoding! ALAC ALAC is not supported by any browser so far, therefore we use aurora.js to directly decode ALAC files in javascript. This works but uses much more CPU compared to native decoding! Ogg Vorbis Only supported by Firefox, Chrome and Chrome for Android - for details please see Ogg Vorbis audio format. We suggest to use a recent Firefox or Chrome browser for best performance. Decoding FLAC and ALAC files also works in Safari and iOS with the help of aurora.js, but javascript decoders need a lot of CPU and they sometimes have problems with exact scrolling and seeking. Please see our blog post Audio File Formats and Bitrates for Podcasts for more details about audio formats. Mobile Audio Inspector Multiple responsive layouts were created to optimize the screen space usage on Android and iOS devices, so that the audio inspector is fully usable on mobile devices as well: tap into the waveform to set the playhead location, scroll horizontally to scroll waveforms, scroll vertically to scroll between tracks, use zoom gestures to zoom in/out, etc. Unfortunately the fullscreen mode is not available on iOS devices (thanks to Apple), but it works on Android and is a really great way to inspect everything using all the available screen space: Audio inspector in horizontal fullscreen mode on Android. Conclusion Try the Auphonic Audio Inspector yourself: take a look at our Audio Example Page or play with the Multitrack Audio Inspector Example. The Audio Inspector will be shown in all productions which are created in our Web Service. It might be used to manually check production result/input files and to send us detailed feedback about audio processing results. Please let us know if you have some feedback or questions - more visualizations will be added in future! Full Article Audio News
tor New Auphonic Transcript Editor and Improved Speech Recognition Services By feedproxy.google.com Published On :: Tue, 03 Jul 2018 05:35:25 +0000 Back in late 2016, we introduced Speech Recognition at Auphonic. This allows our users to create transcripts of their recordings, and more usefully, this means podcasts become searchable. Now we integrated two more speech recognition engines: Amazon Transcribe and Speechmatics. Whilst integrating these services, we also took the opportunity to develop a complete new Transcription Editor: Screenshot of our Transcript Editor with word confidence highlighting and the edit bar. Try out the Transcript Editor Examples yourself! The new Auphonic Transcript Editor is included directly in our HTML transcript output file, displays word confidence values to instantly see which sections should be checked manually, supports direct audio playback, HTML/PDF/WebVTT export and allows you to share the editor with someone else for further editing. The new services, Amazon Transcribe and Speechmatics, offer transcription quality improvements compared to our other integrated speech recognition services. They also return word confidence values, timestamps and some punctuation, which is exported to our output files. The Auphonic Transcript Editor With the integration of the two new services offering improved recognition quality and word timestamps alongside confidence scores, we realized that we could leverage these improvements to give our users easy-to-use transcription editing. Therefore we developed a new, open source transcript editor, which is embedded directly in our HTML output file and has been designed to make checking and editing transcripts as easy as possible. Main features of our transcript editor: Edit the transcription directly in the HTML document. Show/hide word confidence, to instantly see which sections should be checked manually (if you use Amazon Transcribe or Speechmatics as speech recognition engine). Listen to audio playback of specific words directly in the HTML editor. Share the transcript editor with others: as the editor is embedded directly in the HTML file (no external dependencies), you can just send the HTML file to some else to manually check the automatically generated transcription. Export the edited transcript to HTML, PDF or WebVTT. Completely useable on all mobile devices and desktop browsers. Examples: Try Out the Transcript Editor Here are two examples of the new transcript editor, taken from our speech recognition audio examples page: 1. Singletrack Transcript Editor Example Singletrack speech recognition example from the first 10 minutes of Common Sense 309 by Dan Carlin. Speechmatics was used as speech recognition engine without any keywords or further manual editing. 2. Multitrack Transcript Editor Example A multitrack automatic speech recognition transcript example from the first 20 minutes of TV Eye on Marvel - Luke Cage S1E1. Amazon Transcribe was used as speech recognition engine without any further manual editing. As this is a multitrack production, the transcript includes exact speaker names as well (try to edit them!). Transcript Editing By clicking the Edit Transcript button, a dashed box appears around the text. This indicates that the text is now freely editable on this page. Your changes can be saved by using one of the export options (see below). If you make a mistake whilst editing, you can simply use the undo/redo function of the browser to undo or redo your changes. When working with multitrack productions, another helpful feature is the ability to change all speaker names at once throughout the whole transcript just by editing one speaker. Simply click on an instance of a speaker title and change it to the appropriate name, this name will then appear throughout the whole transcript. Word Confidence Highlighting Word confidence values are shown visually in the transcript editor, highlighted in shades of red (see screenshot above). The shade of red is dependent on the actual word confidence value: The darker the red, the lower the confidence value. This means you can instantly see which sections you should check/re-work manually to increase the accuracy. Once you have edited the highlighted text, it will be set to white again, so it’s easy to see which sections still require editing. Use the button Add/Remove Highlighting to disable/enable word confidence highlighting. NOTE: Word confidence values are only available in Amazon Transcribe or Speechmatics, not if you use our other integrated speech recognition services! Audio Playback The button Activate/Stop Play-on-click allows you to hear the audio playback of the section you click on (by clicking directly on the word in the transcript editor). This is helpful in allowing you to check the accuracy of certain words by being able to listen to them directly whilst editing, without having to go back and try to find that section within your audio file. If you use an External Service in your production to export the resulting audio file, we will automatically use the exported file in the transcript editor. Otherwise we will use the output file generated by Auphonic. Please note that this file is password protected for the current Auphonic user and will be deleted in 21 days. If no audio file is available in the transcript editor, or cannot be played because of the password protection, you will see the button Add Audio File to add a new audio file for playback. Export Formats, Save/Share Transcript Editor Click on the button Export... to see all export and saving/sharing options: Save/Share Editor The Save Editor button stores the whole transcript editor with all its current changes into a new HTML file. Use this button to save your changes for further editing or if you want to share your transcript with someone else for manual corrections (as the editor is embedded directly in the HTML file without any external dependencies). Export HTML / Export PDF / Export WebVTT Use one of these buttons to export the edited transcript to HTML (for WordPress, Word, etc.), to PDF (via the browser print function) or to WebVTT (so that the edited transcript can be used as subtitles or imported in web audio players of the Podlove Publisher or Podigee). Every export format is rendered directly in the browser, no server needed. Amazon Transcribe The first of the two new services, Amazon Transcribe, offers accurate transcriptions in English and Spanish at low costs, including keywords, word confidence, timestamps, and punctuation. UPDATE 2019: Amazon Transcribe offers more languages now - please see Amazon Transcribe Features! Pricing The free tier offers 60 minutes of free usage a month for 12 months. After that, it is billed monthly at a rate of $0.0004 per second ($1.44/h). More information is available at Amazon Transcribe Pricing. Custom Vocabulary (Keywords) Support Custom Vocabulary (called Keywords in Auphonic) gives you the ability to expand and customize the speech recognition vocabulary, specific to your case (i.e. product names, domain-specific terminology, or names of individuals). The same feature is also available in the Google Cloud Speech API. Timestamps, Word Confidence, and Punctuation Amazon Transcribe returns a timestamp and confidence value for each word so that you can easily locate the audio in the original recording by searching for the text. It also adds some punctuation, which is combined with our own punctuation and formatting automatically. The high-quality (especially in combination with keywords) and low costs of Amazon Transcribe make it attractive, despite only currently supporting two languages. However, the processing time of Amazon Transcribe is much slower compared to all our other integrated services! Try it yourself: Connect your Auphonic account with Amazon Transcribe at our External Services Page. Speechmatics Speechmatics offers accurate transcriptions in many languages including word confidence values, timestamps, and punctuation. Many Languages Speechmatics’ clear advantage is the sheer number of languages it supports (all major European and some Asiatic languages). It also has a Global English feature, which supports different English accents during transcription. Timestamps, Word Confidence, and Punctuation Like Amazon, Speechmatics creates timestamps, word confidence values, and punctuation. Pricing Speechmatics is the most expensive speech recognition service at Auphonic. Pricing starts at £0.06 per minute of audio and can be purchased in blocks of £10 or £100. This equates to a starting rate of about $4.78/h. Reduced rate of £0.05 per minute ($3.98/h) are available if purchasing £1,000 blocks. They offer significant discounts for users requiring higher volumes. At this further reduced price point it is a similar cost to the Google Speech API (or lower). If you process a lot of content, you should contact them directly at sales@speechmatics.com and say that you wish to use it with Auphonic. More information is available at Speechmatics Pricing. Speechmatics offers high-quality transcripts in many languages. But these features do come at a price, it is the most expensive speech recognition services at Auphonic. Unfortunately, their existing Custom Dictionary (keywords) feature, which would further improve the results, is not available in the Speechmatics API yet. Try it yourself: Connect your Auphonic account with Speechmatics at our External Services Page. What do you think? Any feedback about the new speech recognition services, especially about the recognition quality in various languages, is highly appreciated. We would also like to hear any comments you have on the transcript editor particularly - is there anything missing, or anything that could be implemented better? Please let us know! Full Article Audio News
tor Markdown Comes Alive! Part 1, Basic Editor By feedproxy.google.com Published On :: Wed, 26 Feb 2020 08:00:00 -0500 In my last post, I covered what LiveView is at a high level. In this series, we’re going to dive deeper and implement a LiveView powered Markdown editor called Frampton. This series assumes you have some familiarity with Phoenix and Elixir, including having them set up locally. Check out Elizabeth’s three-part series on getting started with Phoenix for a refresher. This series has a companion repository published on GitHub. Get started by cloning it down and switching to the starter branch. You can see the completed application on master. Our goal today is to make a Markdown editor, which allows a user to enter Markdown text on a page and see it rendered as HTML next to it in real-time. We’ll make use of LiveView for the interaction and the Earmark package for rendering Markdown. The starter branch provides some styles and installs LiveView. Rendering Markdown Let’s set aside the LiveView portion and start with our data structures and the functions that operate on them. To begin, a Post will have a body, which holds the rendered HTML string, and title. A string of markdown can be turned into HTML by calling Post.render(post, markdown). I think that just about covers it! First, let’s define our struct in lib/frampton/post.ex: defmodule Frampton.Post do defstruct body: "", title: "" def render(%__MODULE{} = post, markdown) do # Fill me in! end end Now the failing test (in test/frampton/post_test.exs): describe "render/2" do test "returns our post with the body set" do markdown = "# Hello world!" assert Post.render(%Post{}, markdown) == {:ok, %Post{body: "<h1>Hello World</h1> "}} end end Our render method will just be a wrapper around Earmark.as_html!/2 that puts the result into the body of the post. Add {:earmark, "~> 1.4.3"} to your deps in mix.exs, run mix deps.get and fill out render function: def render(%__MODULE{} = post, markdown) do html = Earmark.as_html!(markdown) {:ok, Map.put(post, :body, html)} end Our test should now pass, and we can render posts! [Note: we’re using the as_html! method, which prints error messages instead of passing them back to the user. A smarter version of this would handle any errors and show them to the user. I leave that as an exercise for the reader…] Time to play around with this in an IEx prompt (run iex -S mix in your terminal): iex(1)> alias Frampton.Post Frampton.Post iex(2)> post = %Post{} %Frampton.Post{body: "", title: ""} iex(3)> {:ok, updated_post} = Post.render(post, "# Hello world!") {:ok, %Frampton.Post{body: "<h1>Hello world!</h1> ", title: ""}} iex(4)> updated_post %Frampton.Post{body: "<h1>Hello world!</h1> ", title: ""} Great! That’s exactly what we’d expect. You can find the final code for this in the render_post branch. LiveView Editor Now for the fun part: Editing this live! First, we’ll need a route for the editor to live at: /editor sounds good to me. LiveViews can be rendered from a controller, or directly in the router. We don’t have any initial state, so let's go straight from a router. First, let's put up a minimal test. In test/frampton_web/live/editor_live_test.exs: defmodule FramptonWeb.EditorLiveTest do use FramptonWeb.ConnCase import Phoenix.LiveViewTest test "the editor renders" do conn = get(build_conn(), "/editor") assert html_response(conn, 200) =~ "data-test="editor"" end end This test doesn’t do much yet, but notice that it isn’t live view specific. Our first render is just the same as any other controller test we’d write. The page’s content is there right from the beginning, without the need to parse JavaScript or make API calls back to the server. Nice. To make that test pass, add a route to lib/frampton_web/router.ex. First, we import the LiveView code, then we render our Editor: import Phoenix.LiveView.Router # … Code skipped ... # Inside of `scope "/"`: live "/editor", EditorLive Now place a minimal EditorLive module, in lib/frampton_web/live/editor_live.ex: defmodule FramptonWeb.EditorLive do use Phoenix.LiveView def render(assigns) do ~L""" <div data-test=”editor”> <h1>Hello world!</h1> </div> """ end def mount(_params, _session, socket) do {:ok, socket} end end And we have a passing test suite! The ~L sigil designates that LiveView should track changes to the content inside. We could keep all of our markup in this render/1 method, but let’s break it out into its own template for demonstration purposes. Move the contents of render into lib/frampton_web/templates/editor/show.html.leex, and replace EditorLive.render/1 with this one liner: def render(assigns), do: FramptonWeb.EditorView.render("show.html", assigns). And finally, make an EditorView module in lib/frampton_web/views/editor_view.ex: defmodule FramptonWeb.EditorView do use FramptonWeb, :view import Phoenix.LiveView end Our test should now be passing, and we’ve got a nicely separated out template, view and “live” server. We can keep markup in the template, helper functions in the view, and reactive code on the server. Now let’s move forward to actually render some posts! Handling User Input We’ve got four tasks to accomplish before we are done: Take markdown input from the textarea Send that input to the LiveServer Turn that raw markdown into HTML Return the rendered HTML to the page. Event binding To start with, we need to annotate our textarea with an event binding. This tells the liveview.js framework to forward DOM events to the server, using our liveview channel. Open up lib/frampton_web/templates/editor/show.html.leex and annotate our textarea: <textarea phx-keyup="render_post"></textarea> This names the event (render_post) and sends it on each keyup. Let’s crack open our web inspector and look at the web socket traffic. Using Chrome, open the developer tools, navigate to the network tab and click WS. In development you’ll see two socket connections: one is Phoenix LiveReload, which polls your filesystem and reloads pages appropriately. The second one is our LiveView connection. If you let it sit for a while, you’ll see that it's emitting a “heartbeat” call. If your server is running, you’ll see that it responds with an “ok” message. This lets LiveView clients know when they've lost connection to the server and respond appropriately. Now, type some text and watch as it sends down each keystroke. However, you’ll also notice that the server responds with a “phx_error” message and wipes out our entered text. That's because our server doesn’t know how to handle the event yet and is throwing an error. Let's fix that next. Event handling We’ll catch the event in our EditorLive module. The LiveView behavior defines a handle_event/3 callback that we need to implement. Open up lib/frampton_web/live/editor_live.ex and key in a basic implementation that lets us catch events: def handle_event("render_post", params, socket) do IO.inspect(params) {:noreply, socket} end The first argument is the name we gave to our event in the template, the second is the data from that event, and finally the socket we’re currently talking through. Give it a try, typing in a few characters. Look at your running server and you should see a stream of events that look something like this: There’s our keystrokes! Next, let’s pull out that value and use it to render HTML. Rendering Markdown Lets adjust our handle_event to pattern match out the value of the textarea: def handle_event("render_post", %{"value" => raw}, socket) do Now that we’ve got the raw markdown string, turning it into HTML is easy thanks to the work we did earlier in our Post module. Fill out the body of the function like this: {:ok, post} = Post.render(%Post{}, raw) IO.inspect(post) If you type into the textarea you should see output that looks something like this: Perfect! Lastly, it’s time to send that rendered html back to the page. Returning HTML to the page In a LiveView template, we can identify bits of dynamic data that will change over time. When they change, LiveView will compare what has changed and send over a diff. In our case, the dynamic content is the post body. Open up show.html.leex again and modify it like so: <div class="rendered-output"> <%= @post.body %> </div> Refresh the page and see: Whoops! The @post variable will only be available after we put it into the socket’s assigns. Let’s initialize it with a blank post. Open editor_live.ex and modify our mount/3 function: def mount(_params, _session, socket) do post = %Post{} {:ok, assign(socket, post: post)} end In the future, we could retrieve this from some kind of storage, but for now, let's just create a new one each time the page refreshes. Finally, we need to update the Post struct with user input. Update our event handler like this: def handle_event("render_post", %{"value" => raw}, %{assigns: %{post: post}} = socket) do {:ok, post} = Post.render(post, raw) {:noreply, assign(socket, post: post) end Let's load up http://localhost:4000/editor and see it in action. Nope, that's not quite right! Phoenix won’t render this as HTML because it’s unsafe user input. We can get around this (very good and useful) security feature by wrapping our content in a raw/1 call. We don’t have a database and user processes are isolated from each other by Elixir. The worst thing a malicious user could do would be crash their own session, which doesn’t bother me one bit. Check the edit_posts branch for the final version. Conclusion That’s a good place to stop for today. We’ve accomplished a lot! We’ve got a dynamically rendering editor that takes user input, processes it and updates the page. And we haven’t written any JavaScript, which means we don’t have to maintain or update any JavaScript. Our server code is built on the rock-solid foundation of the BEAM virtual machine, giving us a great deal of confidence in its reliability and resilience. In the next post, we’ll tackle making a shared editor, allowing multiple users to edit the same post. This project will highlight Elixir’s concurrency capabilities and demonstrate how LiveView builds on them to enable some incredible user experiences. Full Article Code Back-end Engineering
tor Markdown Comes Alive! Part 1, Basic Editor By feedproxy.google.com Published On :: Wed, 26 Feb 2020 08:00:00 -0500 In my last post, I covered what LiveView is at a high level. In this series, we’re going to dive deeper and implement a LiveView powered Markdown editor called Frampton. This series assumes you have some familiarity with Phoenix and Elixir, including having them set up locally. Check out Elizabeth’s three-part series on getting started with Phoenix for a refresher. This series has a companion repository published on GitHub. Get started by cloning it down and switching to the starter branch. You can see the completed application on master. Our goal today is to make a Markdown editor, which allows a user to enter Markdown text on a page and see it rendered as HTML next to it in real-time. We’ll make use of LiveView for the interaction and the Earmark package for rendering Markdown. The starter branch provides some styles and installs LiveView. Rendering Markdown Let’s set aside the LiveView portion and start with our data structures and the functions that operate on them. To begin, a Post will have a body, which holds the rendered HTML string, and title. A string of markdown can be turned into HTML by calling Post.render(post, markdown). I think that just about covers it! First, let’s define our struct in lib/frampton/post.ex: defmodule Frampton.Post do defstruct body: "", title: "" def render(%__MODULE{} = post, markdown) do # Fill me in! end end Now the failing test (in test/frampton/post_test.exs): describe "render/2" do test "returns our post with the body set" do markdown = "# Hello world!" assert Post.render(%Post{}, markdown) == {:ok, %Post{body: "<h1>Hello World</h1> "}} end end Our render method will just be a wrapper around Earmark.as_html!/2 that puts the result into the body of the post. Add {:earmark, "~> 1.4.3"} to your deps in mix.exs, run mix deps.get and fill out render function: def render(%__MODULE{} = post, markdown) do html = Earmark.as_html!(markdown) {:ok, Map.put(post, :body, html)} end Our test should now pass, and we can render posts! [Note: we’re using the as_html! method, which prints error messages instead of passing them back to the user. A smarter version of this would handle any errors and show them to the user. I leave that as an exercise for the reader…] Time to play around with this in an IEx prompt (run iex -S mix in your terminal): iex(1)> alias Frampton.Post Frampton.Post iex(2)> post = %Post{} %Frampton.Post{body: "", title: ""} iex(3)> {:ok, updated_post} = Post.render(post, "# Hello world!") {:ok, %Frampton.Post{body: "<h1>Hello world!</h1> ", title: ""}} iex(4)> updated_post %Frampton.Post{body: "<h1>Hello world!</h1> ", title: ""} Great! That’s exactly what we’d expect. You can find the final code for this in the render_post branch. LiveView Editor Now for the fun part: Editing this live! First, we’ll need a route for the editor to live at: /editor sounds good to me. LiveViews can be rendered from a controller, or directly in the router. We don’t have any initial state, so let's go straight from a router. First, let's put up a minimal test. In test/frampton_web/live/editor_live_test.exs: defmodule FramptonWeb.EditorLiveTest do use FramptonWeb.ConnCase import Phoenix.LiveViewTest test "the editor renders" do conn = get(build_conn(), "/editor") assert html_response(conn, 200) =~ "data-test="editor"" end end This test doesn’t do much yet, but notice that it isn’t live view specific. Our first render is just the same as any other controller test we’d write. The page’s content is there right from the beginning, without the need to parse JavaScript or make API calls back to the server. Nice. To make that test pass, add a route to lib/frampton_web/router.ex. First, we import the LiveView code, then we render our Editor: import Phoenix.LiveView.Router # … Code skipped ... # Inside of `scope "/"`: live "/editor", EditorLive Now place a minimal EditorLive module, in lib/frampton_web/live/editor_live.ex: defmodule FramptonWeb.EditorLive do use Phoenix.LiveView def render(assigns) do ~L""" <div data-test=”editor”> <h1>Hello world!</h1> </div> """ end def mount(_params, _session, socket) do {:ok, socket} end end And we have a passing test suite! The ~L sigil designates that LiveView should track changes to the content inside. We could keep all of our markup in this render/1 method, but let’s break it out into its own template for demonstration purposes. Move the contents of render into lib/frampton_web/templates/editor/show.html.leex, and replace EditorLive.render/1 with this one liner: def render(assigns), do: FramptonWeb.EditorView.render("show.html", assigns). And finally, make an EditorView module in lib/frampton_web/views/editor_view.ex: defmodule FramptonWeb.EditorView do use FramptonWeb, :view import Phoenix.LiveView end Our test should now be passing, and we’ve got a nicely separated out template, view and “live” server. We can keep markup in the template, helper functions in the view, and reactive code on the server. Now let’s move forward to actually render some posts! Handling User Input We’ve got four tasks to accomplish before we are done: Take markdown input from the textarea Send that input to the LiveServer Turn that raw markdown into HTML Return the rendered HTML to the page. Event binding To start with, we need to annotate our textarea with an event binding. This tells the liveview.js framework to forward DOM events to the server, using our liveview channel. Open up lib/frampton_web/templates/editor/show.html.leex and annotate our textarea: <textarea phx-keyup="render_post"></textarea> This names the event (render_post) and sends it on each keyup. Let’s crack open our web inspector and look at the web socket traffic. Using Chrome, open the developer tools, navigate to the network tab and click WS. In development you’ll see two socket connections: one is Phoenix LiveReload, which polls your filesystem and reloads pages appropriately. The second one is our LiveView connection. If you let it sit for a while, you’ll see that it's emitting a “heartbeat” call. If your server is running, you’ll see that it responds with an “ok” message. This lets LiveView clients know when they've lost connection to the server and respond appropriately. Now, type some text and watch as it sends down each keystroke. However, you’ll also notice that the server responds with a “phx_error” message and wipes out our entered text. That's because our server doesn’t know how to handle the event yet and is throwing an error. Let's fix that next. Event handling We’ll catch the event in our EditorLive module. The LiveView behavior defines a handle_event/3 callback that we need to implement. Open up lib/frampton_web/live/editor_live.ex and key in a basic implementation that lets us catch events: def handle_event("render_post", params, socket) do IO.inspect(params) {:noreply, socket} end The first argument is the name we gave to our event in the template, the second is the data from that event, and finally the socket we’re currently talking through. Give it a try, typing in a few characters. Look at your running server and you should see a stream of events that look something like this: There’s our keystrokes! Next, let’s pull out that value and use it to render HTML. Rendering Markdown Lets adjust our handle_event to pattern match out the value of the textarea: def handle_event("render_post", %{"value" => raw}, socket) do Now that we’ve got the raw markdown string, turning it into HTML is easy thanks to the work we did earlier in our Post module. Fill out the body of the function like this: {:ok, post} = Post.render(%Post{}, raw) IO.inspect(post) If you type into the textarea you should see output that looks something like this: Perfect! Lastly, it’s time to send that rendered html back to the page. Returning HTML to the page In a LiveView template, we can identify bits of dynamic data that will change over time. When they change, LiveView will compare what has changed and send over a diff. In our case, the dynamic content is the post body. Open up show.html.leex again and modify it like so: <div class="rendered-output"> <%= @post.body %> </div> Refresh the page and see: Whoops! The @post variable will only be available after we put it into the socket’s assigns. Let’s initialize it with a blank post. Open editor_live.ex and modify our mount/3 function: def mount(_params, _session, socket) do post = %Post{} {:ok, assign(socket, post: post)} end In the future, we could retrieve this from some kind of storage, but for now, let's just create a new one each time the page refreshes. Finally, we need to update the Post struct with user input. Update our event handler like this: def handle_event("render_post", %{"value" => raw}, %{assigns: %{post: post}} = socket) do {:ok, post} = Post.render(post, raw) {:noreply, assign(socket, post: post) end Let's load up http://localhost:4000/editor and see it in action. Nope, that's not quite right! Phoenix won’t render this as HTML because it’s unsafe user input. We can get around this (very good and useful) security feature by wrapping our content in a raw/1 call. We don’t have a database and user processes are isolated from each other by Elixir. The worst thing a malicious user could do would be crash their own session, which doesn’t bother me one bit. Check the edit_posts branch for the final version. Conclusion That’s a good place to stop for today. We’ve accomplished a lot! We’ve got a dynamically rendering editor that takes user input, processes it and updates the page. And we haven’t written any JavaScript, which means we don’t have to maintain or update any JavaScript. Our server code is built on the rock-solid foundation of the BEAM virtual machine, giving us a great deal of confidence in its reliability and resilience. In the next post, we’ll tackle making a shared editor, allowing multiple users to edit the same post. This project will highlight Elixir’s concurrency capabilities and demonstrate how LiveView builds on them to enable some incredible user experiences. Full Article Code Back-end Engineering
tor My First Business Mentorship Meeting By feedproxy.google.com Published On :: Wed, 21 Jan 2015 01:30:45 +0000 Today was my very first one-on-one business mentorship meeting with Marie Poulin at Digital Strategy School. This was the first of what will be monthly 1 Hour sessions with Marie during the 6-month Digital Strategy School course and I can already tell these next 6 months are going to be a whirlwind! The course officially […] Full Article Uncategorized
tor Building a Crossword Puzzle Generator with JavaScript By mitchum.blog Published On :: Sat, 09 May 2020 04:14:31 PDT https://mitchum.blog/building-a-crossword-puzzle-generator-with-javascript/ Full Article
tor Video Tutorial: How to Turn Anything into Gold in Photoshop By blog.spoongraphics.co.uk Published On :: Wed, 08 Apr 2020 07:00:16 +0000 In today’s Adobe Photoshop tutorial I’m going to show you how to turn anything into gold using this simple combination of Photoshop filters and tools. The effect smooths out the details of a regular image and adds an array of shiny reflections to mimic the appearance of a polished metal statue. A gradient overlay gives […] The post Video Tutorial: How to Turn Anything into Gold in Photoshop appeared first on Spoon Graphics. Full Article Videos gold effect photoshop photoshop gold effect photoshop gold effect tutorial photoshop tutorial video video tutorial
tor Video Tutorial: How to Create an Embroidered Patch Design in Illustrator By blog.spoongraphics.co.uk Published On :: Wed, 22 Apr 2020 07:00:22 +0000 In today’s Adobe Illustrator tutorial I’m going to take you through the process of creating a colourful embroidered patch, based on the kinds of designs associated with National Parks. The artwork will incorporate a landscape scene at sunset, which helps to keep the design simple with a silhouette graphic and a warm colour palette. Stick […] The post Video Tutorial: How to Create an Embroidered Patch Design in Illustrator appeared first on Spoon Graphics. Full Article Videos embroidered patch embroidered patch tutorial illustrator illustrator patch design illustrator tutorial patch design video video tutorial
tor Video Tutorial: Vintage Letterpress Poster Design in Photoshop By blog.spoongraphics.co.uk Published On :: Wed, 06 May 2020 07:00:35 +0000 In today’s Adobe Photoshop video tutorial I’m going to take you through my process of creating a vintage style advertisement poster with letterpress print effects. We’ll start by laying out the design with a selection of fonts inspired by the era of wood type, along with some hand-drawn graphic elements using a limited 3-colour palette. […] The post Video Tutorial: Vintage Letterpress Poster Design in Photoshop appeared first on Spoon Graphics. Full Article Videos letterpress letterpress effect letterpress photoshop tutorial letterpress poster design photoshop photoshop tutorial poster print effect video video tutorial
tor Seamless Vector Subtle Grunge Patterns By feedproxy.google.com Published On :: Mon, 23 Mar 2020 13:12:46 +0000 Patterns can be a powerful way to quickly add some real texture to your artwork with very minimal effort. In one-click you have beautiful texture overlays that will... The post Seamless Vector Subtle Grunge Patterns appeared first on Function Design Blog. Full Article Design Featured Resources grunge patterns resources retro seamless subtle subtle grunge textures vintage
tor Detect git Directory with Bash By feedproxy.google.com Published On :: Thu, 02 Apr 2020 15:02:47 +0000 One interesting aspect of working at Mozilla is that Firefox lives in a mercurial repository while several other projects live on GitHub in a git repository. While most focus on either Firefox or another project, I switch between both, leaving me running git commands inside the mercurial repository and hg commands inside git repos. It’s […] The post Detect git Directory with Bash appeared first on David Walsh Blog. Full Article git Shell
tor Status Agen Casino Sbobet Resmi Bagi Bettor By feedproxy.google.com Published On :: Fri, 31 Jan 2020 10:20:53 +0000 Status sebagai agen Sbobet Casino terbaik yang diperoleh sebuah bandar judi online tidak didapatkan dengan mudah. Bandar tersebut harus memenuhi beberapa kriteria tertentu untuk menyandang status ini. Semua kriteria ini wajib dimiliki. Jika ada kurang satu saja, maka bandar tersebut tidak layak menyandang status yang terbaik, bahkan untuk menyebut diri mereka sendiri. Memang apa saja … More "Status Agen Casino Sbobet Resmi Bagi Bettor" The post Status Agen Casino Sbobet Resmi Bagi Bettor appeared first on Situs Agen Judi Live Casino Online Indonesia Terpercaya. Full Article Agen Resmi Casino Agen Sbobet Casino Bandar Casino Sbobet Situs Casino Sbobet
tor What is the Sony a6400 Crop Factor? By feedproxy.google.com Published On :: Wed, 18 Mar 2020 21:01:57 +0000 Sony introduced the a6400 model of digital cameras in early 2019. The a6400 rapidly became a best-seller among both professional and amateur photographers. The camera is smaller than standard digital single reflex cameras but still uses Sony’s extensive line of lenses. Sony has achieved all this using an APS-C sensor system in a mirrorless body. What is Sony a6400 crop Continue Reading The post What is the Sony a6400 Crop Factor? appeared first on Photodoto. Full Article Cameras & Equipment Sony a6400 crop factor
tor 20 Minute Tut! Create Your Own Customized Chalkboard Text Vector By feedproxy.google.com Published On :: Thu, 09 Apr 2020 14:00:00 +0000 In this Chalkboard Text Vector tutorial, I’ll show you how to create a chalkboard vector effect with some gradients, a bristle brush, and some freebies from Vector Mill! This chalkboard text vector effect tutorial is relatively simple and can be applied to many other Illustrator projects. Use this effect for logo creation, back to school backgrounds, […] The post 20 Minute Tut! Create Your Own Customized Chalkboard Text Vector appeared first on Vectips. Full Article Tutorials chalkboard text effect chalkboard text vector chalkboard text vector effect chalkboard vector how to create a chalkboard text how to create a chalkboard text vector how to create a chalkboard vector
tor How To Create A Retro Sunburst Vector In 10 Minutes or Less! By feedproxy.google.com Published On :: Thu, 16 Apr 2020 14:00:00 +0000 In today’s tutorial, we will find out how to create vector sunbursts by using Transform effect and stroked paths. The techniques described here allow you to edit previously-created sunbursts that can result in an infinite number of variations. Have fun learning in our vector tutorial! Tutorial Details Program: Adobe Illustrator CS5 – CC Difficulty: Beginner […] The post How To Create A Retro Sunburst Vector In 10 Minutes or Less! appeared first on Vectips. Full Article Tips and Tricks free Stroke panel sunburst sunbursts Transform live effects tutorial vector vector sunbursts
tor 10 Step Tutorial: How to Design Flat Skateboards Using Adobe Illustrator By feedproxy.google.com Published On :: Tue, 28 Apr 2020 14:00:00 +0000 Summer is in full swing here in the states! It’s a perfect time to grab your skateboard and go cruising. Today we’re going to learn how to design flat skateboards and colorful vector longboards in Adobe Illustrator! We’ll be working with Clipping Masks, Stroke, and Pathfinder panel. Let’s get started! Tutorial Details Program: Adobe Illustrator CC Difficulty: […] The post 10 Step Tutorial: How to Design Flat Skateboards Using Adobe Illustrator appeared first on Vectips. Full Article Tips and Tricks adobe illustrator design flat flat style illustration illustrator illustrator tutorial longboard summer Tips tutorial vector vector illustration
tor Create a NAS Icon in Just 30 Minutes Using Adobe Illustrator By feedproxy.google.com Published On :: Thu, 30 Apr 2020 14:00:01 +0000 Welcome back to another Illustrator tutorial from our retro hardware series! In this how-to, we’re going to learn to create a NAS Icon (or a Network-Attached Storage icon) using some simple geometric shapes and tools. So, get your software up and running let’s jump straight into it! Tutorial Details: How to Create a NAS Icon Program: Adobe […] The post Create a NAS Icon in Just 30 Minutes Using Adobe Illustrator appeared first on Vectips. Full Article Tips and Tricks adobe adobe illustrator design icon illustration illustrator line line art line icon nas network network attached storage retro hardware series storage storage media storage unit
tor 7 Steps to Create Hand-drawn Vector Patterns By feedproxy.google.com Published On :: Tue, 05 May 2020 14:00:00 +0000 Get in on the hand-drawn vector illustration trend without leaving the digital realm with this fun and tropical pattern tutorial. Tutorial Details: 7 Steps for Easy Flat Work Hand-Drawn Vector Design Program: Adobe Illustrator CS6 – CC Difficulty: Intermediate Topics Covered: Design Theory, Drawing Skills, Tracing Panel Estimated Completion Time: 15 Minutes Final Image: Hand-drawn Vector […] The post 7 Steps to Create Hand-drawn Vector Patterns appeared first on Vectips. Full Article Tutorials foliage hand drawn leaves pattern vector
tor How to Draw a Stylized Flat Car in Adobe Illustrator By feedproxy.google.com Published On :: Thu, 07 May 2020 14:00:08 +0000 In this tutorial we’ll draw a funny cartoon car in a simple stylized flat car. We don’t actually need any advanced drawing skills or even a tablet to create this stylized object as we’ll be working with basic geometric shapes and the most useful tools of Adobe Illustrator. Such simple and trendy illustrations are perfect […] The post How to Draw a Stylized Flat Car in Adobe Illustrator appeared first on Vectips. Full Article Tips Tips and Tricks Tricks Tutorials adobe illustrator car car vector cartoon style vector flat flat design flat style stylized tutorial vector vector illustration vector tutorial
tor The Power of CSS Selectors and How to Use Them By webdesignerwall.com Published On :: Thu, 08 Dec 2016 13:38:35 +0000 One of the challenges of coding premium WordPress themes is the unpredictable nature of how they will be used. Compared to coding a custom website, especially one using static HTML documents where you have complete control over the markup, you have to solve problems creatively and ensure flexibility. In these cases, CSS selectors make all […] The post The Power of CSS Selectors and How to Use Them appeared first on Web Designer Wall. Full Article Featured Tutorials CSS
tor Tutorial: Trendy Splitscreen Layout With CSS3 Animations (Pt. 1) By webdesignerwall.com Published On :: Thu, 29 Dec 2016 18:00:54 +0000 There is no better time than the end of the year for some fresh inspiration! One of the most popular trends this year, features splitscreen layouts, lots of white space, clean typography and subtle effects. With this playful trend in mind, I’ve created a two-part tutorial to show you how to use flexbox, 3D transforms […] The post Tutorial: Trendy Splitscreen Layout With CSS3 Animations (Pt. 1) appeared first on Web Designer Wall. Full Article Tutorials CSS jQuery
tor Tutorial: Duo Layout With CSS3 Animations & Transitions (Pt. 2) By webdesignerwall.com Published On :: Thu, 05 Jan 2017 11:00:01 +0000 Last week I demonstrated how to build a split-screen website layout using CSS flexbox and viewport units that offers an alternative way to present a brand’s featured content. Clicking on one side or the other navigates further into the site without a page load, using CSS transitions and 3d transforms. This week, I’ll show you […] The post Tutorial: Duo Layout With CSS3 Animations & Transitions (Pt. 2) appeared first on Web Designer Wall. Full Article Tutorials CSS jQuery
tor From The Archives: Toronto, Canada 2019 By feedproxy.google.com Published On :: Fri, 20 Mar 2020 09:22:56 PDT Parkdale. Toronto, Canada 2019 Follow me @benhuang.photography Full Article From The Archives benhuangphotography canada landsdowne parkdale residential streetphotography toronto winter カナダ トロント パークデール ランスドーン 住宅区 冬 街撮り
tor From The Archives: Toronto, Canada 2020 By feedproxy.google.com Published On :: Sat, 25 Apr 2020 11:55:14 PDT Yonge Street. Toronto, Canada 2020 Follow me @benhuang.photography Full Article From The Archives benhuangphotography canada downtown pedestrian streetphotography toronto yongestreet カナダ ダウンタウン トロント 歩行者 街撮り
tor Motorola Moto X complete guide By unlimitedcellphoneplansblog.wordpress.com Published On :: Mon, 07 Mar 2016 12:09:50 +0000 Got a brand new Motorola Moto X but not sure how to do something on it? Fear not as we’ve put together a comprehensive guide to get your started. Scroll through or navigate using the links below, and if you’ve got a query and we havne’t covered it, let us know. Leave us a comment … Continue reading Motorola Moto X complete guide → Full Article Uncategorized
tor Motorola Moto G Complete Guide By unlimitedcellphoneplansblog.wordpress.com Published On :: Mon, 07 Mar 2016 12:11:22 +0000 Got a Motorola Moto G but not sure how to do something on it? Not to worry as we’ve come up with a comprehensive guide for all the things your handset is capable of doing. Navigate using the links below or download the full guide by clicking on the PDF logo. If you can’t find … Continue reading Motorola Moto G Complete Guide → Full Article Uncategorized
tor Record-Low 2016 Antarctic Sea Ice Due to ‘Perfect Storm’ of Tropical, Polar Conditions By feedproxy.google.com Published On :: Thu, 07 Sep 2017 19:16:51 +0000 By Hannah Hickey UWNEWS While winter sea ice in the Arctic is declining so dramatically that ships can now navigate those waters without any icebreaker escort, the scene in the Southern Hemisphere is very different. Sea ice area around Antarctica … Continue reading → Full Article Cryosphere ET News 2016 Antarctic ice sheet arctic sea ice ocean temperature warming
tor We Must Heed Storm Warnings to Build a Brighter Future By feedproxy.google.com Published On :: Fri, 21 Sep 2018 21:28:49 +0000 By David Suzuki with contributions from Senior Editor Ian Hanington David Suzuki Foundation In 2012, North Carolina’s Coastal Resources Commission warned that sea levels there could rise by a metre over the next century. The warning was based in part … Continue reading → Full Article Points of View & Opinions Climate Change forecasts Global Warming sea level rise