This API corresponds to the state of the abandoned gecko fork. The project has been ported to an addon which contains the up-to-date API docs in its repo.
note (5 February 2016): these docs are old and out of date. UnifiedComplete.js has changed how autocomplete works in Firefox. don't rely on this information when exploring the code.
- the code lives at https://github.com/mozilla/gecko-dev, it takes a while to clone it (a few gigs of data plus 400,000 commits), start the clone process and then go get lunch
existing repos | |
============== | |
fxa-profile-server | |
/bin | |
- looks like this just does instantiation, dependency injection, | |
like the /server directory in the fxa-auth-server repo | |
- _static.js - load local-dev-only static server | |
- server.js - just load lib/server and start it, pass in the logger | |
- worker.js - just load lib/server/worker and call create |
goal: export my history into a JSON blob that can be imported into a web service.
exporting bookmarks in FF is very easy, but history is a bit harder.
- find your profile
this sumo page suggests that you go to about:support
and click on the 'show in finder' button to find your profile
- extract history from the places.sqlite sqlite3 database
I have like, so many old local branches. how to get rid of the ones I don't need any more?
courtesy of [1], the answer is: "delete the ones that have been merged":
git branch --merged | grep -v \* | xargs git branch -D
- declarative programming sucks horribly
- because you have to, in your brain, understand every fact in the system and how they interact
- this is not how human brains work, we think in narratives, in linear flows
- this is why it's impossible to debug CSS (or Puppet, or XML...)
- there is a fix
- instead of a huge graph of possible interacting facts,
- just eliminate the cascade as much as humanly possible
- there are two ways
- one is to overspecify every property of every node. this is how less/sass work.
- two is to use lots of generic classes, like how css frameworks work (oocss, etc).
update
tmux just didn't do it for me. I'm good enough with vim splits and multiple terminal windows. Sharing a tmux session to do remote pairing is a great feature, but I work solo these days. Giving up for now. Feel free to use this doc if it helps you, though.
meta:
- Based on my experience learning and teaching vim, I think the most effective way to learn similar tools (like tmux, with oh so many options/commands) is to start with a core set of commands and their inverses, then add fancy bits later.
- Starting with the core vocabulary, working our way up to the advanced stuff later.
I want to improve how I document the work I do.
Idea: for each bug, keep a text file collecting my thoughts.
Also: create a pull request from my branch to my own fork, and put comments in there on the diff itself.
Maybe this will help me to recall earlier decisions in more detail.
Let's see :-)
TL;DR:
My problem: I need to close a program before my mac goes to sleep, but sometimes I forget.
My solution: use SleepWatcher to run an AppleScript that tells the app to quit. It's pretty technical.
I use IRC for work. Some people leave it open all the time; I prefer to use it as "office hours", and only have it open when I'm working and more-or-less interruptible.
I did a bit of initial OAuth research this week for FxA (Firefox Accounts). It was interrupted by more pressing stuff (bugs bugs bugs), but thought I'd post my incomplete work-in-progress notes for whenever I get back to this.
Notes come from Getting Started with OAuth 2.0, which I accessed via Safari.
- look carefully at a number of JS SDKs
- think in terms of a generic OAuth abstraction for FxOS
- but begin by building the simplest possible solution for FxA on FxOS
- we really need implicit grant,
- and a proxy server that could handle redirects on behalf of serverless apps,