(Not gp) I read this book more than a decade ago, when I was very inexperienced. The thing I remember the most, and I think the most valuable to me, is the idea of defining a shared ___domain language with the business ___domain experts, with a clearly defined meaning for each concept identified. For instance, what a "frozen" account exactly means, what's the difference with a "blocked" account. These are arbitrary, but must be shared among all the participants. This enables very precise and clear communication.
I think that's the core idea. The layer on top the idea that that ___domain language should be expressed in an isolated core layer of your code. Here lies all your business logic. On top of that, you build application layers to adapt it as necessary to interact with the outside world, through things like web pages, emails, etc. as well as infrastructure layers to talk to your database, etc.
DDD is about a lot more than just defining what it calls ‘ubiquitous language’. It helps you figure out how to constrain which concerns of the language used in one ___domain need to affect how other domains think about those things - through a model it calls ‘bounded contexts’. Like, in your fraud prevention context, ‘frozen accounts’ might have all sorts of nuances - there might be a legal freeze or a collections freeze on the account, with different consequences; outside the ___domain, though, the common concept of ‘frozen’ is all that’s needed. DDD gives you some tools for thinking about how to break your overall business down into bounded contexts that usefully encapsulate complexity, and define the relationships between those domains so you can manage the way abstractions leak between them.
No silver bullet, of course, but, like most architectural frameworks, some useful names for concepts that give you the metavocabulary for talking about how to talk about your software systems.
In highly regulated industries like banking or other highly-secure environments, it’s a gradient between an internal wiki or FAQs etc, to what you have as an example of something more expansive and explicit, to an entire book, to an entire department or business unit for more important concepts that may vary between jurisdictions or be less explicitly defined, but no less important or impactful to the running of the business or group.
I just bought a nice Asus Zenbook and first I did as soon as I received it was installing pop os. I keep my old windows notebook near by in case I need something I can't do in the Linux machine, but its use is more and more infrequent.
SignaGel is a conductive gel. It'll mostly stay in place and stays wet a lot longer than the sponges, but it is a little gross. Get it from a medical supplier rather than Amazon, where the individual tubes are massively overpriced. You might also be interested in 10-20 paste, which is a sticky conductive putty. It's a bit more expensive, but it stays put. Instead of the bands, you can also try a neoprene "swimcap" style holder.
Some of the tingling is unavoidable--the currents are driving fibers in the skin--but you can do a few things to reduce it. First, make sure there's good contact with the scalp: fully coat/saturate the electrodes and make sure they're pressed tight. The lower the impedance, the better. because the "dose" is specified in terms of current and you want to use as little voltage as possible to deliver that. Second, gradually ramp up the current instead of just switching it on/off. The sensation will diminish a bit over time anyway, so slowly increasing the current will make it more bearable. The difference between on/off and a 30 second ramp is really striking! We've used a topical anesthetic to block sensations, but it's a giant pain--it takes an hour to kick in and you need to tightly cover it too. Finally, be careful because you can burn the skin!
A great suggestion, thank you. The issue with this approach is that I have longer hair and a gel may have more difficulty bridging contact between the device and my scalp, plus it likely requires more effort to clean up. I might look into this.
I've been wondering for a while whether it's possible/practical to create a solo company (maybe Delaware LLC) in the US just to be able to offer and invoice my services as a software developer to US companies that look for US candidates.
I assume (please correct me if you think I'm wrong) that sometimes this requirement is because of taxes and bureaucracy, and my be could be overcome by hiring a US company services (owned and operated by a non US citizen/resident).
You don't need to incorporate in the US to do business with US companies on a freelance basis. I have worked as a Canadian freelancer working for US companies for nearly a decade. I did eventually incorporate but that actually makes it more complicated because many large corps are used to dealing with international freelancers and just need to send you withholding exemption docs to fill out. They usually only have the individual freelancer docs at the ready -- not the incorporated entity docs. That said, hiring an employee and hiring a freelancer are different for a lot of reasons and there are good reasons why a company might not hire international folks. Including because certain industry's regulations keep them from hiring in certain places or because the work requires you be on a certain time zone. I would also say that... you shouldn't always believe what a company says when they say they're only hiring in the US. I have gotten interviews and offers for jobs that were listed like that. Here's what I do: I find a job that I find interesting and then go to the company's LinkedIn page. I look at their People tab and check to see if they currently have any employees in my country. If they do, they might have an international hiring strategy but could prefer US staffers because there's less paperwork and they don't need to go through an agency in that country to hire you. Then, I apply with my address clearly listed. It's more work for me because there are many jobs that won't even consider Canadians. However, there are some that will for the right candidate. And in the last year, I received a number of offers and interviews from companies willing to hire me remotely from Canada but who had originally advertised US only. Many companies, especially small startups, are moving towards international hiring strategies.
Not proberts, but I take your question to be "I live outside of the USA, and want to work remotely for US companies. Can/should I incorporate to make this easier?":
1. As a non-US citizen, you can establish a company in the USA today for ~$500 with Clerky/Stripe Atlas/AngleList Stack/Gust. You'll need to file additional forms due to foreign ownership, but otherwise, incorporation is a smooth process.
2 I hire international developers who bill me from their international companies all the time. There is no meaningful difference between them and US-based invoices, and there is no advantage with taxes or bureaucracy.
If you wouldn't be creating jobs in the U.S. through this company, then the only option would be an O-1 but the standard for an O-1 is high - although not as high as the O-1 criteria would suggest.