I'm curious if HashiCorp changed their licenses to GPL/AGPL, will everyone be as frustrated?
HN user
octref
nomadic
http://blog.matsu.io/about
Hi Peter! For H1B visa holders, is there any way to start a company and remain in charge (whether as CEO or not)? From what I find online you can only be employed as a H1B holder, but if I start a company I would want to have full control of it.
I'm interested in building something with this to aid my own French learning. Would love to read your findings if you end up posting it somewhere like twitter/blog!
If you enjoy this, you might find this meta list on "notation and thought" interesting: https://github.com/k-qy/notation
I built my own. It's a Chrome extension that
- captures a tree tab structure (inspired by Tree Style Tab)
- has a text-heavy interface
- is keyboard driven (inspired by Vim)
- keeps data local or syncs to a GitHub gist (no server)
- exports to Markdown
I often hear from others they need something similar, and I thought about finishing it up so others can use it. But my fear is that I made too many personal design choices that nobody else would like, and changing those choices would make myself less happy (but surely make it easier for others to use).
If you are intrigued, here are some screenshots:
I have thought about building a vocabulary learning tool for learning Japanese on top of Apple Dictionary. My idea is simple: user collects dicitionary items and the tool offers lookup / spaced-repetition.
However, I'm concerned that the dictionary is copyrighted. Is there any precedent that says whether such a tool would be legal/illegal?
Does anyone have recommendation for static site hosting with simple server-side analytics? The only thing I can find is Netlify Analytics, but $9/mo is too much for hosting a few pages of OSS project documentations.
If there's no complex interactivity achieveable only through JS, I prefer to ship sites with plain HTML/CSS, so I don't really like to use any client-side analytics. And yes – I can live without all the fancy features to track and profile my visitors.
I don't want to host by myself either, since I enjoy using a simple git push to deploy my site.
If you are interested in creative coding but don't know where to start, me and my friend are running Codecember, a month-long challenge to do one code sketch a day: https://codecember.ink
We pick simple sketches & recreate them in p5.js as a learning process. Eventually you remix the sketches with your ideas to create something original.
Our prompts exposes a diverse variety of generative artwork, none of which are too difficult to recreate. Join us for the second half!
It's almost 2021 and Slack still can't syntax highlight code blocks.
Nice work! The other day I was doing a SVG renderer for Shiki[0] (a code syntax highlighter), but found no easy way to measure font width/height (SVG needs absolute positioning) in Node.js. The only library that does that records fonts' metadata in the package source[1].
I ended up using puppeteer[2]. Would love to switch to `skia-canvas`, however `ctx.measureFont` doesn't seem to work correctly yet. Measuring cap `M` produces positive `actualBoundingBoxDescent`, although `M` should sit comfortably on top of baseline.
[1] https://github.com/adambisek/string-pixel-width
[2] https://github.com/shikijs/shiki/blob/master/packages/render...
One take away for me was: Language designers & compiler writers today need to consider editor support as one of their goals.
On the top page there's another thread about rust-analyzer vs RLS. What Aleksey said[0] about RLS that "[RLS's] current architecture is not a good foundation for a perfect IDE long-term," feels similar to my coworker's conclusion in her effort to provide better editor support for PHP[1].
Parsers for compiling code into machine-executables vs parsers to serve LSP responses have different tradeoffs. For example, Anders mentioned TS parser need to have good error-recovery, can respond with completions/errors when one file changes inside a thousand-files-project. I vaguely remember TS had a goal to provide completions in < 50ms and errors in <150ms. Such goals are hard to achieve as after-thought. If your core compiler doesn't do error recovery, such as PHP, you need someone to write a new compiler from scratch for a language server implementation. If tools such as RLS rely on compiler to dump all JSON metadata and figure out LSP responses[0], it's too slow for editors.
TS's good editor support doesn't come free. I think one of the most under-appreciated achievement of TS is how it took editor support seriously and designed its compiler infrastructure to do it well. That's why I don't believe in those hot-new-web-languages that try to take over TS by designing a better type system. TS brought the average developer's expectation of a language to having fast completion, fast error reporting, editor autofix, F2 to rename and renaming-a-file-in-editor-to-update-all-references. It's 2020 and people aren't going back to write code like in Notepad.
[0] https://ferrous-systems.com/blog/rust-analyzer-2019/
[1] https://github.com/microsoft/tolerant-php-parser
---
EDIT: grammar.
worst of all the software
Steve Jobs had the same conclusion[0].
[0] https://www.forbes.com/sites/velocity/2011/10/05/nicholas-ne...
Let's start with something simple, like syntax highlighting.
I built a syntax highlighter, Shiki, that allows you to use any theme from VS Code to color your code [0]. It works great with Node now as a static website generator plugin, but with some effort you can run it all in client side as well. TypeScript's new handbook is using Shiki [1].
I can't really believe how it's 2019 and Medium and Slack still can't syntax highlight code snippets.
[1] https://microsoft.github.io/TypeScript-New-Handbook/chapters...
Obviously with log parsing you don’t get as much information as a JavaScript-heavy, Google Analytics-style system. There’s no screen sizes, no time-on-page metrics, etc. But that’s okay for me!
This also bypasses Ad blocker. In the case you have a large percentage of technical audience (who presumably would have Ad blocker installed) this log can be way more accurate than GA.
However this still requires setting up the image on a third-party server. I would really love it if GitHub pages or Netlify can provide some simple server-side tracking. It doesn't match GA but in some cases that's all I need.
Well, here are two things that have been brought up many times:
1. Required fields on new issues. Has been requested since 2016[0].
2. Better issue search.
Open Source projects face a lot of issues. It's good to talk about them, but some GitHub can solve some GitHub can't. I'd be much happier to see these problem addressed instead of learning about updating my profile status[1].
Currently when a project becomes popular the issues easily drown the author. As the communication portal between OSS authors and users, GitHub can and should give OSS authors more power.
[0] https://github.com/dear-github/dear-github
[1] https://github.blog/changelog/2019-01-09-set-your-status/
Never know that existed! Maybe you can improve discoverability by doing that on typing a dot.
I like everything about Observable but the editing experience. In 2018 no one wants to write code like writing txt files.
Is there any plan to adopt Language Server Protocol so at least users could get auto completions? But with the custom syntaxes to JS I guess Observable can't just use plain TypeScript Language Server.
that's not maddeningly complex
I'm not sure what's complex. Adding one more option "Triaging" here[0] doesn't seem complex.
I'm working at VS Code and now we are trying to make a bot that would add a label if someone (from a whitelist) types `/label bug` (same for marking duplicates). The fact that we have to go this far for letting community contributors assign labels to issues is more maddening to me.
See an example here: https://github.com/Microsoft/vscode/issues/62016#issuecommen....
[0] https://user-images.githubusercontent.com/4033249/47674432-8...
I hope GitHub could add some features to help Open Source maintainers. Allow adding contributors with issue triaging privileges is an obvious one. Required fields (link to repro, software version) could be really helpful too.
Currently people have to work around these issues in awkward ways, like creating a whole organization just to grant issue triaging privileges or redirecting people off GitHub for filing issues with required fields [0]. Those workarounds run into limits quickly.
Now when I see any new product I look for a pledge to not get acquired like PostHaven[0]. Otherwise I simply refuse to use it. Sparrow, Mailbox, Inbox...Have been burnt too many times.
One thing I want to say is: Don't assume only developers make websites. Don't assume everyone wants to ship a heavy and complex SPA.
Example 1: A great typographer, Wenting Zhang, author of Type Detail[0], contributing to Source Han Serif, learning Vue to do some interactive widget for variable fonts[1].
Example 2: Brian Terlson on TC39. He's using Vue without Vuex or Vue-router to build an app to track TC39 discussions[2].
I hope we can admit that many people might not need store and router[3]. Store and Router are necessary for building complex SPA, but don't make them necessary, as many don't want complex SPA. They impose learning efforts in exchange of better architecture, but the imposed effort might not be worth it for many people who just want some data-rendering, some reactivity and some interactivity on their websites.
[1] https://twitter.com/DesignJokes/status/1015003288528400386 and https://twitter.com/DesignJokes/status/1014260361535647744
[2] https://twitter.com/bterlson/status/913433979239436293 and https://github.com/bterlson/tcq
[3] https://medium.com/@dan_abramov/you-might-not-need-redux-be4...
Have to do some clarification here on the point of "Unclear architectural patterns", as the article is way too misleading.
- The reason the API call is made at `created` lifecycle is that the video is a quick, 5 minute intro for beginners. Beginners, as in "people who are familiar building static websites using html/css/js". There is no need to bring in Vuex or vue-router yet. In fact the whole beginner example can be put into a single HTML file by including a Vue script tag. The approachability is what made Vue shine. Some other frameworks assume that you want a build tool, state management, client side routing etc and beginners spend hours configuring those tools and figuring out state management and client-side routing, instead of doing real work.
To answer to my initial question: API logic should not be written in Vuex nor in components. There is even a good example on how do that in some of the official code examples.
- The example[0] clearly has the API logic in the Actions. The `/api` folder is a mocked API for illustration purpose.
[0] https://github.com/vuejs/vuex/blob/dev/examples/shopping-car...
I built this VS Code plugin to convert JSON interactively using JMESPath: https://marketplace.visualstudio.com/items?itemName=octref.v...
Might be useful if you are testing API or playing with JSON data.
Live Share is different than other collaboration tools in that it supports Language Features and Collaborative Debugging. By Language Features I mean all participants get auto completion, go to definition, error checking etc. Collaborative Debugging allows multiple people to step through code, inspect variables or look at call stacks.
I don't know why the GitHub doc get linked, but this page probably gives more context: https://code.visualstudio.com/visual-studio-live-share
Disclaimer: I work at VS Code and have tried Live Share in private preview. Honest feeling is it still has some gaps, but if everything would work out of the box it can be pretty awesome.
The app itself is well done, but the editing experience is quite lacking...It's 2018 and people don't want to write html/css/js as if writing txt files. https://codesandbox.io can be a good inspiration to learn from. I believe its popularity is a result of using Monaco[0] and supporting Language Servers[1].
I would advise looking into editing/language support early. Auto completion (for DOM API, D3 API, etc) and error checking can be very helpful to the user.
Still, congratulations to the launch (the app looks beautiful and UX is pretty solid)! When I was reading @mbostock's medium post[2] a few months ago I knew something like this will popup.
Anyway, back to building my own thing which focuses on the editing side of playgrounds, which I think is what most online ones (Codepen / JSFiddle) lack.
[0] https://microsoft.github.io/monaco-editor
[1] https://microsoft.github.io/language-server-protocol
[2] https://medium.com/@mbostock/a-better-way-to-code-2b1d2876a3...
Thanks for sharing! I've been using C-A/E a lot, but not really Alt-B/F. Wondering if there is a way to swap Alt-B/F to Ctrl-B/F? Moving between words seems much useful than going one char forward/backward, and arrow keys get those covered.
I work at VS Code and we recently switched to ripgrep for quick open and search. Even searching in Chromium source takes only a few seconds. Pretty impressive speed.
It's slow and difficult/annoying configuration problems keep coming up from time to time. It slows down my debug cycle and the compilation delay makes me lose my train of thought. I used to love using console.log() to quickly test an assumption in JavaScript; you cannot do this with TypeScript (it's not practical given the 5 to 20 seconds compile time);
Have you ever used `tsc --watch`? First build can take long but modification and rebuild takes < 1s.
you have to use the debugger every time and step through stuff (even when you have a very good idea about which specific variable you want to check) - It's extremely cumbersome.
You don't "have to" use the debugger if you prefer `console.log` all the way. However in the debugger there is a "watch" tab for inspecting specific variables.
Also it forces all developers to use bulky commercial IDEs like WebStorm because you rely more on code completion to help you figure out the right types. You can say goodbye to Atom, Sublime and the rest... Atom's TypeScript plugin is not good enough unfortunately.
VSCode? https://code.visualstudio.com/
Sorry but what is the use case for Babel + TS? I thought you use either Babel or TS but not both together.
Or to quote PG's Write Like You Talk[0]:
And in my experience, the harder the subject, the more informally experts speak. Partly, I think, because they have less to prove, and partly because the harder the ideas you're talking about, the less you can afford to let language get in the way.
Informal language is the athletic clothing of ideas.