News for hackers. Stuff that matters.

rapala

Re:The K-shaped recovery on Friday September 25, 2020 @05:04PM (#24594070)
The article is unfortunately paywalled so I couldn't read it. That ratio is indeed more sensical and interesting. But I think it still misses two points.

First, the distribution of tax payers to different marginal tax rate brackets differ. That is, how many percent of US tax payers actually pay top marginal rate vs how many in Belgium do.

Second, the differences in purchasing power. What does the average income (or the top income for that matter) actually get you in different countries.

Re:The K-shaped recovery on Friday September 25, 2020 @03:50PM (#24593454)
You can't really compare tax rates between countries like that. Some 20% of households in the USA earn 112000€ or more per year, where as only 6% of house holds in Germany earn 72000€ or more per year.
Atleast here in Finland the political hurdle is so tall that when the green ligth is finally given, they basically have to build the biggest reactor possible.
Re:How I Learned to Stop Worrying and Love the State Machine on Tuesday February 27, 2018 @05:36AM (#16472378)
One way to get at the end conclusion that the original modeling is wrong is simple logic.

If given

1. Player can have a Weapon

2. Sword is a Weapon

3. Wizard is a Player

The from the statement "Wizard cannot have a Sword" follows a contradiction that "Player cannot have a Sword".

Re:A Crash Course on ML Modules (2015) on Monday February 26, 2018 @11:25AM (#16466435)
> You seem to trust that programmers will play by the rules, even if the compiler doesn't enforce them.

I've been trying to say the exact oppisite. C, C++, Javascript, all those languages provide ways to define abstract datatypes that cannot be circumvented (by "normal" code. Even Haskell has unsafePerformeIO). My latest argument was that people decide not to use those abstractions not because they are unavailable, but because it is more ergonomical or performant not to. The same happens even in ML, not all data is abstracted as an abstract data type.

Re:A Crash Course on ML Modules (2015) on Sunday February 25, 2018 @03:03PM (#16460870)
My comment "not something people do" was about directly accessing memory to circumvent the private data abstraction in c++ and I stand by that.

I admit that I kinda pushed you into it, but you are moving the goal post. People indeed use public fields in languages like C and Javascript.

In C it's often done for the sake of performance. Hiding data behind a pointer has a cost.

In Javascript I would say it's lazyness above all. Front end programs often aren't that big nor pinacles of code quality.

But it is possible to define abstract data types in both languages. ML makes it a bit easier and some times even more performant, but it doesn't "own" the idea.

Abstractions are quite like immutability. You can enforce both in many languages, some just give you better tools for it.

Re:A Crash Course on ML Modules (2015) on Sunday February 25, 2018 @01:39PM (#16460399)
Yes, you can access raw memory and flip bits to modify a private member of an object (and it migth even be defined, not too sure about that thou). But I don't find that an valid argument for the statement that you can't do abstractions in c++. That's just not something people do.

The c++ version of your example would be, if I understood your code correctly, to take an std::vector as an constructor parameter, copy it to an private field and sort it.

Re:UK mass digital surveillance regime ruled unlawful on Tuesday January 30, 2018 @03:19PM (#16268629)
> That means it is illegal because it goes against the (higher) EU law.

It actually does not mean that. The courts cannot ignore an Act of Parliament even if it conflicts with the Human Rigths Act but can o ly give an declaration of incombability which they have done.

Re:UK mass digital surveillance regime ruled unlawful on Tuesday January 30, 2018 @03:15PM (#16268602)
The Human Rigths Act specifically does not grant the courts the possibility of not following Acts of Parliament when the too conflict. The courts can only give an declaration of incombability which they have done. This is how an Parliamentary sovereignty works.
Re:UK mass digital surveillance regime ruled unlawful on Tuesday January 30, 2018 @03:00PM (#16268467)
Umm... that is exactly how an parliamentary democracy works. The parliament can enact any law. Yes, many such systems contain laws that overrule all other laws and are often harder to change. These are often called constitutions. But I can't recall any constitution that could not be changed.
I have always thought commitment in this context as "we commit this much time for this task, then we stop and reevaluate" instead of a deadline.
Exactly. The point of time boxing is that you have to stop and reflect on the time spent. It gives you the chance to switch tasks if priorities have changed or to split the current task.

Or to go on to the next sprint with the same task. But here lies the problem in many cases. The sprint is taken not as a time box but as a deadline. A sprint should meen: "You can work 2 weeks, 5 days a week, 8 hours a day on this. Then you stop to think."

This is pretty much how bash completion works...
Re:Low Hanging Fruit of Programming Language Design on Wednesday November 22, 2017 @02:31PM (#15759727)
It depends. If the duplicated code is supposed to do the same thing in both places then the two pieces of code are already dependent. You change one of the duplicates, you need to change the other one two.
You'r missing 300k from your after tax sale proceeds. You could still afford the smaller house with 263k left over. You would make a 37k loss yes, but you could buy the new house. An important distinction in my opinion.
As I understand this, the client here is not the caller of the methods defined in the interface, but the one implementing them.

Caller has no problem just ignoring the methods that it doesn't need. But the implementer doesn't have that possibility. If you have a read-write interface and a read-only source, you need to resort to subpar solutions like throwing an exception.

Re:Theia – One IDE for Desktop and Cloud on Monday July 03, 2017 @04:20PM (#14691087)
It's off-topic, but I just have to ask. Why? Why would local copies be disallowed?
Re:Close-Up View of DNA Replication on Tuesday June 20, 2017 @04:12PM (#14598160)
No, not really. Quite the contrary actually. It would be very unlikely that a volatile and nonreplicating molecule would be the carrier of biological information through billions of years.
Re:Close-Up View of DNA Replication on Tuesday June 20, 2017 @07:05AM (#14593529)
My understanding is that this process didn't really come into existance but stayed in existance. Countless other arrangements failed to replicate and endure.
Re:Modules vs Microservices on Sunday March 26, 2017 @02:07PM (#13962127)
If a micro service is independent it makes no calls to other micro services. Thus the system has a single service and that service is a monolith. Contradiction, thus a micro service cannot be independent.
Re:There Are Three Programming Paradigms (2013) on Friday February 10, 2017 @08:38AM (#13615237)
Yes, but the resolver is not specific to sorting. The runtime of Prolog contains no list sorting code. (Or if it does, it does so as an optimization.)
Re:I had a health crisis in France on Sunday November 20, 2016 @07:16AM (#12998485)
>I-don't-want-to-pay-for-others != I will not insure my health.

But it is. Insurance works by pooling money from a group of people where only few are going to use it.

>People never ask "So, what does this drug/treatment cost?" but rather "Do you accept my insurance?"

Which makes sense, as survival and physical and mental well-being are humans primary needs.

Re:Sputtering Startups Weigh on U.S. Economic Growth on Monday October 24, 2016 @10:29AM (#12779080)
Depends on the industry. If your firm needs to buy heavy equipment for example, it's relatively common to get a loan for that from a bank.
Re:Top-level await in JavaScript is a footgun on Wednesday September 14, 2016 @12:44PM (#12498800)
Well, the runtime then runs the Tasks in a thread pool, so using Task.WhenAll is just a one more item to the list of options in that sense. It is a nice abstraction though.
Re:There are no particles, there are only fields (2012) on Monday August 29, 2016 @08:06AM (#12381316)
> As Korzybski said "the map is not the territory." Trying to resolve wave/particle duality is trying to impose one of two maps from other territories to a new one.

As a CS graguate, I would call it the halting problem. A mathematician would refer to the Gödel's incompleteness theorems. No formal system without paradoxies can be used to prove all true statements.

Is the necessary volume achievable, both in land required and producing the actual panels? I'm under the impression that efficiency drops when you move towards the poles, where many of the developed countries are. Also, do solar panels still require rare minerals to manufacture?
Re:How to avoid brittle code on Monday March 28, 2016 @09:52AM (#11374223)
All the dependencies of a unit are part of its API. You may not need to give them at every call, but you do need to give them atleast once. Whether the unit calls MissileLauncher::launch or not is in my opinion part of the external behavior of the unit.
Re:Giving up on test-first development on Saturday March 19, 2016 @06:48AM (#11318034)
Testing practices are orthogonal to the cathedral vs bazaar idea. Linux is a great example of this. Anyone can checkout the code and work on it, but upstreaming the changes requires coordination and approval with the community.

The lessons by Raymond are also given in the context of OSS. Unfortunately it would be extremely difficult to find a team of developers that are passionate about the kind of stuff that SAP is written to solve, for example.

The lessons of Robert Martin and others are about how to be a professional developer. When you are writing software for someone else to use and they pay you money to do it, it is your reaponsibility to think about quality, extensibility and maintainability. It is not your job to express your self.

My take is that the point of TDD being so rigid is that a professional should always follow best practices, not just when they feel like it or when it is easy or convenient to do so. But TDD is an ideal and sometimes, or maybe even most of the time, there are externalities that make you fall short of that ideal.

Re:Giving up on test-first development on Friday March 18, 2016 @12:51PM (#11313043)
How many of those side projects ended up being 6 million lines of code maintained over 5 years? Because those are the kind of code bases I have in mind when I'm weigthing the pros and cons of TDD or other testing practices.

When reading Uncle Bob and others I have always got the feeling that the "goal" of the practices described is to have systems that can be maintained and extended for years by different people and teams. It never crossed my mind that Uncle Bob would recommend TDD for that tic-tac-toe I wrote to learn Buzzscript.

Re:Golang: channels are not enough on Saturday March 12, 2016 @07:13AM (#11272543)
In your run of the mill webapp you rarely have state outside the db and caches. What little you have can often be modeled with a single agent or atom. So no need for refs.

What you do have in webapps is synchronization between concurrent processes. For that the STM primitives don't offer much. The core.async on the other hand is a great fit.

Older »