Where in Europe is electric car a good idea? - <AUTHOR> https://jakubmarian.com/where-in-europe-is-electric-car-a-good-idea/ <comment><USER2> Electric vehicles can be charged overnight and at off-peak times, so it's reasonable to assume they use a higher-than-average share of low-carbon energy.

For example, around 50% of the UK's electricity production is from low-carbon sources (renewables and nuclear). But a much higher percentage of _off-peak_ power is low-carbon. After midnight, close to 100% of the grid is low-carbon because the gas turbines spin down while the wind turbines and nuclear reactors keep running. EVs and smart chargers/smart grids will help us make _better_ use of clean off-peak power!

Also, grids will continue to get cleaner over time. An EV purchased today will have lower and lower emissions as it ages, but a combustion vehicle will only get worse!

<comment><USER3> Yeah, but does anybody do that?

If I had an electric car, I'd charge it overnight. I don't get different pricing at different times. There has been talk of introducing that for decades now (in Germany), but I'm not sure it is coming soon, nor that I'd like it. Probably, it would become just more expensive when I need it most, without being able to change my usage patterns much.

<comment><USER4> In the UK off peak tariffs are available. It's a bit of a pain because it requires two meters but if someone was installing an electric charging point I imagine many would add an economy 7 (the name of the off peak tariff) meter at the same time.

<comment><USER5> _it requires two meters_

Why?! Two-rate meters have been around for decades, long before they went digital.

<comment><USER4> Ok, it may require changing to a two rate meter then :)

Never actually used an economy 7 tariff myself so I don't know the details but the point is most houses in the UK aren't equipped to have one. However a home-owner choosing to install a charging point for an electric vehicle will probably switch to a suitable metering setup for economy 7 whilst they're at it.

<comment><USER2> _" Never actually used an economy 7 tariff myself so I don't know the details but the point is most houses in the UK aren't equipped to have one."_

All homes in Britain will have smart meters installed by 2020:

[https://www.smartenergygb.org/en/smart-future/about-the- roll...](https://www.smartenergygb.org/en/smart-future/about-the-rollout)

These support Economy 7, as well as whatever other variable tariffs that energy companies dream up in the future.

</comment></comment></comment></comment></comment></comment><comment><USER6> A huge benefit of electric cars is removing pollution from cities; this seems to be forgotten.

Surely if the pollution is killing thousands of people a year this is an issue.

<comment><USER7> It's not forgotten by the authorities! In the SF Bay Area the local air quality council subsidizes electric car chargers. EVs reduce the total pollution and moves what's left out of the prone-to-atmospheric-inversions Bay Area.

<comment><USER8> Isn't ozone worse than traditional pollution and the main byproduct of electrical cars? So unless we go into a draconian charge laws, will cause more harm in this regard.

[http://www.iop.org/news/11/april/page_50606.html](http://www.iop.org/news/11/april/page_50606.html)

<comment><USER2> NOx from diesel vehicles is by far the most significant source of ground-level ozone in most European cities.

[https://en.wikipedia.org/wiki/Tropospheric_ozone#Formation](https://en.wikipedia.org/wiki/Tropospheric_ozone#Formation)

</comment></comment></comment></comment><comment><USER9> Even if the CO2 balance would be a close call right now - one needs to take into respect that over the lifetime of an electric car, the electricity production in most places is going to have a much reduced carbon footprint. And of course, electric cars don't produce local pollution and create much less noise. Finally, electrical cars are an important step in producing batteries cheap enough for energy storage applications.

<comment><USER10> Indeed. When everyone has a combustion engine, the problem is completely decentralised and hard to solve. When everyone has an electric engine, the problem is centralised (the power plants).

<comment><USER11> On the other hand, cars have a much shorter lifespan than power plants. The average age of a European car is 10 years. What's the average age of a power plant?

</comment></comment></comment><comment><USER12> This article is total nonsense. No data sources provided, claims 78g/Km CO₂ for Norway with 98% renewable energy. Also completely ignores energy use for production of fossile fuels and apparently uses the circulating wild guesses for CO₂ emissions during battery production (which Elon Musk has commented on...).

<comment><USER13> Without commenting on the figures of this article, generally EV CO2e footprint is manufacturing-heavy -> total lifecycle per-km footprint is still substantial without any emissions from charging energy.

<comment><USER12> > _total lifecycle per-km footprint is still substantial without any emissions > from charging energy._

The "total lifecycle CO₂-per-Km footprint" is a pointless and deliberately misleading figure when its basis of calculation is (almost completely) independent of the distance driven, but it suggests that driving the vehicle is subject to a high amount of emissions per Km. The opposite is true: EV lifecycle CO₂/Km becomes lower the more you drive.

Besides, deliberately including highly speculative CO₂ amounts from vehicle production and refuelling should be done in all cases: how much CO₂ is emitted by ships and satellite launches used in detection of crude oil reserves?

<comment><USER13> Vehicle wear and retirement is closely related to total distance driven, so when looking at EVs in the aggregate, a per-km perspective works fairly well.

</comment></comment></comment></comment><comment><USER14> France electricity is mostly (72%) from nuclear power. Aka the most under- appreciated clean energy that everybody is panicky about and wants to get rid of. Which means, unless you have a luxury of having tons of hydropower or something, nuclear is probably the best way to lower carbon footprint. Of course, this is also the least discussed way.

<comment><USER15> I am one of the "panicky" ones and I want to explain my point of view.

When I was a kid, living in the equivalent of Kentucky, a nuclear accident in the equivalent of the Bahamas made it so we couldn't eat wild berries from the woods anymore.

Now a middle aged man over 30 years later, sheep from my home area still measure levels of radioactivity too high for human consumption.

That's why I feel most options are better than nuclear power, for any purpose except perhaps space probes.

<comment><USER16> If you look at the seriousness the human race dedicated to creating safe nuclear energy, it looks almost comical:we settled on the first technology we found(pressured water reactors), because it fitted best for the requirents of the Navy at the time, not because it offered the best safety for citizens, far from it.And than, in the name of safety, we created an environment that prevented from new designs to become commercialized.

Why wasn't it safe ? Because that type of reactors creates a lot of high pressure radioactive gassses , and in the case of an accident, those gases spread far.

But we now have reactors types that (a) can't physically blow up , their temperature is limited, and (b) contain very little to no radioactive gasses , so even in the worst case scenario, we'll be just left with an enclosed pool of radioactive material, which is safe.

So please don't judge nuclear by it's past.

<comment><USER17> > "But we now have reactors types that (a) can't physically blow up , their > temperature is limited, and (b) contain very little to no radioactive gasses > , so even in the worst case scenario, we'll be just left with an enclosed > pool of radioactive material, which is safe."

Interested in learning more about these reactor types. I hear different reactor names discussed, but I'm not sure what's right on the cutting edge.

<comment><USER16> I think moltex is among the best.

</comment></comment></comment></comment></comment><comment><USER18> English isn't my first language, but this title doesn't sound right. Not sure if it's incorrect but it just doesn't taste right.

I'd say "where [..] are electric cars a good idea" or "where [..] is _an_ electric car a good idea". Am I crazy?

(This OT grammar nazi question was triggered by the author pushing his grammar book right at the page top)

<comment><USER19> As a native English speaker, I can confirm you are not crazy; it needs an article.

<comment><USER20> That or change it to talk about electric cars in general.

Where in Europe are electric cars a good idea?

edit: Also I think we'd have something that breaks Betteridge.

</comment></comment></comment><comment><USER21> I'm a bit tired of all these CO2 comparisons regarding electric vehicles. If we put the CO2 emissions aside, there are so many other benefits moving to EV's. Especially reduced local pollution in cities such as NOx, VOC and particulate emissions. Even if we just look at noise and easy maintenance, electric cars are clear winners. All this focus on CO2 just leads to a lot of inaccurate napkin calculations on one part of the issue, taking focus away from the bigger picture.

That being said, for cities, cars in general are problematic since the consume so much space. I'd say electric bicycles and public transportation is the way to go for cities.

<comment><USER22> As an added bonus, the big coal exporting countries tend to be relatively more democratic than the big oil exporting countries.

I.e. electrical power is already relatively cleaner by not supporting horrible regimes (cf. Saudi Arabia or Nigeria).

</comment></comment><comment><USER23> Oversimplified. Electric car can act as storage for renewable energy. Moreover charging happens at night when a lot of countries experience oversupply of energy (e.g. in Poland electricity is cheaper during night hours).

<comment><USER24> I agree that you can make significant savings with G12 tariff in which night usage is about 30% cheaper than during a day in comparison with fixed-price G11. But unless you have your own source of renewable energy your car will be charged with power from coal power plant. So maybe you can charge your car for less but you still use fossil fuel and it doesn't change much in amounts of emitted CO2.

</comment></comment><comment><USER25> Zero tailpipe emissions is worth far more than you are internalizing.

CO2 is not the only pollutant that matters. NOx and sulfur emissions are arguably worse in term of quality of life in cities.

<comment><USER2> And noise! Not so much from cars, which are reasonably quiet these days. But trucks and motorbikes, especially, can be appallingly loud and make our cities unpleasant places to be.

<comment><USER26> The greatest sound pollution from cars is the tires noise. At low speeds this is not noticable but the faster you go the worse it is, I believe engine noise is overtaken by tire noise somewhere above 30km/h.

This sound is spread 10km in each direction from a highway, the areas which are truly spared the noise of cars are hard to find these days.

<comment><USER2> With cars, at highway speeds, you're right - but engine noise is a much more significant factor for motorcycles (some of which are _absurdly_ loud) and heavy trucks/buses.

In built-up cities, like London, these vehicles are usually traveling at relatively low speeds anyway, so it's really engine noise that is the problem.

</comment></comment></comment></comment><comment><USER27> The numbers seem off.

A Nissan LEAF - which is not particularly efficient - uses 175Wh/km and burning coal for electricity produces ~1000g CO2/kWh, so even after factoring in grid losses(8%) and charging losses(another 8%) the number is still 204g/km.

That's approximately how much a similarly sized car emits in dense urban traffic(assuming 7,5l/100km).

</comment><comment><USER28> EVs are a good idea everywhere.

Even if the power they use is dirty now, upgrading the power sources that feed the grid is a lot easier than upgrading millions upon millions of cars. It is for many reasons a much easier problem to solve.

</comment><comment><USER29> Not to forget that petrol is fueling terrorism. And oil tankers on the oceans are an additional source of massive pollution.

</comment><comment><USER30> The problem is that you're assuming that the makeup of electricity production in Europe is a constant, which is strange, because it's probably _easier_ to build low-carbon electricity infrastructure than replace tens of millions of gasoline cars. But the fuel used for gasoline cars is constant, whereas an arbitrary percentage of electricity production can be simply replaced by renewables. Similarly, the CO2 output of car manufacturing itself is variable, dependent on the choice of electricity production method. Of course, a dramatic increase in car production translates to a dramatic increase in resource usage, but cars are not particularly durable commodities, usually lasting only about 15 years or so.

A bigger problem is that the Baltic states (worst electricity prospects in this study) don't have a whole ton of renewable energy potential. It's dark, not (that) windy, not mountainous or volcanic...

</comment><comment><USER31> One thing I couldn't find in the vizzes is that Europe shares its energy grid for a large part. This means that a large portion of energy consumed in say Germany might well be produced by a nuclear plant in France. It's harder to reflect these flows and get data for it, but I assume it changes the picture.

<comment><USER32> The cross-border flows are relatively small compared to domestic production.

Click on any country to see the flows: [https://www.electricitymap.org/?wind=false&solar=false&page=...](https://www.electricitymap.org/?wind=false&solar=false&page=country)

</comment></comment><comment><USER33> To many people this map has little value because it includes nuclear power. The article explains that this is a problem too.

So why not try to create a map that takes the nuclear waste/accident problem into consideration.

For example France would look at lot worse since they are mostly run on nuclear power and the northern European countries would look more like an "environmentally friendly lighthouse". Which they are, mostly because some of them get to use easily exploitable geothermal energy.

It would also be great to get an insight in the source of your data you've based this map on.

</comment><comment><USER34> "Countries where electricity is mainly generated from natural gas. Electric car carbon footprint is globally equal to diesel car or gasoline car"

Is this true? My understanding is that EV's power by electricy generated from natural gas is better than gas powered cars.

This Scientific American article gives a lot of detail on where EV's are better in the US

[https://www.scientificamerican.com/article/electric-cars- are...](https://www.scientificamerican.com/article/electric-cars-are-not- necessarily-clean/)

</comment><comment><USER35> One of the many things missed in this study is that the switch to EV is not "to reduce greenhouse effects", but to do that _while keeping the car industry alive_. It if were all about global warming, we could all switch to trains and bikes tomorrow; but fixing environmental problems _without challenging established equilibria in terms of employment and economic output_ , that's the hard bit.

</comment><comment><USER36> Everywhere, because oil is an ending resource. Electricity is already way more sustainable and cleaner, and this can only become even better soon.

</comment><comment><USER3> Wait, you can choose what kind of energy you are using. In Germany at least, you can choose a utilities company who gives you 100% renewable energy (at a slightly higher price).

(Of course, I know that you get the same electrons - electricity is fungible. But you do increase demand for renewable energy, and in the long term change the energy mix.)

</comment><comment><USER37> This goes completely against another recent report that said even electric cars running on coal would still reduce CO2 emissions after about 3.5 years of average use, simply because the internal combustion engine is so woefully inefficient. (With green energy it was 2.5 years.)

I'm afraid I can't find a link to that article right now.

<comment><USER13> Sounds unlikely given the high manufacturing and materials share of lifetime CO2e footprint of EVs.

</comment></comment><comment><USER38> The source seems to be here: [http://euanmearns.com/co2-intensity-of-electric- cars/](http://euanmearns.com/co2-intensity-of-electric-cars/)

It's unclear on a first skim whether the (constantly rising) energy costs of fossil fuel extraction are included.

<comment><USER39> He admits the he neglected to include the carbon cost of constructing the internal combustion engine while including the carbon cost of building electric vehicles, so I would assume he's not been that thorough.

Also, pretty sure he is not considering the rapid increase in photovoltaic electricity production as the cost is dropping below that of coal, the current cheapest source of electricity.

EDIT: Also carbon capture at the powerplant is definitely easier than at the tail pipe.

</comment></comment><comment><USER40> I'd say a better title for this article/graph would be "How would electric cars affect CO2 output in European countries?" or something along that line.

There's far more to a specific car being a good idea considering the differences between EVs and ICEVs (but of course the needs vary inside countries as well). However, an electric car is much less attractive in a land of long distances where you often need to keep the batteries pre-heated to provide even reasonable range (and even keep your warranty!) – even if the country's electricity production is not dominated by fossil fuels.

<comment><USER41> E.g. Norway, the country where EVs are the most popular in the world?

<comment><USER40> EVs being popular have little to do if they are the best cars there – the gov subsidizes the hell out of them (compared to other cars that are highly taxed to pay for the welfare state) so much so, that a Model S retails there for about the same as a $25,000 Audi (US price).

(And why is Norway so rich to begin with, you don't need to wonder.)

</comment></comment></comment><comment><USER42> Have to admit, I expected a slightly more general look at the situation here, not just the places where an electrical car does less harm to the environment than a normal one. For example, it might reduce CO2 emissions to have an electric car in London... but at the same time it may be better (and more convenient) to just not have a car there at all. Who cares how good it is for the environment it is if you can't find parking, traffic is a nightmare and there are many better options involving public transport?

</comment><comment><USER43> Wow, we're still doing this? Is it 2000 yet? Please don't start with elaborate secondary effect models unless your model can accurately account for all CO2 emissions of a country per year. Until then, all I'm seeing is someone fudging numbers and components to include/exclude in search of a preconceived conclusion.

The first obvious failure is not accounting for the electricity that already goes into refining oil to gasoline and diesel. A comparison that stops at the exhaust pipe for ICEs is straining credibility.

</comment><comment><USER13> It's not clear that this is the right way to judge "good idea". Specifically it's possible that oil saved from replacing ICEs will still be burned, in which case EVs strictly increase CO2 emissions due to their manufacturing being very CO2 intensive.

In the wider picture, EVs still have such big lifecycle CO2e footprints that we'll still have to drastically reduce private car use. Focusing on EV technology is a major distraction from recognizing this as a society.

</comment><comment><USER44> It's quite annoying that he doesn't link to the data source used to create the map. It is hard to know if his data takes into account energy imports/exports or not. For example, Germany's domestic electricity production is largely based on coal and natural gas but it also imports a lot of electricity from the Nordic countries which is generated using clean hydro power.

</comment><comment><USER45> This is skewed. My father has solar panels and an electric car. So its charged overnight by the battery at his home. This is how you should use electric cars: Start using solar panels. Its a logical combination. Electric cars accelerate decentralised energy plants (like local solar panels).

</comment><comment><USER46> If you own an electric car in the UK you can choose an electricy supplier which provides 100% renewable electricity, e.g. [https://bulb.co.uk](https://bulb.co.uk)

</comment><comment><USER47> Has anyone done a similar study in the US? I'd love to learn if electric cars here are really helping the planet.

<comment><USER48> This is oldish

[https://www.citylab.com/environment/2015/06/where- electric-v...](https://www.citylab.com/environment/2015/06/where-electric- vehicles-actually-cause-more-pollution-than-gas-cars/397136/)

<comment><USER47> Thanks!

</comment></comment></comment><comment><USER49> Norway

It's all in the subsidies.</comment>


Ask HN: My cofounder is pregnant, what should I do? - <AUTHOR> So, myself and my cofounder have been bootstrapping a project that we're both really excited about.  We launched a prototype, got lots of great feed back, we are writing a bunch of code, did a bunch of planning, communications, fundraising and marketing. We're scheduled to receive a grant in a few months that should allow us to take things to the next level. We discussed having equal ownership but we haven't yet formed a company.
We're aiming on launching version 1 of our product in a few months.  Here's the thing, that same month, she will be giving birth to her first child and will be taking a year-long maternity leave.  Over the course of the last 6-months she has proven to be a top notch partner; thorough, bright, inspiring, motivated, complimentary in skills, and finally, she has become a good friend of mine.
I really don't know what to do. I want to work in an environment that puts family first, but I feel like I can't afford that right now. I don't think it's fair for me to build this business myself over the course of the next year or so while only owning half of the project.  Plus, I don't know if I can do it myself?  Finally, I don't think it's fair to expect her to do any work during her maternity leave.
Any thoughts? I would love some feedback from any female or parent HNers out there. <comment><USER2> Male. Parent. First kid born during a startup I founded. My spouse works with me in my current startup, reads and occasionally posts here, and will smack me down publicly if I'm wrong about this.

(1) A full year isn't "maternity leave". Companies are (reasonably) expected to work around maternity leave, but professional moms routinely come back to work a few months after giving birth. Staying at home with a baby for a year is totally reasonable, but casting that as "maternity leave" is less reasonable.

(2) But please note that there may be benefits-related reasons to maintain employment status or calling a stretch of time "maternity leave". The next 9-12 months are going to be health-insurance-intensive. COBRA is very expensive and suboptimal for other reasons too.

(3) If neither of you have left your day jobs, neither of you have started the company yet, and this is all a moot point.

(4) All else equal, the primary thing you're valuing with founder equity is risk taken. Outside of exceptional circumstances, you shouldn't be giving equal allocations to people who aren't full-time at the company. But re-read point (2) and don't look for reasons to call someone "not full time" when they are effectively full time. There are also knobs you can turn here; for instance, if cash flow is the biggest problem in the first year of the company, and your cofounder is still pulling in a salary, maybe she can kick some back to the company to retain status. Or maybe you can keep the allocations simple but start the vesting clock for her later than yours.

(5) Remember that your startup idea, as excited as you may be about it, is _going to fail_. Virtually all of them do. There is an overwhelming survivorship bias in the stories we read online about startups. You will have 100 better ideas for startups over the next couple years. You will _not_ find 100 ultra-compatible cofounders. So another knob you can turn: keep this current idea small and side-project-y, don't go out of your way to grow it, wait out the new parenthood stuff, and then pick something else up next year.

<comment><USER3> Great points. I would also suggest:

Ask her what her thoughts are _without_ giving any indication that you have reached any conclusions in your own mind already. Just pull information out of her and not push any over into her during this chat. Maybe she will offer something that will work without you pushing for anything.

<comment><AUTHOR> That's great advice, thanks.

</comment></comment></comment><comment><USER4> You need to have a frank discussion with your co-founder ASAP. Is the plan really for her to do no work at all for a full year? I don't see how that's possible as a startup co-founder. For instance, how will you pay your bills?

This is a major risk/threat to your startup and you need to plan carefully on how to managed it if you plan to be around by this time next year.

Also: [http://www.quora.com/Pregnancy-and-Work/Is-it-wrong-to- fire-...](http://www.quora.com/Pregnancy-and-Work/Is-it-wrong-to-fire-an- unvested-co-founder-who-becomes-pregnant-at-a-startup)

<comment><AUTHOR> Thanks for the link. And yes, this will be her first child so she is planning to take the year off (she'll be on maternity leave from her "real" job). She the kind of person that would probably squeeze in extra time for our project when ever should could, but I don't know if I want to put that stress on her.

</comment></comment><comment><USER5> I think a fair way to treat it may be to set up a schedule for your equity to be vested, if you did not do that already.

Say, typically your equity may be vested over 5 years. If she had put in a year so far then 20% of her equity has vested. The rest will start accruing once she re-joins the company.

That would be a fair way to go I think because if she does return then you can continue your partnership.

<comment><AUTHOR> Great suggestion. How would you take into account the entry of a new partner in year 3, for example? Would that new partner just dilute everyone? Can you suggest any good reading on vesting schedules?

</comment></comment><comment><USER6> I'm not female nor a parent (yet), but I also believe in a family-first environment. My startup is in the education field, so children and families are at the core of why we're doing what we're doing.

Here's one thought:

What if your cofounder wasn't pregnant, and simply wanted to take a year off? How would that change the way you think everything?

In other words, forget the fact that she's pregnant (or even that your cofounder is female, in case that's swaying your opinion), and just think about it as a generic cofounder with complimentary skills that will be departing for a year.

This would raise some thoughts and questions for me:

1\. How likely will your cofounder come back in one year?

2\. How do you keep going forward alone? (e.g. hire, find more cofounders, etc)

3\. How do you compensate her for the IP she's already contributed? (i.e. company equity, consider her work done as a loan to be repaid, etc)

4\. If the compensation to her is equity, what is the equity split? My guess is it wouldn't be 50/50, but what is a fair amount that compensates you adequately, yet still provides an incentive for her to return?

5\. How will being alone for a year effect your fundraising activities? Most investors invest in teams moreso than ideas. If you are doing this alone for one year, investors will likely view you as a single founder.

It's very likely that you come up with a contingency plan and hire contractors to keep you going for a year, then when your cofounder returns, she returns to her part of the venture.

Or, you part ways amiably, and her compensation is a small equity stake and a role as an advisor or something, while you seek another cofounder to continue.

I wish you the best of luck. Hopefully you both can talk it out and come up with a suitable arrangement for you both.

<comment><AUTHOR> Very good points, thank for this new perspective. If she were taking a year off for other reasons I would think about it in a very different way. But ultimately, the outcome would be the same.

You're right, we need to have this conversation before we dump more time into this.

</comment></comment><comment><USER7> You guys have contributed equals parts so far create the company and split it evenly. Don't be greedy, focus on making the pie bigger not getting a bigger piece of the pie. Don't complain because she might benefit from your work along with you.

As a co founder, she should have a commitment to the project and will probably contribute in whatever capacity she can for the time being. If she is as valuable as you claim, she is worth keeping around and will probably return as soon as she can. If you need help with your project, get some.

<comment><AUTHOR> Very good points. To be honest, I'm not too concerned with ownership. However, I do have a sense of this situation not being fair. The real problem is that I need her help, and I'm going to have a really tough time finding someone who has her passion, skill set and motivation.

<comment><USER8> Ah, thats probably the most clear cut description of your problem then.

So for argument sake - this could just as well be a male co-founder who has a major personal issue that he needs to take care of, but his skills and presence is needed.

So this is a "see what knobs you can turn" situation. What are your hard limits - do you have to be cranking it now? Can you focus on some other part of the project? can you slow down the pace? Do you have to meet some deadlines? Can their work be done in advance? Basically - What are the knobs you have? Figure that out, and then twist to get the best fit.

As someone pointed out, a good co-founder is hard to find. Also, this is a pretty important time for her too, shes got two things she is strongly invested in, and having to make a choice like this sucks.

</comment></comment></comment><comment><USER9> Tricky situation!

Here are my observations based on what you described:

The very fact that you're thinking if it would be fair for you to build the business on your own while owning only half the business suggests to me that it's only the incentive of owning more of the business (or rather the lack of such an incentive) that is preventing you from actually doing it on your own. You already know you will be able to do it alone deep inside or so your style of writing suggests.

That said, I would suggest you speak to your co-founder about how the business should grow in her absence. That should get the ball rolling and set the tone for one of you to bring up this topic.

</comment><comment><USER10> I'm sure your cofounder has thought of this too. At some point did you miss the opportunity to have a discussion about the future of the startup when she leaves for maternity leave? Or is she convinced you can do the majority of the work for a year and the matter is settled in her mind? _edit_ Anyways, you have to have a discussion with her. It's going to hurt less now than later.

<comment><AUTHOR> She was very nervous she decided to tell me she was pregnant; I told her that I was excited (which was honest) and that we should think about it and discuss it later. Then we developed a plan up until the month of our launch and her pregnancy. And to be honest, we haven't discussed what will happen going forward from there.

You're right, we need to have that conversation sooner rather than later.

</comment></comment><comment><USER11> Figure out a way to buy her out or whatever needs to be done to get her out of the picture, how can someone take a year off as a startup founder? That doesn't make sense.</comment>


Five years of IPv6: whither the next five? - <AUTHOR> https://blog.apnic.net/2017/06/06/five-years-ipv6-whither-next-five/ <comment><USER2> I've had IPv6 natively for 4+ years in San Francisco[0] on my residential cable connection. This appears to be one of the few things Comcast does right.

Without any extra effort the following sites (small sample from Alexa top 500) use IPv6:

* google.com

* youtube.com

* gmail.com

* facebook.com

* wikipedia.org

* netflix.com

Without IPv6 (no AAAA DNS records):

* reddit.com

* amazon.com

* twitter.com

* news.ycombinator.com

* imgur.com

* bing.com

* ebay.com

It's happening, slowly. ISPs who care are supporting it. A significant portion of my every day web traffic is over IPv6 and nobody has noticed. People on my local network are using it on Linux, Windows and Mac OS X and they don't even know what IPv6 is.

Google is clearly leading the IPv6 charge and has a statistics page[1] for those interested.

[0] [https://blog.kylemanna.com/ipv6/comcast-automatically- enabli...](https://blog.kylemanna.com/ipv6/comcast-automatically-enabling- ipv6-in-san-francisco/)

[1] [https://www.google.com/intl/en/ipv6/statistics.html](https://www.google.com/intl/en/ipv6/statistics.html)

<comment><USER3> Another major source of IPv6 traffic that most people are unaware of it the cell networks. Most cellphone providers use IPv6.

<comment><USER2> > Another major source of IPv6 traffic that most people are unaware of it the > cell networks. Most cellphone providers use IPv6.

Yes. I have T-Mobile in SF, and going to test-ipv6.com shows "10/10 readiness score".

<comment><USER4> 0/10 here, on Cellcard in Cambodia. No IPv6 address detected, but the DNS server appears to have IPv6 internet access.

</comment></comment></comment></comment><comment><USER5> We'll be having the same post 20 years from now. NAT, for all its problems, has more or less solved the IP address problem.

As a geek, one who has put the networking stack into the ETA-10 (yeah, I know, nobody knows that machine, CDC spinoff super computer) and SCO's unix (yeah, I know, it sucked), so as a geek who gets the stack pretty well, I've never warmed up to IPv6.

To me, it seems like it went too far. 64 bits not enough? Really? Unless I'm doing the math wrong 64 bits is enough for 2635249153 addresses for every human on the planet.

        slovax ~/p bc
        2^64
        18446744073709551616
        ./(7*1000^3)
        2635249153.38707880228571428571

So 128 bits is needed why? I get that people used to say that 16 bits would be enough and they were wrong and the 32 bit people were wrong. I just don't see how we run out of 64 bits in the next $BIG_PILE of years.

I don't get it. Seems over engineered. IPv4 works pretty well, seems like a slight improvement would have been enough.

<comment><USER6> > NAT, for all its problems, has more or less solved the IP address problem.

A bunch of very large-scale network operators (like Comcast, T-Mobile USA, Verizon, and Facebook) seem to strongly disagree with that, given how eagerly they've deployed IPv6 to get away from the hell that is IPv4 NAT and CGN.

Yes, IPv6 has lots of complexity/flaws/idiosyncrasies/weirdnesses (multicast, mobility, slaac, ndp, prettyprinting / the colons, extension headers, etc.) that mostly only look good through the rose-tinted glasses of the 90s and significantly slowed down deployment -- and in the end mostly ended up as "difference for difference's sake".

128 bits of addressing space and getting away from IPv4 NAT were unambiguously good. 128 bits is a lot, but memory/bandwidth is just going to get cheaper (for slow links you should use header-compression anyway), and it was better to go whole hog and skip 64 and go to 128 to avoid a future 64->128 transition. Given how the 32->128 transition is going, this seems like it was an excellent decision.

<comment><USER7> From an operator's perspective, 128 bits is more difficult to troubleshoot compared to the 32 bits of IPv4. RFC5962 makes things easier, though only marginally.

<comment><USER8> Not to mention there is no int128_t in C. You have to use poorly defined byte arrays to pass the thing around. It's irritating af.

<comment><USER9> typedef struct { uint8_t[16] d; } ipv6addr;?

<comment><USER8> Which is a byte array. When you pass this to a function, it does not fit in a single register. The equality operator doesn't work, nor do other logical operators. Everything has to be defined. 64 bit would have been so easy. And it would still have been enough.

Edit: somebody replied and deleted their comment. Since I had written a response I am editing this comment.

> Then your real complaint... is that you don't have 128-bit machine registers

Agreed, although my real complaint is more towards IPv6, for not thinking about this real-life limitation.

> what the urgent need to pass IPv6 addresses in machine registers

It's much slower than IPv4 to deal with! 64 bit addresses wouldn't have had this problem and still would have enough space for everyone on earth.

> And how is it "irritating af"?

Apart from the speed concerns: > The equality operator doesn't work, nor do other logical operators. Everything has to be defined.

<comment><USER10> > _When you pass this to a function, it does not fit in a single register._

Depends on the architecture. On amd64 (the architecture I'm typing this comment on), a 128-bit struct, like defined above, will fit in registers — yes, in 64-bit registers. The amd64 ABI[1] will split them across two registers. For example, if we take the above struct and use it,

      void foo() {
        ipv6_addr addr = { { 1, 2, 3, 4, 5, 6, 7, 8, }, };
        bar(addr);
      }

This compiles to:

      movabsq	$578437695752307201, %rdi
      xorl	%esi, %esi
      jmp	bar

The nasty looking number is the initialization; it's easier to see in hex:

      In [1]: hex(578437695752307201)
      Out[1]: '0x807060504030201'

That ends up in %rdi, the first of the amd64 arg-passing registers. The next half is zeros, so it goes in %rsi (the compiler just zeros it). Then we "call" bar. (There is tail-call optimization here)

The non-optimized version is similar, but more drawn out:

      # for some reason we zero it first
      movq	$0, -16(%rbp)
      movq	$0, -8(%rbp)
      # then we init it again… okay gcc.
      movb	$1, -16(%rbp)
      movb	$2, -15(%rbp)
      movb	$3, -14(%rbp)
      movb	$4, -13(%rbp)
      movb	$5, -12(%rbp)
      movb	$6, -11(%rbp)
      movb	$7, -10(%rbp)
      movb	$8, -9(%rbp)
      # move the struct into rdx/rax
      movq	-16(%rbp), %rdx
      movq	-8(%rbp), %rax
      # just to move it into the arg-passing registers
      movq	%rdx, %rdi
      movq	%rax, %rsi
      # call the function
      call	bar

> _It 's much slower than IPv4 to deal with! 64 bit addresses wouldn't have > had this problem and still would have enough space for everyone on earth._

It's twice as wide, yes, but that doesn't _necessarily_ mean you're needing to pass it in memory.

> _still would have enough space for everyone on earth._

IP addresses aren't just numbers assigned to machines. They must also — effectively — encode the _route_ to that machine; you can sort of imagine it as a tree, with each bit giving you successively more local directions on the Internet. Now, of course, that's not _exactly_ how it works, but the point is that some parts of that tree are going to be sparsely populated. Having a wider address space means you can make bigger, but not necessarily full, allocations in the address space, allowing you to keep whole networks together in a common prefixes, which results in simpler routing tables. (At least, that's the idea as I understand it.)

And it's not just 1 per person: I have more than one device, and I move between networks during the course of a day. If all of the networks I frequented actually had IPv6, I'd bog down _at least_ 6–8 IPv6 addresses during the course of a boring day, and that's not counting stuff like networking equipment.

It's not just a simple question of "are there enough bits to assign each person an address"

> _The equality operator doesn 't work, nor do other logical operators. _

On amd64 at least, __int128_t exists, I believe, and I think it should come with operators. In higher-level languages, you can define < and == simply enough.

Now, I grant that the above is _highly_ architecture specific, and there definitely exist architectures where this doesn't apply. And those, yes, 128-bit will be slower than a theoretical 64-bit. I just don't think it's worth worrying about.

[1]: [https://software.intel.com/sites/default/files/article/40212...](https://software.intel.com/sites/default/files/article/402129/mpx- linux64-abi.pdf)

<comment><USER11> > IP addresses aren't just numbers assigned to machines. They must also — > effectively — encode the route to that machine; you can sort of imagine it > as a tree, with each bit giving you successively more local directions on > the Internet. Now, of course, that's not exactly how it works, but the point > is that some parts of that tree are going to be sparsely populated. Having a > wider address space means you can make bigger, but not necessarily full, > allocations in the address space, allowing you to keep whole networks > together in a common prefixes, which results in simpler routing tables. (At > least, that's the idea as I understand it.)

Exactly, and the huge address space allows the standard to right out set some structure to it, with 48 bits for global routing, 16 bits for subnet addressing, plus 64 bits for link-local, interface identifier. Routing is only concerned about the first 64 bits (which has all the fast operations you could dream of) and _global_ routing only the first 48 even. Obviously doing some work to match the topology to the address space in a smart way by leveraging CIDR to reduce the size of routing tables is always going to be useful.

[https://en.wikipedia.org/wiki/IPv6_address#Unicast_and_anyca...](https://en.wikipedia.org/wiki/IPv6_address#Unicast_and_anycast_address_format)

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER12> It's interesting how his chart deflects somewhere around 80%, since at the 2017 Rocky Mountain IPv6 Summit that's about where T-Mobile US (who probably have the highest penetration of IPv6-capable endpoints of any ISP) noted their transition started slowing drastically.[0] The main reasons are that the remaining devices are old (e.g. 3G phones), have limited capabilities/needs (e.g. embedded IoT devices which just need to phone home once in a while), or are using odd configurations (e.g. for some reason T-Mobile doesn't currently support IPv6 for tethering).

Another good talk from that conference is about how Carrier Grade NATs are (amazingly) even worse in practice than they sound in theory[1]. During the Q&A portion one of the audience members points out that as technologies like CGN become required to provide IPv4 service it will cause the cost of supporting IPv4 to rise over time and naturally push ISPs to kill IPv4 as the use of v4 drops while the costs to support it do not.

I can also recommend a short talk by Cloudflare about their experience serving IPv6 traffic[2] and another on the history and future of IPv6[3].

[0] [https://www.youtube.com/watch?v=nNMNglk_CvE](https://www.youtube.com/watch?v=nNMNglk_CvE)

[1] [https://www.youtube.com/watch?v=fbk4H6EmZzI](https://www.youtube.com/watch?v=fbk4H6EmZzI)

[2] [https://www.youtube.com/watch?v=2RGzR5eMfcg](https://www.youtube.com/watch?v=2RGzR5eMfcg)

[3] [https://www.youtube.com/watch?v=p_HbX- batjs](https://www.youtube.com/watch?v=p_HbX-batjs)

</comment><comment><USER13> I remember the first time I looked at my ip6 address and found my MAC in the host portion. Obvious and predictable as it might be to some folks, it surprised and annoyed me. With a unique MAC in every assigned ip6 address, it's pretty easy to imagine the tracking potential, e.g., a unique ID following a user where ever an ip6 address is assigned. Apparently Apple and even Network-Manager(Linux) automatically randomize/obscure the MAC for ip6 addresses - I don't know about Windows though. Using wicd in Linux, I must either randomize the MAC manually, or configure sysctl.conf accordingly. Otherwise, it's great, I suppose, that every atom in the known universe can have its own ip.

<comment><USER14> When my residential ISP started allocating IPv6 blocks, they published our postal codes in the whois database. In Canada, in a city, that postcode is basically a dozen buildings (one side of a street block), at least where I live. For a stalker, it's practically a full address.

We pressured the ISP to remove this information. They resisted, said it was policy, we read the RFCs and argued back. A few weeks later it was removed.

Similarly, most Linux distributions now enable IPv6 privacy extensions. Once people settle in their habits, it becomes more difficult to change this type of behaviour.

IPv6 is a big change. Adopt early, influence policy while you can :)

<comment><USER15> When I was a student, my rDNS was the student housing building number + apartment number. Makes it easy for people to direct abuse requests at least.

</comment></comment></comment><comment><USER16> After watching Windows, Python3, and IPv6 all go through decade long upgrade cycles, I'm hoping we've all learned some valuable lessons about the hidden costs of backward compatibility.

<comment><USER17> Alternatively, the computer industry forgot about backward compatibility and now has to relearn it.

Color TV was designed to be compatible with black&white. Stereo FM radio compatible with mono, stereo vinyl records with mono. Electricity changes very, very slowly.

When computers become such an essential part of every day life, you cannot make radical changes any more every couple of years.

If your design becomes successful, you may be stuck with it for a couple of decades.

The failure of IPv6 is also the success of IPv4 engineering. When IPv6 was designed in the mid 90s, there were many issues that might hold back IPv4 down the road.

It is only in the last couple of years, that issues (related to the IPv4 address shortage) pop up that basically cannot be solved anymore and make IPv6 an attractive alternative.

<comment><USER12> > The failure of IPv6 is also the success of IPv4 engineering. When IPv6 was > designed in the mid 90s, there were many issues that might hold back IPv4 > down the road.

Another big part of it is that all of the features of IPv6 _except_ the address length change were back-ported to IPv4 (e.g. address auto-assignment and IPsec) removing the carrots and leaving only the "stick" of the IPv4 address shortage (which barely registered at all until a few years ago) to push people to v6.

</comment></comment></comment><comment><USER18> Multi-link routing is the only thing that IPv6 fails to address effectively.

I've just read the usual crappy "why 2^128" bollocks etc (you don't run internet routing, do you) here and the other usual whining.

However, how do you effectively use multiple connections to the internet, without resorting to PI and something like BGP?

<comment><USER7> Can you clarify what you mean by multi-link routing? Are you referring to multipathing?

What is stopping you from using multiple connections to the internet?

<comment><USER18> Say you want multiple links to the internet - redundancy/cost/whatever.

Each link will have a prefix that you are delegated and your SLAAC or DHCPv6 will give out addresses etc.

Now which one will your device use? Your PC cannot know that link C is down because that is only known by your router.

IPv6 does not address the same basics that IPv4 failed at - routing around crap, without a routing protocol.

<comment><USER7> That makes no sense.

The kernel routing table of your PC should remove the link once the PHY has been detected to be down. That's even if your PC supports multipathing.

We don't rely on layer 3 to communicate a link is down to us - we rely on layer 1.

<comment><USER19> When cable/DSL falls down, it's not going to take PHY down. You'll have active ethernet but no packets will come through.

With IPv4 the router will just fix up NAT. With IPv6 you now have to deal with significantly more complexity.

<comment><USER7> >With IPv4 the router will just fix up NAT. With IPv6 you now have to deal with significantly more complexity.

How so?

In a multihomed environment, you'd still be PAT'ing to unique addresses on the WAN side (unless a FHRP is in use, which would be rare) - if one of those links go down, so too does all of the flows associated with address of the link. If no dynamic routing protocol or redirects are in use, the gateway with the down link will also eat half (assuming two gateways) of all egress traffic.

IPv6 should be easier as no NAT/PAT is in use, therefore you have no challenges with statefulness or routing symmetry.

<comment><USER19> It SHOULD be easier. It's not on current widely available prosumer hardware.

Yes, your connections will get temporary eaten. But for the typical developers workload that won't be a huge issue because most connections you do are short- lived. Configuring all your clients to properly switch vs. configuring your NAT router (with builtin functionality for exactly that) is orders of magnitude more complex.

</comment></comment></comment></comment></comment></comment></comment><comment> iso-8859-1 Android doesn't support DHCPv6 and SLAAC is not good enough. We need consensus on sufficiently sized prefixes using DHCPv6 Prefix Delegation. See [https://en.wikipedia.org/wiki/DHCPv6#Implementation](https://en.wikipedia.org/wiki/DHCPv6#Implementation)

This is the next big step as far as I see it.

</comment><comment><USER3> I have switched to IPv6 at home for a few years now. I love it. I wish my work supported IPv6. The ability to have multiple VMs be able to have incoming connections is great. No more having to do wired ports for NATing reasons although an IPv6 firewall is a must.

</comment><comment><USER20> I'm not super familiar with the development in the low level network space, but I really wonder what the plan for IPv6 is.

IPv6 has been the future of IP networking for decades. Yet here we are and I still often surf the Internet without v6 connectivity.

It suffers from a fundamental problem: As long as IPv6 is not universally available nobody has a real advantage from supporting it. But as long as it provides no advantage many ISPs and web server operators won't bother supporting it.

I think this is a design flaw. IPv6 was built without a plausible transition plan. The plan "over time more and more people will switch to v6 and at some point everyone will have it" clearly doesn't work and will never work.

<comment><USER21> There was a time when running out of IPv4 addresses meant that ISPs and other providers _had_ to switch to IPv6, or they would run out of addresses (or spend too much acquiring them). With NAT and stuff, that risk has seemed to decrease significantly.

Google statistics show that nearly 20% of their traffic is over v6, which is honestly not bad. The USA itself is 35%, with no latency hit.

<comment><USER20> > Google statistics show that nearly 20% of their traffic is over v6, which is > honestly not bad. The USA itself is 35%, with no latency hit.

This is totally bad. We need close to a 100% for v6 to make any sense. 20% IPv6 is pretty pointless.

<comment><USER22> > This is totally bad. We need close to a 100% for v6 to make any sense.

Considering how it was 2% not many years ago, this is a huge improvement.

What's going to drive this further is that the cost of supporting IPv4 will increase more and more as IP-space is exhausted and ISPs will have to apply new hacks like CGN.

At that point getting people to IPv6 and IPv6-only will be a purely be about economics.

</comment></comment></comment></comment><comment><USER23> How to see if your connection is IPv6:

[http://ipv6test.google.com/](http://ipv6test.google.com/)

<comment> iso-8859-1 It will show a green check mark even if you don't have IPv6, just to show that you won't have problems with timeouts...

</comment></comment><comment><USER24> Have we figured out good ways to gracefully handle prefix changes via DHCP6-PD. I'm kind of worried of my provider changing my prefix "from under my feet" and breaking firewall rules, or worse.

Also my ISP blocks some ports incoming lst time I checked, even on IPv6, even on their business plans, without a static IP. And I assume they would do the same with v6 because they don't support static prefixes themselves.

To be fair their IPv4s are _very_ static and only change when I change my WAN MAC address or am offline for longer than a DHCP lease (power outage)

</comment><comment><USER25> boy world war 2 really put a dent in clothes washer adoption. That aside, it feels like the adoption sort of resembles 64 bit windows adoptions. took a while but it happened bit by bit

<comment><USER26> but interestingly, fridge adoption kept powering on.

</comment></comment><comment><USER27> Is he measuring IPv6 visibility in DNS, or IPv6 traffic? China went to mostly IPv6 for mobiles years ago. Where else could they get enough addresses?

<comment><USER28> With Neftlix and Youtube using IPv6, the majority of _traffic_ of an average household may as well be on IPv6 already, where available at the last-mile level.

</comment></comment><comment> super-io Folks in this thread claimng to be using IPv6. Anyone using cjdns? Best use of IPv6 I have heard about so far.

</comment><comment><USER29> The #1 mistake IETF did was not making IPv6 compatible with IPv4. It's hard to comprehend for most, bug essentially we're building a whole new separate Internet. The old Internet, or the Internet Classic (v4) and the New Internet - The v6 Internet. IPv6 is a totally new protocol - new L2 interaction with Neighbor Discovery (i.e. has no concept of default gateway), new routing tables, new route-maps, nes access lists, new BFD,... Therefore new topology, new routing behavior, new resiliency and redundancy mechanisms... Just because hardware allows running v4 and v6 stacks side by side, it doesn't make them compatible, just easier to implement by not having to buy new hardware for both.

<comment><USER10> > _making IPv6 compatible with IPv4._

This gets suggested and rehashed on every single IPv6 comment section. There is no way to make IPv6 compatible with IPv4: by the Pigeonhole principle, there is simply no way to reference 2 ^ 128 objects using only 32-bits. The next usual hack is to "add an option" or something; but all the routing hardware would need to understand that option, which entails upgrading the entire Internet, which is exactly what IPv6 is doing/has done, except that adding an option ends up with a _worse_ design.

Any suggestion needs to fulfill a. any machine should be reachable and b. you can't upgrade everything, or you may as well just go with what we've got.

<comment><USER30> I don't think even many of the IPv6 designers would agree with you. Originally, IPv6 was supposed to bring a large set of improvements, like first-class encryption, larger minimum packet sizes, stateless addressing and auto-configured routing. It wasn't just more bits.

In the end either all those things were backported to IPv4 or turned out to be bad ideas. IPv6 ended up being just more bits, but with a fully incompatible implementation.

If they had known this at the beginning, we could have transitioned to IPv6 long ago, by designing for a smooth transition period and reusing as much of the IPv4 stack as possible.

An end-to-end extension header would have been simple - something that can fallback to NAT connection tracking when it's not recognised. And it would have saved man-centuries of effort.

</comment></comment></comment><comment><USER31> Been 5 years already ?; still not a word from my ISP :/

<comment><USER15> My ISP supports IPv6... if you configure a second, PPPoEv6 connection on your router. Which as far as I can tell none of the top routers on the market here support. Heck even OS X doesn't seem to support it.

<comment><USER32> > PPPoEv6

There is no such thing, it's still PPPoE and PPP, just that there is IPV6CP and IPv6 on top of PPP. And that, in principle, can run through the same PPP session as IPCP and IPv4, though a weird ISP might not support that, obviously.

</comment></comment></comment><comment><USER33> v6 doesn't work with a lot of VPNs.

</comment><comment><USER34> I don't think we will see IPv6 eliminating IPv4 within the next 10 years. As long as IPv6 is used in parallel there is really no advantage since IPv4 depletion is still an issue and you need to use both. Since switching and routing IPv6 is more expensive the current hardware in use won't even be able to handle all the load and until every switch and router (at home and in the datacenter) is replaced 10 years will go by in no-time.

Also, most people who ask for IPv6 for their VMs or whatever don't even have any use for it. IPv6 will be a huge mess, if I only think about sending emails via IPv6, how should that even work properly?

<comment><USER35> Routing IPv6 can be less expensive as you need to do one checksum fewer than for IPv4.

Email works fine.

<comment><USER34> Email works fine technically for sure. But what about handling things like spam? How are projects like spamhaus supposed to work with nearly infinite IPv6 addresses?

This is extremely hard with IPv4 already, it will be a huge mess with IPv6.

<comment><USER36> IPv6 blacklists seem to be based on /64 prefixes rather than individual addresses. That hit me when I was enabling an IPv6 MX on a VPS; I had to get my own /64 prefix rather than use the standard default single address, since the default lied within a spammer-contaminated /64 block.

I know it seems rather excessive to use an entire /64 and only populate a few addresses, but I'd rather have too many addresses available than too few.

<comment><USER37> But how do you know you should use a /64 mask? One of my hosting providers assigns much smaller subnets. Some others assign /56\. You are at risk of blocking many legitimate IPs and missing many others.

<comment><USER38> > But how do you know you should use a /64 mask? One of my hosting providers > assigns much smaller subnets.

It's baked into the standard that IPv6 networks shouldn't be smaller than /64\. If a provider is disregarding the standard so blatantly I would probably avoid them.

Really, why on earth would a cloud provider be so stingy with IPv6 that they'd give less than a /64 per customer? ARIN gives out /32s like candy and a single /32 can be split into ~4.3 billion /64s.

<comment><USER39> Sadly the ISP for internet to our office building only gave out a /65... that we are meant to share with ~20 companies.

Suffice to say I've got IPv6 to the internet gateway, but no further. => They fulfilled their contractual obligation to "provide ipv6 connectivity", while being entirely useless. They'll probably use us as a stat to prove that no one wants ipv6 anyway...

There is no choice in provider.

<comment><USER37> But why /65 is such a big deal? You can divide it in 32 different /70 subnets, one per company. That still leave you with 2^58 IPs by company. You can still even use MAC addresses in your IPs.

<comment><USER32> SLAAC on ethernet requires a /64\. A provider assigning you anything but at least a /48 is pure incompetence, if it's explicitly for 20 companies, they really should be giving out a /43.

<comment><USER37> Yeah but stateful vs stateless DHCP is really a minor problem.

<comment><USER32> > is really a minor problem.

So, it's a problem. For no reason at all.

Also, no, it's not really just a minor problem. Reconfiguring your one client device might be trivial, but that's really not the question.

The question is what you do with a setup with a few dozen devices/machines/routers/whatever.

First of all, even if you do a new setup, it's idiotic that you'd have to consider the idiosyncrasies of your ISP when designing your network, instead of choosing whatever setup fits your internal requirements best. That you possibly cannot buy a certain printer because it doesn't support DHCPv6, or whatever.

But it's a lot worse when you think about switching ISPs with an existing setup: Having to completely rebuild your network because of your ISP's idiocy is ... well, idiotic. Suppose you have a bunch of routers that do SLAAC for end devices and obtain prefixes via DHCP-PD from the uplink router. Really, all that should be technically required in such a setup to switch from one provider to another would be to unplug the old line, plug in the new line, everything should renumber automatically, while keeping the exact same network structure. Good luck reconfiguring all of that to work with a /65 ... and when you have done that, tell me again that it's a minor problem.

<comment><USER37> You don't need to set up your clients with IPv6 more than you need with IPv4. Your router will do DHCP in just the same way. To me this is only a minor inconvenience.

<comment><USER32> You might as well be saying that electrical installation is trivial, as it's just a plug you need to plug into the wall.

All the stuff that I've been talking about is what is required so that in the end, you can just plug in your laptop and have IPv6 connectivity without any manual intervention on your part. Yeah, that's how it is supposed to be. But that depends, among other things, on the ISP providing a reasonably sized prefix.

Also, there is more to networks than "the router" and "clients". You can have more than one router, you can have servers, you can have routers with multiple interfaces that are isolated from one another ... not everything is "my home DSL router with built-in WiFi access point, used by one smartphone, one tablet, and one laptop".

And I think you might be confusing SLAAC with DHCP? Those are two completely distinct mechanisms, and you don't need DHCP in IPv6 networks at all, in particular not for client systems.</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment>


Starbucks Economics (2006) - <AUTHOR> http://www.slate.com/articles/arts/everyday_economics/2006/01/starbucks_economics.html <comment><USER2> Even the short is too big. Midway through the article it talks about how it's supposed to be five or six oz. short is still eight.

Thought when I saw the $4.65 or so ripoff flat white they'd figured it out until the barista asked "what size", arg....

</comment><comment><USER3> Really? How embarrassing can it be to order a short drink at a Starbucks?

<comment><USER4> Embarrassing would be ordering just the espresso shots, then adding the free milk yourself. I think some baristas call this the 'ghetto latte'. Learned from /r/starbucks

<comment><USER5> I dunno about the ghetto latte, but I do kind of dislike paying an extra $2, or whatever it is more for an Americano than an espresso shot considering the rest of drink is hot water. They also charge more for each larger size without adding more espresso which means you essentially pay more for more hot water. I've never done it, but i've seen a couple people order espresso and a cup of hot water before.</comment></comment></comment>


Radiooooo – The Music Time Machine - <AUTHOR> http://radiooooo.com/ <comment><USER2> It's interesting to see that the map reshapes as you move through the decades. Germany splits into two and then goes back to one, Africa and the Indian subcontinent get progressively decolonized, etc. It's not perfect, particularly in east Asia (Taiwan is always independent and Korea is always two countries, and neither are ever colonized by Japan), but what's there is fun to see.

</comment><comment><USER3> Wow, this is awesome. Many of the songs can't even be ID'd by Shazam and are not on Apple Music.

I wish the initial modal dialog was easier to close and that the current track ID was reflected in the URL bar, e.g. [http://radiooooo.com/?track/df3115c7-4eea-4d26-aba9-3c190542...](http://radiooooo.com/?track/df3115c7-4eea-4d26-aba9-3c1905420d5a)

<comment><USER4> [https://radiooooo.app](https://radiooooo.app) is the beta test new version you should try :)

<comment><USER5> Thank you! radiooooo.com is blocked here at work but radiooooo.app isn't :)

</comment></comment></comment><comment><USER6> Fantastic. Here's another niftly radio app: [http://radio.garden/](http://radio.garden/)

<comment><USER7> [https://www.radio-browser.info](https://www.radio-browser.info)

Similar idea, no map, but supports community editing & many sort patterns & ratings. Open Source.

</comment></comment><comment><USER4> the UPDATE of radiooooo is here for testing: [https://radiooooo.app](https://radiooooo.app) :)

<comment><USER8> Amazing really awesome classics :) I would listen those songs for days nonstop.

There very few songs from my country though. Going to upload some.

</comment></comment><comment><USER9> One clarification: The dates specify the date of release, right? I went to the site expecting to hear popular songs from that era/region, but I've never heard of any of the songs it plays.

</comment><comment><USER10> This is great! Love the artistic interface, it's refreshingly distinctive from all the other websites I visit these days.

My only issue is the Taxi dialog didn't seem to position correctly in Chrome on my Android, and I couldn't accept or dismiss it.

How did the author manage to keep playing music after forwarding me to the iTunes store? iframe or something?

</comment><comment><USER11> I could see they are using three.js for a visual library, but I couldn't tell what they were using for audio. Maybe they are interacting with the web audio api directly, since they are only playing a single piece at a time. I didn't hear in fade in/out or more advanced functionality.

</comment><comment><USER12> I love the creative design of this site/app! There are so many gems in here. I'm now trying your updated iOS app in TestFlight, kids are using the old version. 1\. I recommend changing Fornication Island to Seduction Island and changing the picture from a behind in the water to something else. Kids love this app and it should be kid friendly. 2\. The icon for the old version is a better design and more memorable. I suggest changing it back. 3\. Making the map look more like a paper map would be a way cooler interface, though could be tough since you'd need one per decade. But it would REALLY make the app unique.

</comment><comment><USER13> Nice. I've got serious thing for 60/70's middle eastern/north african jazz and prog, ranging geographically from Ethiopia to Turkey to Afghanistan. Back in 2004 to 2007 I used to have a late night radio show on UK local radio station that broadcast on a Friday night and mingled in many of these gems along with Caravan, Soft Machine, Pere Ubu and so much more.

Whoever Victor Kiswell is, sir, you have an amazing library of tunes and I'd love to speak to you.

Current tune:

African Jumbo by Abbass Mehrpouya (1976, Iran)...bonkers good, would love to own that.

</comment><comment><USER14> I don't get it. No matter where I click I get: "This area /decade is empty". [https://radiooooo.app](https://radiooooo.app) works though.

<comment><USER15> [https://radiooooo.com/](https://radiooooo.com/) doesn't work because it's trying to XHR the http version of the site which gets blocked. The other .app domain works fine though, like you said.

</comment></comment><comment><USER16> If you like old time radio (I'm a big fan) check out the radio dramas on [http://www.radioechoes.com](http://www.radioechoes.com) as well. You could try out my scraper as well and see if it still works* [https://sequoia.makes.software/projects/#radio-echoes- downlo...](https://sequoia.makes.software/projects/#radio-echoes-downloader) (I was using it to scrape & bundle mp3s to audio books for a while).

* edit: it doesn't :p

</comment><comment><USER17> This is really fun!

Not sure if bug or missing feature, but the decade tabs at the bottom of the screen are unlabeled so I have to click around a bit to find the decade I want.

Firefox 74.0b7 on macOS 10.15.3.

<comment><USER4> Hello, please try this adress which is the new site and fixes a looot of bugs !! :) here: [https://radiooooo.app](https://radiooooo.app)

have a good trip : Ben

<comment><USER17> It's fixed, thanks!

</comment></comment></comment><comment><USER18> This is brilliant! How have I never heard of this before?

</comment><comment><USER19> How's the song upload feature in terms of copyright?

</comment><comment><USER4> UPDATE of the new radiooo for testing here: [https://radiooooo.app](https://radiooooo.app) :))

<comment><USER20> Maybe the link of this post itself should be updated

</comment></comment><comment><USER21> Nice! I collect tropical, good to see something like this do well. Can I ask about the motivation / team behind it?

<comment><USER22> It's a French collective curating rare and exotic nostalgia tunes since 2013 ([https://www.newyorker.com/culture/culture-desk/radiooooo- the...](https://www.newyorker.com/culture/culture-desk/radiooooo-the-hit-tune- time-machine)). It was co-created by a member of the Polo & Pan duo ([https://www.discogs.com/artist/4106352](https://www.discogs.com/artist/4106352)).

An up to date revision of the site is available at: [https://radiooooo.app](https://radiooooo.app)

Here's a little helper script to listen Radiooooo from the command line: [https://github.com/vikbez/radiooooo-cli](https://github.com/vikbez/radiooooo- cli)

<comment><USER21> Now I remember a friend sending this to me a while back. Thanks for the info and script!

</comment></comment></comment><comment><USER23> I use this site for years already and I'm always happy to see it's still around. One of the little indie web gems.

<comment><USER4> the new site for testing here: [https://radiooooo.app](https://radiooooo.app) ;)

</comment></comment><comment><USER24> Very cool. Listened to some French and African 70s stuff.. Thanks for posting this.

One minor glitch -- user registration form wouldn't work for me.

It told me there was an error, therefore "my email must already be registered".

<comment><USER4> use this new adress: [https://radiooooo.app](https://radiooooo.app) it fix a lot of bugs !

<comment><USER25> The new one added a breaking bug. With the old address I can option select the text with a mouse to copy/paste. It may not seem a big deal, but many of the strings for foreign songs are not ASCII so they are hard to type otherwise.

</comment></comment></comment><comment><USER26> Similar online radio station for old (new to you) music discovery: [http://vintageobscura.net/](http://vintageobscura.net/)

</comment><comment><USER27> This site is barely accessible with a screen reader. Lots of unlabeled graphical elements, and no obvious way to change the country from T&T.

<comment><USER28> They should just delete the site

</comment></comment><comment><USER29> This is an incredible website thank you the creator!

<comment><USER4> thanks :)

</comment></comment><comment><USER30> It has a strange bug, where if you visit it with HTTPS, none of the songs load. They could just use letsencrypt.

<comment><USER31> "It's not a bug, it's a feature" of most modern web browsers. A https page that includes content fetched using http is called a "mixed content" page. Radiooooo over https still fetches the songs via http requests, and so many browsers block these requests.

<comment><USER4> use this new adress: [https://radiooooo.app](https://radiooooo.app) it fix a lot of bugs !

<comment><USER32> works like a charm, thanks

this site is pure awesome

</comment></comment></comment></comment><comment><USER33> It is inaccurate: For Mexico 1980 it actually showed "La Union" band which is actually Spanish.

<comment><USER34> It may not be if it's songs that were popular in that area during that time rather than songs FROM that place. I'm not sure if they differentiate which it is, I didn't see any at a glance.

</comment></comment><comment><USER35> I love this! I make sampled-based beats and it seems like a great way to dig for samples.

</comment><comment><USER36> This is really good thanks. Great for discovering sounds from all over the World and time.

</comment><comment><USER37> Wow! This is one of the most creative, fun website I have seen in years, thank you!

</comment><comment><USER38> I've been using this for years. it's a godsend. I love it beyond words.

<comment><USER4> you should try the new release in test mode here: [https://radiooooo.app](https://radiooooo.app) ;)

</comment></comment><comment><USER39> Low key this is awesome. Enjoying pulling up the 60s in US and the UK, or Cuba.

</comment><comment><USER40> Great!! How do you get around the copyright issue and how did you monetize?

</comment><comment><USER41> Brilliant. Loved it.

</comment><comment><USER42> This is dope! Love it, web needs more art.

</comment><comment><USER43> This is cool. Just super super cool Wow!

</comment><comment><USER44> This is amazing, love it.

</comment><comment><USER45> how nice is it, it is just the Big data and AI should doing!

</comment><comment><USER46> Pause or Stop button?

<comment><USER4> Hello, please try this adress which is the new site and fixes a looot of bugs !! :) here: [https://radiooooo.app](https://radiooooo.app)

have a good trip : Ben

</comment></comment><comment><USER47> This is really great!

</comment><comment><USER48> Veeery good</comment>


One div: The single element HTML/CSS icon database - <AUTHOR> http://one-div.com/

<comment><USER2> This is neat, but I don't think the HTML and CSS buttons are working. I'm on iPhone right now and the HTML/CSS buttons don't show the HTML or CSS. If I click one it just displays browser compatibility.... Would be cool to be able to see the source.</comment>


Irish privacy watchdog calls for Facebook changes - <AUTHOR> http://www.bbc.co.uk/news/technology-16289426 <comment><USER2> Recommended changes yet _Facebook has six months to implement the changes._

Most peoples perception of Ireland is the stereotypical, bumbling, backward nation that is so consistently portrayed in the media yet the one thing our nation tends to respond well to is technology. This isn't a restriction they are imposing, it's better transparency for their users. Lately I've become more and more disenfranchised with my home country yet moments like this give me faith that there are actually people in power who know what they are doing.

<comment><USER3> "Most peoples perception of Ireland is the stereotypical, bumbling, backward "

I think with Intel, Pfizer, ADI etc here for so long, as well as cutting-edge research from our universities, that image has come and gone. The new perception is of a yet another financially incompetent nation needing German handouts. ;)

"yet the one thing our nation tends to respond well to is technology"

I have to disagree. I think it is a miracle that we have have any hi-tech industry at all. Our telecommunications infrastructure is a joke and we are only now catching up to where we should have been 10+ years ago. The privatisation of Telecom Eireann was a huge mistake and the lack of investment in broadband for over a decade shows that sucessive governments hadn't a clue when it came to technology. And don't even get me started on our education system....

</comment></comment><comment><USER4> Here's europe-v-facebook.org's take on it: <http://europe-v- facebook.org/MELDUNG_EN.pdf></comment>


Why Kubernetes Will Disappear - <AUTHOR> https://levelup.gitconnected.com/why-kubernetes-will-disappear-10ffcfb39f01 <comment><USER2> Ok summary paragraph:

"And this is why I think Kubernetes will disappear. It's so generic that there's no reason to do it yourself. Few organisations operate on a scale where it makes sense to run datacentres. The practical friction of running Kubernetes creates a similar dynamic. Like reliable infrastructure, it's too hard, slow or expensive to justify doing it really well yourself, but there probably is value in paying for that as a service from a cloud provider."

Basically saying: it will still exist, but just outsourced to some one else's computer.</comment>


Personal backup strategies with cloudberry and amazon glacier - <AUTHOR> http://foldingair.blogspot.co.uk/2013/12/personal-backup-strategies.html

<comment><USER2> Isn't Glacier overpriced, compared to other personal backup solutions?

Say, I have a mere 2TiB of historical data (various junk I made or collected over last ten years or so). Storing on them with Amazon is $20/mo, and if I want to look on that photos from 2008 I have to wait for several hours just to find that I misremembered where they were stored and pulled out wrong files. And unless it happened that I uploaded a good amount of data on that exact day, I'll have to pay for downloads.

Other offers for unlimited storage are Cyphertite at $10/mo, Crashplan at $6/mo, Carbonite at $100/yr, AltDrive at $4.5/mo and so on. While they're probably not-so-unlimited (they don't say that, but I guess one won't have much luck storing a petabyte), less respectable than Amazon, and most services lack an API and require to use not-so-trusty proprietary software that has to be sandboxed properly, Glacier doesn't look like a good deal to me unless we're talking about backing up some either quite big data (like tens of terabytes) or relatively small amounts of data (less than 500GiB).

Disclaimer: I have no affiliation to any of companies mentioned above. Just happens that I'm currently fleeing from Bitcasa (they suck hard) and looking at various options to not maintain a self-hosted NAS.

<comment><USER3> The difference is that I trust Amazon far more than those other companies you mentioned. If they go out if business or even change their "unlimited" policy, you're exposed until you can get your 2TB re-uploaded to another provider. It's a pain and a risk I'm unwilling to take. I know Amazon isn't going to suddenly try to dump me as a customer.

<comment><USER2> You're right.

Still, it's easy to improve reliability by introducing redundancy by using two backup services. And a total of $9-15/mo is still cheaper than $20+/mo. I presume the chances of multiple independent companies turning back on me at the same time as reasonably low. Well, it's not either completely impossible that even Amazon may have some hiccups, too.

</comment></comment></comment><comment><USER4> I am using Glacier to store a backup of most of my personal data. This includes my home directory, the most relevant photos I have taken as jpeg, my gmvault and that's about it. I do not copy over any movies, music, raw photos or software, as this is my last line of defense, so it only needs to cover the essentials. I am under 1€ per month this way, and the backup gets refreshed only every other month or so.

I do have a local server that stores a windows backup image of my whole laptop, a second Harddisk in that Server to store a copy of the server, and an external hard disk with a windows backup at my parents that gets a refresh every time I am over there. All backups are truecrypt images for good measure, and I have tested recovery. Amazon stores a split truecrypt archive. Recovery cost about 20€ and took a day.

So yes, glacier is great as a personal backup, if you make it part of a larger strategy. To me, this is disaster recovery, and a small price to pay for this kind of insurance of important files and memories.

</comment><comment><USER5> The chink in the armor of all these strategies is upstream bandwidth. I have lots of data to back up. If I had to upload it all, it would seriously soak up my upstream bandwidth. If I had symmetrical, 1Gbit Google fiber I wouldn't have to worry, but I don't.

<comment><USER6> I know Crashplan will let you mail them a hard drive for the initial seed. I think other services have this too. The solution posted isn't really much less than Crashplan from what I can see.

<comment><USER7> Backblaze AND Amazon will do this as well. You can mail a drive to both of them.</comment></comment></comment>


Eclipse Open J9, an Open Source Java Virtual Machine - <AUTHOR> https://www.infoq.com/news/2018/03/OMR-OpenJ9?utm_source=news_about_java&utm_medium=link&utm_campaign=java <comment><USER2> It sounds like IBM made more of a IBM .NET. They just added a way to compile Java 8.x to a binary object that runs on the J9 engine. I wouldn't be surprise if someone tries to port C# to J9.</comment>


New APA Policy Banning Psychologists from National Security Interrogations - <AUTHOR> http://www.apa.org/news/press/releases/2015/10/banning-psychologists-interrogations.aspx <comment><USER2> By itself, this accomplishes nothing but giving themselves moral cover. It's just words; there are no consequences. Consider:

* The message is clear: You can do these things, we'll let them slide at the time, and much later, too late to have any effect, we'll issue meaningless condemation and policy. Does anyone doubt that the next time a President or other authority in the US government faces this choice, they will disregard the APA completely and assume they will go along?

* There is no punishment for the perpetrators. These people planned and aided the commission of viscious, brutal crimes on a mass scale. They are sociopaths and should be in prison, the same place we put the Nazi's, rapists and mass murderers.

* There is no concern for the victims. There is absolutely no mention of them, inquiry into the effects on them, attempt to help them, or restitution. It confirms the government's effective position that, as "terrorists", they are sub-human and their rights and welfare can be disregarded.

So many people lacked the courage to stand up to the criminal and immoral acts of the US government at the time. It remains one of the most depressing (literally, de-moralizing) experiences of my life.

EDIT: I should add that the APA may have taken other actions that address my concerns. I reworded some of the above to address that possibility.

<comment><USER3> The only lever the APA has is to revoke membership of participants, that won't stop the government and it won't stop many individuals from participating.

As far as I can tell, they aren't a licensing body, so that revocation wouldn't even stop someone from continuing to work in the field.

<comment><USER2> > The only lever the APA has is to revoke membership of participants

They have a voice and influence. They could push hard for these things; they could have pushed hard when they were happening. Certainly they have the resources to address my third point, about the welfare of the victims.

</comment></comment></comment><comment><USER4> It's curious to see Guantanamo Bay mentioned by name. I wonder if one of the reasons we're having trouble closing it is because the psychological health of the inmates has deteriorated to a state which so obviously violates ethical guidelines on prisoner treatment and perhaps even human experimentation.

<comment><USER5> You think the authorities tortured these people so bad that their only recourse is to wait for them to die / kill them all before closing to hide the evidence?

I wouldn't be surprised.

<comment><USER4> I wouldn't use the word "torture", as there is a big distinction between the work psychiatrists at Guantanamo did and physical torture, even if the two overlapped (e.g. drown the person and then revive them for some psychological objective). I can imagine how the physical techniques used in "enhanced interrogation" might actually not be the most morally abhorrent ones.

<comment><USER6> The definition of "torture" you're using isn't a good one.

Check out [https://en.wikipedia.org/wiki/Torture#Definitions](https://en.wikipedia.org/wiki/Torture#Definitions)

The UN Convention Against Torture, the first example in that section, doesn't make the distinction you're making.

<comment><USER4> Thanks for linking that. Perhaps I should have been more clear.

While some of the things done to Guantanamo detainees qualify as "torture" under the UN definition (e.g. waterboarding), I can imagine a smart and determined psychiatrist working around that definition of torture and yet leaving a person in a psychological state which makes clear the immense immorality of their work.

In other words, there exists a set of "enhanced interrogations" that are not technically torture (in the way that waterboarding is), but that are still morally abhorrent and would likely be prohibited if revealed.

</comment></comment></comment></comment></comment><comment><USER7> > Work at detention settings operating in violation of the U.S. Constitution > or international law (as deemed by specific U.N. authorities), including the > Guantanamo Bay detention facility…

Well, that begs the question of whether or not the Gitmo facility is unconstitutional or illegal (literally: it's a textbook _pætitio principi_ ).

Never mind the fact that refusing to participate in legal, ethical interrogations intended to protect the lives of millions is itself a highly unethical act. That's exactly what this blanket policy prevents: it assumes that national-security interrogations can be neither legal nor ethical, when it's pretty obvious that they can be.

<comment><USER8> No, it says that they cannot work at detention settings which are in violation of the US constitution or international law.

If it is legal, ethical interrogation, then it is not in violation of the US Constitution, or international law

It even says they can provide general consultation on issues related to humane information gathering

<comment><USER9> >No, it says that they cannot work at detention settings which are in violation of the US constitution or international law.

Who makes that determination?

</comment></comment></comment><comment><USER10> [https://www.psychologytoday.com/blog/the-violent- mind/201502...](https://www.psychologytoday.com/blog/the-violent- mind/201502/the-psychology-torture)

</comment><comment><USER11> Only 14 years too late.

<comment><USER12> I'll take now over never.

<comment><USER13> They're not helping torture anyone right now due to a lack of demand, so it doesn't matter what their policy is. If they're needed again, they can quietly repeal or carve massive semantic exceptions to this e.g. is it an interrogation or an interview?

<comment><USER3> The government can just hire psychologists that don't give a shit about this policy.

I think they can probably find them.

<comment><USER14> If a psychologist is running the risk of losing his license to practice, why would he cooperate?

<comment><USER15> The APA is a meaningless organization. They have zero authority over licensing. They also aren't the only professional psychological organization. APA membership carries with it no particular value; clients don't care about APA membership, they care about licensing.

<comment><USER12> The value of an APA membership is primarily that it makes access to published research affordable. If someone wasn't interested in accessing journal content, or required to present at conferences requiring APA membership to further their careers, I can't imagine why they'd pay to join.</comment></comment></comment></comment></comment></comment></comment>


Protest full-body airport scans with 4th Amendment underclothes  - <AUTHOR> http://www.geek.com/articles/geek-cetera/protest-full-body-airport-scans-with-4th-amendment-underclothes-20101127/

<comment><USER2> funny and interesting</comment>


CorePy: Assembly Programming in Python - <AUTHOR> http://www.corepy.org/ <comment><USER2> We've got something similar in Ruby (we're not the first, and ours is nowhere nearly as mature as CorePy). We use it for building ad-hoc debuggers for reversing targets that don't support native debugging and tracing interfaces.

Ruby is an excellent language for this, because it gets out of the way. Here's a Rasm snippet:

                @epilog ||= @prog.add {
                    push ebx
                    mov ebx, retv
                    mov [ebx], eax
                    pop ebx
                    xor eax, eax
                    ret
                }

Obviously, that's all pure Ruby.

Once you have a class mapping for each of the instructions in your target ISA --- _way_ easier than it sounds --- getting your code to jump into a runtime generated buffer is pretty easy.

We're starting to throw code onto Github; I've been thinking about publishing this, but didn't think it would be very interesting, except as a hack.

<comment><USER3> SBCL has an extremely sophisticated facility called a VOP (Virtual Operation) that allows you to write assembly with s-expressions and integrate the code into the compiler and runtime. The SBCL backend itself is composed of these VOPs.

Significantly, this means that you can write assembly macros with the full power and elegance of lisp. A trivial example is the move macro, which is used extensively in VOPs:

      (defmacro move (dst src)
        "Move SRC into DST unless they are location=."
        (once-only ((n-dst dst)
                    (n-src src))
          `(unless (location= ,n-dst ,n-src)
             (inst mov ,n-dst ,n-src))))

Check out the SBCL source if you want to see some wild uses of VOPs and macros that expand into assembly code. In compiler/x86/arith.lisp there is a lisp/assembly implementation of the Mersenne Twister.

VOPs can optionally handle argument type checking and can be tuned to emit specialized code in various circumstances, such as when one of the arguments to the call is a compile-time constant.

<comment><USER2> What I want to see is Python or Ruby taking advantage of a runtime code generation library to start rewriting the VM or JIT'ing method calls.

<comment><USER4> Psyco.

<comment><USER2> Yep. I forgot about Psyco. Does it still work?

<comment><USER4> I am not sure which version of Python will break Psyco. It looks like it stopped being maintained in '06.

</comment></comment></comment></comment></comment></comment><comment><USER5> > "CorePy makes assembly fun again!" (Alex Breuer)

</comment><comment><USER6> This is great because it allows you to create algorithms at runtime for your data.

So rather than doing...

def doit(option1, data): for x in data: if option1: x += 7

You can create a function that doesn't include the "if option1" part. This is great if you have many different options... and instead of bloating your code for many different optimized function, or one slower generic function, you can create the optimized functions at run time.

Looks very nice. I just wish it had support for 3dnow, and windows :)

</comment><comment><USER7> i would have liked to see llvm bindings to python... i am sure they are out there...

<comment><USER7> sure enough!!!

<http://code.google.com/p/llvm-py/>

</comment></comment><comment><USER8> any body benchmarked the performance of CorePy?

<comment><USER9> No, but I'd assume any intense math operations that happen inside a loop would be much faster.

<comment><USER10> Then your understanding of machine language and compilers would be flawed.

In most cases the compiler will do a better job at optimizing machine code than humans will.

<comment><USER11> I am interested to hear about how often you've actually tried to beat a c compiler with hand optimized assembly code. In my experience, this statement is only said by people who have never tried.

For example, numerical calculations that are highly SIMD can be improved substantially by using SSE instructions. Autovectorization is ok, but not great. Furthermore, a programmer who is familiar with SSE instructions can alter/swizzle data to make things easier to use with SIMD instructions. Yet further, a programmer can take advantage of things like non-temporal storing which compilers will not do on their own.

Now, granted, you can massage gcc into giving you "good" code with alot of hints but to do it "right" you are still peering at the assembly and making sure gcc isn't doing anything "stupid". Highly optimized C code is so dense with compiler directives as to be unrecognizable to someone unfamiliar with the underlying architecture.

The belief that your naive for-loop computation is somehow transformed automagically into perfection by the compiler is a pure and unadulterated myth.

<comment><USER10> Using SSE is specifically one of the cases where writing something in assembly can make sense (and in fact, the only case where I've written things in asm for purely performance reasons).

Let's go back to the original statement:

 _I'd assume any intense math operations that happen inside a loop would be much faster._

That's what I was responding to. Just trasnlating the logic to asm won't make it fast. If you look at my earlier followup, I mentioned that if you could make assumptions about your code that the compiler can't know, then you're back in the land where asm optimizations can make sense. That seems to be what you're getting at with the rest of your points.

</comment></comment></comment></comment></comment><comment><USER12> Wow. So cool.

Thanks for this news.</comment>