Floobits News
Floobits Atom: Fixing Bugs (in Atom)
02 Aug 2016 by ggreerOur Atom package has been improved significantly since it was originally announced. Several of these improvements were thanks to fixes in Atom.
Read more...Lodash v4.0.0: Not All Bugs are Created `isEqual()`
25 Jan 2016 by ggreerOn January 13th (two weeks ago), Lodash v4.0 was released. After waiting a week (for others to shake out the bugs), I branched our repos, bumped the lodash dependency in them, and fixed compatibility issues. I tried lodash-migrate, but it wasn’t particularly useful. lodash-migrate
works by running all lodash functions twice (once with the old version and once with the new), then logging if the results are different. That means any code with side effects will trigger a false positive or just break. Instead, I read the v4.0 changelog and reviewed every incompatible call in our codebase. (This wasn’t as hard as it sounds. There were only a few dozen.) After reviewing, testing, and manually poking around after deploying to staging, I deployed the new release to prod. Success!
…or maybe not.
Read more...New Feature: Atom Chat
20 Dec 2015 by ggreerA few months ago, we launched Floobits for Atom. Since then, we’ve been fixing bugs and adding features. Ever since the initial release, users have been asking for the ability to text chat. Well, it’s here.
Thank you, everyone, for being patient!
Read more...New Feature: Request Code Review
02 Dec 2015 by ggreerIf you use our web-based editor, you may have noticed a button in the upper-right with the label, “Request Code Review.”
Read more...New Feature: Custom Highlight Colors
09 Nov 2015 by ggreerIf you use Floobits with IntelliJ, Atom, or our web editor, you’ve probably noticed that users’ selections have have different colors. You might also have noticed that these colors can’t be changed. If you get unlucky, your colleagues might have the same color. Then it’s hard to tell who is editing what.
Read more...Bad Base64, a Not-so-Tricky Bug
02 Nov 2015 by ggreerLast week, I explained how we found a bug that caused Node.js to crash when given invalid base64. That post was already rather long, so I didn’t explain how one of our back-end services was getting invalid base64. Today, I satisfy everyone’s curiosity.
Read more...Why is Node.js Crashing? A Deep Dive into a Tricky Bug
26 Oct 2015 by ggreerIn early September, we started seeing one of our backend services exit with the following error:
2015-09-10_23:28:11.75413 node: ../src/node_buffer.cc:226: v8::MaybeLocal<v8::Object> node::Buffer::New(v8::Isolate*, v8::Local<v8::String>, node::encoding): Assertion `(data) != (nullptr)' failed.
Typically, Node.js exits with a JavaScript stack trace. This error was at a lower level. Node.js was dying because of an assertion in its Buffer code. At worst, creating a new Buffer should throw an exception. This was a crash. This was a Node.js bug.
Read more...Developing Atom Packages, Part 2: So Much Potential, So Many Bugs
14 Oct 2015 by ggreerAtom has improved drastically since its first release, but it’s still not perfect. While building our Atom package, we ran into quite a few bugs. Some have been fixed, but many still persist. Previously, I discussed Atom and its progress. That post addressed larger, broader issues. This post gets into specifics. Lots of specifics.
Read more...Developing Atom Plugins, Part 1: On the Bleeding Edge
12 Oct 2015 by ggreerBack in February of 2014, GitHub announced their new editor: Atom. We’ve followed Atom since it went public, and recently developed a Floobits plugin for it. What follows are our impressions from the experience.
Read more...IntelliJ IDEA Plugin Development and Java 6
27 Aug 2015 by bjornBased on my experience of the last couple of years writing editor plugins for Floobits, I can say that IntelliJ IDEA’s plugin system is phenomenal. Extending IntelliJ IDEA is particularly stellar. Unlike most editors, IntelliJ’s plugin API gives you access to everything. The IDE architecture is very well designed. The core is open source and easy to follow. And IntelliJ plugins have all of Java’s libraries available. It is quite amazing.
Read more...Sublime Text's Plugin API: It's Python... Sort Of
17 Aug 2015 by ggreer“Sort of” is such a harmless thing to say… sort of. It’s just a filler. Sort of… it doesn’t really mean anything. But after certain things, sort of means everything. Like… after “I love you”… or “You’re going to live.”
Sublime Text is my editor of choice. It’s powerful, flexible, and accessible. But as much as I like it, Sublime Text has one glaring problem: its plugin API is Python… sort of. That “sort of” is responsible for much frustration and annoyance.
Read more...Introducing Floobits Pro
12 Aug 2015 by bjorn, ggreer, and kansfaceToday, we are proud to introduce Floobits Pro. Floobits Pro lets you to hire other developers to help you out on your project. Whether you just need another pair of eyes to double-check a function, or an expert to track down a race condition, we’ve got you covered.
Read more...New Chat Feature: Floobot
29 Mar 2015 by ggreerIf you chat in workspaces or our organization chat, you might notice that pasting URLs can cause a mysterious “Floobot” user to describe them. Don’t be startled, this is expected behavior. Similar to showing images in chat, Floobot helps you to get information about a URL without having to click on it.
Read more...IntelliJ IDEA User Interface Updates
24 Mar 2015 by bjornWe’ve listened to your feedback and made some big improvements to our IntelliJ IDEA plugin.
Read more...On Moving to io.js
23 Feb 2015 by ggreerLast weekend, we migrated our production environment from Node.js to io.js.[1] This move may seem premature, but we had several reasons for switching.
Read more...New Feature: Follow Individual Users
09 Dec 2014 by bjornWe have added a new feature! You can now follow changes from specific users in a workspace. Previously, it was only possible to follow everyone in a workspace. While useful, this can be distracting and hectic. If more than one person is editing at a time, you’re liable to get jumped back-and-forth between files. Some of our users requested a more fine-grained approach. Now we’ve added this to all of our editor plugins and our web-based editor.
Read more...Floobits Now Supports Neovim
04 Nov 2014 by bjornWe’ve made a Neovim-compatible plugin. It deprecates our Vim plugin. We have updated all of our documentation and references to Vim to reflect this. The reason for this change is simple: Neovim offers the asynchronous architecture required to make a real-time collaborative plugin painless.
Read more...Building an Office in Software
22 Jul 2014 by ggreerWe use Floobits to develop Floobits, so we encounter many of the same pain points as our users. One problem we’ve had is chat. Often, we want to be able to communicate without necessarily working on the same code. Our first solution was to designate one workspace for chatting (both text and video). This worked, but the experience was definitely sub-optimal.
Read more...Dear Network Admins, Stop Blocking Non-HTTP/HTTPS
17 Jul 2014 by ggreerOne of the biggest problems we’ve had at Floobits is network filtering. Many network administrators block outbound connections that use protocols besides HTTP/HTTPS. It’s not uncommon for this to happen in schools, large companies, government offices, and hotels. This is troublesome.
Read more...Error Reporting in Floobits
02 Jul 2014 by bjorn and ggreerAutomated error reporting is an oft-overlooked way to improve software. Linters, tests, QA, and pairing can all reduce bugs, but they don’t answer the most important question: Do users encounter errors? Internal testing simply can’t imagine (let alone discover) the myriad ways in which users will break your code. Detecting and reporting errors gives feedback that can find gaps in your testing and QA. Error reporting also makes customers happier. Users love it when we contact them, apologize for an error they ran into, and mention that we’ve shipped a fix.
Read more...Screen Sharing in Floobits
05 Jun 2014 by bjornFloobits is very useful for working together on code or the command line, but sometimes we want to share something else on our computer. We might want to share debugger output in IntelliJ or discuss profiling information in Chrome’s Web Inspector while trying to track down an issue on Floobits.com. We use Floobits to build Floobits and what we had just was not enough sometimes. Often we need a way to share screens, and our customers probably do too.
Read more...A Tale of Two Newlines: Carriage Returns, Line Feeds, and JavaScript Hair-Pulling
27 Apr 2014 by ggreerText files; they’re the lowest common denominator. Practically anything that runs on electrons can understand them. There’s just one tiny wrinkle: newlines.
Read more...Security Update: Heartbleed OpenSSL Vulnerability
08 Apr 2014 by ggreerYesterday, OpenSSL published a security advisory. While the advisory itself sounds rather benign, the implications of being able to read 64kB of server process memory are horrifying. Heartbleed.com describes them in detail. That memory can contain session secrets, form POST data (including passwords before they’re hashed), and even the server’s private key.
Read more...Dropping Windows XP for Better Transport Security
09 Nov 2013 by ggreerIf you still use Windows XP, you might have some trouble visiting Floobits.com.
Read more...Bjorn Tipling works at Floobits!
16 Oct 2013 by ggreerBjorn Tipling is talented, intelligent, and driven. In addition to his thorough knowledge of JavaScript and CSS, he has an eye for design and usability. Most importantly, he’s a pleasant person to work with. He’d never tell you all that, of course. He’s too humble to brag about himself.
Read more...Adding setTimeout to Vim
17 Sep 2013 by ggreerAt the end of the previous post, Matt and I finally got the bright idea to patch Vim. Both of us had experience contributing to open source projects, but we knew very little about contributing to Vim. To maximize our chance of success, we decided on a few guidelines:
Read more...Adding Realtime Collaboration to Vim
16 Sep 2013 by kansfaceWhen we started Floobits, we thought we’d be able to write one editor plugin per month. Like most estimates, ours were ridiculously optimistic. So far we’ve averaged 3 months per editor. Vim has taken longer than average.
Read more...Workspace Status Images
02 Sep 2013 by ggreerSimilar to services such as Travis-CI, we’ve added status images to Floobits workspaces. This makes it easy to let others know when you’re working on something.
Read more...What We've Been Working On
17 Aug 2013 by ggreerWe’ve been working tirelessly to improve Floobits. If you haven’t tried Floobits in a while, you should have another look. Over the past couple of months we have:
Read more...Floomatic: A Headless Floobits Client
02 Aug 2013 by ggreerWe made a new tool: Floomatic. Floomatic synchronizes a directory with a Floobits workspace. Like our plugins, Floomatic is open source software. Check it out on GitHub.
Read more...Begin Transmission
25 Jul 2013 by ggreerThis site is where we post things related to Floobits. To keep current with our goings-ons, subscribe to our Atom feed or follow us on Twitter.
Read more...About Floobits
Floobits lets you collaborate on code like you're in the same room. Think Etherpad or Google Docs, but in Sublime Text, Vim, Emacs, or IntelliJ.
If you're interested, sign up.