Just wanted to say, this is an excellent idea and I'll be blatantly stealing it for myself from this point forward; thank you for putting this motivation in my head by your successful implementation.
I've done a half-assed "important learnings from the last year" retrospective for myself, but your method of keeping it going forward is both far less lossy and more complete.
Putting it on GIT as well seems like a smart choice. Treat it as your "Accessible anywhere" personal cheat-sheet.
I blame that I've been writing "SQL" all day and have unconsciously associated three letter non English words and "Is acronym". (Although I guess "git" is a word, although not typically part of my colloquial vocabulary... Maybe if I was a curmudgeon ~50 years ago as opposed to being a curmudgeon now)
I'd suggest google dictionary plugin. Double click on anything on the page and you get the definition as a small popup/tool-tip.
That's how even I learned what Initialism is.
Try turning on "Ask Google for Suggestions". That should do the trick.
Normal spellcheck is a dictionary. "Ask" is server-side magic that is context-aware and goes beyond dictionaries. After turning it on, try "icland is an icland" to be amused. Or "Brittaney Spears".
I normally don't go on about this, but since this thread is about TILs... :)
There are varied opinions about this topic. Several Sources of Truth and Righteousness advise against "sequel"[1][2], However it seems that in a certain building in WA "sequel" is preferred [3].
Redmond also colloquially refers to the product Microsoft SQL Server as just SQL (pronounced "sequel"), as in, "We're trying sell more SQL licenses," or, "Is the backing DB for your SAP installation Oracle or SQL?"
This has led to some confusion.
Additionally, as I pointed out in a sibling comment up the chain somewhere, SQL is an abbreviation of the original acronym, SEQUEL, for Structured English QUEry Language. It seems with this provenance that the "sequel" pronunciation is more historically correct.
Perhaps even more pedantically, SQL is actually an abbreviation of an acronym. It was originally conceived as SEQUEL for Structured English QUEry Language[0], only being abbreviated to SQL for legal purposes (SEQUEL was already trademarked).
For this, and sheer convenience, I take the stance that it should always be pronounced as "sequel" rather than pronouncing each letter.
I'm forced to disagree with you here. I take the stance that it should always be pronounced as "squirrel", because seriously, who doesn't like squirrels? :)
I skimmed the Wikipedia article and didn't notice any mention of removing the initialism. I did find a note that the original language standard did define the "es queue el" pronunciation, but since no one is standards compliant anyway, I think I'll still stick with "sequel" (:
Someone there also keeps saying that the second reference on the article explicitly says it's not an acronym, but the current second source explicitly says it is, so... ¯\_(ツ)_/¯
FYI: The difference between an acronym and initialism is that the abbreviation formed with initialisms is not pronounced as a word, rather you say the individual letters, such as FBI (Federal Bureau of Investigation), CIA (Central Intelligence Agency), and DVD (Digital Video Disk*). Edit: Not a criticism, I just I didn't know.
> Hyperpedantically, "SQL" is an initialism, but not an
> acronym
I really wish people would stop posting this - I feel like I only ever see it posted here, too.
OED's first entry on "acronym, n":
> A group of initial letters used as an abbreviation for
> a name or expression, each letter or part being
> pronounced separately; an initialism (such as ATM, TLS)
OED's second entry on "acronym, n":
> A word formed from the initial letters of other words
> or (occas.) from the initial parts of syllables taken
> from other words, the whole being pronounced as a single
> word (such as NATO, RADA)
OED's entry on "initialism, n":
> The use of initials; a significative group of initial
> letters. Now spec. a group of initial letters used as
> an abbreviation for a name or expression, each letter
> or part being pronounced separately
SQL is both an acronym and an initialism. The Wikipedia article on "initialism" it is guilty of using very selective quotes in its "citation".
I like it but upgrading ruby to the required 2.3 from 1.9 that comes with Ubuntu 14.04 turned out to be a daunting process. The 2.3 build was at least 15 min with several errors, and then bundler wouldn't work. I wiped everything ruby and will try again with RVM. It seems like over kill for such a simple app. I am not a RoR guy and my first impression is not very good compared to other server apps I've installed, or maybe I just need more patience!
This worked! Just a couple of problems. Hashrocket needs dev version of Ruby and pg wouldn't build, but StackOverflow told me I needed to install libpq-dev. Then I had to install postgres, but wasn't hard.
Really well done and nicely organized. Did you find yourself noticing the overhead of writing these after learning something new? Or did you write them as an afterthought later on? Did you pick certain things to include rather than others?
Defiantly thinking about doing something similar to this sometime soon!!
Cool idea! I'll definitely be stealing this. Have you thought of making it searchable or generating a site your posts? Anything you would have wished you had done differently since you started it?
As an extension, I was discussing with a friend a while ago how great Stackoverflow is at capturing the contents of expert's brains. Is there a way to achieve that on a broader scale without requiring the question-asking side of things? Say you're a lab scientist and you have a small trick or bit of informal insight, how could you be prompted in the right way to share it?
and also tagging it in such a way that it can be found. I have thought about this before too - would be a great supplement to something like wikipedia.
Stack Exchange sites would love you to ask the question and then answer it yourself. It's not exactly primary use-case though so I suppose it's not obviously acceptable behaviour.
great idea, I use drupal to keep some notes myself, but this is concise and easier to access, when this list grows you may want to add a search button to it?
Great job, and even better idea for putting it into a git repo!
I've been keeping a sort of "development log" for the past few years where, each day, I write a small blurb about what I've done, but more importantly, what I've learned.
It's a similar idea to this, but obviously a lot less structured. (The use of Markdown was a great idea, btw!)
This helps you get an idea for how much you have done if you ever find yourself questioning what you've been doing for the past little while.
I've been using http://www.devarist.com (which was posted on HN back in August last year) to record little tidbits on an almost daily basis, and it's been working pretty well.
If it's something I have to look up I try to make a habit of putting it in there. Then I can do a search for the search phrase I'd normally make and it pops right up, saves me a lot of time looking through the top couple of documents for the nth time.
Devarist has Markdown support also. I've been using it to include little 20x20 icons for each programming language or technology so I can scan through the past pages to see at a glance which technology each note applies to.
That having been said, doing it in Github might actually be better for the public tidbits. Some things you learn kind of need to be kept private though (like your own projects, or pertaining to your job, or pointing out things you have trouble remembering to do).
I use a Google Drive directory full of markdown notes for this purpose. Edit with Writeily, the amazing Android markdown editory, or Macdown on desktop. Done.
Take a look at Quiver, that's what I've been using. It's markdown + code cells + text... I find it amazing for what it does. The evernode of code snippets.
I have done something previously in the past but never keep it up that long. I like your layout. Was it all manual? That is - did you have to do the index/readme manually?
A great reminder that everyday we do learn something and should be thoughtful about documenting it. We often move to fast to realize that what we discovered, to get something down, is unique. Thanks for sharing and keep it up!
This is awesome. It makes me want to do something like it. How about if instead of putting it in a public repo, I put it in a private repo that I can use as a draft for a blog, so I could use it to gradually build an audience.
Wow cool idea! I've kind of already been doing something like this but posting little code snippets to my twitter account for later reference. I like the idea of creating a repo like the OP and not having to spam my followers with my random, crappy code! :~) Cheers!
I keep my org notes in a private repo, which I often edit directly on Github. I organize by topic. e.g. Cooking, Photoshop, Haskell, yoga, drawing, Go, Emacs, vim, etc. I use my two README.org to organize the information. One is for all topics and the second is a much smaller immediate README that I want to view daily. I keep it pruned since the main README has all the references.
I'd like to breakout topics of general interest but I feel that I'd need to be more organized. Last week, however, I did move my Ergonomic Notes (e.g. RSI, keyboards, mice, programming by voice) to a public repo.
I've been keeping my version of TILs on Quiver and Notes. You've inspired me to organize them together into Github and share. I'm thinking of making Gists for each categories instead of individual files though. Any reason why you created individual files?
Thanks for that. The HTML encoding is... interesting there - < is there, but > isn't replaced by >. How on earth is a feed reader meant to parse that?
In XML, you don't need to escape >, IIRC. So, it would seem some programmer is either lazy here, or trying to save bytes. You MUST escape <, as otherwise it looks like the start of a tag. Note that the content of the tag you see that in is serialized HTML, too, so at that point, there's HTML in the XML. (and not very good HTML…)
Lots of good stuff here. I would appreciate a wiki-style site with short answers like these instead of searching {Google,DDG} and trawling the [stackoverflow] results.
Not all of them are necessarily good practice though. This made me chuckle:
What Is The Current [Git] Branch?
git rev-parse --abbrev-ref HEAD
(if you're reading this jbranchaud, try `git branch` :p)
`git branch` also determines whether your working tree is modified. This can be extremely slow on large repos.
`git rev-parse --abbrev-ref HEAD` is very inexpensive in comparison, and doesn't print anything extra you might need to parse out if you're in a shell script.
Ah yea this is awesome. I like this idea more than how I do my notes[0] because I don't actually do most of my notes in github where this makes more sense to actually commit and know when to commit/push.
I've been putting each fact I learn as a line in a til.yaml file for the last 6 months. I grep through all my til.yaml files any time I need to remember something. It's been useful.
155 comments
[ 3.8 ms ] story [ 222 ms ] threadI've done a half-assed "important learnings from the last year" retrospective for myself, but your method of keeping it going forward is both far less lossy and more complete.
Putting it on GIT as well seems like a smart choice. Treat it as your "Accessible anywhere" personal cheat-sheet.
(Please forgive me this act of pedantry, as I forgive those who commit pedantry against me...)
Regardless, your pedantry is excused :)
Hyperpedantically, "SQL" is an initialism, but not an acronym.
Funnily enough, Chrome is flagging it as a misspelled word, but googling for it brought up its definition in Google's usual definition box.
Normal spellcheck is a dictionary. "Ask" is server-side magic that is context-aware and goes beyond dictionaries. After turning it on, try "icland is an icland" to be amused. Or "Brittaney Spears".
I normally don't go on about this, but since this thread is about TILs... :)
(NASA is an acronym. NSA is an initialism.)
[1] https://dev.mysql.com/doc/refman/5.7/en/what-is-mysql.html
[2] http://www.postgresql.org/about/press/faq/
[3] https://social.msdn.microsoft.com/Forums/sqlserver/en-US/fd6...
This has led to some confusion.
Additionally, as I pointed out in a sibling comment up the chain somewhere, SQL is an abbreviation of the original acronym, SEQUEL, for Structured English QUEry Language. It seems with this provenance that the "sequel" pronunciation is more historically correct.
For this, and sheer convenience, I take the stance that it should always be pronounced as "sequel" rather than pronouncing each letter.
[0] https://en.wikipedia.org/wiki/SQL#History
I skimmed the Wikipedia article and didn't notice any mention of removing the initialism. I did find a note that the original language standard did define the "es queue el" pronunciation, but since no one is standards compliant anyway, I think I'll still stick with "sequel" (:
The talk page on Wikipedia has a lot of discussion, including a citation of a book, but I don't have the book: https://en.wikipedia.org/wiki/Talk%3ASQL#SQL_Acronym
Someone there also keeps saying that the second reference on the article explicitly says it's not an acronym, but the current second source explicitly says it is, so... ¯\_(ツ)_/¯
OED's first entry on "acronym, n":
OED's second entry on "acronym, n": OED's entry on "initialism, n": SQL is both an acronym and an initialism. The Wikipedia article on "initialism" it is guilty of using very selective quotes in its "citation".https://github.com/hashrocket/hr-til
However, there is fundamental difference in representation.
Defiantly thinking about doing something similar to this sometime soon!!
I've always viewed them as being quick and easy to write up which has taken away the intimidation that can come with trying to write a big blog post.
As an extension, I was discussing with a friend a while ago how great Stackoverflow is at capturing the contents of expert's brains. Is there a way to achieve that on a broader scale without requiring the question-asking side of things? Say you're a lab scientist and you have a small trick or bit of informal insight, how could you be prompted in the right way to share it?
[0] - http://faqomatic.sourceforge.net/fom-serve/cache/1.html
I've been keeping a sort of "development log" for the past few years where, each day, I write a small blurb about what I've done, but more importantly, what I've learned.
It's a similar idea to this, but obviously a lot less structured. (The use of Markdown was a great idea, btw!) This helps you get an idea for how much you have done if you ever find yourself questioning what you've been doing for the past little while.
If it's something I have to look up I try to make a habit of putting it in there. Then I can do a search for the search phrase I'd normally make and it pops right up, saves me a lot of time looking through the top couple of documents for the nth time.
Devarist has Markdown support also. I've been using it to include little 20x20 icons for each programming language or technology so I can scan through the past pages to see at a glance which technology each note applies to.
That having been said, doing it in Github might actually be better for the public tidbits. Some things you learn kind of need to be kept private though (like your own projects, or pertaining to your job, or pointing out things you have trouble remembering to do).
http://happenapps.com/#quiver
https://github.com/jbranchaud/til/blob/master/unix/check-if-...
Would be cool, to be able to collaborate and comment on each article. Perhaps, make this entire thing GitHub gists or Wiki?
By the way, minor note on unix/copying-file-contents-to-system-paste-buffer.md:
"pbcopy" is an OS X only utility, but X11 (Linux, BSD) has a rough analogue in the form of "xclip". Just in case you ever switch over ;)
I'd like to breakout topics of general interest but I feel that I'd need to be more organized. Last week, however, I did move my Ergonomic Notes (e.g. RSI, keyboards, mice, programming by voice) to a public repo.
https://github.com/melling/ErgonomicNotes
I also find it helpful to group topics and create menus in the org files:
Menu: Ergonomic Keyboards | Ergonomic Mice | Programming by Voice | RSI
BTW I've lurked that concept from you just recently and started doing the same stuff on Sunday. Thanks for inspiration.
Not all of them are necessarily good practice though. This made me chuckle:
What Is The Current [Git] Branch?
(if you're reading this jbranchaud, try `git branch` :p)`git rev-parse --abbrev-ref HEAD` is very inexpensive in comparison, and doesn't print anything extra you might need to parse out if you're in a shell script.
[0]:https://github.com/cmpis/notes
I have to resist the urge to automate the ToC, though.
Edit: https://github.com/voltagex/til