At the Barcamp Ruhr 4 this year I held an intermediate level talk about one of my favorite tools of all time: Git.
After a very successful introductory presentation two years ago, I wanted to help people to get a deeper understanding of Git so they can use it better.
If you used Git before and kinda like it but feel unsure about using some of its advanced commands because you think you don’t completely understand whats going on under Gits hood, if you like what rebase can do for you but are afraid to use it because you’ve read somewhere that the sky will fall on your head if you make a mistake, then this article is for you.
Git only reveals its true, awesome power if you use it to its fullest potential. And to do that it is essential to understand how Git works internally.
Dueck spricht darin im Grunde von demselben Thema, der Überflüssigwerdung bestimmter Berufe. Die Argumentation in meinem Blogpost war, dass all die Berufe verschwinden, deren Existenz sich aus Beherrschung von Technologien rechtfertigt, die langsam von jedermann beherrschbar werden.
Dueck geht noch einen Schritt weiter: Seiner Ansicht nach verschwinden zu einem großen Teil ausserdem die Berufe, deren Existenz sich aus der Beherrschung von Wissen rechtfertigt. Wenn alles Wissen jederzeit für jeden im Internet zugänglich ist, dann ist die Beherrschung von Wissen kein Monopol mehr, so wie heute bereits die Beherrschung von Technologie kein Monopol mehr darstellt.
Es wird in dem Vortrag teilweise stark vereinfacht und übertrieben, aber der Grundgedanke ist nicht von der Hand zu weisen. Dueck folgert hieraus eine kontroverse These:
Wichtigste Qualifikation werden in Zukunft ausschließlich Softskills sein. Führungsqualitäten, Einfühlungsvermögen, Begeisterung, Teamfähigkeit. Dinge, die man nicht nachlesen oder auf die Schnelle lernen kann.
Und auf diese Entwicklung ist die Gesellschaft nicht vorbereitet.
At the Barcamp Ruhr 4 this year I held a session about Git for advanced users.
I’m currently preparing the content of that session as a series of blog posts, but in the meantime, here are the slides:
The talk has also been recorded by Oliver Überholz, who promised to send me a copy but so far hasn’t replied to my messages. Please give him a nudge :)
As much as I love tumblr’s auto pagination, one of the big gripes I have with it is that after a while of scrolling it becomes absolutely deadly to mistakenly click on a link that makes the browser leave the page. Because all that content was loaded with Ajax, there’s no way of getting back to where you were except to repeat the scrolling orgy again.
history.replaceState to the rescue!
I submitted this as a suggestion to tumblr:
It often happens to me that I scroll my dashboard for a really long time, then click a link and forget to hold CMD to open it in the background.
The entire scroll state is lost then when I get back to the dashboard.
I think it would be a good idea to use the pushstate api to update the locationbar in a way
similar to what happens if I click reblog on something.
After I’ve sent the reblog, it takes me back to the correct place in my dashboard.
Using pushstate would make this work even with external links.
This would also solve another problem:
Sometimes, the loading indicator at the bottom of the page is stuck.
In a normal webpage I would hit stop and reload and get my content but there’s no
way to do that here because then I have to scroll aaaaaall the way down again.
With my approximate location stored in the url bar, this wouldn’t be a problem anymore.
I think these features would also help you reduce the load on your servers a little because
people wouldn’t need to scroll over content they’ve already read as much anymore.
Browsers not supporting pushstate could just keep working in the current way.
Since they did not reply yet, I decided to implement this on my own. I wrote a tiny GreaseKit script that does exactly what the suggestion said. You can install it here.
This will also work in GreaseMonkey. I might make a Safari Extension from this later.
UPDATE:
I probably won’t make a Safari Extension. Extensions run in a Sandbox that makes it impossible to interact with the JavaScript from Tumblr in the way that my solution does. All I can do is to manipulate the DOM.
Maybe I could solve this by watching the DOM for changes (as opposed to using Tumblr’s handy callback hook) to manipulate the history but that seems kinda cumbersome right now.