It’s a curiosity to me that people using Vagrant in 2017 continue to use the “precise64” image. It’s Ubuntu 12.04 - a release from 5 1/2 years ago.
Mind you that is EOL since April 2017. A few years ago when I was using Vagrant one knew to use Trusty (14.04 LTS) or Xenial (16.04 LTS) just to have something reasonably current. Now it’s a matter of security patches, 6 CVEs since April.
Yes, that is why. Some of the available boxes lack installed guest additions, which is necessary for synced folders. Guest additions isn’t too hard to install, but I figured I would go with a box that I knew already had guest additions installed. It was just something I wanted to avoid during the post.
At work we use CentOS 7, and it lacked guest additions so I had to take the time to build a new version of the CentOS 7 box with guest additions installed.
I use our own debian boxes for most work, but there should be bento boxes for most major distros/versions.
There should be very little need for “end users” to build their own boxes from scratch.
Because hashicorp/precise64 used to be the only hashicorp box supporting the most important providers, and the corresponding pull request has been closed without actually updating the docs later.
Ugh… terrible arguments.
For those of us in the US (I’m going to ignore everyone else because I’m unfamiliar with the state of things in other countries) our First Amendment rights protect us from the government making any laws abridging freedom of speech. It’s a restraint on government, not on individuals or corporations. Individuals are free to discriminate based on speech.
Suppose you write a book, in the book your have some things that I find offensive. I’m free to not read your book or write bad reviews about your book because of my dislike for it. Anything less would be an infringement on my First Amendment rights. Now suppose I’m also a bookseller. My store is small but I sell many books. It’s my shop and I decide what to sell. Since I do not like your book I do not carry it. You may be upset with my decision to not carry your book as it will cause you to sell fewer copies. But it’s my store and I may do as I please. You may think my customers would object to me not carry your book, but most do not as they prefer my store because of the selection of books they I know I carry. It’s part of my competitive advantage against larger book stores. I’m still an individual, and choosing what I sell in my store is my First Amendment right, even though it affects my customers.
Net Neutrality is an important issue we need to talk about it. But Net Neutrality is not a free speech issue. It’s not. Period.
Facebook, Google, and Twitter have done far more to manipulate information and censor views they disagree with. Facebook is constantly manipulating our news feeds so we only see a select portion of the posts our friends make. Every month we learn of someone who was banned from Twitter because @Jack and friends decided the users tweets were offensive or hateful. What have ISPs done? Inject a few ads into web pages? Throttle some Netflix? That’s nothing.
What have ISPs done?
First Amendment rights protect us from the government making any laws abridging freedom of speech. It’s a restraint on government, not on individuals or corporations. Individuals are free to discriminate based on speech.
The First Amendment is a restraint on government AND any individual or business acting on behalf of the government.
A private business that has a mutually beneficial commercial arrangement with the government is acting on behalf of the government.
The federal government aims to provide all universal access to telecommunications and internet services. To this end, the Federal Government created the Universal Service Fund in 1996 to provide telecommunications and internet to all consumers (including schools, libraries, and individuals in rural, low-income, and high-cost regions) at reasonable non-discriminatory prices. This fund is paid for by individual consumers via the “Universal Service Fund” fee/tax on their monthly internet/phone bills. This fee/tax is then distributed from the Federal Government back to the ISPs through Lifeline and other programs.
In other words, ISPs are collecting a tax on behalf of the government, and then using the funds from that tax to, on behalf of the government, provide a service. One can clearly argue this pulls ISPs under the authority of the First Amendment.
Ill add to your excellent list my experience when Comcast et al were talking capped plans versus unlimited. The cap was originally way too small. The bigger problem was the system that counted usage was counting mine when nothing was connected. They were either glitching or forging usage data to attempt to force me into buying unlimited plan.
That went into the FCC complaint.
Comcast says their trackers were accurate…. but many others had similar complaints about wildly inaccurate readings (e.g. 300GB/day), and being offered the unlimited plan in lieu of an outrageous (inaccurate) bill.
All of that predates the FCC’s net neutrality regulations of 2015, so presumably all of that would still be resolved as it was prior to 2015.
In the 90s and early 00s, internet went over the phone lines which were considered Title II common carriers. Nascent broadband was considered an “information service” with more lax rules.
In 2005, ISPs argued that DSL should be considered an “information service” like broadband, instead of “common carrier” like phone lines. The FCC reclassified DSL and simultaneously laid out four voluntary principles of net neutrality.
That gets us to the hypothetical you’re talking about:
presumably all of that would still be resolved as it was prior to 2015
From 2005-2010, the FCC attempted to enforce net neutrality on the ISPs, which were classified as “information services”.
Comcast had a drawn-out legal battle over suppressing the Bittorrent protocol, and in 2008 the FCC ruled that Comcast had illegally inhibited Bittorrent activity. Comcast appealed the decision, and the court of appeals struck down the FCC’s ruling, arguing that the rules of net neutrality were not formal enough.
In 2010, the FCC formalized net neutrality by creating the Open Internet Order of 2010. This was immediately challenged by the ISPs, and Verizon filed suit in 2011. In 2014, the courts ruled in favor of Verizon, stating that the OIO rules could only be applied to Title II common carriers. So the FCC did the next logical step and reclassified broadband ISPs as Title II common carriers in 2015.
Now Ajit Pai is rolling that back, reclassifying broadband as an information service and completely nullifying any guarantees of net neutrality.
We can’t just go back to the way things were in 2005, because of the legal precedents which have occurred since then. Since 2014, the FCC cannot enforce net neutrality unless ISPs are considered common carriers.
Yes exactly. This all happened before FCC’s “Title II” vote in 2015, making it an example of what ISPs do without net neutrality.
(Perhaps I misunderstand your comment?)
What have ISPs done? Inject a few ads into web pages? Throttle some Netflix? That’s nothing.
Only because they haven’t been able to get away with much until now.
The thing is, I don’t want ISPs to be like a bookstore, with editorial discretion over what they allow you to connect to. ISPs ought to be dumb pipes. Especially with so little competition in a given region.
I do agree that mega-websites have more power than ISPs, and I’m all ears if you have suggestions on how to address that. But it doesn’t mean we should relent on net neutrality.
I don’t think anybody is disagreeing that net neutrality is incredibly important. But it’s not a First Amendment issue. First Amendment-wise, ISPs are completely free to provide access to any selection of content they want.
The book store is a good place to start thinking about this issue, as you’re absolutely right when talking about a small shop like that (because there are many other small shops), but that’s not what these ISPs are. These ISPs are giant mega-corporations whose customers number not in the hundreds but in the millions, whose customers often only have one ISP to choose from, and whose actions affect billions. The larger their influence, the greater the damage from them censoring speech, and the more government-like they become.
If you think killing free speech online is going to help your Facebook, Google and Twitter problems (and not make them 10 times worse), well, you are welcome to kill it and see what happens.
You don’t foster competition with mega corporations by making the market harder to compete in. You foster competition by lowering the barrier to entry in the market. Primarily by reducing regulations since the overhead of complying with regulation disproportionately effects smaller businesses. With reduced regulations startups can easily differentiate themselves from the big players by offering novel services the big players don’t. Think about how cell phone plans have improved over the years. Data is cheaper than ever, even though it’s much more difficult to deliver data to mobile devices than homes. Carriers are free to differentiate their offerings by pitching things such as free data for music streaming from online services. It’s a net plus for the consumer.
I don’t like mega-corporations anymore than anyone else, but don’t forget Facebook, Google, and Twitter support Net Neutraility, and they control more of what we see online than any ISPs:
Largest ISPs by number of customers:
Web services by monthly US users:
Now of course each ISP customer represents probably 3-4 users. Even with that factored in FB, Google, and Twitter still have more influence than the top three ISPs. And that’s excluding others like YouTube and Yahoo.
If you think killing free speech online is going to help your Facebook, Google and Twitter problems (and not make them 10 times worse), well, you are welcome to kill it and see what happens.
It doesn’t sound like you want to have an honest discussion about this important issue. I’m not going to be responding to any more comments on this thread. Good day.
sources:
Data is cheaper than ever, even though it’s much more difficult to delivery data to mobile devices than homes.
Is it, though? Last-mile wire installation is notoriously problematic. In contrast a wireless tower can cover a large area.
I’m very excited for satellite internet. Should only be a few more years until it’s widely available…
Satellite internet access has been sporadically available for decades. It’s super expensive to deploy or repair (hah!) the equipment. Lots of money burned up so far. The latency is awful, and there’s not much to do about it unless you can change the speed of light. Only makes sense in remote areas with low population density. Even there, you’re better off with point-to-point long-distance wifi.
Yeah the latency with geosynchronous satellites is pretty awful. What I’m looking forward to is low-earth-orbit satellite internet by OneWeb and SpaceX. “OneWeb’s 50Mbps Internet with 30ms latency could hit remotest areas by 2019.”
But Zsh does have a visual mode! Don’t rebind v to something else. Pick something else: I use ‘^X^E’.
I’ve seen this bind v to edit-command-line advice before, probably because oh-my-zsh does it. I can only guess that the existence of visual mode simply isn’t obvious because by default it is highlighted in a manner that is indistinguishable from the cursor. My advice is to pick something more obvious and set it in zle_hightlight. Note that much of the zsh documentation talks about the “region” which is emacs terminology.
Does Zsh have a visual mode? If so it’s not on by default, or at least by default it’s not mapped to v in command mode. I also could not find any documentation on Zshell visual mode. Can you provide links to any documentation or articles on this? Closest thing I found was a Zshell plugin that implemented this behavior (https://github.com/b4b4r07/zsh-vimode-visual).
Go to http://zsh.sourceforge.net/Doc/Release/Zsh-Line-Editor.html or type man zshzle and search for the word “visual”. There are several references. The feature was added three years ago. In general for vi-mode I would recommend using at least 5.0.8 and preferably 5.1 or newer as a lot of vi/vim related improvements were made around the time of those releases. To verify, run zsh -f and try bindkey -a v and you should find v is bound to visual-mode. There’s also visual-line-mode for V and a visual keymap.
Wow! How did I miss that?! That’s really nice, and much faster than opening Vim. I will remove my custom mapping and update the blog post accordingly.
It looks like you’re using oh-my-zsh. The vi plugin seems to remap v: https://github.com/robbyrussell/oh-my-zsh/blob/3705d47bb3f3229234cba992320eadc97a221caf/plugins/vi-mode/vi-mode.plugin.zsh#L20
I actually decided against using that vi plugin for some other reasons, so at least in theory v should be mapped to the default command.
We’ve got a few additional hacks in prezto you might be interested in: https://github.com/sorin-ionescu/prezto/blob/master/modules/editor/init.zsh
I don’t personally use it, but one of our regular contributors has submitted multiple improvements and if you have any other ideas, we’d love to hear them!
Thanks! I’ll comb through it and see if I can find any other gems. I’m still pretty new to Vi mode so this blog posts pretty much sums up what I’ve learned so far.
``We don’t ever use promises in Erlang.’’ Yes, this is true (for me). Promises are a pattern that I would call an anti-pattern in Erlang.
Yes, definitely an anti-pattern. This post was targeted at non-Erlang developers, specifically JavaScript devs. JS devs use promises extensively and I was trying to show how a language with a good primitives can easily implement other asynchronous design patterns.
Are you aware of the Common Lisp library named ASDF? I don’t usually nitpick names, but the use cases for the two ASDFs are similar enough that it confused me until I browsed through the repo and realized it wasn’t what I thought.
Yes we are aware. This is pointed out almost every time we post about it on Lobsters or HackerNews. I’m not sure we will ever rename it, but I have thought about trying to rename it to “AEVM” (An Extendable Version Manager). Might be a better name, but not sure if it’s worth the hassle.
[Comment removed by author]
Yes it is unfortunate, but I haven’t seen any serious confusion come from it. More about it here: https://lobste.rs/s/aqijyr/asdf_extendable_version_manager_for_ruby/comments/ke9pwl#c_ke9pwl
I don’t understand how this could work:
lock_id = throttler.get_lock("example.com", limit: 10, expires_in: 2.minutes)
if lock_id
# perform the job here
else
# delay the job
end
get_lock always returns SecureRandom.hex(5) from what I tell.
@Stratus3D the unique_key option was added so that we can track jobs by giving it our own unique key. So for xyz.com:123abc, where xyz.com is the facet and123abc is the unique key (and the ID of an item in our db), we know that the item ID being processed is 123abc for the xyz.com site.
As a good side-effect, I later realized that if I use the nx option when inserting a key along with the unique_key option, then I could avoid jobs running for the same item at the same time.
Neat, but maybe just link the cheatsheet directly?
I wanted to give an introduction to the cheatsheet. There are already several Erlang cheatsheets available and I wanted to explain why mine contains the things it does. It doesn’t include everything, just the easily forgotten things.
Ah, gotcha gotcha! :)