Readit News logoReadit News
dtwwtd commented on Back-end parallelism in the Rust compiler   nnethercote.github.io/202... · Posted by u/nnethercote
dtwwtd · 2 years ago
I really enjoyed reading this post: I think it's valuable to share explorations that didn't pan out. Beyond that, as person not working in compilers, I thought that Nicholas did a great job of providing an overview of the problem at hand as well as just enough detail to start developing an intuition for why the problem is tricky.
dtwwtd commented on Codegen Units in the Rust Compiler   nnethercote.github.io/202... · Posted by u/dtwwtd
nnethercote · 2 years ago
The link above is to a draft version of the blog post, which is no longer available.

The final version (which has a different title) is at https://nnethercote.github.io/2023/07/11/back-end-parallelis....

A HN post about the final version is at https://news.ycombinator.com/item?id=36675281.

dtwwtd · 2 years ago
Ah sorry, looks like I got ahead of myself due to my feed reader picking up the post this morning!
dtwwtd commented on Benchmarking shell pipelines and the Unix “tools” philosophy   blog.plover.com/Unix/tool... · Posted by u/weinzierl
boyter · 6 years ago
Can anyone comment why you can only use the verbose flag if you use the full path of time?

    time -v ls
does not work but

    /usr/bin/time -v ls
does? I don't have enough knowledge of either linux applications or bash to know whats happening to cause this.

dtwwtd · 6 years ago
This is very likely because without the full path your shell is using the `time` builtin function of your shell as opposed to using the binary.

The shell's builtin keyword for `time` is more limited in nature than the full `time` binary. This is true of a number of other common unix commands as well, e.g. `echo`. The manpage for your shell should describe the builtins functions.

dtwwtd commented on SQL Is No Excuse to Avoid DevOps   queue.acm.org/detail.cfm?... · Posted by u/YesThatTom2
Thaxll · 7 years ago
This. Honestly Ops is a different mindset that devs, the tldr version is devs don't really know / care about running things in production. I don't blame them it's just different set of skills.
dtwwtd · 7 years ago
> devs don't really know / care about running things in production

I disagree with this entirely. Devs _you have workd with_ might not have cared but it doesn't make the statement universally true. As a counter argument, some of the best software developers I've worked with were also very good at operating and debugging production software and the reverse has also been true.

I also don't buy that the two are a different mindset (at least in the domains I work in and care about). In my experience the very best people (whether they're working "dev" or "ops" roles or something in the middle care about the entire development and deployment lifecycle of the software they work on. Building a good experience in software includes thinking about reliability and availability and planning a reliable and performant deployment also requires that to be thought of in the application layer at some point.

dtwwtd commented on Ask HN: Do you still purchase physical books?    · Posted by u/zz_m
dtwwtd · 11 years ago
I do enjoy reading a physical book more than an ebook but only by a little. It's interesting to me that people here so far seem to prefer technical books to be ebooks due to their short useful shelf life. I've reached the opposite conclusion - that I prefer technical books be paper only and novels/non-technical books may be either. This is because, in my experience, technical books tend to have diagrams or tables that don't render well on the Kindle and similar devices.
dtwwtd commented on Square Open-Sources Golang Crypto Package Based on JWE/JWS   github.com/square/go-jose... · Posted by u/bigmac
codezero · 11 years ago
Dang, I was going to try to refute you by saying no license meant no restrictions, but nope! Creators of software (and any written work apparently [1]) are automatically granted copyright for their work (this makes sense) so without a license, copying it would be a violation of copyright. That's wild, but seems reasonable.

Posting it to Github isn't implicit permission, but it would probably be a factor if the author did try to sue people for using his or her copyrighted work without license/permission.

[1] http://en.wikipedia.org/wiki/Open-source_software#Open_softw...

dtwwtd · 11 years ago
There's also apparently terms in the Github ToS that allow viewing and forking of public projects regardless of license. What this means in a practical sense, I'm not sure.

https://help.github.com/articles/open-source-licensing/#what...

dtwwtd commented on Algorithms on Khan Academy – a collaboration with Dartmouth College professors   cs-blog.khanacademy.org/2... · Posted by u/pamelafox
egonschiele · 11 years ago
It is the typical curriculum. I'm curious about why it is appropriate. This should be about practical knowledge, not about "throw every algorithm at them and see what sticks"! That's why I only cover two sorting algorithms in my book. I cover selection sort to teach arrays, and I cover quicksort to teach recursion.
dtwwtd · 11 years ago
I think that a big part of algorithms knowledge is knowing what exists. So even a though typical curriculum forces the learning of each of these algorithms, I think the value is in knowing the trade offs between each in terms of complexity (space, time) and ordering.
dtwwtd commented on On Error Handling in Rust   lucumr.pocoo.org/2014/10/... · Posted by u/kibwen
jeremyjh · 11 years ago
I hope we get some sugar here, the ? operator is a great idea. I like the trait implementation as well. I think Rust needs multiple dispatch though - a given type needs to support conversions of IOError to different custom results right? So you can use a struct in different library functions that may return a different custom error. Or maybe I am missing something here; but I do believe multiple dispatch is planned for 1.0.

I did this in Haskell using MPTC, I have used the Convertible class like:

instance Convertible IOError RedisError where safeConvert = <conversion mapping here>

Then I have combinators like:

convEither :: Convertible e1 e2 => Either e1 a -> Either e2 a

and

convEitherT :: Convertible e1 e2 => m (Either e1 a) -> EitherT m e2 a

These are quite handy in close quarters combat. For example to open a file and bail on a generic IOException with a custom application exception, I can have something like:

instance Convertible IOException CustomError

getWords :: FilePath -> IO (Either CustomError [String])

getWords fileName = runEitherT $

    do file <- tryIO (openFile fileName) >>= convEitherT

       line <- readLine file 
       return (words line)

u/dtwwtd

KarmaCake day244October 21, 2010
About
David Wilemski

https://davidwilemski.com

Twitter: @davidwilemski email: hn [at] [lastname] [dot org]

View Original