HNHacker News
TopNewBestAskShowJobs

codemac

4,446 karma · joined December 3, 2008

http://codemac.net -- rarely updated

I am bad at collecting karma. I'm currently working on Human Data/Alignment Research @ OpenAI.

Previously Storage @ Facebook, Google, Pure Storage, Igneous Systems, IronPort, and NetApp.

What is the most important problem in your field, and why aren't you working on it?

email: j@codemac.net

[ my public key: https://keybase.io/codemac; my proof: https://keybase.io/codemac/sigs/4zxtt61QOyT7_BA8DDCHlGlNCkE2rw-VsKZclDl1U20 ]

submissionscomments
codemac··on The cost of cloud, a trillion dollar paradox (2021)
It's my hardcore held belief that the cloud industry could wildly be disrupted if it was easy enough to order 5 year capacity contracts. Then AWS / GCP etc would be left with just the elastic demand, rather than the inelastic profit center.

However - this would take a huge amount of upfront investment, have high risks for black swan events against 5y contracts without crypto-style escrow, and I have been unsuccessful pitching this direction in elevators to folks, which makes me think I don't have a visceral enough idea.

codemac··on Unified versus Split Diff
Most of modern technology company culture has strayed too far from doing more formal processes for managing development.

By not having a basic process for defects, features, etc, every engineer has to make up and invent the process for how they will ship their feature through collaboration.

In most cases this ends up with doing little to nothing, with code review being the only form of collaboration on the topic that is in any meaningful detail. So we're left trying to stuff all possible interventions into a single moment.

codemac··on Nanofiche: Small Storage, for Forever
> Long-term archival storage is going to be an important industry as our data volumes grow.

Unless you care about reading your data, as then it won't be important. Let me know when tape starts taking more of the global storage market share. It's a super mature, functional, and far higher performance storage media, and it's total percentage of global bytes shipped dwindle.

codemac··on Ask HN: New ThinkPad battery life on Ubuntu
The video + meet thing sounds like you're not using the GPU very well.
codemac··on Atlassian Acquires Loom
You can use quicktime to show your webcam + cmd-shift-5 as well.
codemac··on ChromeOS is Linux with Google’s desktop environment
Not that I know of!
codemac··on ChromeOS is Linux with Google’s desktop environment
Buy laptop without ChromeOS.

Install ChromeOS Flex.

Be happy.

I did this with a Lenovo X1 Nano, my favorite chromebook ever.

codemac··on Obsidian 1.4.10 Desktop (Public)
Obsidian supporting properties is the beginning of it's attempt to replace org-mode for me.

Something I do wish they did was take the plugins that are clearly ubiquitous, and just make them default. It's weird to think that Obsidian might be marching forward nicely, but the maintainer of the Tasks plugin decides to bail.

Emacs has recently been much better about just including by default popular libraries/plugins.

codemac··on Writing Small CLI Programs in Common Lisp (2021)
Yup, definitely write code that goes on servers.

I agree with you about containers.

The article was about writing small cli programs, and compiling them yourself. I guess I assumed you would be able to rebuild in this discussion trivially - you wrote the program.

codemac··on Writing Small CLI Programs in Common Lisp (2021)
Thus my last sentence: if you aren't shipping to production... you are really just copying files around, and you have a glibc.

I think I just use linux enough that all the macos bugs I don't experience.

codemac··on Bit by bit microplastics from tyres are polluting our waterways
What home filtration do folks use?

My biggest fear in over filtering is then the decision of what to add back feels too overwhelming, whereas leaving it completely out of my control means it's not my fault :)

codemac··on Writing Small CLI Programs in Common Lisp (2021)
Even shops that shipped static binaries, they all still shipped containers at the end of the day to run in production.

I find a lot of the static binary hand wringing basically: did you ever solve how to ship more than 1 file to production? Did you ever need to virtualize any resource on your compute?

Then you're at a minimum using a chroot and containers.

If you aren't shipping to production, if you're really just copying files around between your laptops and you want them to run - you have glibc.

codemac··on “Waterfall” doesn't mean what you think it means
Well, it does mean what I think it means because language is descriptive, not prescriptive :)

I will never forget sitting in a 4-8 hour meeting for a day reviewing our entire dependency tree, and whether or not SJ-BCOMKA-4.11 had a dependency on SJ-TARGET-4.32. Management moved our "productive percentage time" from 80% to 85% to make the schedule look good to upper management. The scars of "waterfall" run very very deep.

Second, it's clear you need to reapply anything written 35+ years ago to modern sw development. For example, "operations" as a stage of sw development, whereas today we have devops vs SRE vs production engineering vs whatever.

Things like cleanroom development, zero defect software, etc are completely under utilized by software shops today, because we price the cost of maintenance & bugs far far too low. Which is was also unfortunately missing from the waterfall paper compared to Capers Jones or others analysis that showed it's not just that you should have preceding steps to "coding" - the preceding steps (aka "analysis") remove defects from your final product far far faster.

codemac··on Acronym’s new computer with Asus is bonkers, but that’s the point
The irony being of course, that huge flat slabs are not somehow inherently more "functional" than something with a handle, or a screen that doesn't break, or a back that doesn't scratch etc.

We just kind of hand-wavy announce that anything boring, sleek, or rectangular is "functional". It's not.

codemac··on The Cuts at WVU
Thank you! Great clarification.
codemac··on The Cuts at WVU
Great clarification, thank you!
codemac··on The Cuts at WVU
Great clarification, thank you! Did not consider that option.
codemac··on The Cuts at WVU
The argument they should be making is more straight forward: We should not allow a University to become so mismanaged that every degree must be profitable, but instead a positive ROI for all students. Second, languages are not an optional part of a University for the people of West Virginia - we must be connected to the world.
codemac··on The Cuts at WVU
EDIT: Others have commented that this is just that the # of students taking courses vs. the # of students in the major. The phrase "program enrollment" meant something different to me. This would make the 800k profit make sense.

Can someone help me clarify how they're getting to $800k in profit? When I look at their actual numbers, his comments don't make sense.

https://provost.wvu.edu/files/d/bf3ef02f-e90a-4e43-a316-d295...

They somehow have 18000+ credit hours to their department in a year, but only 61 enrolled students in fall 2022 which, means an average student enrolled was taking 310 credits? Or ~150ish if the 2022 credit hours is for both fall & spring?

My guess is that these are $0 credits. Most universities allow you to meet your "foreign languages requirement" by showing your High School transcripts, and then you get those credits applied to your degree. $0 profit. The later part of the spreadsheet clearly shows how impossible this is - they did not make $6.7M with 61 students' tuition. Clearly the spreadsheet is just a dumb formula multiplying by the credits..

So either they're somehow the most expensive foreign language school in the world, with 1 instructor per 2 students that folks are paying $50k+/semester..

Or their research grants aren't being accounted for correctly? (I don't know how grants work, I am but a lowly swe)

Or they're a wildly expensive department that almost no one major's with, and their research grants don't cover their millions in losses to the university.

codemac··on The Cuts at WVU
EDIT: Others have commented that this is just that the # of students taking courses vs. the # of students in the major. The phrase "program enrollment" meant something different to me. This would make the 800k profit make sense.

When I look at their actual numbers, his comments don't make sense: https://provost.wvu.edu/files/d/bf3ef02f-e90a-4e43-a316-d295...

They somehow have 18000+ credit hours to their department in a year, but only 61 enrolled students in fall 2022 which, means an average student enrolled was taking 310 credits? Or ~150ish if the 2022 credit hours is for both fall & spring?

What I think is happening, is that most universities allow you to meet your "foreign languages requirement" by showing your High School transcripts, and then you get those credits applied to your transcript. That means you actually make $0 from those credits. The later part of the spreadsheet clearly shows how impossible this is - they did not make $6.7M with 61 students' tuition. Clearly the tuition is just a dumb excel formula multiplying by the credits.

So either they're somehow the most expensive foreign language school in the world, with 1 instructor per 2 students...

Or they're a wildly expensive department that almost no one major's with, and their research grants don't cover their millions in losses to the university.

codemac··on Study suggests isometric exercises best for reducing blood pressure
If you don't want to start with something as elaborate, is some basic straps in a loop. Worldfit[0] sells these simple pieces, work great.

[0]: https://www.worldfit.com/

codemac··on Apollo is dead. Long live Apollo
Because reddit is a social phenomenon, not a technological one.
codemac··on Patterns of Distributed Systems (2022)
And the really big ones do much more epic clock management, and keep things wildly in sync across the globe. See the recent work with PTP that fb and others are trying to do openly. Google and others have their own internal implementations.
codemac··on Big leap for hard drive capacities: 32 TB HAMR drives due soon, 40tb on horizon
You are hitting on the largest problem with high density HDDs - the IO dosn't scale with the density, and thus the data needs to be colder and colder that you put on the drive.

The cold data thesis hasn't worked out as well in the market as many storage vendors would have liked.

codemac··on Big leap for hard drive capacities: 32 TB HAMR drives due soon, 40tb on horizon
The idea you want tiering... at home.. just seems so unlikely to save you any serious money, or gain you significant performance.

"tiering" in the traditional sense isn't even popular in the DC with things like Vast, Pure, etc all doing well.

Is there any reason you don't know the data set that is generally cold? The vast majority of home users basically have data that is trivially super cold that needs reasonable read performance - this is just HDDs. Then have a second mount point with things that you need greater performance, and have that be just SSDs.

codemac··on Big leap for hard drive capacities: 32 TB HAMR drives due soon, 40tb on horizon
Ok, I'll rant now.

Tape drives have multiple heads for IO, which allows some to fail along the way and you can still read/write your data. This sounds good - but it actually just means these tape drive heads are flaky. What do you do when too many fail? You call IBM or whoever and get them to replace your tape drive, or "reman" it by replacing the failed heads. This is the only way they actually achieve their warranties around lifetime read/writes.. they assume you'll fix the hardware along the way.

These HAMR drives have the same problem. The "heat assisted" just means they're using a laser to heat up a piece of gold, and sometimes this means the gold kinda drips around, and the head can be ruined. So their read/write lifetime numbers are pretty loose compared to PMR, and there is an assumption you'll "reman" these drives if they start to have failed heads for IO. However, the gold can even drip onto the platter, giving you permanent data loss anyways.

Lastly, they use SMR to get this density. SMR is not like PMR. PMR is what you think of with an HDD with many small blocks either 512B or 4KiB which you can read/write to. SMR has 256MiB (or 128) "zones" that you can only append, or reset. This means instead of being able to write randomly across the drive's capacity, you need to plan out your writes across appendable regions. This complicates your GC, compaction, and reduces your total system IO. Your random read performance is still better than Tape, but this basically turns your HDD solutions into something that looks a lot more like Tape. This is incredibly unpopular technology for this reason.

The market for these things is much smaller than most HDD vendors would like. You have a few hyperscalars that have figured out how to write out backups efficiently, but they want a lot of read IO, and reducing the spindle to byte ratio means you have less total system bandwidth to your data.

This means that the price per byte would actually need to be lower than their PMR drives, let alone wildly better warranty agreements, for these to be better TCO than current generation drives.

codemac··on Big leap for hard drive capacities: 32 TB HAMR drives due soon, 40tb on horizon
HAMR has some serious faults with it's io heads (could rant about this forever), especially given the "reman" logic they use to qualify the durability of the drives.

I'd wait until these actually ship, and we get some data on them. These end up basically being flaky new-age tape systems rather than HDD given SMR is required for this density.

codemac··on Why the Dvorak keyboard didn't take over the world (2014) [video]
Ditto! It's actually good for thumbs because your thumbs can't get all crumbled on top of eachother. Same for swipe typing - the further distances makes it easier to pick up on different words.
codemac··on Why the Dvorak keyboard didn't take over the world (2014) [video]
I ended up with the following[0]

    (keyboard-translate ?\C-x ?\C-t)
    (keyboard-translate ?\C-t ?\C-x)
Along with a quick function to make sure I don't forget :)

    (global-set-key
     (kbd "C-t") 
     (lambda ()
       (interactive)
       (run-with-timer 
        0.3 nil 
        (lambda ()
          ;; Assuming these are the default values
          (setq visible-bell nil)
          (setq ring-bell-function 'ignore)))
       (setq visible-bell t)
       (setq ring-bell-function nil)
       (error "Don't press that button.")))
[0]: https://github.com/codemac/config/blob/master/emacs.d/boot.o...
codemac··on Why the Dvorak keyboard didn't take over the world (2014) [video]
My vimrc has a specific section just for handling this:

    """""""""""" DVORAK FTW LOLZ! "
    noremap d h
    noremap h j
    noremap t k
    noremap n l
    noremap k d
    noremap l n
    noremap j t
    noremap ^Wd ^Wh
    noremap ^Wh ^Wj
    noremap ^Wt ^Wk
    noremap ^Wn ^Wl
    inoremap ^] ^[A
    inoremap ð ^N

That's all I use for handling dvorak. This has been in my config since I switched to git from hg in 2007, dunno how long before that.
← PreviousPage 4 of 34Next →