497 karma · joined August 5, 2008
Since we are all “hackers” here, I’ll be pedantic…
“While it is a great language…”
The “it” pronoun clearly refers to the C++ language, as I’m sure you intended.
“…ir would profit from less ‘lets code C with C++ compiler ’ attitude.”
The “ir” — presumably a typo for “it” — can refer to the article or C++. Given that this thread is about an article, the second “it” referring to the article is a natural assumption.
(As an aside, I think of counseling as “optimizing my life”. Perhaps that framing may help those that find the idea off-putting.)
But otherwise I like the image!
My _main_ point is that there’s a non-trivial question to answer here.
I’m not qualified to answer (though I’ve offered up my non-expert opinion). It certainly seems to quickly veer in to philosophy!
My opinion — and note I’m a software engineer, not a lawyer — is that an AI, being a statistical model and not generally intelligent, should not be allowed to disregard the copyright of its source material. This would, I think, require the AI’s creator to secure a license for all of its sources that allows this sort of transformation and presentation. And further, a user of the AI would themselves require a license to use the output.
The alternative seems to be “anything goes”.
Computers have always been just useful enough for as long as I’ve used them (since the 80s). We’ve _always_ put up with a lot of nonsense and pain because the alternative is worse.
As soon as, say, a retailer or a bank can be sued to oblivion for bad and/or insecure software, whether it was written in-house or not, the regulations will flow back to the producers of the software.
We are still in the Wild West days. Enjoy it while it lasts. Once we, as a society, start requiring software to actually do what it says it does, the fun times are over…at least professionally. We will still be able to have hobby projects automating sprinklers and lightbulbs and such with the latest unlicensed (edit: un-warrantied, really) Raspberry Pi and Linux.
But at work we will be using buttoned down OSes, programming with buttoned down programming languages, using a (comparatively) small number of professionally licensed third-party libraries, and all this with some painful professionally certified software development methodology.
Edit: for clarity.
I looked at other options -- ProtonMail or FastMail -- but figured my needs were fairly basic. I don't use multiple mailboxes, I very rarely search my email history, iCloud handles my calendar (I had switch this up already), and I don't need a huge amount of space. After 10+ years on G Suite, my personal email was 1.5GB, so I figured any email host would work.
I didn't bother importing all of my email to the new Hover email, nor did I want to. Instead I archived my G Suite email and copy / pasted my current Inbox across, which was 20-some messages (I practice a slightly messy version of Inbox Zero). If I ever need to search the old email history, I'll import the old G Suite email archive to Thunderbird or Apple Mail.
About having my domain and email hosted by the same provider: I understand the risk, however I have managed to keep my personal website and email going consistently for over two decades, and I'm not terribly worried. Plus I have auto-renew enabled.
The closest I get in my career is striving for the simplest approach to building something in software, which is not all the easy path. The easy path always leads to complexity -- just look at any enterprise software project that's more than a year to two old.
I find the process of striving for simplicity gratifying and reading this article about similar -- but much longer process -- put a smile on my face.
This can happen between different layers of app. For example you might have a persistence layer under an API or UI, and want to expose a nice "clean" interface to the API / UI layer.
The Patriot Act is the problem. We knew it at the time. Sounds like we all agree on that point.
If memory serves, the threat _was_ detected, however it was not acted on. There was lots of finger pointing about lack of coordination, but (as I recall) the core problem was that it was one threat amount many (100s? 1000s?), so the threat detection was generating too much noise.
Ubiquitous surveillance could (does) easily end up creating the same situation: not enough signal among the noise.
Basically: you reindex ES periodically, so when a user is deleted from the primary, it will disappear from ES upon the next reindex. The old index is deleted at the file system level.
If it is easy to delete specific users from the primary database, the deleted users will naturally disappear during the next ES reindex.
Edit: The old index is deleted at the file system level.
If the reindexing occurs daily or weekly, perhaps this will satisfy GDPR.
There are other good reason to not use ES as the primary data store. First, it isn’t entirely reliable. It’s good and I’ve never seen a corruption, but ES and Lucene’s history isn’t as a reliable database. Second, if you want to change how you index, it is a bit easier to do if the source data is outside of ES.
This was a lease, and my wife and I did not get another after the lease return. Definitely makes me hesitant about getting another.
I've wondered if the solution is more, simpler cores. We concentrate on smaller, faster cores, and the programming to utilize them better. Perhaps advances in memory architectures as well. Hardware isn't my specialty, so I'm just brainstorming here.
Perhaps this is where ARM and even RISC-V based systems can step in.
But I'm a software guy, so what do I know? I just know I'd feel more comfortable with systems based on simpler CPUs that just cannot be exploited by the recent side-channel attacks discovered, rather than trying playing whack-a-mole with patches, along with trying to reason when it might be safe to use CPUs with these optimizations.
QA and dev approach software with different mindsets, and I've noticed in Agile projects where QA is mostly or entirely missing, there is a skill gap.
Edit: People - I'm not trying to be flippant. I really have seen a decrease in quality in the transition to Agile. We use Scrum or Kanban where I work, and while overall the approach to estimation and the smaller scheduling and estimating increment is better, in many projects where I work there is no _separate_ QA group. A few project do retain it (though re-branded as "Performance, Stability, Reliability" - PSR) and it does help, but generally this PSR doesn't cover everything our old QA groups used to cover.
In any case, I have no insight in to what is happening inside Apple. I'm really just suggesting that given the prevalence of Agile methodologies these day, perhaps a non-ideal transition to Agile is a contributing factor to their quality issues.
On the flip side, these same mild stimulants may be helping me get to the burn out phase. Heh. The net is that taking the stimulants while feeling a lot of stress or anxiety is not a good plan, and something I have to watch out for. So when I'm stressed out, I stay way from the stimulants -- I fall back to coffee and Diet Coke.
This works much better when working remote. When in office, keep your headphones on so people see that you are not available.
This is basically variation of a Zen walking meditation. To respect the Zen style fully, try to concentrate on the walking, breathing, making, pouring your coffee, and nothing else. Don't beat yourself up if you starting thinking about work, though -- just go back to being in the moment while doing trivial things. It's the getting up and giving your brain the OK to relax that is the key. The goal of Zen is to be in the flow with that's in front of you, even when sitting and doing almost nothing (just breathing). It is impossible to do this for long (at least for me). But the goal of "not thinking" and being in the moment / in the flow is a worthy goal. Softly bring your attention back to what's in front of you is the mental exercise that helps you relax and avoid distraction when not meditating, though for me this takes months of meditating to have this knock-on effect.
This isn't always possible for me. I probably don't meditate enough. Sometimes I basically keep thinking about whatever I'm working on or worrying about. But even then, stepping way from the keyboard at least let's me tackle things from different direction.
Anyway, a short break like this unlock something you are working on, similar to how we sometimes come up with good ideas in the shower.
For me, I do this once every hour or 2 when I can, not 20 minutes. On the other hand, on days when I have lots of meetings, this is basically impossible.
Just my 2 cents. Everyone is built slightly different; your milage may vary.
In my anecdotal experience, the angst doesn't last long, unless you are actually severely underpaid. And that's a problem regardless of salary disclosure.
In my opinion, I like the idea of open salary information because I suck at negotiating, and this would help. Why penalize people that haven't specialized in salesmanship? I became a developer to concentrate on solving problems, not trying to outwit and out-politic my co-workers, managers, and potential hiring managers.