skysight-inc/HackerNews huggingface dataset:
I somewhat recently worked on a huge monolith where certain parts were "off limits"; I was told to the effect of "noone changes those classes, we don't really understand them". That business is not going too well now.

I searched the article for "domain" and "bounded contexts", found nothing. Article is not without merit, however; Sam Newman in his book [1] cautions about going too aggressive, i.e. splitting down into too many microservices before the domain is fully understood. On the other hand, having systems cross obvious domains is a definite warning sign (of disaster).

So the motto might be, use them, but in moderation (as with a lot of things).

1) https://smile.amazon.com/Building-Microservices-Designing-Fi...
ESCORT IVANKA – ESCORTS – ESCORT ATHENS – ESCORTS ATHENS
You could also have a "monolith" in a single or multiple compatible languages (C, Rust, C++, etc) and have different features/modules separated in different libraries. These libraries could then act as the "microservices".

Developers could be tasked with working on these libraries that would have 0% overhead (since they are just a piece of code that can be used in another library), instead of creating REST/SOAP/RPC APIs that come with the HTTP/SOAP/RPC overhead.

This means you can start small, with a public REST/SOAP/RPC API. Less infrastructure, less server config, etc. And if at some point you need more scalability, you can always do an actual microservice (ie a separate REST/SOAP/RPC API) with the library code the day you absolutely need it for horizontal scalability or whatever.

I have seen this pattern used in the Rust world a lot. Projects expose both a library and a binary. And the binary is built on top of the library. This means you have 0 overhead if you want to use the binary's features, since you can simply include the library and get going.

Also, I think that having the tools to support deprecation is big advantage when working with a monolith. I think Rust has built-in support for compile-time deprecation notices. PHP, for instance, doesn't have that particular feature yet, as far as I know. Symfony tries its best by adding deprecation notices when you call a deprecated method/function. But you have to call it to realize it's deprecated.

I'm not here to promote Rust or hurt PHP, I actually love both. The statements above apply to a lot of other languages as well. I just took the examples of Rust and PHP because these are the ones I've worked with the most.

@xxs's comment is spot on as well.
Go needs another option other than assembly. Either compiler intrinsics like C/C++ or something, anything, else.
pix2code: Generating Code from a Graphical User Interface Screenshot
> Taking the upper end, we'd get 100k as the required livable wage to match this household income

Unfortunately, not quite. If both parents make 100k, your tax burden is higher than if one of them makes 200k and one 0 (because of the social security cap). More importantly, your child care expenses are much higher. So are your food expenses, typically; this part is correctly reflected in the data table you linked to.

In practice, I would expect a two-earner household, both earning 100k, to have 10-30k/year more in expenses than a one-earner household; the range mostly depends on how much child care costs.

100k for a single person is certainly pretty comfortable, even in San Francisco. Much more comfortable than 200k for a family of 4, I suspect, because housing is so much simpler.
Huge problem in China is that unlike Japan it is not a uniform country. Income is VERY unevenly distributed geographically. Japan can stay in zombie state because even in stagnation it is pretty nice place to live for most people. The poor areas of China can not afford stagnation. Elite knows this and dreads it, why Vancouver housing market is nuts? Because when you live in China and have $$ you really want to have a place to bolt to or at least have your kids be somewhere else when the proverbial shit hits the fan.
One of my side project was on hold due to one functionality that I was not able to find, but looks like I found it[0]!

[0]. Kanban Demo
I believe workspaces are present from KDE4 on.

Also, you can achieve the same functionality in i3, i3 can remember the positions of the open windows. But you need to write a script to open the corresponding applications and identify them to i3, so windows can be "swallowed".

However workspaces on KDE were magnificent. They remembered state between applications too. I only used KDE4 workspaces -FreeBSD does not yet support Plasma- and was fairly satisfied.
They might once it does glucose measurements... And I hope they do.
I'm an Amiga fan, but the X68000 was released 2 years after the A1000 and was definitely a step up in power.

https://en.wikipedia.org/wiki/X68000

For comparison, here's the Amiga port of Super Street Fighter 2:

https://www.youtube.com/watch?v=KMNTcG4OvqE

Here's the X68000 version:

https://www.youtube.com/watch?v=DYmQCbBpLTc

To be fair to the Amiga, there are fighting games with better graphics than the SSF2 port, but I'd say sacrifices were probably made to improve the gameplay speed.
Consider not using Facebook at all. It has zero value for the user, it only has value for Facebook.
How Much Does it Cost to Climb Mount Everest?
Each person in the clinical trials of which there are at least 3 phases costs 20-30k for most drugs.
Without much Clojure experience, I agree. Sequential, what-comes-first, is easier to read than finding the first evaluated expression and peeling backwards just to build the same mental model.
Pull requests are a relatively new concept to software development. So if you're working on an existing project then chances are the model that was used was "as long as the unit/style tests pass it's fine". And of course there's the very common "we have a fixed deadline so let's just cut this corner and we'll fix it up later".

And in the Java world at least modules aren't real. They are purely logical constructs that developers can work around by importing from packages in other modules. And creating the spaghetti code problem again.
> The biggest problem I have with microservice is that they lock you into a particular data flow up front.

You say that as if that's an unalterable fact.

> No battle plan survives contact with the enemy, and microservices are making decisions early on that are difficult to change later. Because you've picked one decomposition and then erected fences around the parts.

If you know about that problem, then don't do that! :P

In my experience, if you slice your microservice boundaries with the philosophy that each of them should be able to be sold as a white label product (or more realistically be reused for a completely different product internally), microservices can survive pretty large pivots of the startup/project with little changes.
As long as we are updating the definition of public accommodation, we can also define the "private".

My point was more that it is not unreasonable to look to regulations to deal with Facebook. The regulations do not necessarily have to be "public accommodations", I just cited them as the most relevant legal concept I was aware of.
There is Vibe.d but I don't know if is as good as Go stdlib.
- learning something yourself by teaching it

- understand nuances in something by teaching it

- improving your writing skills

- seeing a purpose in helping others

- building a personal brand that helps you to land jobs in the future or create a business from it
Every Unix workstation. The Acorn Archimedes. The PC Engine. The Newton.
Introduction to Serverless with AWS Lambda [pdf]
I took the 35 question quiz. At the end it told me I passed and I shoul wait for feedback on how to move next but after a day I got an email informing me I failed.
>Anyone who builds accomplishments without building lasting and deep relationships with people around them has done something wrong in the process.

This is one of the fundamentals of leadership, and leadership starts with leading your own life. One of the other fundamentals is awareness -- self-awareness and awareness of others, which these comments seem to be touching on.
> The person who says that is either an idiot or doesn't care about the product. There's really no third option.

Obviously an idiot.

> It's fine if you [...] want to abandon [a project]. Really! I understand that.

The idiot does not understand:

It is NOT ok to reduce interaction with endusers when it becomes too tiresome.

It is NOT ok to demand patches instead of bug reports.

It IS ok to just completely abandon a project though, i.e. not even accept patches?

Bwahahahaha.... (that is a good laugh born out of an idiot's blissful ignorance).

PS: The only "prick" in the discussion is the one who feels entitled to something and who calls people names because they don't deliver for free what her/his majesty wants.
"Train" doesn't just mean "work out" as the non-professional athlete understands it. For a professional athlete, "training" encompasses reviewing performance recordings, reflecting on prior performance, technique refinement, endurance training and strength training. All of that certainly adds up to more than 30 hours a week. It's their profession, after all.
Should be noted that while the article calls Rocket Lab a US firm operating in NZ, it's been an NZ firm since its first day, and only went to the US for funding.

Exciting news not only because it shows commercial spaceflight is becoming global, but because Rocket Lab has one of the most ambitious launch schedules out there.
D uses C calling conventions and struct layout so it's pretty trivial to call D code from D or vicecersa and link together, the only step added over C++ is writing an include file with the declarations of the stuff you want to call.
I agree that it might be a false assumption emdrive works. But I don't think you should state that the standard model is evidence of that emdrive cannot work. Again I agree with conservation of momentum, but what if your assumption is wrong? What if emdrive don't violate it? My point is, rather focus your energy on building your own version than throwing out statements which also have no proof.
Project Paula – A synthwave/cyberpunk tribute to the Amiga
UK officials stop sharing information about bomb attack with US
This. BOJ is propping up Japanese companies, with negative interest at times, in the hopes they can finally get out of their 20 year deflationary economy and the coming demographics issues. Not to say Japan is suffering horribly, but the odds of Japan growing organically through innovation and execution as an economy are practically nil, so a strategy like Softbank's is essential to their economy long-term, and they have the strategic foresight and positioning (they are one of the largest telcos remember) to do this.

Softbank also has the balls to make investments like this. The ARM investment was basically a bet on everything hardware-based for the next 20 or 30 years, so clearly they're good at picking the strategic foundations.

Traditionally, Japanese companies and culture is extremely conservative and consensus driven, and one of Softbank's advantages is that they make these calls.
> Now now. If I went on /r/the_donald and started leaving comments about Gun Control, Trans Rights and Abortion, you and I both have a fairly good idea what would happen.

/r/the_donald has become (or maybe always was) a safe space for 1488 identitarians. Things like /r/The_Donald and Stormfront are part of the problem just as much as safe space policies.

> Well, a giant Pepe the fucking Frog fills half the screen when I even load the page, for a start, and I literally cannot upvote in /r/the_donald until I click the frog and subscribe

Disable custom CSS, it's a dumb feature anyway.
Python at Instagram (Pycon 2017)
Alvarcarto – Design posters with OpenStreetMaps data
The Third Manifesto Paraphrase – 1
Secure accesses to your Docker resources with Portainer
Hello there,
The latest version of Portainer introduces team management and an upgraded access control system.

You can easily give access to a specific set of user and/or teams to any of your Docker cluster/host.

It also provides fine-grained access controls on any of your Docker resources (containers, volumes & Swarm services). You can apply an access control rule on a resource on creation and edit that rule post-creation.

For example, you can now restrict the management of some containers to administrators only. You can also have multiple teams being able to access one Docker host with the ability to manage their containers only.

You can give a try to this new access control system on our public demo at http://demo.portainer.io

Credentials are: admin / tryportainer

We'd really love your feedback ! Cheers !
But if you are changing the factoring of the microservices you are necessarily rewriting more than one. Sure it can be done, but you know what's easier than refactoring microservice boundaries? Refactoring service object boundaries in a single app with one coherent test suite.

It's time to stop hand-waving away the overhead of microservices. The two big reasons to introduce microservices are because you have different workload profiles that need to scale independently, or because you have separate teams with bounded areas of responsibility and you want them to operate independently and minimize communication overhead. I'll also give a pass for microservices where the interface is very obvious and stable, and there are low cross-cutting concerns.

But in a lot of cases devs are just complexifying things for their own resume and ego.
That's a nice post, thanks for the link. Some may point to various coding apps available in walled gardens, but that means allowing 3rd parties to define what the general-purpose computer is and set its limits. Who are they to say where curiosity begins and where it should end? I want the freedom to run native code on the CPU, and the freedom for others to easily run what I make without jumping through any hoops.

I'd like to hear your opinions about the Raspberry Pi and other cheap computer boards where you can load Linux and just plug in a keyboard and screen. I see a future iteration of that as my next PC in a few years. The Raspberry Pi 3 is good enough to run Ubuntu MATE (I was blown away), and if it had more than 1GB of RAM I would start using it full-time today and save myself some money on the power bill while I'm at it :-)
> With microservices you have the ability to take one service and fix it, reimplement it or replace it if necessary.

You can do that inside a monolith too. Microservice as a solution points to architectural problems, we try to build systems that are too vertical, our architecture should be horizontal. Microservices enforce this horizontalness, but it's not the only way to achieve it.
> What libertarians would probably want first in Iraq is to let ethnic and religious groups to have the control of their own territory and abolish or weaken the central government as much as possible.

Except for the Kurds, that doesn't seem to be want the groups in Iraq want. I wasn't aware that libertarians were generally in favor of imposed religious- and/or ethnicity-based balkanization against the will of the people.

I suspect that would actually work against libertarianism, also, because greater ideological uniformity in the constituency would support more authoritarian government (light touch is a way of accommodating divergent interests which would be eliminated).
I don't see how the size of any individual microservice matters for the scenario hinkley has outlined.
If you divide your project so self-contained components with scoped set of responsibilities that are not coupled to the rest, that's fine as well. I've used that pattern with great success.

Microservices are a way of achieving this, but as you describe it, is not the only way. Discipline is another way.

Now, as you have more people involved, or release deadlines get tighter, chances that tech debt gets introduced increase. Unless you go back and repay the tech debt, situation would worsen.

In that sense, microservices are some sort of cap on the impact of tech debt from rushed deadlines and lack of discipline.
It's not really that new, it's just the term "pull request" that's new. I've worked in several projects where prior to committing code change, it was shared out to the team in form of a patch, feedback gathered, and only when everybody was happy with it, it got committed.

Or, a bit dirtier solution - a commit was made with an explicit request for a closer review from the rest of the team.
#MasterKeys for #Crysis #ransomware released on a forum
After dealing with Elixir's no-mutation-possible-anywhere design, I don't want to go back to any language that permits it
Yeah, It's officially a US firm with a NZ subsidiary.

But any project like this is a multinational effort - while all the engineering, design, manufacture, operations, etc. are in NZ there is nowhere near enough space expertise located here so the team itself is very multinational.
60 million for a printing company? That must have been cheaper than buying individual cartridges.
As in AI taking over the world? No, since AlphaGo is optimized to do just one thing.
I thought it was registered as a US firm for ITAR purposes. From their website.

> Rocket Lab is an American company with headquarters in Los Angeles and a wholly-owned New Zealand subsidiary.
> See, for example, the Coase theorem

Which only holds when transaction costs are negligible, i.e., never. Which was precisely Coase's point in that work - he showed that mathematically, it doesn't matter what initial distribution you put on something (his example was radio broadcast frequency allocations), since the final Pareto-optimal distribution is independent of initial conditions. This is the Coase theorem. But as soon as you include transaction costs, the theorem fails to hold, and initial distribution is important.

A few obvious market failures:

* Microsoft monopoly in the late 90s

* Too little being done to reduce CO2 emissions, since emission costs are externalized and delayed

* Broadband providers in the US

* EpiPen pricing

* Essentially every Health and Safety regulation ever exists to fix a market failure. In the small government world, employers see no cost of workers dying of lung cancer in their 60s from breathing asbestos, etc.

I could go on.
Yeah, I too was a victim of a random Gmail ban without warning or recourse, so I stopped using webmail ask together and keep all my mail local.
Not surprising.

However, I am not buying the claim that the algorithm is going to transform many other domains:

" The system could help optimize power grids, he says, or streamline shipping routes, or refine scientific research."

by Wired https://www.wired.com/2017/05/googles-alphago-levels-board-g...

The main concern is data efficiency. AlphaGo essentially baked good movies into value and policy network by playing millions of times. In reality, unless you have a really good simulator, deep reinforcement learning is almost never applicable.
It seems to me the overhead of microservices in terms of productivy is O(1) - but I can be wrong. If the overhead is O(1) then the question becomes whether or not you already have the framework to do microservices. If you dont, so yeah maybe you should do a monolith.

edit: that even sounds like business opportunity.
I don't think this is true either. I just tried this, and it would switch to the safari window in the current desktop without fail - it was only when there's no safari window for current desktop that it switched desktops.
Defying time with Chronology
I am always surprised again and again, though I shouldn't be, how we are slowly and painfully creeping towards recreating the Smalltalk experience, for example the image.

Did you know that, behind the scenes, macOS (and presumably iOS as well as other operating systems) create a single-file version of the myriad dylibs that are required for most applications? And that apps that link against these individual libs then instead get that big (it's YUUUGE!) combined library mapped into their address space? Without this optimization towards a single image, application launch performance would be wholly unacceptable.
And this is why we should move away from services with a centralised point of failure.
Did you ever try to decompile your iOS or Android app to learn from them. As a mobile developer, I never learn things this way.
It is very common for foreigners to hate their homeland. People who move from Kuba tend to say it sucks. I moved from America to Prague and I tell everyone that America sucks. My Russian friends say Russia sucks. The Ukrainians I know say Ukraine sucks. The Kyrgyzstanies I know say Kyrgyzstan sucks.

I live among foreigners, and the only ones that I've met that actually like their home country are rich ones from totalitarian regimes who somehow benefit from the regime. And as far as I can tell, public opinion of a regime among expats is strongly tied in both directions to how that regime effects them and their families financially, though even well off people such as myself, who have chosen to move away, often find it in their hearts to hate their home country.

The rich Saudis who come to Prague to study all thing Saudi Arabia is heaven on earth. The Russian who's family lost everything in 1998 [1] think that Putin should be hung from a lamp post with his own intestines.

I think that there is basically no knowledge to be gained from talking to expats about their home countries. After-all 75% of Turks in Belgium voted for totalitarian dictatorship at home [2].

[1] https://economics.rabobank.com/publications/2013/september/t...
[2] https://en.wikipedia.org/wiki/Turkish_constitutional_referen...
> a parable

Ha, that's a great observation; I hadn't thought of it. On one hand, I'm very uncomfortable with any implied comparison to the most well known practitioner of parables. On the other, many others have used the form. Maybe I'll write all my HN posts in parable form - 'those who have ears to hear' will understand; the others I won't have to deal with. I could use it for business emails too.

Coming up with that many parables might be challenging.
More detailed article here: https://www.nasaspaceflight.com/2017/05/rocket-labs-electron...

Note that the rocket failed to reach orbit as intended.
LONG.LIVE.REACT
Panama only ever had its own currency for a few years beginning in 1941. When Panama separated from Colombia, it used dollars. An anti-American president was elected and proposed a national currency. No one accepted it. He was soon deposed later. Panamanian coins are the same size, weight and composition of U.S. coins and are minted by the U.S. mint. Panama retains the Kennedy-size half dollar and did not adopt the new US $1 coin.