The default branch for newly-created repositories is now main
- Users, organizations, and enterprises that previously selected a default branch for new repositories are not impacted by this change.
- Existing repositories are not impacted by this change.
- Later this year, you'll be able to rename the default branch for existing repositories for your user, organization, or enterprise account.
- This change is one of many changes GitHub is making to support projects and maintainers that want to rename their default branch.
- To learn more about the changes we're making, see github/renaming.
Compiling a Lisp: Let
- This time we’re going to compile a new form: let expressions.
- There is a form that makes bindings available serially, but that is called let* and we are not implementing that today.
- Env_bind is a little silly looking, but it’s equivalent to prepending a node onto a chain of linked-list nodes.
- You will, like I had to, go and add an Env* parameter to all relevant Compile_XYZ functions and then plumb it through the recursive calls.
- As with all of the other compiler functions, we pass it an machine code buffer, a stack index, and an environment.
- We have two environments for the reason I mentioned above: when we’re evaluating the expressions that we’re binding the names to, we can’t add bindings iteratively.
- We’re compiling this binding expression in binding_env, the parent environment, because we don’t want the previous bindings to be visible.
A Brief Guide to OTP in Elixir
- In this article, I will introduce you to OTP, look at basic process loops, the GenServer and Supervisor behaviours, and see how they can be used to implement an elementary process that stores funds.
- For example, let’s imagine that we need to create a process that mimics the funds in a palace treasury.
- To start off, let’s create a module called Treasury, and add the GenServer behaviour to it.
- Since this will be the only treasury of the palace, let’s also give a name to the process equal to its module name when spawning it with start_link.This will make it easier to refer to it.
- In its most basic, a supervisor has two functions: start_link(), which runs the supervisor as a process, and init, which provides the arguments necessary for the supervisor to initialize.
- Running the Palace.Treasury.Supervisor.start_link() function will open a treasury, which will be supervised by the process.
- I have invented Suicide Linux.
- Suicide Linux now appears to be a genuine Debian package.
- That way, when you run a bad command, you are told immediately that things are being deleted and you have a fighting chance to cancel the operation before your system becomes inoperable.
- This allows you to see how long you can work and how many files you can lose before the system fails entirely.
- As another, slightly more serious suggestion, if Suicide Linux randomly deleted a single file without telling you every time you made a typographical error, it might be an interesting look into the stability of your operating system and an educational tool for diagnosing and repairing corrupted systems.
- I'm not pretending Suicide Linux has any genuine merit, of course.
- Suicide Linux is now a Docker image.
The internet needs our love – The Mozilla Blog
- I’m not talking about whether you have a wi-fi signal or can get online for work or school — in that sense the internet is doing its job for most of us, connecting billions of people around the globe.
- Whether it’s enjoying the absurd — long live cat videos — or addressing the downright critical, like beating back a global pandemic, we all need an internet where people, not profits, come first.
- It’s time to take control over what we do and see online, and not let the algorithms feed us whatever they want.
- We’re here to prove that you can have an ethical tech business that works to make the internet a better place for all of us.
- That’s what this is all about: working together to unfck the internet.
- It’s time to unfck the internet.
Ask HN: Who is hiring? (October 2020)
- Join our social enterprise that trains capable, low-income youth into world class software developers and provides them with life-changing remote work.We’ve spent the last two years training an inspirational group of students to become strong front end web developers and are now looking for two front end developers to help us progress onto the next stages.We’re looking for:1) Front end Teacher: Develop and deliver a second-year front end web development course that will allow students to extend their knowledge and prepare them for their future careers.
- We’ve spent the last two years training an inspirational group of students to become strong front end web developers and are now looking for two front end developers to help us progress onto the next stages.We’re looking for:1) Front end Teacher: Develop and deliver a second-year front end web development course that will allow students to extend their knowledge and prepare them for their future careers.
Ask HN: Who wants to be hired? (October 2020)
- Remote: Yes, been working remotely for over seven yearsWilling to relocate: Yes, will have to be post-COVID thoughTechnologies: Fullstack - Python, Flask, Django, React, React-Native, Redux, GraphQL, Svelte, Ansible, Postgres, Cassandra, WebRTC, X.509/TLS/CA/Web PKI, AWSRésumé/CV: https://vivekagr.com/Email: vivek at vivekagr.com---- With all time being spent indoors due to COVID, I'm willing to work in Eastern timezone (UTC -4).- Looking for part-time or full-time engagement.
Lossless Compression of English Short Messages (Using GPT-2)
- This lossless compressor achieves a much higher compression rate on English texts than general purpose compressors.
- Its typical compression ratio is 15% (number of output bits divided by the number of input bits).
- The compression is achieved by using the probability of the next word computed by the GPT-2 language model released by OpenAI.
- It is a neural network of 345 million parameters based on the Transformer architecture (the largest GPT-2 model of 1.5 billion parameters brings marginal improvement when compressing short messages).
- An arithmetic coder generates the bit stream.
- For this demo, each compressed character holds 15 data bits by using the CJK and the Hangul Syllables unicode ranges.
- The Linux standalone command line version (gpt2tc) can be downloaded here.
- Compression ratios on several text compression benchmarks is listed in the gpt2tc documentation.
- A similar model can be used to complete text messages.
Tracking Mixed Bitcoins
- Please join the Simons Foundation and our generous member organizations in supporting arXiv during our giving campaign September 23-27.
- 100% of your contribution will fund improvements and new initiatives to benefit arXiv's global scientific community.
- Both individuals and organizations that work with arXivLabs have embraced and accepted our values of openness, community, excellence, and user data privacy.
- arXiv is committed to these values and only works with partners that adhere to them.
- Have an idea for a project that will add value for arXiv's community?
- Learn more about arXivLabs and how to get involved.
- We implemented it based on Github actions, and you use a YAML file (The configuration format is the same as Github actions) to build your workflows.
- If you have already written a Github actions file, it's very easy to define an Actionsflow workflow file, and you can use any Github actions as your job's steps.
- Actionsflow uses Github Actions' repository_dispatch event and per 5 minutes' scheduled event to run Actionsflow triggers for getting result items, and do some caching and deduplication works, then generating a standard Github actions workflow file with the trigger result, then calling act(a tool for running GitHub Actions locally) to run the built workflow files.
- Learn more about How Actionsflow worked, please see Core Concepts of Actionsflow.
- You can explore Triggers List or Awesome Actionsflow Workflows to get more inspired.