HN user

jnetterf

237 karma

University of Waterloo SE 2017

https://nettek.ca

https://github.com/emilyskidsister

https://twitter.com/emilyskidsister

My side project: https://github.com/emilyskidsister/hacklily

jocelyn ~at~ nettek.ca

Posts3
Comments34
View on HN
Yarn 3.0 5 years ago

My team upgraded our frontend monorepo from npm+lerna to Yarn 2 with PnP. We saw vastly improved installation time, most importantly on incremental installations. The startup times for jest, webpack, and TypeScript also improved. PnP's dependency strictness eliminated cases where updating a package in one workspace would break a different workspace.

It was a fairly difficult migration, in particular because Yarn 2 PnP does not allow you to import a module that is not specified in package.json. Lots of libraries play fast and loose with dependencies, and so our .yarnrc.yml file which adds those missing dependencies is now 172 lines. PnP requires configuration for vscode and a custom build of TypeScript, which isn't ideal, but those have worked well.

From https://www.wsj.com/articles/the-trump-campaign-is-suing-ove... ...

Barry Richard, an election lawyer who served as a lead attorney for President George W. Bush during the 2000 recount in Florida, criticized the campaign’s efforts. “I wouldn’t call it a strategy,” he said. “There isn’t any legal basis for anything I’ve seen so far.”

Other election law experts have questioned the multipronged attack. Richard Hasen, professor at UC Irvine School of Law and author of “Election Meltdown,” said the lawsuits, even if partially successful, were smaller-scale and didn’t threaten the results. “If they’re not being filed to change the election outcome, what’s the point?” he said.

Citymapper 7 years ago

Citymapper is excellent, especially for short trips that can be done in many different ways. Sometimes, for longer trips, Citymapper shows “Uber” or “long walk” as part of a route. In those cases, I would generally prefer to bike, without a bike share. Is there a multimodal transit app that includes transit + cycling?

While there might be a better syntax if you only care about this one feature, async/await needs to fit into an existing language, and this syntax makes sense with the rest of Rust.

This syntax makes it clear that’s it’s not a function or macro invocation, works the same way as ‘?’, and allows for clear and concise chaining.

I got started by using an organization's API on a platform they didn't support and then offering to be a contractor when they sent me a cease and desist.

I found other odd dev work through family friends and by making a well-performing app for a small platform. This was all a nice supplement during university and internships, but not enough to compete with full-time remote work.

To parse LilyPond you would first need to write a Scheme interpreter. Once you finally get a tree for the sheet music, rendering in a way that is correct, beautiful, and easy to read is no small task either. Sheet music rendering is full of so much nuance [1], and it's really hard to get it right. It took brilliant people many years to get LilyPond to the state it's in today. I picked LilyPond because it's powerful and beautiful. Don't get me wrong, VexFlow and abcjs are impressive projects, but LilyPond has a head start.

I think one day, you'll be able to use emscripten or similar to run LilyPond in the browser. We are not there yet.

[1] See, for example, https://www.amazon.com/Behind-Bars-Definitive-Guide-Notation...

Very cool work -- I'm a fan.

I considered Lambda and similar, but keeping LilyPond running as a server allows for lower latency, which is important given how long it takes for LilyPond to start up.

I don't think I'd be able to have the kind of live reloading I implemented here with Lambda.

Right now, there are 183 active users, and the CPU is staying around 5% on my Ryzen 7 1700. Keeping LilyPond running as a server helps.

Can you tell me more about your goals? I'm open to collaborating if practical.

I think the LilyPond documentation (http://lilypond.org/doc/v2.18/Documentation/learning/index) is a pretty good way of learning LilyPond. It's linked to from "menu > LilyPond manual" within Hacklily. Maybe I should be more aggressive about highlighting that...

Making community features is a natural next step which might help with finding examples.

LilyPond has a bit of a steep learning curve, but you can absolutely use it professionally. http://www.mutopiaproject.org/ shows what LilyPond can do. Personally, I find that I can be more productive with LilyPond than with Finale, and that the results look better.

Free Fillable Forms is made by Intuit. If you look at the network tab in your browser's developer tools, you will see that it makes requests to Inuit APIs.

They have an incentive to make the service as terrible as possible while still technically being usable.

I believe we'll be stuck with this mess so long as the IRS partners with the Free File Alliance.

You also need to set {"jsx": "react"} (for valid JS output) or {"jsx": "preserve"} (for JSX output) in your tsconfig.json / cli options.

If you're less adventurous, and use fish/tmux, you could try something like:

  # config.fish
  function fuck
      thefuck (history | head -n1) | tmux load-buffer -
      tmux paste-buffer -s \0
  end
This will paste the command The Fuck suggests without a return so you can audit the corrected command before running it.