po

Study Identifies Potential Therapeutic Target for PTSD

A multi-institutional team of investigators has discovered that targeting a specific neural circuit through noninvasive neuromodulation may help reduce symptoms in patients with posttraumatic stress disorder (PTSD), according to a recent study published in Nature Neuroscience. Jordan Grafman, PhD, professor of Physical Medicine and Rehabilitation and of Psychiatry and Behavioral Sciences and director of Brain Injury Research at the Shirley Ryan AbilityLab, was a co-author of the study.




po

US Air Force veteran finds hope in suicide prevention therapy focusing on stress responses

For many people, it’s a ray of hope rooted in research. Recent research is presenting a new way of thinking about suicide prevention, and both experts and patients believe it’s already saving lives.




po

How Can We Better Support the Mental Well-Being of Veterans Returning from Service?

Military service is difficult, dangerous, and demanding. But for some veterans, returning to civilian life can also be a challenge. Going from the structure of active duty—with its purpose-driven roles, full-throttle environment, and sense of camaraderie—to the relatively humdrum life of a civilian can be jarring, particularly for veterans who’ve experienced trauma during their service and may suffer from post-traumatic stress disorder (PTSD).  Researchers at Boston University, including Dawne Vogt and Casey Taft—both professors of psychiatry in the Chobanian & Avedisian School of Medicine—are utilizing a variety of data-backed strategies to support veterans struggling to adapt to their new normal lives. 




po

Transform Your Website with These 10 Multipurpose WordPress Themes for 2023

If you are looking for the best multipurpose WordPress theme you might feel the need to clearly understand what “best” means. On the other hand, you shouldn’t worry about that too much since you don’t have to drill down to selecting a single multipurpose WordPress theme at the exclusion of all others; and the reason […]




po

The Importance of Getting Your Teenager with TBI to Join a Support Group

It’s hard to get teenagers to do anything they fear will make them feel “other,” but a TBI support group will help during recovery.




po

Can Symptoms of Hypopituitarism Present Years After a Brain Injury?

Symptoms of hypopituitarisma condition in which the pituitary gland does not produce normal amounts of some or all of its hormones would most likely show up soon after a TBI.





po

Export Cuts for Audio/Video Editors and Filler Cutting Updates

For those of you who like to be in control of every applied cut, we are introducing an update for our Automatic Silence and Filler Word Cutting Algorithms today: The export of Cut Lists allows you to import cuts into your favorite audio/video editor to check and apply the cuts to your files manually.
Thanks to your great feedback, we were able to update our “Filler Word Cutting” algorithm as well.

Cut Lists Export

We now provide the export of various formats of “Cut Lists” in the Auphonic Web Service.
You can use these formats to modify and apply cuts in your post production audio or video editing program:

Screenshot of the Reaper DAW with imported “ReaperRegions.csv”: pale red regions display filler words and pale gray regions mark silence.

To generate the cut lists, choose “Cut List (Filler and Silence)” in the “Output Files” section. By selecting the correct “Ending” you can export the cut lists to a format that is suitable for your post production audio or video editor:

We support regions and EDL (edit decision list) formats:

  • Region formats (“AudacityRegions.txt”, “AuditionRegions.csv” and “ReaperRegions.csv”) list filler and silence cut regions with their respective start and end timestamps.
    You can import those cut region lists into your existing Audacity, Audition, or Reaper projects. There you can edit the cut positions to your liking by deleting, moving, or adding individual cut positions. After that, you may apply the cuts manually.
  • EDL (edit decision list) formats, “SamplitudeReaper.edl”, “FinalCutProLegacy.xml”, “FinalCutProX.xml” and “DaVinciResolve.edl” (also known as “cmx3600” format and compatible with various editors), can be imported in your software to automatically apply cuts from the EDL file. Depending on the software you use, you may also edit individual cuts manually before applying them. Be aware though that in some editors it may not be possible to add them to an existing project. If this is the case, simply open a new project with the EDL file instead.

Please just let us know if we do not yet provide a cut list format for your favorite audio or video editing program!

Export Uncut Audio

To only detect fillers/silence but NOT cut them, choose the “Export Uncut Audio” mode for “Automatic Cutting” in “Audio Algorithms”. Then you can query cutting times via our API or select your favorite Cut List format as “Output File” to only export cut times for later editing, but without applying cuts during the Auphonic audio post production.

Using the option “Export Uncut Audio”, it is also possible to use our cutting algorithms for video productions. In this case, we will just detect and report cuts, and you can import and apply them in your favorite video editing program afterwards.

Filler Word Cutting Updates

Thanks to your great feedback, we've been able to further optimize our Automatic Filler Word Cutting algorithm.
By now you probably know that our filler word cutter removes all types of “uhm”, “uh”, “mh”, “ähm”, “euh”, “eh” and similar sounds. If you haven't heard about it yet, our release blog post might be a good starting point.

  • Enhanced Fade Curves
    We noticed that due to reverb or background noise in input files, some filler cuts did not sound as smooth as they should have. To prevent such rough cuts, we trained our filler detection models with more diverse speech data and compared different fade curve approaches. Now the filler detection is much more robust against noise. Additionally, we developed an asymmetrical fade solution, which, in our opinion, makes the cuts almost inaudible.

    We nonetheless recommend, though, that you use filler cutting in combination with our Dynamic Denoising or Speech Isolation algorithms. These algorithms remove heavy reverb or noise and thus prevent noise artifacts during cutting.

  • Handling of Affirmative Sounds
    Some of you were bothered by the fact that affirmative sounds, like “mhm”, “aha”, and “yeah” were cut along with filler words. Driven by your feedback, we tweaked our filler detection algorithm in a way that will remove considerably fewer of these sounds.

  • Multitrack Filler Silencing
    We also received requests to optimize filler cutting for crosstalk in Multitrack productions.
    Let's assume that two speech tracks are simultaneously active and one of the two tracks contains a filler word. In this case, we can not cut the filler word in one track without destroying parts of the speech in the other track.
    Our original solution was to skip such a filler. Now, however, we replace it with silence instead. This removes the filler words while preserving all the speech content.

Feedback

If you want to provide us feedback on how you like the updated filler cutting algorithm or about any other features that are missing, you are very welcome to contact us. You can also leave a comment in the feedback section on the status page of your concrete production.







po

Support for Intro and Outro Videos

A new foray into the world of video: Auphonic is proud to announce support for intro and outro videos! With our most recent update you can now seamlessly integrate video intros and outros into your productions, providing a richer and more engaging experience for your audience.

Photo by Jakob Owens on Unsplash

What's new?

For a long time Auphonic has supported video files as the main files of productions. Until recently, intros and outros were limited to audio-only though.

Our new feature now allows you to add video intros and outros to your productions. This means your content can now begin and end with video clips, adding a professional touch and increasing viewer engagement. Whether you're working on podcasts, audiobooks, or any other type of multimedia content: providing your content both in audio form and in video form is now way easier!

Mixing Audio and Video

A key aspect of this feature is the ability to mix audio and video files effortlessly. If your main production file is a video but your intro is an audio file, Auphonic will automatically generate a video for the intro using a standing image from the main video. This ensures a seamless and visually coherent transition between different media types, maintaining the overall quality and flow of your production.

It works the same way for outros as well. When your main production file is a video file but your outro is audio-only we will generate an outro video from a standing image of the main video.

Overlap

We also support overlap for video intros and outros. This means you can have your intros and outros start or end slightly before the main content, creating a smoother transition. However, you should know that overlapping intro and outro videos requires us to place a cut in your video intro and outro. Only this way the the audio will stay in sync with the video.

How to add Intro and Outro Videos

Using our new feature is incredibly simple. You can add video intros and outros the same way you would add audio intros and outros in the production form.

A screenshot of the production form where a video intro and a video outro where selected.

Adding video intros and outros is also available through our API, allowing for a smooth integration into your existing workflows and automation processes. Again, adding video intros and outros in the API works the same way it works for audio intros and outros.

Use Cases

There are many different use cases for our new feature! If you, as an example, regularly release episodes of your podcast both as audio and as video, you can now automatically add a recurring video intro and outro without needing to manually edit your videos.

Or, if you're an audio engineer, you may have a large number of recordings of, let's say, a conference. Instead of having to edit each individual conference recording by hand you now can add a common intro and outro to each conference recording automatically using a batch production.

Supported Video Formats

The world of video is a limitless one, with a sheer endless amount of video codecs, resolutions or frame rates to offer. Naturally, this means we are not able to support every arbitrary video format there is. However, we made sure to support the most commonly used video containers and codecs to make sure that at least 99.5% of all video productions will be possible.

Currently we support the 3 most common video containers: MP4, MKV and MOV. For these containers the following codecs are supported:

  • h264: MP4, MKV, MOV
  • mpeg4: MP4, MKV, MOV
  • mpeg2video: MP4, MKV, MOV
  • prores: Only MKV and MOV
  • msmpeg4v3: Only MKV and MOV

Any video intro or outro which uses these containers and codecs can be processed by us. Additionally, we make sure that your output video uses a common format. Therefore, if your video intro or outro uses a different codec or container than your main video we will encode the video intro or outro to the setting of the main video.

Given that video demands significantly more computational ressources than audio the video intros and outros may be 1 minute long at max in order to be processed.

Conclusion

The new intro and outro videos feature on Auphonic is designed to give you more creative control and to help you produce professional, engaging content effortlessly. By supporting a variety of codecs and allowing for the mixing of audio and video we aim to support every possible workflow. We invite you to explore this new feature and see how it can enhance your multimedia productions!

Feedback

Would you like us to support another video format? Did you stumble across an issue with your video file(s)? Let us know! Simply drop us a message in our contact form or leave a comment in the feedback section on the status page of your specific production.
We're looking forward to hearing from you!







po

Effective Pricing for Portrait Photography

As a portrait photographer, you know that the heart of your business beats in the rhythm of capturing souls through lenses. But here’s something not many will tell you: there’s an art to portrait photography pricing too.

Just think about it. How do you put a price on immortalizing someone’s personality in a snapshot? You’re not just pressing buttons; you’re creating magic!

You might be wondering, “How can I create my own masterpiece when it comes to setting prices?” Or perhaps thinking, “I don’t want to undersell myself or scare away potential clients.”

Understanding Portrait Photography Pricing

If you’re a professional photographer or someone considering getting into the photography business, it’s essential to grasp portrait photography pricing. Figuring out portrait photography pricing may appear complicated at first, yet with some knowledge of the business’ fundamental principles and procedures it will all start to become clear.

The number one thing to avoid when pricing your photography is spending more than you make. You need to price your images based on time spent behind the lens and editing them post-shoot as well as the market value of your work.

Continue reading Effective Pricing for Portrait Photography




po

Stephan Moccio: The Power of Pauses in Life (and Music)

Words and tools are powerful, but are they our only way of making a mark? *Pause for emphasis* Stephan Moccio doesn’t think so. An artist, composer, and producer, he’s the name behind some of the most well-known songs and soundtracks on the planet. But surprisingly enough, all that success with sound has come through silence. In this podcast, I have the privilege of sitting down with him to discuss how strategic refrain and thought can benefit creative power. Creativity as a Muscle Skill can come naturally, but people rarely get to the top through their natural-born talents alone. Even 6’9″ LeBron James wouldn’t be where he is as a basketball player without putting in the unseen hours of success. Whether physical or mental, training effectively determines performance. “I’ve learned that to get great things and to achieve great things requires a lot of work behind the curtain…” Creative practice isn’t different from other forms of training in that making a habit out of it is hard. We all have lives outside of our passions, and those passions aren’t always fully funded. Many of us work day jobs while pursuing creative endeavors. Stephan has had to balance paying bills, raising a...

The post Stephan Moccio: The Power of Pauses in Life (and Music) first appeared on Chase Jarvis.

The post Stephan Moccio: The Power of Pauses in Life (and Music) appeared first on Chase Jarvis.




po

How to Find Opportunity in Everything

If there’s one thing I’ve learned from interviewing hundreds of high-performers and change-makers on the Chase Jarvis LIVE show, it’s that the most successful entrepreneurs and creators share a unique trait: they view challenges not as barriers but as incredible opportunities for growth and innovation. Unlike many of us who might view problems as burdensome obstacles, they tend to see them as opportunities to learn, to grow, to improve, and to adapt in ways that leave them better positioned than they were before. This perspective isn’t just about maintaining a positive attitude—it’s about harnessing the power of each setback to propel oneself forward.  Why Problems Are Your Launchpad for Innovation Problems are inevitable, no matter what we do in life, but as creators and entrepreneurs we can get more than our fair share. It’s par for the course when it comes to breaking new ground and pushing boundaries. But here’s the kicker: when you start to view these problems as crucial growth opportunities, they suddenly become less daunting – more like puzzles waiting to be solved rather than monsters lurking in the dark. This mindset not only reduces the stress associated with challenges but also opens up your creative process...

The post How to Find Opportunity in Everything first appeared on Chase Jarvis.

The post How to Find Opportunity in Everything appeared first on Chase Jarvis.




po

Cal Newport on The Dark Side of Modern Productivity

In this episode, Cal Newport shares his revolutionary approach to productivity from his new book, Slow Productivity: The Lost Art of Accomplishment Without Burnout. Cal, a computer science professor at Georgetown and author of Deep Workand Digital Minimalism, explores how principles from historical figures like Newton, Galileo, and Jane Austen can help us thrive in today’s fast-paced world. We discuss his ‘lost art’ approach, debunk the myth of multitasking, and examine how technology impacts our focus and mental well-being. Some highlights we explore: How Newton’s work habits can be integrated into modern productivity practices. Why focusing on single tasks is more effective than multitasking. Advice on reducing social media’s impact to regain focus. Techniques from Cal’s new book to accomplish more without burning out. And more! Enjoy! FOLLOW CAL NEWPORT: twitter | youtube | website Listen to the Podcast Subscribe  

The post Cal Newport on The Dark Side of Modern Productivity first appeared on Chase Jarvis.

The post Cal Newport on The Dark Side of Modern Productivity appeared first on Chase Jarvis.




po

You’re Underestimating the Power of Breath

In this episode, Finnian Kelly shares insights from his new book Intentionality: A Groundbreaking Guide to Breath Consciousness and Radical Self Transformation. Finnian debunks the myth that “people don’t change” and explores the power of instantaneous transformation with vivid examples from his life. We go into the significance of self-trust, childhood experiences, and overcoming fear through intentional breathwork. Finnian shares personal stories of financial loss, identity crises, and the profound effects of breathwork on managing fear and enhancing creativity. Some highlights we explore: Energy interventions like breathwork, cold exposure, and sensory deprivation. The importance of creating space for creativity and high performance. The role of childhood experiences in shaping adult behavior. Techniques to leverage energy over time for productivity. And more! Enjoy! FOLLOW FINNIAN KELLY: instagram | facebook | twitter | website Listen to the Podcast Subscribe

The post You’re Underestimating the Power of Breath first appeared on Chase Jarvis.

The post You’re Underestimating the Power of Breath appeared first on Chase Jarvis.




po

The Dark Side of Productivity Myths Exposed

In this episode, Oliver Burkeman gets real with me about the power of embracing limits to unlock a richer, more productive life. We talk about his book, Meditations for Mortals, and unpack why so much of traditional time management is flawed. Instead of chasing perfection, Oliver shows how small, intentional steps and accepting our constraints can actually lead to more freedom and fulfillment. His take on “imperfectionism” and the value of presence offers a fresh way to tackle life’s demands. Some highlights we explore: Shifting from private doubts to taking small, meaningful actions Using “imperfectionism” to overcome perfectionism’s trap Letting go of control to reduce stress and gain momentum Enjoy! FOLLOW OLIVER BURKEMAN: twitter | website Listen to the Podcast Subscribe

The post The Dark Side of Productivity Myths Exposed first appeared on Chase Jarvis.

The post The Dark Side of Productivity Myths Exposed appeared first on Chase Jarvis.




po

Why You’re Not Finding Your Purpose

In this episode, Héctor García and Francesc Miralles, authors of books on Ikigai and Purushartha, talk about finding purpose and living meaningfully. They share how these ancient philosophies intersect and offer real ways to connect your passions, talents, and the needs of the world around you. From flow states and personal discovery to insights on genuine friendships and self-reflection, Héctor and Francesc explain how purpose is something built through experience, not stumbled upon. Some highlights we cover: The Four Circles of Ikigai for aligning love, skills, profession, and impact How flow states and personal experiences guide you to what matters Reflective practices like journaling and connecting with friends as tools for self-discovery Enjoy! FOLLOW HÉCTOR GARCÍA: twitter | instagram | linkedin | website FOLLOW FRANCESC MIRALLES: twitter | instagram | facebook | website Listen to the Podcast Subscribe

The post Why You’re Not Finding Your Purpose first appeared on Chase Jarvis.

The post Why You’re Not Finding Your Purpose appeared first on Chase Jarvis.




po

OECD Data Portal

A few notes on a new, big project I have been involved with: The OECD Data Portal is now in public beta. It is still a bit rough around the edges, but we are excited to see the full website in its entirety. The main design credit goes to Raureif, and the UI implementation has […]




po

Harnessing the Power of Email Signatures and Banners in Digital Marketing

When exploring the arsenal of digital marketing tools, the concepts of email signature banner prominently feature as pivotal elements for interaction and outreach within the expansive domain of email marketing. While at a glance they may appear similar, email signatures [...]

Read Article

The post Harnessing the Power of Email Signatures and Banners in Digital Marketing first appeared on CSS Reset.




po

Create a Responsive WordPress Theme – Video Tutorial – 2

I am pretty excited to bring you the Part 2 of the ongoing Video Series on How to create a Responsive WordPress Theme. As in the previous video, I will be explaining how to code each webpage element using Bootstrap Framework and integrate it into WordPress. You can also download the updated theme files that...




po

Create a Responsive WordPress Theme – Video Tutorial – 3

This is the third part of the Video Tutorial Series on How to Create a Responsive WordPress Theme using the Bootstrap Framework. In this part, I have demonstrated how to create a full width parallax image section, a recent blog posts section and a footer. An updated zip file with the related theme files are...




po

Top 8 Free Responsive Menu Plugins for WordPress

A responsive navigation menu is a must for your WordPress website. If there is a plug & play solution available readily, life gets easier. Today, I am going to list top 10 Free WordPress plugins that provide you with a quick and efficient way to integrate responsive navigation menus into your existing theme or website....




po

English language requirement tightened for Student and Temporary Graduate Visa Applicants

The Australian Government has recently announced new English language requirements for Student and Temporary Graduate visa applications. These changes are intended to ensure that international students and graduates have a solid command of the English language to successfully participate in academic and professional settings in Australia. New English Language Requirements Under the updated visa application […]

The post English language requirement tightened for Student and Temporary Graduate Visa Applicants appeared first on Australian Visa Experts.




po

Important Changes to the Temporary Skilled Migration Income Threshold (TSMIT) Effective from 1 July 2024

The Australian government is making a significant update to the Temporary Skilled Migration Income Threshold (TSMIT), reflecting its ongoing commitment to maintaining fair wages and conditions for skilled migrants. From 1 July 2024, the TSMIT will increase from $70,000 to $73,150. This change is part of the broader initiatives announced during the Jobs and Skills […]

The post Important Changes to the Temporary Skilled Migration Income Threshold (TSMIT) Effective from 1 July 2024 appeared first on Australian Visa Experts.




po

If my business sponsors an overseas worker on a Temporary Skill Shortage (482) visa, can they work for another employer?

When a Temporary Skill Shortage (TSS) visa (subclass 482) is granted by the Department of Home Affairs it come with a mandatory condition, Condition 8107. This condition governs the visa holder’s employment arrangements and ensures that they adhere to the requirements of the visa. While holding a TSS visa the individuals work rights were generally […]

The post If my business sponsors an overseas worker on a Temporary Skill Shortage (482) visa, can they work for another employer? appeared first on Australian Visa Experts.




po

Limiting your options on purpose

Being a photographer with some spending money and a bad habit of lusting after gear, I have amassed a lot of photo gear. Due to that I am often carrying at least two lenses and also prefer zoom lenses versus […]




po

Poetic Ceramic Creations

Delphine Joly Pujol est l’âme poétique et inspirée qui se cache derrière OcciD Créations. Issue du milieu de la biologie, dont elle emprunte le vocabulaire pour intituler ses collections, l’artiste est passionnée de céramique depuis 15 ans. Fascinée par la naissance d’une pièce à partir des quatre éléments que sont l’eau, la terre, l’air et […]




po

Harry Potter If It Was Made By Wes Anderson

Attention all Muggles and Wizards! ✨🧙‍♂️🔮 If Harry Potter was directed by the one and only Wes Anderson, you ca ...




po

Abeeja Honey: Bee The Power Of Creative Packaging

When it comes to the sweet nectar that delights our taste buds and adds a touch of magic to our daily routines, nothing beats honey. Whether it's a comforti ...




po

Embracing The Creative Journey: Ignite Your Passion And Unlock Limitless Potential

Creativity is not a gift that only some people have. It is a skill that can be learned and developed by anyone who is willing to explore new possibilities, ...




po

Harry Potter And The Forbidden Party

Step into a realm where the magical world of Harry Potter collides with the captivating aesthetics of HBO's Euphoria, giving birth to an AI-generated Hogwar ...




po

Similar DeviantArt Websites: Alternatives For Free Art Exposure

DeviantArt has long been a go-to platform for artists seeking to showcase their work and connect with others in the creative community. However, as the digi ...




po

Theme: Portfolio Solution for Creative Professionals

Daisho is a portfolio solution for creative professionals and companies looking for a minimal and professional look. Flexible and responsive presentation, smooth navigational flow and clutter-free approach. Put your works in focus. Powerful Typography Plugin included. The definitive portfolio solution for creative professionals available now. Pricing: $50 Requirements: WordPress Source: Buy it Now




po

Theme: A Beautiful Portfolio WordPress Theme

Agera is a beautiful portfolio. Easy to setup, enhanced with Massive Panel and custom shortcode wizard which makes adding shortcodes extremely easy. The main goal of Agera is to let photographers and designers showcase their work easily and in a beautiful and simple way. If you are a creative person this theme is for you. […]




po

The Challenges and Rewards of Responsive Design

During 2012 there were many progressions in the world of web design, and one of the main success stories was the growth and popularity of responsive web design. It’s no wonder either, as we were in need of something like this, to give an ounce of flexibility to traditional design – which is exactly what […]




po

Plugin: Responsive WordPress Grid Layout Plugin

Grid Layout Shock is the most complete responsive WordPress grid layout plugin. You can select between 8 box styles preloaded to costumize your own grid layout. You can select the components that you want to show, if you want to show the title, the image, the excerpt of the text or neither, you can do […]




po

A Glance over Depositphotos, the Fastest-Growing Microstock Agency

Stock photography business has become trend. It could be seen from the number of stock photography providers or so called microstock agencies in the internet which is increasing. The number affects the effort of every microstock agency to survive and get much buyers as possible. As a result, we can see so many microstock agencies […]




po

Why Now Is a Great Time to Update Your POS System

Upgrading your Point of Sale system sounds like a lot of work and a lot of headache, so some would argue that there really isn’t a “great” time to do this. Yes, running a business is hard work. When there’s a lot of pressure riding on something, you really, really want to get it right […]




po

How to Make a Grid in Adobe Illustrator (Rectangular and Polar)

Are you looking for a way to create an effective grid system in Adobe Illustrator? If so, then you've come to the right place! This quick tutorial will teach you how to make a comprehensive and visually appealing grid using the popular vector graphics software. While creating grids manually can be time-consuming, with this tutorial,...

The post How to Make a Grid in Adobe Illustrator (Rectangular and Polar) appeared first on Bittbox.




po

How to Use the Vanishing Point Filter in Adobe Photoshop

Have you ever seen the realistic concept art of games with many buildings and tall towers? Or the pictures of busy markets with giant billboards and advertisements? Or the images with street perspectives, including Photoshopped texts and digitally painted graffiti? These images grab our attention and appeal to our eyes. For a designer, artist, or...

The post How to Use the Vanishing Point Filter in Adobe Photoshop appeared first on Bittbox.




po

How to Create Bullet Points in Adobe Photoshop

Adobe Photoshop is such a comprehensive and universal design software that it provides you with hundreds of tools to carry out any design-related task. There are many ways to achieve the same result. Typography plays a crucial role in achieving the desired goals with many designs. Whether it's a social media post, the cover of...

The post How to Create Bullet Points in Adobe Photoshop appeared first on Bittbox.




po

New Minimal & Responsive Theme Released at Themify

I just wanted to announce a new WordPress theme that I designed called Elemin. It is minimal theme coded with Google font, CSS3, Javascript and HTML5. The design is completely fluid and responsive (using CSS3 Media Queries). This means the layout automatically adapts based on the user’s viewport. To see it in action, visit the […]




po

Another Responsive Theme – Tisa

I just released another responsive WordPress theme at Themify called Tisa. Check our the demo and resize the browser window to see the fluid and responsive layout. It works on most modern mobile devices such as iPhone, iPad, Blackberry, Android, etc. and desktop browsers: Chrome, Safari, Firefox, and even Internet Explorer!




po

IconDock and Themify Coupon Code

If you are interested to buy icons from IconDock or themes from Themify, I have a coupon code for you. Use ‘ndesign’ coupon code on IconDock to save 20% off any icon sets. The discount code on Themify is also the same ‘ndesign’. You can save 20% off any WordPress themes.




po

Unique value proposition — Why it matters and how to write one 

What makes consumers choose one company over another? Identify your unique value proposition to make more sales at higher prices. Examples & tips.







po

M-trust Co.,Ltd. Corporate

M-trust Co.,Ltd. is a company with high-skilled professionals who solve social issues from the real estate business.




po

Nahel Moussi – Portfolio

Nahel Moussi is a Freelance Product Designer. Discover her work and get in touch if you want to collab.




po

Handling Spelling Mistakes with Postgres Full Text Search

Background #

Postgres Full Text Search (FTS) is a great way to implement site search on a website running Postgres already, without requiring additional infrastructure.

On a recent engagement with a client, we were deciding between Postgres FTS and ElasticSearch. Ultimately we chose FTS because we could spin it up without having to add extra infrastructure, as we would with ElasticSearch.

Since the project was written in Ruby on Rails, we were able to use the excellent PgSearch gem to implement FTS in ActiveRecord.

Multisearch #

As we wanted a general site search, we needed to utilize multisearch. Multisearch combines multiple ActiveRecord models into one search 'document' table that you can search against. For example, if a user searches for some search term, and the search is configured for multisearch, then every single model that we mark as multisearchable will be searched for that term at the same time. See here for more detail.

Search Features #

PgSearch allows for different search features, tsearch, trigram, and dmetaphone. The default is tsearch, which uses the built-in Postgres Full Text Search.

This was great for our use case, since it also comes with highlighting, a feature that was required. The highlighting is from a field returned by Postgres FTS, where it returns the text around the search term for context and bolds the search terms.

Spelling Mistakes #

Unfortunately, tsearch does not handle misspelled words. However, as I mentioned before, PgSearch allows for other search features!

And trigram is a feature that can be installed via a Postgres extension (pg_trgm) that does just that.

Trigram #

  • The idea behind trigram search is to split pieces of text into sets of three-letter segments, and compare the sets to one another
  • If two trigram sets are similar enough, we assume there was a spelling mistake, and return the document with the correctly-spelled term.
  • As a quick example (ignoring whitespace): Consider the word Viget. Viget would make trigrams:
[vig, ige, get]
  • Now, consider our evil twin agency, Qiget. They would make trigrams
[qig, ige, get]
  • The two trigram sets match very closely, with only one of the trigrams not being the same. Thus, if we were to compare these with pg_trgm, we could reasonably tell that anyone typing 'Qiget' must have been actually looking for 'Viget', and just misspelled it.

Working Trigram into our existing solution #

PgSearch allows us to use multiple search features at once, so we can use tsearch and trigram side by side. Note that we cannot just replace tsearch with trigram due to needing some features in tsearch that are exclusive to it. Here is what an example configuration might look like.

PgSearch.multisearch_options = {
  using: {
    tsearch: {
      prefix: true,
      highlight: {
        MaxFragments: 1
      }
    },
    trigram: { 
      only: [:content]
    }
  }
}

Trigram (and timelines) causing issues #

While it was easy to slot Trigram into our multisearch, it caused a pretty serious performance hit. We were seeing 50x-75x slower searches with both features combined than with just tsearch. We needed to find a way to balance performance with handling misspellings

At the point that handling misspellings became prioritized, the entire search feature was almost fully QA'd and about ready to go out. There wasn't much time left in the budget to find a good solution for the issue.

This thread from the PgSearch repo sums it up pretty well – there were multiple other users that were/are having similar issues as we were. The top-rated comment in this thread is someone mentioning that the solution was to just use ElasticSearch ('top-rated' is doing a lot of heavy lifting. It did have the most likes...at two). We needed to find some sort of middle ground solution that we could act on quickly.

Postgres Documentation saves the day #

In the docs for the Trigram Postgres extension, the writers give an idea for using Trigram in conjunction with Full Text Search. The general idea is to create a separate words table that has a Trigram index on it.

Something like this worked for us. Note that we added an additional step with a temporary table. This was to allow us to filter out words that included non-alphabet characters.

execute <<-SQL
  -- Need to make a temp table so we can remove non-alphabet characters like websites
  CREATE TEMP TABLE temp_words AS
    SELECT word FROM ts_stat('SELECT to_tsvector(''simple'', content) FROM pg_search_documents');

  CREATE TABLE pg_search_words (
    id SERIAL PRIMARY KEY,
    word text
  );

  INSERT INTO pg_search_words (word)
    SELECT word
    FROM temp_words
    WHERE word ~ '^[a-zA-Z]+$';
  
  CREATE INDEX pg_words_idx ON pg_search_words USING GIN (word gin_trgm_ops);
  
  DROP TABLE temp_words;
SQL

This words table is therefore populated with every unique word that exists in your search content table. For us, this table was pretty large.

result = ActiveRecord::Base.connection.execute("SELECT COUNT(*) FROM pg_search_words").first['count']
puts result.first['count']
# => 1118644

Keeping the words table up-to-date #

As mentioned in the docs, this table is separate from your search table. Therefore, it needs to be either periodically regenerated or at least have any new words added to search content also added to this table.

One way to achieve this is with a trigger, which adds all new words (still filtering out non-alphabet characters) that are inserted into the documents table to the words table

create_trigger("pg_search_documents_after_insert_update_row_tr", generated: true, compatibility: 1)
  .on("pg_search_documents")
  .after(:insert, :update) do
  <<-SQL_ACTIONS
    CREATE TEMP TABLE temp_words AS
      SELECT word FROM ts_stat('SELECT to_tsvector(''simple'', ' || quote_literal(NEW.content) || ')');

    INSERT INTO pg_search_words (word)
      SELECT word
      FROM temp_words
      WHERE word ~ '^[a-zA-Z]+$';

    DROP TABLE temp_words;
  SQL_ACTIONS

end

Note that this does not handle records being deleted from the table – that would need to be something separate.

How we used the words table #

Assuming for simplicity the user's search term is a single word, if the search returns no results, we compare the search term's trigram set to the trigram index on the words table, and return the closest match.

Then, we'd show the closest match in a "Did you mean {correctly-spelled word}?" that hyperlinks to a search of the correctly-spelled word

Given more time, I would have liked to explore options to speed up the combined FTS and Trigram search. I'm certain we could have improved on the performance issues, but I can't say for sure that we could have gotten the search time down to a reasonable amount.

A future enhancement that would be pretty simple is to automatically search for that correctly-spelled word, removing the prompt to click the link. We could also change the text to something like "Showing results for {correctly-spelled word}".

Ultimately, I think with the situation at hand, we made the right call implementing Trigram this way. The search is just as fast as before, and now in the case of misspellings, a user just has to follow the link to the correctly-spelled word and they will see the results they wanted very quickly.