HN user

rickmode

497 karma

I'm a software developer. https://rickmode.com/ https://www.linkedin.com/in/rickmode

Posts6
Comments151
View on HN

Pronoun confusion. The second pronoun is ambiguous.

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.

[dead] 2 years ago

I’d say it’s like the mental health distinction of a trait versus a disorder: if this is negatively impacting your day to day life, consider therapy / counseling.

(As an aside, I think of counseling as “optimizing my life”. Perhaps that framing may help those that find the idea off-putting.)

Generic reply to siblings here… I get the intelligence argument.

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!

I believe we first need to answer the question of whether the copyright of the AI model’s source text or images affects the output.

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”.

I agree though I’d say non-technical people are naive and so don’t know why the experience is not ideal or fun or smooth. I suspect if asked the right questions, non-technical people would also complain.

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.

The answer, I think, is warranties. As soon as software can no longer be delivered “as-is”, the profession will need to change. Hobbies will still exist, just as they do for almost all other professions, but as soon as software is required to be fit for purpose, we will need to get serious. That’s when regulation and (gasp) licensing will need to come in to play.

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 use Hover for my personal domain, and added a "small mailbox" for my email address. For calendaring, I use iCloud, which works fine since I'm an iPhone user and that thing is _always_ with me. I switched my personal website (which I basically never utilize), from Blogger to GitHub Pages. Should I ever want to post things, the Jekyll integration will be plenty. At the moment the page has 90s style "under construction" notice, which I find mildly amusing and is all I wanted over Hover's own missing website page.

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.

"Simple != easy." --Rich Hickey

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.

Firefox 79 6 years ago

For me, the big drain was running Google Chat in Firefox. I switched running GChat using Google’s app and that solved the problem for me. Now the only big drain is WebEx. (This is a work laptop, and my work uses GSuite and WebEx.)

I had this same belief but there is one other useful situation where an interface plus just one implementation class helps, and that's when you want to hide the noise of implementation details from another part of the program.

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.

I don't think this is a good example.

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.

DJI Mavic Mini 7 years ago

Are you sure about the "do whatever you want" part? Just because there is no need to register with the FAA doesn't mean the FAA rules do no apply.

See my reply to bryanrasmussen for a full explanation.

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.

When using ES for indexing and not the primary store, you can (and should) periodically fully reindex the data set. You can use a blue / green pattern — create a new index then swap from the old one to the new one. ES supports aliases, making this swapping transparent to the apps using the index. Now you have more options.

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.

4 months for my 2016 Model S. Most of this time (all but 2 weeks, I think) was waiting for airbag related parts. Missed the entire summer last year -- accident in May, got the car back in September. Suffered crappy rental cars.

This was a lease, and my wife and I did not get another after the lease return. Definitely makes me hesitant about getting another.

How about CPUs without speculative execution and simultaneous multithreading (SMT / Hyper-Threading, which has similar issues)? We would, of course, need other optimizations to claw back the performance loss--an engineering problem I feel we can solve.

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.

Maybe Apple has embraced one of these "Agile" methodologies where you basically eliminate your QA group in the promise that developer created unit and integration tests can cover the quality gap.

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.

I totally get this. I finally got an ADHD diagnosis as an adult and the mild stimulants they prescribe help me plow through work that would otherwise be literally too boring for me to force myself though.

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.

Take the break without "unloading" the problem from your head. Get up, get some coffee or whatnot. You're brain will retain the problem you are working on with no effort on your part.

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.

Salary comparisons happen anyway, with the same effect, although you typically have to do it in secret because in many company's, sharing salary information is against company policy.

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.