@Netlify Do you expose access logs for hosted sites? I’d love to be able to parse them myself to extract visitor counts without having to use an external (JavaScript-based) analytics package.
@Netlify Do you expose access logs for hosted sites? I’d love to be able to parse them myself to extract visitor counts without having to use an external (JavaScript-based) analytics package.
What’s that Vim trick that blew your mind the first time you learned about it? A feature that has a big (or small) impact on your workflow, or just a command you use a lot. Anything goes! 🤯
I’ll start with my go-to trick: I usually only notice a match should be replaced after searching for it with /
(/foo
). After learning that substitutions with empty search patterns (%:s//bar/
) replace the previously found matches, I’ve never had to re-type a pattern again.
Started https://updates.jeffkreeftmeijer.com as a first step to being sure my published update/photo backlog isn’t lost if for some reason Twitter stops allowing me to download my archive, my Mastodon instance falls over, or my old image service finally decides to kick the bucket.
Currently, it involves writing updates as markdown files, then passing the file to a local script that does some conversion and posts it on Mastodon. Non-replies are then crossposted to Twitter from there.
Ideally, this would have a posting interface that pushes markdown files to a git repository, which has hooks to convert and syndicate each update to the correct location, depending on its contents and what it replies to, for example.
The colors in Terminal.app’s “Basic” theme switch from black-on-white to white-on-gray when turning on dark mode on macOS Mojave.
It’s an app-wide default, though, so the only way to use this in a custom theme seems to be to omit BackgroundColor
and TextColor
.
Did you know you can add image captions to posted images on Twitter? It’s behind an accessibility flag, but here’s how to enable it:
@intercom I’m a heavy conversation snoozer. After snoozing a conversation, the button to un-snooze it displays a tooltip saying “Reopen conversation”, which always makes me think it’s closed, while it’s not. I think “Un-snooze conversation” would be more descriptive there.
Played The Long Dark last year over the holidays, but never started Story Mode, because I wanted to get familar with Survival Mode first (not required at all, by the way).
They’ve just released a major update, and I’m very excited to dive back in.
https://twitter.com/
So happy to share with you the fruits of our labours, in WINTERMUTE REDUX, the re-release Episode One and Two of #thelongdark's Story Mode. Trailer here: https://t.co/
— Raphael van Lierop (He/Him) (@RaphLife) December 17, 2018cV4StCHXPo
Added :--:
and :---:
to convert to – and —, respectively. My keyboard shortcuts are now complete.
Vim quicktip #3: Press gx
to open a link under the cursor in your web browser.
I can’t seem to find how to post a response to a status on another instance via the Mastodon API.
Passing the ID as the in_reply_to_id
parameter produces a 404 because the status can’t be found. That makes some sense, as that status isn’t on the instance I’m calling out to (right?). Switching the API base URL to the other instance gives me a 401, because I don’t have an API app set up there.
What am I missing here? Any pointers would be greatly appreciated.
I love reinventing the wheel.
Some of my articles explain how to build your own GenServer in Elixir or how to compare images in plain Ruby, and I’ve built minimal clones of libraries like RSpec and Spring in the past to understand and teach how they work.
While you shouldn’t rely on a hand-rolled HTTP server or a naïve reimplementation of an ancient OTP construct in production, taking software apart and rebuilding it is the best way I know to understand what’s happening under the hood.
The results aren’t better than what already exists, or implemented in the fewest lines of code. That’s not the point. They’re built to be as expressive as possible to help explain concepts like HTTP, Rack, or inter-process message passing, and because they’re a fun exercise.
Randomly running into module :certifi is not available
-errors in your Elixir project? It’s probably ALE’s mix linter recompiling your whole project, which is disabled by default in the current version.
https://github.com/
The publication dates for articles on my website had broken <time>
tags, so apparently search engines started using the update date as the publication date. Fixing the tags coincided with traffic from search engines dropping by half. 🤷♀️ #reverseblackhatseotips
Published in 2016, but still one of my personal favorites. It explains a bit of TCP and HTTP, some Rack, and it finishes with 30 lines of code that can serve Rack::Lobster
. ❤️🦞
https://twitter.com/
🌟 In one of our favorite articles,
— AppSignal (@AppSignal) December 11, 2018
🛠 we built a 30-line HTTP server in Ruby
🦞 flip, flip, flip, crash!https://t.co/OHAOJazJBC
I’m bringing border: 1px outset;
back. 🎶
Vim quicktip #2: A substitution with an empty search pattern replaces matches from the last search. After finding “foo” (/foo
) in the file, you can replace all occurrences with :s//bar/
.
TIL: A five minute lightning talk is too short to trace vim’s history back through vi and ex to ed while demoing both ,g/re/p
and ,s/foo/bar/
, so I renamed it to “ed: editing text like it’s 1969” and basically only showed how terse and user-hostile using ed is.
Unpopular opinion: in order for Twitter users to actually switch to Mastodon, the switch needs to be seamless. While reposting to Twitter might not be desirable in the end, it will get people to take the plunge.
$ man ed
#currentstatus
Vim quicktip #1: Use %
to jump between brackets. This works for ()
, {}
, and []
by default, but can be changed using :set matchpairs
.
Plugins like vim-elixir and vim-ruby add b:match_words
like do
, end
and else
, to quickly jump to a block’s end
, for example.
It literally took me years and hundreds of git repositories to realise I could git init repo_name
instead of mkdir repo_name && cd repo_name && git init .
. It just never occurred to me to try.
Considering switching to Mastodon but don’t want to leave Twitter yet? You don’t have to.
https://bridge.joinmastodon.org follows Mastodon accounts from users you follow on Twitter, and https://github.com/
I was on Ruby Rogues to talk about caching in Rails, N+1 queries, AppSignal, open source maintainability, AsciiDoctor and power tools.
https://devchat.tv/
Is there a way to view shared documents in Google Drive without anyone else noticing? Asking for a friend.
Best edit for this article: %s/it takes care of running/it runs/