HN user

ajdecon

3,185 karma

Hi, I'm Adam.

https://www.ajdecon.org/

Posts125
Comments329
View on HN
dynomight.net 2mo ago

Heritability Puzzlers

ajdecon
3pts0
reason.com 3y ago

New Lawsuit Against Bing Based on Allegedly AI-Hallucinated Libelous Statements

ajdecon
24pts1
lwn.net 4y ago

Debian's Which Hunt

ajdecon
366pts244
www.techdirt.com 6y ago

You've Been Referred Here Because You're Wrong About Section 230 of the CDA

ajdecon
5pts0
www.latimes.com 6y ago

DoorDash forced workers to arbitrate, now faces millions in fees

ajdecon
4pts1
www.dursi.ca 9y ago

Should I use Chapel or Julia for my next project?

ajdecon
5pts0
www.kitchensoap.com 9y ago

On Being a Senior Engineer (2012)

ajdecon
1pts0
www.elidedbranches.com 10y ago

Notes on Startup Engineering Management for Young Bloods

ajdecon
2pts0
medium.com 10y ago

Systems in production

ajdecon
8pts0
www.netmeister.org 10y ago

Primum Non Nocere – Ethical Obligations in Internet Operations

ajdecon
1pts0
mcfunley.com 10y ago

Thoughts on the Technical Track

ajdecon
1pts0
www.heavybit.com 10y ago

Charity Majors – Hiring a Tech Ops Team (video and transcript)

ajdecon
2pts1
www.brendangregg.com 11y ago

Choosing a Linux Tracer

ajdecon
87pts2
web.mit.edu 11y ago

How Complex Systems Fail [pdf]

ajdecon
3pts0
web.mit.edu 11y ago

How Complex Systems Fail (2000) [pdf]

ajdecon
12pts0
opensource.com 11y ago

Where Docker security may be headed

ajdecon
4pts0
www.somethingsimilar.com 11y ago

Notes on Distributed Systems for Young Bloods (2013)

ajdecon
100pts7
www.solipsys.co.uk 11y ago

Software Checklist

ajdecon
1pts1
www.solipsys.co.uk 11y ago

Graceful Degradation

ajdecon
2pts0
aws.amazon.com 11y ago

Simplifying the EC2 Reserved Instance Model

ajdecon
42pts22
www.olcf.ornl.gov 11y ago

Summit – Oak Ridge National Laboratory's new supercomputer coming in 2018

ajdecon
23pts8
www.bailis.org 11y ago

Linearizability versus Serializability

ajdecon
9pts0
whatever.scalzi.com 12y ago

Scalzi: Subscription Services and My Writing

ajdecon
3pts0
newbrict.github.io 12y ago

Fe[26]

ajdecon
1pts0
www.slate.com 12y ago

“Duke Collective” grad students collectivize their wages

ajdecon
7pts3
sealedabstract.com 12y ago

Conduct unbecoming of a hacker

ajdecon
8pts1
www.daemonology.net 12y ago

Email delivery headaches

ajdecon
5pts0
technicaldiscovery.blogspot.com 12y ago

Why I promote conda

ajdecon
3pts0
blogsofwar.com 12y ago

Interview: Hacker OPSEC with The Grugq | Blogs of War

ajdecon
1pts0
aws.typepad.com 12y ago

Learn AWS With New Self-Paced Labs

ajdecon
2pts0

The idea of the dashboard is the following: I run the Codex through a web chat to identify the relevant quotes — relevant for my dissertation topic — and how they are relevant, it combines them into a number of claims connected with each quote with a link. And then I review each quote and each claim manually and tick the boxes.

I’d be most concerned about this component of your process, tbh. IIUC, you’re not just using the LLM to identify relevant papers, i.e. a fancy search engine. You’re also extracting specific statements, divorced from their context in a given paper, and using these to make claims for your research.

Even if you validate that the quotes are actually present in the papers, are you also reading the full papers to ensure you understand the overall results of the paper and what the quotes mean in that context? Or are you just identifying hopefully-relevant snippets and combining them?

FWIW, folks on lobste.rs are (mostly) friendly and willing to extend invites if you seem like a real person. My understanding is that the invite system is primarily in use to avoid drive-by spammers and the like.

Feel free to send me an email (findable via my HN profile) mentioning that you found it via this thread, and I’m happy to extend an invite.

I’ve seen most of these recommendations before, but the “mic-drowning case” to muffle room audio is new to me. Certainly makes sense, but are there any common commercial phone cases that advertise this feature?

Many large companies have structured mentorship programs, but this is mostly for onboarding. Your mentor will help you learn about the company itself, e.g. all the different internal practices, tooling, teams, etc. (This is nothing to sneeze at, given how big these orgs can be!) It may include some more general career development but this is often aimed at early-career folks.

For more general mentorship, especially as your career develops, it’s the same as anywhere, you have to find someone you get along with and who can help you learn. The advantage at a big company is that there’s a huge pool of potential mentors, and you can see their calendars and coordinate more easily than if you were hunting in the community. :)

One of my favorite recurring team conversations is the one where everyone shares stories of the outages they've caused or the systems they've broken. This conversation has happened eventually on every SRE (sysadmin/PE/devops/whatever) team I've joined, usually when a junior team member causes their first outage and is having an emotional meltdown. I remember my own meltdown of that form, and I remember it helped hearing about the terrible problems my friends and mentors had caused in their turn.

The first outage where I thought I was going to get fired: I was working on a system that had a single-point-of-failure server, and through a mishap with rsync I accidentally destroyed the contents of /etc. That SPOF also had no backups. (I'm not claiming it was well-designed...) Thankfully the job that depended on that server would not kick off until morning, so my team slowly reconstructed its functions on a separate machine and swapped it in behind the scenes. I helped as much as I could while vibrating with anxiety, and my team was incredibly kind throughout. I was not in fact fired. :-)

The most recent outage I caused? Yesterday! I accidentally rebooted most of the machines in a development cluster. It's a dev system, there's no SLA, on the whole I don't feel horrid, but it definitely ruined a few people's work for an hour. This morning I spent a few minutes putting in a guard rail to prevent that particular mistake again...

If you're in this job long enough, everyone breaks things -- it just happens.

There are rack designs out there built on this idea, but they are usually pretty specialized. For example, the Cray XC series has racks with built in power, network, and out of band monitoring.

A downside of this kind of thing is that it makes upgrades and maintenance harder, and you often have to do any hardware work on a whole rack at once. Heterogeneous setups get really hard. And it’s usually very vendor specific.

It doesn’t support OpenVPN, but I’ll leave a plug for the Outline VPN from Jigsaw (Alphabet). [0]

It’s similar in concept to Algo, in that you deploy your own VPN server on a VPS rather than use a hosted service. However, it provides a polished desktop app for deploying the server, and walks you through creating a VPS on DigitalOcean very easily.

This is incredibly helpful, because most folks I’ve helped with VPN setups are not comfortable aren’t handy with a CLI, and I’ve been able to walk more than one person through setting Outline up very easily.

[0] https://www.getoutline.org/en/home

What's the takeaway?

"Unfortunately this tool doesn't exist for blb++, but we should still improve our coding style for this application. Is there another way to improve our correctness testing? If we allocate some time to improving unit testing, maybe we can do this refactor once we have X% coverage in these critical parts of the codebase."

I.e., acknowledge that both goals are valid, and look for alternate solutions to make incremental progress towards both. Finding middle ground is unlikely to be satisfying from either viewpoint. In this example, Dev A isn't getting a quick win from fixing the coding style right away, and Dev B needs to allocate some time to improving testing. But especially when working on big teams and projects, this kind of piece-wise progress is where I've seen most things get done.

This kind of solution might be pointed out by either Dev A or B, or they might need to bring in a fresh pair of eyes if they're both already frustrated. :)

I’ve worked in a few different settings on large-scale scientific computing. For those applications:

- Not cost-efficient at large scale. When you expect and plan to run thousands of nodes at near 100% CPU and memory usage for years at a time, running a machine room can still be less expensive.

- Specialized hardware not available in public clouds, e.g., very low latency networks configured in an optimal topology.

- Lack of control over hardware upgrade schedule. E.g., a cloud probably won’t give you those shiny new GPUs as early as you can shove them in your own servers.

The balance is shifting in many of these areas, and there’s plenty of scientific computing that can use a public cloud now. But I still wouldn’t use it for problems that are both highly CPU-intensive and require low latency networks, especially if I have long-term workloads.

Honestly, I think the most effective thing to do is find an organization doing social good, who is hiring programmers, and go work for them. There are plenty of non-profits and governments that do a ton of good, and employ developers to work on their web sites and infrastructures. A good friend of mine is a developer for the ACLU, for example.

There are also organizations like Code for America that do open source work with local governments. Since those projects are open source, you could probably volunteer your time and contribute to those. Or simply volunteer in a non-developer capacity! :)

Doing actual social good -- helping people in ways that will actually solve their problems, understanding the consequences of changing their lives -- requires a ton of context and communication. I think it's very, very difficult to do so without either dedicating most of your time to that cause, or working closely with an organization that is already doing so. (E.g., volunteering for a food bank is a lot more effective than just picking up food and distributing it on your own.)

Read all incoming emails within 4 hours max and respond after reading if possible.

Oh God. I hope this is "within business hours"? Because I sleep for more than 4 hours at a stretch, thanks.

(Also: occasionally a comprehensive reply requires an essay, or the equivalent. What do you do in this case?)

GCC 6.1 Released 10 years ago

gcc also supports OpenMP 4.x and OpenACC, both of which are used extensively in the HPC world to support automated parallelization and offloading to accelerators like GPUs. clang only recently added support for OpenMP 3.1, and my understanding is that there are no plans for OpenACC support.

I guess if you're running 5 servers and each one has 4 functions, more "interesting" naming schemes can work. But once you're dealing with more than a few machines, functional names are necessary. When I see a machine's name in the logs, I really don't want to have to infer the machine's function by remembering whether "Zapdos" is a pokemon or a character from Star Wars. I want a name like "dc1-cluster5-rendernode057" that tells me what the machine does and/or where it sits on the network.

Even with physical machines: if the function changes, the correct thing to do is re-name and re-image it, and not worry about the fact that the physical box is the same. Your physical maintenance records should be keyed by something like asset tag anyway.

The "High Performance Conjugate Gradients" benchmark was proposed a couple years ago as an alternative metric for ranking supercomputers. Its proponents claim its behavior is more similar to real applications (irregular access patterns, lower ratio of computation to memory access, etc), compared to linear algebra problems like the "High Performance Linpack" benchmark currently used by the Top500.

The different performance numbers for top systems on HPCG vs HPL are pretty striking: http://www.hpcg-benchmark.org/custom/index.html?lid=155&slid...

Original proposal to use HPCG as an alternative to HPL for supercomputer rankings: http://www.sandia.gov/~maherou/docs/HPCG-Benchmark.pdf

Philosophically, I'd like to see more non-connected link aggregation sites built around specific communities. I.e., there's no reason /r/askhistorians can't be www.askhistorians.whatever and serve the same purpose. HN is a good example of this kind of community-specific site; IMO lobste.rs is an even better example, given that it maintains a more consistent focus.

Community-specific websites have all kinds of advantages over "just another subreddit", including the fact that the community can literally own its own site, and build moderation policies and tools appropriate to whatever it feels its norms are. It can also throw up whatever barriers it feels are appropriate to keep out marauding trolls. (I'm a big fan of Metafilter's $5 account fee, as an example.)

It ought to be relatively easy to automate the process of spinning up such a site on a generic VPS. I'm very tempted to build something along those lines with Ansible or something.

Of course, in practice, the "one big site" model has tons of advantages in terms of barrier to entry, network effects, costs, discovery, and so on. So I doubt the idea would ever gain any traction. But one can dream. :)

(edit: fix wording slightly)

What would be necessary to make living in space a real and sustainable possibility?

Heck -- what would be necessary to make our current, planet-bound society sustainable in the long term?

How can we address the massive inequality in the world without massive loss of life? Counting both the possibility of violent confrontation and the possibility of millions of lives being cut short or degraded by poverty.

How can the problems of global warming be corrected or at least coped with? Again -- without massive loss of life in the process.

Is it possible to reliably extend an individual human life beyond the span of a century or so?

How can we build institutions, or at least ideals, which can effect positive change over a period of hundreds or thousands of years?

Various groups are working on these problems, including governments, corporations and NGOs. I don't really think any of them are doing a great job.

Go to the library. (Yes, the place with all the books. ;-) ) Wander through the nonfiction section and scan the titles. If anything catches your eye, pick it up and read the first couple pages. If it seems at all interesting, check it out and read it.

This technique is responsible for my reading in depth about the history of shipping containers, learning just a little bit about how to do interior design, and reading a large number of gardening books. (And doing some gardening!) Among other things.

You could probably come up with something similar online. (For example, clicking "Random article" on Wikipedia and actually reading it.) But I find that if I'm at a computer, I'm more prone to revert to narrow interests. Going to the real, physical library seems to make me less distractable -- or more so, depending on how you look at it. :)

This is true, but at the upper end the "it isn't Big Data if it fits in a single system's memory" rule starts to get fuzzy. If you're using an SGI UV 2000 with 64 TB of memory to do your processing, I'm not going to argue with you about using the words "Big Data". ;-) I figured using an EC2 instance was a decent compromise.

I've mostly worked in operations, which IME is a field with a very high concentration of stack people. Sysadmins (including myself!) tend to derive great pain from the presence of a production issue and feel the need to fix it immediately, even if we could provide a greater overall win by focusing on project work. I've sometimes seen this result in five people working on an issue that could have been handled by one or two, simply because "it's broken and I need to fix it".

One of the ways my current team tries to mitigate this is with an on-call rotation and an explicit escalation process. When a new ticket comes in, the on-call decides whether it is something they can fix quickly and easily, or it would require too many resources for an immediate fix. The first kind of ticket is handled immediately, or is added to the on-call's (short) task list for that day; the second kind goes into our regular queue and gets prioritized alongside project work.

Meanwhile, everyone else on the team focuses on their current projects and handles issues according to the queue. Other team members are only called in to help immediately if the on-call judges the issue to be urgent but can't handle it themselves.

Oil and gas already does a hell of a lot of computing, and invests heavily in supercomputing facilities. [0] I'm not too familiar with the domain, but looking at abstracts of conferences like the Oil & Gas HPC Workshop [1] might give you some idea of the work already being done in those fields.

It's entirely possible that machine learning techniques could be used as well as modeling and simulation for these problems. (They may be already! But my limited expose suggests they're mostly doing traditional HPC.) But you'd probably need to be a petroleum expert already, not just someone with machine learning expertise living in an O&G hub.[2]

[0] Just an example: http://www.aiche.org/chenected/2012/12/bp-building-new-houst...

[1] http://rice2014.og-hpc.org/

[2] Apologies, btw, if you are a petroleum expert who's just frustrated by a lack of machine learning in the industry. :)