ow

How to Fix ESLint Errors Upon Save in VS Code

Two of the most prominent utilities in web development today are ESLint and Microsoft’s Visual Studio Code. I enjoy using both, and I love the integration between both tools, but warnings from ESLint inside Visual Studio Code aren’t fulfilling — I’d rather lint errors be fixed each time I save. Complete the following steps to […]

The post How to Fix ESLint Errors Upon Save in VS Code appeared first on David Walsh Blog.




ow

How to Use Lightroom Presets- A Handy Guide

How many of you love wasting hours of time making the same basic edits to a lot of photos? Anyone? No? Well, that’s understandable. None of us like doing menial repetitive tasks and it’s no different when editing images — even for those of us who enjoy the editing process. The good news is that Lightroom has a handy tool Continue Reading

The post How to Use Lightroom Presets- A Handy Guide appeared first on Photodoto.




ow

How to Make Money With Photography and How Much Can You Expect

Live your passion. That’s what you’d like to do, right? Spend your days doing what you enjoy? Unfortunately, you gotta eat and do adulting things like paying bills. For that, you need money and your passion might not be good enough. Or is it? There are many ways to turn your passion for photography into an income stream. None of Continue Reading

The post How to Make Money With Photography and How Much Can You Expect appeared first on Photodoto.




ow

How (And Where) To Mount an Action Camera (On Anything!)

Pictures and video from an action camera can be awesome. But how do you get the best shots? It’s all about the mounting of the camera and we’re going to tell you how to do it. How and where do you mount an action camera? The most popular place to mount an action camera is on a helmet using a Continue Reading

The post How (And Where) To Mount an Action Camera (On Anything!) appeared first on Photodoto.



  • Cameras & Equipment
  • Photography Tips & Tricks
  • action camera accessories
  • action camera mounts
  • mount action camera on anything

ow

Tips on developing creative websites that will wow your clients

Web designers: we’ve got fabulous news for you. With the global market expanding without limits, clients are more demanding than ever before. They understand that the highly competitive business realm requires creative websites. That’s good news: as competition increases, web development projects become more challenging. That’s good news for Be Theme too as it is […]

The post Tips on developing creative websites that will wow your clients appeared first on WebAppers.




ow

20 Minute Tut! Create Your Own Customized Chalkboard Text Vector

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.



  • 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

ow

How to – Create a Location Pin Icon

Welcome back to another Illustrator based tutorial, in which we’re going to learn how to create a location pin icon, using nothing more than a couple of basic shapes that we’re going to adjust here and there. So, assuming you already have the software running in the background, bring it up and let’s jump straight […]

The post How to – Create a Location Pin Icon appeared first on Vectips.




ow

How To Create A Retro Sunburst Vector In 10 Minutes or Less!

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.




ow

How to Create a Wood Block Printing Text Effect

Let’s go old school with recreating a time honored printing technique in Adobe Illustrator. With a modified photo texture, we’ll quickly edit any text to look like a wood block printing text effect, ready for whatever your digital needs may be! Tutorial Details: Wood Block Printing Text Effect Program: Adobe Illustrator CS6 – CC 2015 […]

The post How to Create a Wood Block Printing Text Effect appeared first on Vectips.




ow

How to – Create a Pair of Reading Glasses Icon

In today’s tutorial, we’re going to take a quick look behind the process of creating a pair of reading glasses icon, and see how we can take some simple shapes and turn them into a finished usable product. So, assuming you already have the software running, let’s jump straight into it! Tutorial Details: Reading Glasses […]

The post How to – Create a Pair of Reading Glasses Icon appeared first on Vectips.




ow

10 Step Tutorial: How to Design Flat Skateboards Using Adobe Illustrator

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.




ow

How to Draw a Stylized Flat Car in Adobe Illustrator

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.




ow

Capture that Precious Moment: How to Create a Calm Mood for the Infant

Babies capture everyone’s heart, and this is the time to cherish in the form of a series of photographs that will remind you of how idyllic your child looked at the newborn stage. Photographing children, especially babies, poses a problem for the image taker, as you cannot simply ask for a pose, rather you have to engineer it. Here is some information to help make the session go smoothly, and get the perfect shots. The Right Age The ideal age to have photos taken of your baby is between 5 and 12 days old, as they tend to sleep most of the time and it is much easier to find the ideal pose and position. Of course, you can wait a little longer, but to be honest, you have lost that newborn look, which is what everyone wants to capture. If you happen to be in Western Australia, and are ... Read more

The post Capture that Precious Moment: How to Create a Calm Mood for the Infant appeared first on Digital Photography Tutorials.



  • Tips and Tricks
  • How to Create a Calm Mood for the Infant

ow

7 Reasons Every Photographer Should Learn How to Use Photoshop

Many photographers think that learning how to find the ideal location and take a picture at the right time is all they need to know. However, this isn’t the case, and in a world where CGI rivals reality and touch-ups via photo editing software are now seen as a necessity to customers, relying on point and click will kill your photography business. Here are seven reasons every photographer should learn how to use Photoshop.   Royalty Free Photo Touch-Ups Are Essential When a family orders school photos, they pay a flat fee for copies of the school pictures and a little more if the child’s name is embossed on the picture. They pay a separate fee if the picture is touched up, whether it is hiding acne or reducing glare on the child’s glasses. Photographers who know how to touch up photos without making it look artificial or cartoonish can ... Read more

The post 7 Reasons Every Photographer Should Learn How to Use Photoshop appeared first on Digital Photography Tutorials.




ow

How to Change the Background of a Photo

Replacing the background of a photo can be useful at times if you want to superimpose the subject into a different setting, create a transparency, and so on. In fact it can be extremely helpful if you’ve snapped a photo where the subject looks great, but the background leaves a lot to be desired. Although it might sound fairly complicated to remove and replace the background of a photo, with Movavi Photo Editor it isn’t anywhere near as difficult as you imagine. To be honest even if you have absolutely no experience editing photos, you should be able to change background in a photo in a matter of minutes. To get started, launch Movavi Photo Editor and click on the ‘Browse for Images’ button located right in the middle of the main window. If you prefer you could drag and drop the photo that you want to edit into that area ... Read more

The post How to Change the Background of a Photo appeared first on Digital Photography Tutorials.




ow

The Power of CSS Selectors and How to Use Them

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.




ow

CSS Vertical Centering – Everything You Need To Know

Getting content to center perfectly within an element and then ensuring it responds properly at different screen sizes is one of the biggest challenges that still face front-end designers. It is not that it is difficult, but because there are several ways to go about it, figuring out which method is best can be confusing. […]


The post CSS Vertical Centering – Everything You Need To Know appeared first on Web Designer Wall.




ow

How to Create Spotify Colorizer Effects With CSS Blend Modes

When Spotify launched their colorful new brand identity, featuring hip duo-toned imagery, it went hand-in-hand with a new Colorizer tool that allows artists to apply a variety of filters to images. This solved a problem in which Spotify needed a way to present the thousands of images uploaded, all with a different look and feel, […]


The post How to Create Spotify Colorizer Effects With CSS Blend Modes appeared first on Web Designer Wall.




ow

Common WordPress Errors & How to Fix Them

WordPress is an amazingly stable platform thanks to the dedication and talent of the hundreds of professionals contributing to it, and the strict code standards they follow. Even so, the huge variety of themes, plugins and server environments out there make it difficult to guarantee nothing will ever go wrong. This guide will help you […]


The post Common WordPress Errors & How to Fix Them appeared first on Web Designer Wall.




ow

Upper Yosemite Falls & Half Dome Moonbow

This past week was the optimal time to photograph moonbows in Yosemite Valley. I revisited photographing the moonbow at Upper Yosemite Falls as I had last year, but this time there was considerable more water and as a result the moonbow (rainbow by moonlight) was more easily seen. It was considerably larger, more vivid in color and wider arching. Conditions were great and at times a little too good as the 3 cameras I set up were completely drenched. If you’d like to read about what it took to get this photo be sure to check out my last blog post, Upper Yosemite Falls Moonbow – Getting The Shot, as it goes into a lot of detail about the hike and the challenges I faced.  If you’re curious about gear and settings this was taken with a Canon 5D Mark IV and Canon 11-24mm f/4 lens. Settings were ISO 640, 15 seconds at f/4.





ow

Record-Low 2016 Antarctic Sea Ice Due to ‘Perfect Storm’ of Tropical, Polar Conditions

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




ow

We’re Drowning in Seas of Plastic

By David Suzuki David Suzuki Foundation The fossil fuel era must end, or it will spell humanity’s end. The threat isn’t just from pollution and accelerating climate change. Rapid, wasteful exploitation of these valuable resources has also led to a … Continue reading




ow

Top 15 Digital Scrapbooking Downloads (Free & Paid)

Scrapbooking can be a fun way to capture important moments in life and with our list of the Top 15 Scrapbooking Resources, you can start right away!




ow

9 Ways To Start Promoting Your Content Now

Your ability to create and promote content is critical to your business' success. Here are 9 ways to set up a framework for content promotion immediately.




ow

How To Build a Website That Your Users Will Love

Find out what users love and hate and how to build the best website for your audience. From content and navigation to design and hosting, use our 5 top tips.




ow

[Podcast] How to Sell Brand Strategy

Learn how to sell strategy... Jacob Cass & Matt Davies give different perspectives on how to approach sales & the brand building process. Tune in to episode 4!




ow

How to Master the Elevator Pitch & Leave a Great First Impression

Want to master the elevator pitch and leave a great first impression? Use this easy formula to help communicate what you do in a concise pitch!




ow

How to Grow Your Sales and Leads During the Coronavirus Pandemic

Try these 10 actionable steps for streamlined, cost-effective marketing during the lockdown. Shed costs and embrace innovation to drive leads and conversions.




ow

Photography Tips: How To Create An Amazing Floating Image

You can do everything today. There are certainly no limits to what the mind can achieve, and that includes floating. With simply manipulating layers using Photoshop, a floating image has never been...




ow

How To Get Effective Help With Writing Tasks That Will Boost Your Own Writing Skills

Writing is a quite ambivalent word. For some students, it causes their worst nightmares to come to mind (or it is just a boring assignment) and for some, it’s the fun way to express their thoughts to...




ow

How Important Is A Domain Name For Your Business?

Online representation has a crucial role in planning a business. Today, people turn to the internet whenever they need help, but especially when they want to find certain products or specific...




ow

Creative Ways To Earn Extra Money In Your Downtime

Many people have regular jobs that they love, and which enable them to use their creative skills to make money. This could be anything from coding video games to being an expert in SEO or designing...




ow

Vibrant Flat Vector Planets Illustration - Free Download Pack

The galaxy is a mesmerizing place, even better throught the eyes of visual design artists around our globe, we're delighted to release another freebie for our design community. This flat vector...




ow

How The Neumorphism / Skeuomorphism UI Trend Is Getting Shape

The new UI trend known as Neumorphism (with Skeuomorphism roots) has gotten a more consistent shape in the last period, is another beautiful approach to design user interfaces that look soft and is...



  • Design Roud-up

ow

How A Web Design Business Can Benefit From Using Accounting Applications

Accounting applications help web design businesses in many ways. As a web design service provider, you should use them to boost your business. Start by browsing some resources online that provide...




ow

How To Restore Hard Drive From A Time Machine + Other Ways

Have you chosen Mac for its reliable system? They really have a lot of advantages and are of the best quality. Mac users don’t face serious problems with hard drives often. But the reality is such...




ow

5 Tips That You Absolutely Must Know To Design A Unique Metal Business Card

Every day thousands of business cards exchange hands, and these business cards often get lost in mounds of other cards. Often, clients are unable to reach you just because they couldn't find your...



  • Design Roud-up

ow

How Can SEO Help Market Your Designing Agency?

It's unusual, as indeed Google says that in case you've got to enlist an SEO strategy, you ought to do so early instead of late, like when you're appropriate arranging to launch a new site. Because...




ow

Online Logo Design Makers Will See Huge Growth In 2020

At no other time in the history of the internet has it been easier to design your own logo than it is right now. You could say that the world of online logo design makers is in a perfect position to...




ow

How To Create A Trustworthy Brand

The variables that determine business success are continually evolving. More than ever, customers want to be able to trust businesses with which they are transacting business. This involves building...




ow

How to Foster Real-Time Client Engagement During Moderated Research

When we conduct moderated research, like user interviews or usability tests, for our clients, we encourage them to observe as many sessions as possible. We find when clients see us interview their users, and get real-time responses, they’re able to learn about the needs of their users in real-time and be more active participants in the process. One way we help clients feel engaged with the process during remote sessions is to establish a real-time communication backchannel that empowers clients to flag responses they’d like to dig into further and to share their ideas for follow-up questions.

There are several benefits to establishing a communication backchannel for moderated sessions:

  • Everyone on the team, including both internal and client team members, can be actively involved throughout the data collection process rather than waiting to passively consume findings.
  • Team members can identify follow-up questions in real-time which allows the moderator to incorporate those questions during the current session, rather than just considering them for future sessions.
  • Subject matter experts can identify more detailed and specific follow-up questions that the moderator may not think to ask.
  • Even though the whole team is engaged, a single moderator still maintains control over the conversation which creates a consistent experience for the participant.

If you’re interested in creating your own backchannel, here are some tips to make the process work smoothly:

  • Use the chat tool that is already being used on the project. In most cases, we use a joint Slack workspace for the session backchannel but we’ve also used Microsoft Teams.
  • Create a dedicated channel like #moderated-sessions. Conversation in this channel should be limited to backchannel discussions during sessions. This keeps the communication consolidated and makes it easier for the moderator to stay focused during the session.
  • Keep communication limited. Channel participants should ask basic questions that are easy to consume quickly. Supplemental commentary and analysis should not take place in the dedicated channel.
  • Use emoji responses. The moderator can add a quick thumbs up to indicate that they’ve seen a question.

Introducing backchannels for communication during remote moderated sessions has been a beneficial change to our research process. It not only provides an easy way for clients to stay engaged during the data collection process but also increases the moderator’s ability to focus on the most important topics and to ask the most useful follow-up questions.




ow

Markdown Comes Alive! Part 1, Basic Editor

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:

  1. Take markdown input from the textarea
  2. Send that input to the LiveServer
  3. Turn that raw markdown into HTML
  4. 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.



  • Code
  • Back-end Engineering

ow

A Viget Exploration: How Tech Can Help in a Pandemic

Viget Explorations have always been the result of our shared curiosities. They’re usually a spontaneous outcome of team downtime and a shared problem we’ve experienced. We use our Explorations to pursue our diverse interests and contribute to the conversations about building a better digital world.

As the COVID-19 crisis emerged, we were certainly experiencing a shared problem. As a way to keep busy and manage our anxieties, a small team came together to dive into how technology has helped, and, unfortunately, hindered the community response to the current pandemic.

We started by researching the challenges we saw: information overload, a lack of clarity, individual responsibility, and change. Then we brainstormed possible technical solutions that could further improve how communities respond to a pandemic. Click here to see our Exploration on some possible ways to take the panic out of pandemics.

While we aren’t currently pursuing the solutions outlined in the Exploration, we’d love to hear what you think about these approaches, as well as any ideas you have for how technology can help address the outlined challenges.

Please note, this Exploration doesn’t provide medical information. Visit the Center for Disease Control’s website for current information and COVID-19, its symptoms, and treatments.

At Viget, we’re adjusting to this crisis for the safety of our clients, our staff, and our communities. If you’d like to hear from Viget's co-founder, Brian Williams, you can read his article on our response to the situation.



  • News & Culture

ow

"I always hated that word—marketing—and I hate it now. Because for me, and this may sound simplistic,..."

““I always hated that word—marketing—and I hate it now. Because for me, and this may sound simplistic, the key to marketing is to make something people want. When they want it, they buy it. When they buy it, you have sales. So the product has to speak. The product is what markets things.””

- Interview with Tom Ford.




ow

Illustrator Tutorial: How to Create an iPhone Icon

Welcome back to another Adobe Illustrator based tutorial, in which we're going to take a close look behind the process of creating a simple iPhone icon, using nothing more than some basic geometric shapes that we're going to adjust here and there. 1. Set Up a New Project File As with any new project, we’re […]

The post Illustrator Tutorial: How to Create an iPhone Icon appeared first on Bittbox.




ow

Illustrator Tutorial: How to Create a Simple Computer Icon

In today’s tutorial, we're going to take a close look behind the process of creating a simple computer icon, and see how easy it is to build one of our one using nothing more than some basic geometric shapes. 1. Set Up a New Project File As with any new project, we’re going to kick […]

The post Illustrator Tutorial: How to Create a Simple Computer Icon appeared first on Bittbox.




ow

Illustrator Tutorial: How to Create a Folder Icon

In today’s tutorial, we’re going to take an in-depth look behind the process of creating a folder icon, and see how easy it is to build one from scratch using nothing more than a couple of basic geometric shapes, which we’re going to adjust here and there. So, assuming you already have Illustrator up and […]

The post Illustrator Tutorial: How to Create a Folder Icon appeared first on Bittbox.




ow

5 Essentials To Create Your Own Website Presence

Only a website that has a well-established presence can stand out on the internet. Business owners and individuals hire web designers like yourself to create website presences for them. In order to prove yourself, you need to establish your own presence online first. Get to the point where you can showcase your own website during […]

The post 5 Essentials To Create Your Own Website Presence appeared first on Bittbox.




ow

Illustrator Tutorial: How to Create a Watch Icon

Welcome back to another Illustrator based tutorial, in which we’re going to learn how to create a simple watch icon, using nothing more than a couple of basic geometric shapes and tools. So, assuming you already have the software running in the background, bring it up and let’s jump straight into it! 1. Set Up […]

The post Illustrator Tutorial: How to Create a Watch Icon appeared first on Bittbox.