Show HN: I've been writing daily TILs for a year
github.com
github.com
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.
(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.
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... ¯\_(ツ)_/¯
> 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".However, there is fundamental difference in representation.
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
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.
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?
However I've been doing something very similar for over a year now. Its called a Developer Diary. I can't give credit for the talk that gave me this idea but it's without doubt one of the best changes I've made to further myself.
It's the same idea, except the content is not public. I've toyed with the idea but the content is very rough plus includes some very specific details. That said I host the content so it's always in my browser as plain text files, so able to search and navigate easily. I've blogged about the idea before, but however you do it, make notes. Your future self will thank you.
http://blog.shaunfinglas.co.uk/2014/09/developer-diaries.htm...
You’re supposed to say “TIL what a TIL is” :-) .
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'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.
- Visiblity, Feedback, Constraints, Mapping, Consistency, Affordance from Design of Everyday Things
- Maven, Salesperson, Connector from Tipping Point
- 7 years' war cliff notes
I feel like it would get too big soon but it's a nice way of keeping track of the interesting things you have discovered.
I'm also considering putting my entire "Ideas" board and possibly other boards from Trello on Github instead.
Edit: Related question: Is there any way to keep a bibtex file in Github and use it for citations in markup? That would be wonderful.
This will filter all commits (ie. lines changed by the commit) by the REGEX and report back the log for those.
With -S, commits with equal number of matches in added and removed lines are ignored.
One of my personal quirks is I feel like those terminal-based editors consume an undue amount of time and energy to learn and maintain. This TIL seems to give a bit of extra evidence for that suspicion. Simpler options have been available for years now (e.g., Sublime). In those rare moments when you do need to edit files on a remote server, nano is always available.
After that, it's just years of learning more and more—which is a nice journey.
Emacs and Vim are standard free software tools, so they get the new language modes and integrations, and they're available everywhere.
By the way, I edit files on a remote server literally all day long.
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
At the end of the internship, I grepped the logs for all those lines but never found anything useful worth re-visiting. :)
[1]: https://github.com/bittersweet/dotfiles/blob/master/notes/gi...
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 ;)
My other idea I'm currently working on is to provide a different kind of bookmarking service that gives you an option to write down what you have learned from that bookmark. I think one of the best way to get better is to always try to repeat from memory what I have learned. The service is supposed to compare my summary with the original content, maybe offer some Anki style repetition training etc
Helps both commit the information to memory and help others in the future. Who said blogging had to be long form posts anyway?
Its common for a lot of musicians to keep practice log books. Trying to learn something new every day is an amazing idea, in area of work.
I have to resist the urge to automate the ToC, though.
Other text file contains useful links with other's step-by-step guide founded on internet.
Github is interesting idea since it's available from my personal and working laptop. Till now i have used google docs/gmail draft messages.
I apply the simple way to organize them via Github Issue -- https://github.com/tieubao/til/issues
It's good for us in term of effortless and easy for reference ...
I really like the .contain_exactly() matcher for this purpose as well :)
Git looks to be an awesome idea. Thanks for your efforts.
I tell people my memory is excellent but my retrieval tends to suck bad sometimes. Random access memory?
Most of these fall firmly under "let me google that for you."
How do I check my Ubuntu version?
How do I split a tmux window?
How do I expand a clojure macro?
Repeat for 300 more easily google-able questions...
Actually I just realized, maybe I'm too old. If that's the case, here's a great tool: http://lmgtfy.com/?q=How+do+I+check+my+Ubuntu+version%3FYou sparked an idea for myself though! Don't gmail results now show up in Google search results?
I can email myself my TIL findings and they will show up at the top (hopefully) the next time I google the same problem. Experiment time!
It's not REALLY useful, but at the same time it's really useful.
Moreover, nothing is more useful to the understanding of a subject than trying to explain it to someone else, including your future self (you can only say to have fully understand Relativity when you are able to explain it your grandparents? :) ) That's why I guess it's being seen as a good thing.
For example when you search for something specific that uses very common words. I'm not great at searching either, often I have to read through lots of results to get the answer I'm looking for.
Having a personal repository of curated results seems like a good resource to have.
Lots of useful things don't fit that pattern.
To take one example from here, I use 'pry' regularly, but before reading https://github.com/jbranchaud/til/blob/master/ruby/editing-c..., I didn't even think to wonder whether there was a way to fire up an editor from within it. It's not something I've ever actively needed, but it's a very useful shortcut now that I know about it.
2. I've been using mine to also keep track of tools I encounter but don't have time to investigate, or for hotkeys or features in specific applications that I didn't realize were there before. I just took a quick glance at my old notes and was reminded about a feature in XCode that I had completely forgotten about since I wrote the note.
3. It's great for a refresher before diving back into a language you've had on the backburner for awhile, and/or before going in for interviews where you know you're going to be quizzed on random knowledge from past languages you've used before but maybe not recently.
BTW I've lurked that concept from you just recently and started doing the same stuff on Sunday. Thanks for inspiration.
https://github.com/jbranchaud/til/commits/master.atomNot 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 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.