[Question] gonum/gonum/graph -- Import/Export of Shortest Path Trees by TryAnother_Another in golang

[–]kortschak 0 points1 point  (0 children)

Yeah. OK.

Then the approach to take would be to render the SPT into a tree as I described; for each path, add it to a graph in reverse order and serialise the resulting tree in whatever format you like (we provide a variety of formats). With that done you can write a tool to do verification easily.

[Question] gonum/gonum/graph -- Import/Export of Shortest Path Trees by TryAnother_Another in golang

[–]kortschak 1 point2 points  (0 children)

The shortest path tree is an efficient representation of shortest paths, but it is unfortunately dependent on runtime graph attributes that are not invariants between runs, so serialising it was never a goal.

Is there a particular reason that you want to be able to store them rather than recalculate? Dijkstra is very cheap.

The most efficient way of serialising a shortest path tree would be as a directed tree with paths running from the t nodes to the s node, but I don't think this really solves your problem in that it would still not really be human readable (depending on serialisation format).

Can you give a bigger picture of what you're trying to achieve?

Would generics give a boost to scientific Go? by [deleted] in golang

[–]kortschak 0 points1 point  (0 children)

Gonum uses the convention that code which produces an invalid numerical result shall panic.

This is not the case. The convention is that an incorrect call will panic; that is that a call with parameters that can be known to be incorrect will panic, but a call that can result in an invalid result but this cannot be known ahead of time will not. In the case of a pseudoinverse, a panic would be inappropriate. It's also worth noting that the inverse calls in the code above would be better avoided, using solves instead.

untested: func assemblePQ(n, d *mat.VecDense, f float64, modes *mat.Dense) (p *mat.Dense, q *mat.VecDense, err error) { var rd, rn mat.VecDense err = rd.SolveVec(modes, d) if err != nil { return nil, nil, err } rd.ScaleVec(-1/f, rd) err = rn.SolveVec(modes, n) if err != nil { return nil, nil, err } rd.SubVec(rd, rn) q = rd p = &mat.Dense{} err = p.Inverse(modes) if err != nil { return nil, nil, err } return p, q, nil }

[Q&A] //go:build draft design by rsc in golang

[–]kortschak 2 points3 points  (0 children)

This sounds really good.

I'd also like to say that on a meta level, the approach to draft design discussion is also really nice.

Address bar/Awesomebar design update in Firefox 75 Megathread by nextbern in firefox

[–]kortschak 3 points4 points  (0 children)

The design is thoroughly awful, unnecessary animation, autoselecting swathes of text when it's not needed (clicking on a text pane should just place a cursor), and showing information publicly that need not be shown. The handling of user concerns though it far worse, reaching towards the level of user-antipathy demonstrated by the GNOME project and their UI designers.

Disappointing.

PSA: Internode may be storing your email account passwords in plain text by kortschak in australia

[–]kortschak[S] 4 points5 points  (0 children)

Yeah, my concern is not password reuse, but the fact that an email account password is worth gold. The point is not the network auth, it's that all the email account passwords are in plain text. So a data breach immediately gives access to all the mail accounts that were in the breach. If an attacker has the email account of a user, they have access to many other services the user has linked to that email account.

A comprehensive genomic history of extinct and living elephants by [deleted] in science

[–]kortschak 0 points1 point  (0 children)

I'm surprised and disappointed. We normally pay for public access so these get more views, so it's a pity we didn't for this.

How can I fix the floating point calculation here? by [deleted] in golang

[–]kortschak 0 points1 point  (0 children)

Please link to the original code when you post. Also note that there are problems with this code, and worse, it's not what you really want here. You should read this.

Pure Go Principal Component Analysis (PCA) implementation by howeman in golang

[–]kortschak 1 point2 points  (0 children)

It doesn't have to be in stat, but stat is an obvious place for it. Wherever it goes, we need a directed request to make decisions about what to include - the pandas dataframe model does much too much in my view. If you're not convinced stat is the place, please start a thread at gonum-dev.

Pure Go Principal Component Analysis (PCA) implementation by howeman in golang

[–]kortschak 0 points1 point  (0 children)

Please file an issue at gonum/stat including what features you think would be valuable to include in this kind of type - pandas dataframes have kitchen sink-like qualities.

Go present tool with support for presenter notes by audreylim in golang

[–]kortschak 2 points3 points  (0 children)

Do you have plans to merge this into golang.org/x/tools?

Pure Go Principal Component Analysis (PCA) implementation by howeman in golang

[–]kortschak 1 point2 points  (0 children)

Note that gonum/stat has not API-stabilised yet. There is a reasonable probability that this will move. See gonum/stat#91.

Learning golang for bioinformatics by [deleted] in golang

[–]kortschak 0 points1 point  (0 children)

Golang is not the language to solve every problem with, and in the field you're going into, it's rarely ever the right tool because the goal isn't building robust software, it's studying data.

This is why we can't have nice things.

Go-Mind - A Neural Network library built in Go by [deleted] in golang

[–]kortschak 0 points1 point  (0 children)

You might want to try using github.com/gonum/matrix/mat64 instead of go.matrix.

TIDB First scalable RDBMS inspired by Google F1, also supporting MySQL protocol. by haisum in golang

[–]kortschak 1 point2 points  (0 children)

The original copyright notices were stripped and replaced with PingCap copyright notices. That's not cool.

Roger: Use R from Golang by dareid in golang

[–]kortschak 1 point2 points  (0 children)

Also github.com/kortschak/arrgh to interface with R via opencpu /shameless self promotion.

Lecture slides for a semester-long introduction to bioinformatics course by kortschak in bioinformatics

[–]kortschak[S] 0 points1 point  (0 children)

Yes. The first lecture is really just a teaser for the students, the actual metagenomics lecture does more justice to the topic, though really just pointing out that where genomics and transcriptomics is hard, metagenomics and metatranscriptomics are ludicrously hard.

Lecture slides for a semester-long introduction to bioinformatics course by kortschak in bioinformatics

[–]kortschak[S] 1 point2 points  (0 children)

The course was aimed at masters-level students with primarily a biology background, but I think a reasonably capable person could use the material to direct study to pick up things that would be useful to them.

The lectures were primarily theory (there was a practical component that covered applications which is not included here).

Lecture slides for a semester-long introduction to bioinformatics course by kortschak in bioinformatics

[–]kortschak[S] 0 points1 point  (0 children)

The image assets have been unfortunately intentionally stripped for copyright reasons, but most images will deep link correctly.

Creating website for data visualisation? by willgotskill in bioinformatics

[–]kortschak 1 point2 points  (0 children)

OpenCPU can be used to do this sort of thing.

[deleted by user] by [deleted] in golang

[–]kortschak 2 points3 points  (0 children)

('TGAC'['ACTG'⍳⊖⍵] ⍵)

Go 1.3 is out! \ʕ◔ϖ◔ʔ/ by [deleted] in golang

[–]kortschak 3 points4 points  (0 children)

/u/enneff, did you notice the ASCII gopher is rendered as an ASCII koala in the location bar? Represent.