Tuesday, January 19, 2021

Fix Under-Extrusion Problems by Setting Max Volumetric Speed (MVS)

Fixing Under-Extrusion with a Single Slicer SettingThere are many potential causes for under-extrusion and clogged nozzles on a FDM (filament) printer but, in most cases, the extruder can't grip and push the filament with enough force and speed. There are numerous guides for troubleshooting temperature and speed settings, but it can be extremely difficult to find the magic combination of settings to print fine details with that cheap filament you bought before knowing any better. 

PrusaSlicer to the rescue with MVS 

Fortunately, PrusaSlicer added a setting that's essentially a way to throttle extrusion speed and prevent those moments when the force required is too much for the extruder/filament to handle. 
Note: While this fork of Super Slicer is enhanced and maintained by Prusa, it can be used to generate g-code for non-Prusa printers as well.

Maximum volumetric speed (MVS) sets a limit for how fast the extruder will push filament by overriding any speed settings which would result in more material being pushed than this setting allows. This override can be tied to a specific filament or print setting since it's dependent on layer height and extrusion width (nozzle size). 

Lets visualize how this works in practice 

To simplify, think of the extruder as a vehicle driving from one location to another. That vehicle will travel at different speeds along it's route and we want to be sure it doesn't try to go too fast at any point along the way. This means we don't want to interfere with the times when it's going slower and only restrict it's speed when necessary. If the vehicle's maximum speed would normally be 70 mph and we discover that it's tires lose traction when traveling faster than 60 mph, we're going to prevent acceleration past that point. The rest of the trip under that speed is unaffected so, if 90% of the trip is under that speed, only 10% of the route will take more time. A ten-minute trip would take one minute more. 

How to start using maximum volumetric speed (MVS) 

One way to find an optimal MVS would be to compare estimated print time with and without the MVS limit set. Start by multiplying your layer height (i.e. 0.2mm) × extrusion width (i.e. 0.4mm) × speed (i.e. 40mm/s) for the equivalent MVS (3.2mm³/s). If both print times are the same, that MVS value is higher than the maximum flow of your print. If the difference in print times are minimal, only those moments when the greatest amount of material is being extruded are being limited and most of the print remains unchanged. As this number is reduced, more of the print instructions will be affected by this limit resulting in increasingly longer print times. 

For example... 

In my case, I had a terrible time with the Mika3D filament I purchases being too brittle for the extruder gears to push hard without bits breaking off, clogging the teeth, grinding away an indentation, and eventually slipping instead of being pushed forward. This became particularly problematic when I switched to a 0.25mm nozzle which made it harder to push filament through and made this filament virtually unusable. By setting a MVS of 0.6mm³/s on a temperature tower at a layer height of 0.10mm, my print time increased from 12h 4m to 15h 15m. While a ~25% increase in print time may seem like a lot, I consider waiting a few more hours for an overnight print to be a small price for more reliable extrusion and fewer failed prints. 

Your best MVS setting will vary 

It's important to remember that my setting of 0.6mm³/s will not work the same for a different layer height or nozzle size so some experimentation may be needed to find the appropriate values for various profiles, but each print setting can have it's own MVS which can even be overridden by the MVS for those filaments which require more delicate handling.

While we've focused on how maximum volumetric speed can be used to avoid extrusion issues, what MVS value works best will depend on the temperature of your hot end and even how tight your extruder idler bearing is pressed against the hobbed gear. MVS isn't a magic solution to all potential extrusion problems but, with a bit of tweaking, it could make the difference in being able to use that filament which has caused so many headaches. 

Did this help? 

Whether you're still struggling or this was the key that fixed your problem, leave a comment to let us know. I'd love to hear your results and am happy to help where I can. Someone else may even benefit from reading about your experience!

Monday, April 2, 2018

How Conference Speakers Get Selected

Why should I care about Kepler-452b?Nobody likes getting that email letting you know what your submission was not selected, but even the most experienced and well-known speakers get them. If only organizers would provide more insight into why other submissions were selected instead of yours! While it's not possible to give personalized feedback on each submission, there are a handful of reasons for why most submissions don't get picked and chances are extremely high that at least one of them applies to yours.

The Evaluation Process

Before we get into specific scenarios, let's take a brief look at how submissions get evaluated for Music City Tech. The first step is review by a team made up of thought leaders and subject-matter experts. The purpose of this phase is to get input from multiple perspectives and provide a relative ranking of submissions.

A smaller group of organizers will then focus on the highest ranked sessions to identify topics which will be of the greatest interest to attendees. Our objective is to provide representation for as many major technologies and innovations as possible, while still including a significant amount of content that focuses on topics relevant to attendees' daily work.

The end result is intended to be a lineup that provides maximum attendee value by providing opportunities for growth in existing areas of focus as well and exposure to new ideas and concepts. So what are the most likely reasons why your submission didn't end up in the lineup?

Reason #1. Too Many Submissions on the Same Topic

Issue: For conferences which try to be polyglot/technology agnostic, the most common reason why a submission won't be selected is the amount of competition for the same topic.

For instance, Music City Code 2018 received 16 submissions on React. While React is a popular topic and many attendees will be interested, we only have room for 50 sessions to cover a wide array of topics. No matter how great those submissions are, only a handful could possibly be selected.

In the case where abstracts are similar, the question is which speaker will deliver the greatest value for attendees. Often the submissions that get selected will be from speakers who have established a reputation of thought leadership for that subject or have a track record of delivering solid presentations.

Solutions: Less experienced speakers who are having trouble getting submissions selected on an extremely popular topic might consider shifting the focus of their talk to make it more unique. Establishing a track record of delivering quality content at smaller venues can also help show organizers that you can be counted on to deliver at their event.

Reason #2. Submission is Too Specific/Advanced

Issue: Unless the conference is focused on a particular technology or topic, it can be difficult to justify including a submission that will only appeal to a very narrow slice of attendees or requires a significant amount of past experience. Polyglot/technology agnostic events cater to a broad audience and generally focus on topics which are accessible and applicable to a decent portion of the target audience. How broad the appeal needs to be will depend on how much of the event capacity will be devoted to that presentation. Music City Code will feature room for six simultaneous presentations and, while room sizes do vary, a good rule of thumb is that each session should be of interest to approximately 15% of attendees.

Solution: The first step to ensuring your submission has the best chance of being selected is to know your target audience. If your topic is only relevant to a small portion of the event's attendee base, then try removing some of the more complex aspects and focus on important concepts. Principles and patterns are often relevant to a wide array of technologies.

Reason #3. Clever Titles and Vague Abstracts

Issue: It's tempting to spice up a submission by coming up with a catchy title or trying to tease attendees with hints and leading questions. Unfortunately, some speakers lose sight of the fact that most attendees will end up scanning upcoming session titles during breaks and may not have the time, interest, or access to read the entire abstract. If a reviewer has difficulty determining the focus of a talk then it's a fair assumption that attendees may have the same problem.

Solution: While we try to give speakers feedback about how they might improve their submissions during the evaluation process, most reviewers don't have time for such a discussion. The easiest way to avoid this issue is to include relevant keywords in the title and focus on the purpose of your topic. While a fun title like "Game of Phones" will get a chuckle, something more informative such as "Native Mobile Development with Ionic" will help attendees understand the focus of your session.

Note: For bonus points, try to keep titles relatively short. Long titles can be difficult to fit in schedule grids and printed materials.

The Takeaway

The most important point to take away from this article is that there are many reasons why a submission might not be selected for a particular event and often it comes down to the competition. With over 500 submissions for Music City Tech and less than 100 session slots, we have to say no many more times than we get to say yes.

If your submission was not selected and you would like more insight into how it might have a better chance next year, contact the organizer. There's a good chance they will be happy to provide you feedback once the chaos of event planning is behind them.

Thursday, January 28, 2016

CodeMash 2016 Top 5 Wrap-Up

CodeMash 2016 Top 5 Wrap-Up

CodeMash v2.0.1.6 Top 5 Wrap-Up

I can’t think of a better way to kick off 2016 than to spend a week hanging out with a couple thousand of my closest friends talking tech, sharing expertise, having drinks, playing games, and grossly exceeding the water slide weight limit to see how fast a raft carrying four developers will go. CodeMash is more than just a series of presentations, so here are a handful of things that made CodeMash v2.0.1.6 magnificent:

5) The 7 Languages in 7 Hours

Our 2016 CodeMash experience began with a pre-compiler workshop where Amber Conville guided us in writing a prime factorization calculator using Ruby, Clojure, Haskell, Rust, Scala, Elixir and Go. Mary recently graduated from Nashville Software School and neither of us had any experience with these languages, so it was quite the adventure exploring them together. Our brains were fried by the end of the day, but how often can you say you learned seven new languages before dinner!

4) The Star Wars

It’s no surprise that a conference held less than one month after the newest Star Wars movie hit theaters would be flush with droids and light sabers. It seemed like most of the sponsors were raffling off some sort of Jedi-related prize, but TMW Systems led the pack with a package containing multiple Lego sets, one of which was the Millenium Falcon! With over 2,500 fellow Star Wars fans lusting over such epic prizes, what a surprise to find out I’d be taking it home! It must have been the Jedi skills we developed waging hotel-room light saber battles that gave my raffle entry the edge.

3) The Catan Big Game

We’re big into board games and particularly fond of Settlers of Catan since Mayfair Games sent me to GenCon to play in the Catan National Tournament. One of my favorite events at GenCon was the Catan Big Game, where hundreds of players complete in a single game that spans an entire ballroom. The CodeMash Big Game was significantly smaller, but no less fun.

2) The Wild Rides

What happens when you send a raft carrying 800 lbs of developers down a toilet-bowl shaped water slide? It’s hard to explain, but I guarantee you’ll want to do it again! While I did miss snowball fights in the outdoor hot tubs, we found ways to entertain ourselves in the water park.

1) The Conference Reunions

As the excitement of the day dies down and dinner turns into drinks at the bar, the focus shifts from technology and networking to spending time with old friends, many of whom only see each other at conferences. Many of my most cherished CodeMash memories involve a bottle of bourbon or a game of Cards Against Humanity. The best often include both, but those are stories for another time.

0) The Community

None of the above experiences would have been as memorable without such an amazing community. The CodeMash organizers have accomplished something truly amazing by preserving the sense of camaraderie and acceptance one tends to find at smaller events. I can’t thank them enough for the example they have set and look forward to following in their footsteps with Music City Code.

If you made it to CodeMash this year, I hope my wrap-up triggered some happy nostalgia. Feel free to share your favorite CodeMash moment in the comments below.

For those who did not attend, maybe we’ll see you next year. Just remember to pack your swimsuit, some business cards, and a bottle to share with the new friends you’ll meet!

Thursday, July 23, 2015

Why should I care about Kepler-452b?

Why should I care about Kepler-452b?NASA announced earlier today that they have identified a close cousin to Earth, named Kepler-452b. The sun it orbits is similar to ours. It's orbit is only a few days longer than ours. Being larger than earth, 452b's gravity is estimated to be about twice that of Earth. All the information we've received so far indicates it's the closest match ever found, but at 1,400 light-years away why should we care?

The Distance
Whenever distance is measured in thousands of light-years it's safe to assume nobody alive will live long enough to get there. Given our current top speed, a mission to this planet would take at least 25 million years. In fact, given that it's been less than 60 years since the first laser was invented there's no way any human message will reach Kepler-452b for over a thousand years, and it would take over a thousand more for a response to get back to Earth.

So if we can't send messages there and going there is impossible, at least for the foreseeable future, then why should we care?

Climate Change
With all the focus in recent years on climate change and debate about how much of it is within our control, the opportunity to observe a planet that is so similar to Earth and further along in it's evolution could be invaluable. Further study of Kepler-452b could provide valuable insight into how our own planet will change over the next thousand and million years.

Extraterrestrial Life
We may not be able to send them messages, but as we gather more information about Kepler-452b we hope to learn whether life has existed there. Considering it's similarity to Earth, this is the single greatest opportunity we've ever had to discover life on another planet. Even if we never meet them, just knowing they exist could alter humanity's perspective towards our own existence.

One Small Step
Just as our voyage to the moon was just one small step in the great journey of space exploration, the discovery of Kepler-452b is an inspirational moment that can help to propel us forward towards further discovery. What other Earth-like planets might exist much closer that we simply haven't identified? Is it possible to create a method of communication or transportation faster than the speed of light, thereby opening up the possibility of reaching these far-off worlds.

If one thing is certain, it's that this news is just the beginning of an exciting new chapter in space exploration.

Monday, July 20, 2015

Why Your Employment Agreement is Unreasonable

Why Your Employment Agreement is Unreasonable Most employees don't bother reading the employment agreement. After all, if you're not planning on doing anything dishonest then it doesn't matter, right?

The problem is that many companies have a lawyer draft an agreement that gives them the most leverage possible under any circumstances knowing they can choose when and how to use it. This means employees who sign such an agreement WILL break that agreement whether they realize it or not. They are placing themselves at the mercy of a company which may not even be run by the same management a year from now.

Apparently I must point out that I am not a lawyer, nor do I play one on TV. The information below is provided for educational purposes and should not be considered legal advice.

Intellectual Property
Here are some examples from an agreement I refused to sign this past week.
Employee recognizes that Intellectual Property relating to his/her activities while working for [Company] and conceived or made by him/her, alone or with others, within one year after termination of his/her employment, may have been conceived or made in significant part while employed by [Company].  Accordingly, Employee agrees that such Intellectual Property Rights shall be presumed to have been conceived during his/her employment with [Company] and are to be assigned to [Company] as [Company] Intellectual Property unless and until Employee has established the contrary.

This clause clearly states that the company owns any intellectual property created while employed with them and for a year after leaving the company. It shifts the burden of proof to the employee to show that they are the rightful owners of their work, even if that creation was done completely outside of work hours and without any company resources.

This might not be an issue for the majority of employees, but software developers often work on hobby projects and, in more than a few instances, hobby projects have turned into million-dollar ideas. This would also include the authoring of articles, books and videos. Good luck proving that they don't own it when you clearly signed an agreement stating otherwise.

How about that bit about owning what you create within a year of leaving the company? How in the world would they even know about it? Here's your answer.
Employee agrees to disclose promptly in writing to [Company] all Intellectual Property made or conceived by him/her for one (1) year after his/her employment terminates, whether or not he/she believes such Intellectual Property is subject to this Agreement, to permit a determination by [Company] as to whether or not the Intellectual Property should be the property of [Company].

By signing this agreement, you are no longer eligible to work for any company that requires signing a non-disclosure agreement, because you've already committed to disclosing anything you create to your previous employer for an entire year!

The clause below seems fairly standard and might look familiar.
During his/her employment with [Company], and for one (1) year thereafter, Employee will not participate, directly or indirectly, as a partner, officer, director, stockholder, consultant,  employee,  agent,  independent  contractor  or  otherwise,  in  any business  that  is directly or indirectly competitive with the business of [Company].

It's completely understandable that a company might want to keep their employees from taking all the training and inside knowledge they've gained during their employment to their competitor. One might even overlook the use of the word "indirectly" as a qualifier for which companies are considered competitors. This is a purposefully vague word that can be used to argue that virtually any company is a competitor in some indirect way. I find this especially concerning since there's no way of knowing what kinds of products or lines of business might be included for the purpose of competition by the time I leave the company.

The standard response to this concern is that the clause would never be upheld in court. My question is, why should I put myself in jeopardy of ever having to go to court in the first place?

No matter what the wording, it's always a good idea to get a lawyer to look over any agreement before you sign. Those clauses were put there for a reason, and as well-intentioned as the other party might be, intentions mean absolutely nothing if you're ever taken to court. Personally, I'd rather avoid the headache and expense of having to defend myself in court no matter how unenforceable the agreement might be. An honest employee agreement should make it clear what lines must not be crossed to avoid ever finding yourself in court.

Tuesday, July 7, 2015

Music City Code Conference - How it All Began

I started contemplating starting a new technical conference in January of 2013 a couple years after DevLink moved from Nashville to Chattanooga. I noticed relatively few Nashville area developers who had previously attended DevLink were unable to afford attending so far from home.

As I pondered the reasons for starting a new conference, I realized it had very little to do with attending training sessions. The most valuable aspect of technical conferences seemed to be people I met and interaction that took place. I started floating around the idea of creating a conference centered around interaction and registered the domain name DevInteraction.

The most important aspects of planning a conference are the date and location so I started investigating venues and creating a calendar of regional conferences. I quickly realized that hotels and convention centers were not only costly to rent, but often implement vendor restrictions which drive the cost up further. There were also very few breaks in the conference schedule where a new event wouldn't compete with an established one for speakers. I decided to focus on work and put conference planning on the back burner.

Over the next couple years the conference concept continued to evolved. While presenting at Code on the Beach, I mentioned the idea to the president, Paul Irwin. He pointed out that Nashville is the "Music City" and would make a great location for a destination conference. That got me thinking about all the music related gatherings that take place in the Nashville IT community and how we might include these types of events in a conference.

Fast forward to February of 2015 when John Kellar announced that he had decided to retire DevLink. All of the sudden there was a giant gap in the conference schedule, but we were in the midst of repairing major damage to our house from a water leak and planning an April wedding, so I had no bandwidth to take on a new project.

As luck had it, I found myself with extra free time after the wedding and decided it was now or never to get this new conference off the ground. The previous month I had served as a mentor and judge for an event at Lipscomb, which had given me the opportunity to start a conversation about hosting the conference there. From there the pieces started to fall into place.

DevLink had been held at the end of August and it just happened that Saturday, August 29th was available. I asked for advice from all the conference organizers I knew and most of them suggested starting small for the first year and focusing on quality over quantity, so we decided to limit registration. By the time we hammered out a budget, timeline and other major aspects we were already into late June with just over two months to recruit volunteers, set up social media, gather speaker submissions, solicit sponsors, create a schedule, launch a website, market the event, design shirts and order printed material such as signs and programs.

So that's where we're at now. We have been fortunate to receive guidance from many regional conference organizers (see board members below), but we still need quite a few volunteers and are working on recruiting both sponsors and speakers, but I'm optimistic that we can pull this together and put on a great first year!

Want to help out? Here are some easy ways everyone can help:
Follow @MusicCityCode on Twitter and retweet our announcements!
We also post updates to LinkedIn, Facebook and Google+.

Interested in speaking? Submit a session!
If speaking isn't your thing, we could certainly use your help as a volunteer.
Maybe your company would be interested in sponsoring.

A special thanks to our board members for their invaluable advice:
John Kellar (DevLink Founder & Executive Director)
Chad Green (Code PaLOUsa Conference Chair)
Chuck Bryant (Plugged In Board Member & BarCamp Organizer)
Jonathan Mills (Kansas City Developer Conference Director)
Lee Brandt (Kansas City Developer Conference Director)
Phil Japikse (Cincinnati Day of Agile Founder)
Jeffrey Strauss (St. Louis Days of .NET Principal Organizer)