HNHacker News
TopNewBestAskShowJobs

0az

128 karma · joined January 10, 2019

https://github.com/0az
submissionscomments
0az··on Do Not Follow JavaScript Trends
A while back, I got tired of dealing with the mess of Gatsby, Next.js, and Vuepress, so I made my own static site generator in Python.

I don't want a GraphQL database for my static site. I just want something to template out my site's boilerplate, and I don't want to deal with Webpack speed, or lack thereof. One file, ~200 loc, and I understand all of it.

The tentatively named Zhi works fast enough for full rebuilds triggered by fswatch. It does one thing and does it well:

  fswatch -0 -e .venv -e out . | xargs -0 zhi build
If there's interest in a simple, understandable Jinja-based static site generator, I can clean it up and release it: https://github.com/0az/zhi (empty repo).
0az··on Amazon added a non-compete after the employee entered the U.S. on an L1B visa
I believe in this case they also killed the indie studio's contract.
0az··on Python Wheels Crosses 90%
Conda does their own thing, so I hope that this doesn't become commonplace.

It's a nightmare of interop. Yes, it works for one person on a single laptop, but my experiences with conda outside of the happy path are universally terrible.

I'll stick with the standards.

0az··on Slack Removed a Blog Post Showing How Police Use Its Tech
I've used Discord for years, and admin a small community server.

With the new video chat features, I wouldn't be surprised if we saw a B2B offering soon. I certainly hope that they do so: their platform is mature, and more useful than Zoom and Slack.

Server mutes. Local volume. Push to talk. Krisp noise cancellation. Non-hostile UX. Non-threaded conversation.

In Zoom, when the presenter shares their screen, you're forced into full screen, which disrupts my note taking flow. The meeting chat's also a joke. Sure, Zoom is a useful FaceTime alternative for Enterprise, but it isn't good for collaboration. It's very self centered.

Zoom also took the interesting stance of letting FBI/Police have access to user conversations. Discord doesn't have E2E, but they did tweet a post of solidarity.

/rant

0az··on Snowpack 2.0
How does Snowpack compare to Rollup? I use Rollup because it's light-weight and dependency-free.
0az··on How to Put More “Character” into Your NPCs
Agreed. There's tabletop outside of D&D and Adventure fantasy. Don't get me wrong: the genre is popular for a reason. Still, it's nice to give other worlds a try. One of my friends occasionally GMs a system of his own creation, which is pretty fun.

One example I'll shill is Erika Chappell's recent Flying Circus, which is about being a mercenary pilot in a postapocalyptic, Ghibli-esque world. It's quite good, and if I remember correctly, an airplane designer helped with a couple bits of the design.

https://opensketch.itch.io/flying-circus https://www.drivethrurpg.com/m/product/310013

0az··on Waiting in Asyncio
Structured concurrency is why you should use Trio.

What do you get? For starters, Ctrl-C/KeyboardInterrupt just works. By restricting the design space, you end up with much more intuitive designs.

Obligatory Structured Concurrency essay link: https://vorpus.org/blog/notes-on-structured-concurrency-or-g...

I recommend giving it a read.

0az··on IBM to cut thousands of jobs as coronavirus plays out
I will note that internships are still going on. Everybody also gets their housing stipend in cash.
0az··on Launch HN: Satchel (YC S18) – Guides to the Best SaaS Tools
Feedback on the tables: the vertical table headers are hard to read. Consider tilting them at an angle, or just switching to horizontal.
0az··on Facebook to Buy Giphy for $400M
I'm guessing Data. Trends, among others.
0az··on Saltpack – A modern crypto messaging format
I believe Age doesn't have the dependency on messagepack.

I do like Saltpack's ASCII armour format better, though.

0az··on Cross-signing and end-to-end encryption by default
Hot take: slack-style threads are bad for long-form discussion. They encourage forking, when what you really want is everyone to be on the same page. Traditional forum-style threads, or "channels" on a chat app, is optimal for discourse, as it encourages continuous convergence and integration rather than splintering. Hiding tangents serves to lower the quality of conversation.

Optimal within the constraints of real time chat IMHO is slow-mode (5 to 15 seconds, or possibly greater) in a single channel.

0az··on Unimpressed by online classes, college students file lawsuits for refunds
One of my classes (mandatory writing GenEd) had an online version, so we get the videos from last quarter, and Zoom discussion sections.

So no, we're getting lectures over Zoom at the UCs, at least. If my group of friends had the inclination to talk about serious school stuff, and not literally anything else that keeps our minds off of the state of the world, I could ask people about the situation from anywhere from Rice to Stanford to Princeton. But we don't talk about this, because it's heavy, and if we can shrug that burden off for the time we have together, then that's enough. [0]

Going to back to UCSD in particular, the Chancellor's name is particularly acrimonious in connotation. A couple days ago, I wrote a post here on the state of UCSD's much touted dining [1]. Spoiler: it's not pretty. If you look at the privately shared memes, there's a lot of negative sentiment.

[0] Last night's OST: https://youtu.be/Egn_VNVKzI4. [1] https://news.ycombinator.com/item?I'd=23034883

0az··on Medium-hard SQL interview questions
What is wrong with DISTINCT?
0az··on Colleges at the breaking point, forcing ‘hard choices’ about education
Actual college student.

UCSD has a food bank on campus. Here's the math as to why:

Recommended daily dining dollar spend: $19

Breakfast: $3.95, "Bobcat Sandwich" Lunch: $5.25, Hamburger Dinner: $6.95, "Wok Entree"

This adds up to $16.15. That hamburger isn't very filling (between Whopper and Whopper Jr.), especially if you still operate on a teenaged metabolism. Add a fries to it, or do what I did and get a $2 salad from the salad bar. At 39¢ to the ounce, it's a cheaper option to maximize nutrition. Sometimes they have leftover salmon, flaked.

Okay, that's the expensive meal plan. You get five days of those, not seven. This is on the maximum dining dollar plan of $3800. You do not get a discount. One dollar in is one dollar spend.

But you can't afford the full plan. The other option – and you have to pick one, they're mandatory for on campus residents – is "worth" two meals a day, five days. You need to stretch it out.

It's not enough. If you don't do the accounting and budget beforehand, you will run out. If you don't supplement with ramen, you will run out. If you want a snack every now and then, you will run out.

Also, you don't have a kitchen in the residential halls. I hope you have a friend in an apartment or with access to the rare communal kitchens [1], since you otherwise can't cook, and must eat.

Oh, and as of winter quarter 2019, they started using scales to measure everything, down to the last noodle.

Panda Express doesn't do that, by the way. You get filling meals at only a slight premium, though I can't remember the price off the top of my head. The real value option is Subway, which costs $6.99 for the footlong of the day, including tax, and each is good for 1.5-2 meals with more or less balanced nutrition. If you somehow have a stove, a pre-packaged two-pack of Tikka Masala from Costco runs at around $3.50/meal, plus rice, and takes less time than the cross-campus dining hall roundtrip.

Fortunately, for 2019-2020, they increased the maximum package to 5100, which helps those who have financial aid. This doesn't reduce the daily cost, however.

People universally get the lowest dining plan allowed by HDH. It's just cheaper to go to the vendors, even with the invisible on-campus price hike.

[1]: The price of access to a communal res hall kitchen is fire alarms at 3 AM during finals week.

0az··on WireGuard on K8s: road-warrior-style VPN server
My main annoyance with Tailscale is the reliance on Google. I need to refresh my memory, but I think this makes a VLAN shared with other people impossible.

This is why I'm still using https://zerotier.com -- also no affiliation.

0az··on How to play board games online with your friends
"Gamer" community bias, IME, as well as other internet-age communities.

It's not the most general platform, but it's one of the best at what it does: voice and text. Video is just icing on top.

If Discord had a version suitably branded for Business, I'd say it'd be better than Zoom and Slack combined.

It just works.

0az··on Python programming is drowning in red tape
Honestly, after trying MyPy for a bit, I'm probably going to gradually type. There's some metaprogramming constructs (notably certain class decorators) that are not expressible in the type system, for one. This makes packages like environ-config unusable.

But most importantly, `def foo(lst: list, idx: int):` is fine in 95% of cases. Most of the time, you don't need to go full Java, full verbosity. Document the most important elements - you're taking in a list and an int - and move on.

0az··on Writing a Book with Pandoc, Make, and Vim
I personally use fswatch for this. The invocation is probably something like this:

    fswatch -0 ***.md | xargs -0 make
I invoke a variant of this from my Makefile with a phony watch target. I think the main change is that I also echo a bell character, to provide some feedback.

Fun tip: Preview will automatically reload PDFs on disk, though with some limitations that I workaround by waiting for the bell.

0az··on Writing a Book with Pandoc, Make, and Vim
I use something very similar for mathematical homework and notes: MacVim, with a Makefile that runs Pandoc with the Eisvogel template.

I also have a script that runs fswatch to run make on save.

Didn't know about virtualedit, though: tables are going to be so much easier now.

0az··on John Conway has died
I had the opportunity to watch him lecture for a week, almost a decade ago.

I don't remember what it was about (maybe Catalan numbers?), but ten years later, I wish I'd been able to recall more.

Rest in peace.

0az··on Data Science: Reality Doesn't Meet Expectations
Not parent poster, but Thomas Powell is the Data Viz instructor at UCSD.
0az··on We abused Slack's TURN servers to gain access to internal services
Can you elaborate on what this means?
0az··on Large-Scale BGP Hijack
I don't really get the hate for tweets.

> Probably won't be able to read the tweet in the future when it gets deleted, no real context or other information in the tweet. I find the tweet helpful. I didn't know about BGPmon, for instance.

Screenshots, on the other hand... They're not accessible, and they don't provide easy links back to the author, nor access to the tweet's reply context. I find all of those valuable.

0az··on Doing a math assignment with the Lean theorem prover
I personally credit my own geometry education, as much as I disliked it, with giving me the tools I needed to succeed in Calculus. That Calculus final involved proving part two of the FTC. Fun times.

AP Calculus? It's much less helpful, in its computational focus.

0az··on The Svelte Compiler Handbook
IIRC, Vue 3 uses Typescript.
0az··on Temporarily rolling back SameSite Cookie Changes
Amusingly, I was bit by this today because of some issues that required Cisco's secure email service: opened the attached HTML file, but couldn't log in, since they haven't added support for Same site.

Found a workaround, but I'm glad they're doing this for the duration.

0az··on Darling – Run macOS software on Linux
Looks pretty nice: I'll give it a try over the weekend.
0az··on Darling – Run macOS software on Linux
I do use both — I actually used MPV before discovering IINA — but I like the UI of the latter, even if I still use MPV keybinds.
0az··on The New York Times Releases Its Dataset of U.S. Confirmed Coronavirus Cases
I agree. If there's been a recurring theme in every single data-touching class in my DS major, it's been ethics.
Page 1 of 3Next →