HN user

Anchor

1,507 karma
Posts104
Comments79
View on HN
www.youtube.com 1y ago

What Goes Around Comes Around – Andy Pavlo (Dijkstra Award 2024) [video]

Anchor
3pts0
climate.copernicus.eu 4y ago

Seven hottest years on record were the last seven; CO2, methane continue to rise

Anchor
6pts0
www.researchsquare.com 4y ago

Intranasal inhibitor blocks omicron and other variants of SARS-CoV-2

Anchor
6pts1
physicsworld.com 4y ago

Entanglement of two macroscopic objects is the 2021 Breakthrough of the Year

Anchor
3pts0
neuralink.com 4y ago

Series C funding round announcement

Anchor
13pts0
www.carswithcords.net 5y ago

The Reason the Boring Co Will Win

Anchor
2pts1
scitechdaily.com 5y ago

Unexpected Quantum Behavior in Insulators Suggests New Type of Particle

Anchor
2pts0
www.abc.net.au 5y ago

Bluewaters coal-fired power station written off as worthless as renewables rise

Anchor
5pts1
www.wsj.com 5y ago

Microsoft Teams with SpaceX to Push Cloud Battle with Amazon into Orbit

Anchor
1pts0
github.com 6y ago

Agent-based simulation model for Covid-19 spread in society and patient outcomes

Anchor
3pts0
www.reddit.com 6y ago

Help Against SARS-CoV-2: Donate CPU and GPU Time to Rosetta Home, Folding Home

Anchor
1pts0
www.thenewatlantis.com 6y ago

Must Growth Doom the Planet?

Anchor
4pts0
npl.wiki 6y ago

A New Pattern Language for Growing Regions

Anchor
1pts0
www.michaelagreiler.com 6y ago

Don’t Buy into the Technical Debt Illusion (2019)

Anchor
2pts0
www.spacex.com 6y ago

Crew Dragon Launch Escape Demonstration today 2020-01-18 13:00 UTC [pdf]

Anchor
2pts0
twitter.com 6y ago

Animation shows the temperature change by country from year 1880 to 2019

Anchor
116pts79
thecorrespondent.com 6y ago

Dutch supreme court: Failure to reduce CO2 emissions violates human rights

Anchor
2pts0
www.elementsofai.com 6y ago

Elements of AI course to be made available in all EU languages

Anchor
195pts91
blog.cleancoder.com 7y ago

Classes vs. Data Structures

Anchor
311pts176
energywatchgroup.org 7y ago

Study: Global Energy System Based on 100% Renewable Energy [pdf]

Anchor
6pts0
www.quantamagazine.org 7y ago

A New Spin on the Quantum Brain

Anchor
2pts0
newclimateeconomy.net 7y ago

Climate Action Could Deliver $26 Trillion to 2030

Anchor
1pts0
www.washingtonpost.com 7y ago

Climate change ‘switchboard’ visualization shows every country turning red-hot

Anchor
2pts0
www.cam.ac.uk 9y ago

Rotating molecules create high-efficiency OLEDs

Anchor
2pts0
electrek.co 9y ago

Tesla converted an entire island to solar with new microgrid product

Anchor
2pts0
electrek.co 9y ago

Tesla Acquires German Firm to Create ‘Tesla Advanced Automation Germany’

Anchor
1pts0
blogs.windows.com 9y ago

HoloLens is now available in selected countries outside US

Anchor
2pts0
electrek.co 9y ago

Tesla and SolarCity to hold meeting on November 17 to vote on the merger

Anchor
1pts0
thedailywtf.com 9y ago

Programming is Hard

Anchor
2pts0
www.forbes.com 9y ago

Why Investors Should Support the Tesla SolarCity Merger

Anchor
1pts0

Another sad anecdote: A bank in Finland suspended an account for a text in free-form message field of a bank transfer. The message was for a vet visit of a dog named Ira. When you say "Ira's payment" in Finnish, you add suffix -n, so the text field said Iran, which of course must indicate money transfer to a sanctioned country. It is comforting to know that the bank system catches all the illegal activity that the sanction-busting criminals helpfully announce.

We can also cut them to make room for new trees. If we don't burn the C in them to CO2, but use them as raw materials (buildings, alternative to plastics, etc.) there is even more potential for carbon capture in this way.

Of course, the long term solution is to grow as many new trees per year as we emit CO2, so there is an upper limit for our CO2 budget, but this should give use time to convert to carbon neutral energy production and consumption without hampering the the GDP growth too much. In fact, it has been estimated that world GDP can actually grow even during the transition, due to, for example, positive effects of improved environment (health improvements lead to productivity improvements and so on).

NetHack 3.6.2 7 years ago

From the release notes: "Parchment and vellum are made from animal skin so change material composition and color for spellbooks with those descriptions from paper to leather; eating those books now breaks vegetarian conduct" (emphasis mine)

There is something heartwarming about the attention to detail in some games. NetHack, Dwarf Fortress, ... I wish more games would be made with this mindset. Many modern games seem to overemphasize the "gaming" aspect, and sometimes forget the "playing" with all its joyful intricacies.

Same thing has happened in Sweden. There's a cohort of elderly people who arrived to the country as children during WW2, e.g., from Finland. Many were under 10 when they arrived, and now that they have gotten old, some of them have lost most of their ability to speak Swedish, and are only able to speak in their native language from early childhood.

I have that dream too. It seems that the more years I spend as a developer, the less I am comfortable to taking on technical debt. Maybe it is because there are so rarely opportunities to pay it off - and the interest rate is almost always way higher than anticipated.

Management acts this way because they have no way of evaluating the effects of maintaining code quality. Only developers with significant experience are able to evaluate the long-term impact of each technical decision (and even we are still not very good at that).

<rant target="not you">

And why should management be able to evaluate technical decisions and code quality in the first place? That's our job! The problem is that we have given management the false choice of lower quality + faster shipping vs. higher quality + slower shipping, when in fact we should not have given them any say in the matter. And before we hit me with the but we have to be first to the market and fix it later line, I need to point out that companies don't die because they were not first to the market, they die because their operations and development became so slow and costly that they could not compete anymore.

What we should do as developers is to stop talking about code quality to our managers! When we are asked for an estimate, we give them as accurate estimate as possible with the code quality that we feel is sufficient for long-term maintainability of the system. And we don't negotiate on quality anymore, and especially we don't negotiate on estimates! Only functionality (MVP and all that). Then we don't need to ask for refactoring time, rewrite time, code polish time, stabilization time on our systems (that we hardly ever get anyway), because it is all in there in the original estimate.

Management expects stable productivity, they base their estimates of operational costs and investment costs on the number of people working on the system, not on the age of the codebase (why should an old codebase cost more to work with? they ask). If we give them false hope on the productivity of the team by producing crap fast in the beginning, the whole business case may collapse when we produce the same crap slower and slower and slower later. Management is in no position to evaluate the effects of bad code on the business case, because they don't understand that. We do. The only thing we can do as developers, is to remove the option of low quality code altogether.

And we say that it is so slow to create quality code? And estimation is hard?

We learn it. We can write high quality code as fast as the usual junk we see in most systems. We keep track on our estimates and evaluate how well we did, and improve. But it takes effort. All I can say is that it is our responsibility.

</rant>

On a positive note, the solution to this on a personal level is to find a place to work where technical excellence is built in the development culture (and there are such places), and cultivate that culture especially with the new hires (mentoring, pairing, etc.).

If their hateful conduct and ideas are hidden from you, how will you know to fight back?

"I disapprove of what you say, but I will defend to the death your right to say it."

We should not be afraid that our ideas will lose if all sides are heard. We must win this war of ideas, there is no other way. But we cannot win unless we can point to what is wrong with their ideas. For us to achieve that, they must not be hidden.

It seems that history did not end. Every generation has to win their incarnation of this war, again and again, unfortunately. The beginning of our struggle is drawing nearer and nearer.

But he does bring the shortfalls to public attention, he has repeatedly said that driver's should not view current version of the system as self-driving vehicle, for example.

His plan is to evaluate the self-driving capability by comparing its performance to the human drivers, in shadow mode, perfect the technology to surpass human driver (10 times safer, per his comments), then present statistics from that to the relevant authorities (who should be qualified to evaluate any claim they make on these grounds), and only then proceed to release the self-driving technology to market.

I disagree that he is first a salesman. He is an engineer - and as an engineer he knows that anything he sells has to work or the product - and the company - does not last. He knows that very well, and has bet his fortunes on his engineering skills.

He is a salesman only second. And that is why this can actually work.

Imagine a car company that sells cars that may kill people driving them. And imagine that it would actually be one of the most common accident type that kills people. Would you be okay with that?

The thing is, every product is working and not working at the same time to a degree. It is only a matter of statistics - are we better off with or without the product.

Tesla does much more in-house when compared to other auto plants, they buy more individual components and raw material and less partially assembled parts. I'm told that many of auto plants that produce the complete vehicle do mainly integration work these days. Tesla's approach is different, so they require more hands, but pay considerably less for the upstream supplies flowing into the plant.

This is also the pattern used by most version control systems, which use several strategies to deal with long histories efficiently. We use them all the time to move backwards in time, and between alternative realities until we eventually merge to a consistent state all users agree on.

I thought change logs served this purpose quite nicely. Every time there is a breaking change, the user needs to check the change log anyway. If there are only some small breaking changes, they are only pleasantly surprised.

The pseudocode is intriguing. I personally have been stumped 2 or 3 times by static code analysis, disagreeing firmly with the machine for few minutes before realizing my mistake, but it is of course possible that there have been bugs in the analysis system of R#, which might explain what you saw.

Adjusting the rules and settings of R# is a daunting task, I agree. However, usually if I have special requirements for a project, I just set Inspection Severity to none for the language features I don't want to use, and that solves the issue for that project.

Hi and thanks for the work on Roslyn, I really like what you guys are doing with it.

Yeah, I know, many of the features of ReSharper are something VS should have had for a decade, regardless whether ReSharper has them or not. We - VS users - tried to tell VS dev teams in around 2005 that JBuilder (of all things, if you can remember that - it got eventually Eclipsed) had better refactoring and navigation tools than Visual Studio. The message from VS has consistently been that you are going to fix that, and when I heard of Roslyn, I though that this time it may be really happening. Only it has been ten years. Luckily .NET/C# was marginally better from developer perspective than JVM/Java from the beginning (the difference has grown ever since), and ReSharper (and other plugins) helped to keep Visual Studio afloat until today.

Now that Microsoft has embraced open source, community contributions, shorter release cycles, .NET Core, etc., I think you have a great foundation for the next ten years of .NET.

Oh, rest assured, I will continue to bug you guys through different channels.

Funny coincidence, I'm tweaking performance of manually managed contiguous memory using structs and refs as I'm writing this reply (the application is a combinatorial optimization system). There's nothing in ReSharper that currently suggests me to replace structs and refs with something else, or that I need indirections into my SoAs and AoSs.

But yeah, static analysis can yield false positives if you use for example reflection (one more reason to avoid it in most cases), but there's an option to turn a specific message off for particular line, class, etc. You can also edit ReSharper suggestions per solution basis, so if there are some special requirements, they can be incorporated into its behavior.

I agree that the tooling is about as heavy as you can get when you combine VS and R# with solution wide static analysis turned on, but it's nothing an equally heavy development machine can't fix. Then again, I may be old school in this, as I prefer massive desktop machines and too many screens. What kind of machines you use?

It is also worth noting that the structure of the code affects the static analysis and other features. It is faster to operate with lots of smaller isolated modules than large and coupled ones. The same techniques that kept C++ project compile times manageable, keep the static analysis real-time in C#. One more reason to decouple modules.

One additional selling point of ReSharper to me has been the embedded continuous learning enabled by it. Almost every time a new language feature is introduced, it is ReSharper that shows me how and when to use them, using suggestions in my existing codebase. I especially like how they are able to translate several nested foreachs and ifs into one line LINQ statement - and back again. This ability was instrumental for me to really become fluent in LINQ. This level of code analysis and refactoring is something we just don't see yet in Visual Studio.

I especially cannot live without the high quality static analysis possible on .NET anymore. So much so that any dynamic language just feels "shaky". I mean, when you are not entirely sure you covered all method calls with that refactoring, it feels uneasy.

Upon reflection, my code editing workflow follows surprisingly often the results of the static analyzer: I remove a code element and let the ReSharper figure where I need to go to make the required changes, be that variables in one function - up to solution wide elements. Alt+PgDown - Alt+Enter is a very powerful combination.

Edit: my goodness, it just struck me that I have used C# for 13 years already.

Visual Studio seems to keep incorporating features from ReSharper in every new version, and ReSharper subsequently keeps adding new features as a response. The ReSharper developers have the fun task of combining these features into a coherent UI.

New features in VS2017 that were already in ReSharper include configurable suggestions from static analysis, Ctrl+T navigation (it even uses the same shortcut), structured find references, intellisense filtering, multiple refactorings in given scope, live unit testing and coverage (in ReSharper Ultimate).

This is great and a bit amusing at the same time, but as a user, I like the improvements we get.

Once built, you can use and reuse the materials that went to the battery almost indefinitely. The stuff inside the battery does not get consumed, it just changes form. And once you have used all the cycles, you can take the battery apart, leaving you with the stuff you began with, ready to be assembled into a new battery. So if you generate all your energy via solar, you only need sunlight to charge and recycle them all.

The satellites are on Low Earth Orbit (LEO), so they are much closer to Earth than typical communication satellites. When the distance from ground station is 1000-1500 kilometers up, latency is not a problem. In fact, latency via satellites may be smaller than through fiber as speed of light is greater in vacuum. IIRC in fiber it is something around 0.6c, so a 40 % off from a space-based approach. Also there's probably going to be more switches along a ground-based path than along the satellite-to-satellite route.