@fedryreader Heads up! I’m getting a 502 on your homepage.
@fedryreader Heads up! I’m getting a 502 on your homepage.
Today I learned that git branch --move
exists. What’s next? Rebasing, but interactively? Ha!
https://twitter.com/tombruijn/status/1349368563979735040?s=21
Speaking of Flash (https://twitter.com/jkreeftmeijer/status/1349055366496219136), I remember attending a one-day Adobe conference, where we were assured Flash (well into its decline by then) would come to the iPhone “any day now”.
I’m sure both the audience and the speaker knew that was never going to happen.
$ git checkout -b main
$ git branch -D master
brb, boing my daily system reboot to get my USB peripherals to work again, because apparently that’s my life now. 🤷♂️
I loved Flash. To celebrate the #Flashpocalypse, please indulge me for trip down memory lane. 🧵
Over fifteen years ago, my first programming gig was an internship at a company that built websites with Flash. A project I remember was the website for a large Dutch fashion chain.
The team of designers, animators and programmers worked together to make it a beautiful experience, while maintaining some form of accessibility and SEO.
To do that, the whole Flash app gracefully degraded to a separate pure-HTML version, essentially duplicating the project.
I helped to get data from MySQL through an API built in PHP, which was read through ActionScript in Flash.
It was a convoluted system, but that was required to get data into Flash. In many ways it’s akin to what frontend apps are doing now (but we had a 100% custom interface).
Almost everything was custom-built. No frameworks, no version control, no staging server, no local development environment.
Just Notepad++ connected over FTP to production, and an if-statement that matched on the office’s IP to work within (that, and server backups).
Although whatever we did back then is now possible through HTML in modern browsers, I haven’t seen very many animation-heavy websites like that since.
That might very well be because it’s simply a Bad Idea™, or it could be a browser compatibility problem.
If that’s the case, Flash had an edge on us now. Our website worked cross-browser, and we could do whatever we wanted within that <object>
box.
That doesn’t mean it was a good idea. It wasn’t. It came with a lot of its own problems, as it was pretty much an interactive video.
In any case, aside from learning a lot about programming and debugging, that job proved to me that programming is fun and that passion, not skill or good tech choices, is the main requirement to make amazing things.
And it gave me a nostalgic appreciation for death metal. 🦇
Automatic formatters like mix format
move discussions about coding style to the implementers of the formatter or language, which is where those should be.
They also rid you of having to reformat code yourself. Type code, run the formatter (automatically), commit. Done.
Enforce a format by adding a check to CI, even if you don’t fully agree with its rules. That way, you at least have a format. If you really care, configure it.
Case in point: I dislike rebar3_format
’s indentation rules, for example (https://github.com/jeffkreeftmeijer/shine/blob/main/src/rebar3_shine.erl). 🤷♂️
There’s no “one size fits all” in team communication. To help with that, we list each team member’s preferences in our handbook to manage expectations.
Personally, I mute Slack and try to funnel everything through email. I published my “policy” last week: https://jeffkreeftmeijer.com/communication-policy/
I’ve been experimenting with with grayscale syntax highlighting on and off a couple of weeks now. I think it looks nice, and I’m not missing the colors at all.
Meet Grim, a work-in-progress Vim theme based on Dim, but with monochrome colors for code.
The next iteration of my blog might just be a single RSS feed which is syndicated by a something that creates an index and publishes the articles as separate HTML pages.
I’ll call it ✨ “RSS-first blogging” ✨.
the Linux desktop.
https://twitter.com/berkes/status/1348556991547916295
$ ln -s from ../../to
$ ls -l
$ rm ../../to
$ ln -s ../../to from
$ ls -l
lrwxr-xr-x […] from -> ../../to
🤷♂️
Here’s a first for me: apparently, somebody is offering a “cracked” version of my six-year-old Apple TV app on their website, with my name on it.
Don’t download that. I have no idea what it is.
My project is open source with a permissive license (like everything I do unless I’m forced to do otherwise), available on Github, currently unbuildable, and superseded by an official (also free) version built by the developers of the API mine is consuming.
In general; all of my code is available at https://github.com/jeffkreeftmeijer?tab=repositories (here be dragons). If you’re unsure about licensing, reach out and I’ll fix that.
If you ever find any of my code or writing republished somewhere, let me know so I can do something about it.
The code module in enough.css now uses ui-monospace
, which results in SF Mono for <code>
and <pre>
blocks on Safari.
With that (and more than four years of production use), I went ahead and released 1.0. 🎉
https://github.com/jeffkreeftmeijer/enough.css
https://twitter.com/DEGoodmanWilson/status/1347447047855734785
This.
Also, here’s a radical alternative idea to “simplify your sign up forms […] to increase your conversion rates”: don’t ask for gender, doofus. You don’t need it, and it’s none of your business.
Since you asked, here’s rebar3_flamingo
. A rebar plugin that prints flamingos. 🦩
https://github.com/jeffkreeftmeijer/rebar3_flamingo
My articles now sport a revisions link, because I can, as they’re all in Git. 🕺
https://jeffkreeftmeijer.com/vim-16-color/
Quick tip: touch ~/.hushlogin
removes the login message when opening a new terminal window.
https://twitter.com/mastojiratak/status/1346937089053614083
chef’s kiss
Github Gists: 7 easy steps to push a local repository.
git remote add origin <url>
git push origin master -f
I create an empty root commit whenever I start a new git repository to allow me to rebase up to the first actual change. I almost never have to do that, but it’s great to have if I do.
$ git commit --allow-empty -m "$ git init"
Stand back, I think I’m building another static site generator.
generate:
erb inner="$(shell cat index.html)" layout.html.erb > _output/index.html
Make is terribly undervalued as a tool outside of compiling and linking programs.
Looking to get off Google Analytics? Good. You don’t need realtime stats for your blog.
A web log analyzer like https://goaccess.io is still a good option. I checked. I’m moving over to running a script that downloads my logs and generates a report whenever I’m curious.
Slack is down. We are free.