HNHacker News
TopNewBestAskShowJobs

jomar

224 karma · joined December 20, 2011

submissionscomments
jomar··on Hiawatha Webserver
I have decided no such thing, and in fact my point is that in this case my own opinion is pretty much immaterial.

But it is important for people like you and me to be aware of the concept and issue in general.

jomar··on Hiawatha Webserver
I don't know, and you don't know either.

The grandparent post was wondering what the issue is, and my post described what IMHO is the main potential issue.

You have your opinion on to what degree this might be a problematic instance of cultural appropriation, and I have my opinion (which I haven't stated).

But the point is that the opinion that matters is that of Iroquois people and other descendants and (cultural) inheritants of the person whose name is being used. (Not that they are obliged to have an opinion on this, or to speak with a single voice on this matter.)

jomar··on Hiawatha Webserver
It's not about politeness.

And it's not a cultural issue that's particular to the US. It appears that the author of the Hiawatha web server is not from the US either (Wikipedia suggests he is Dutch), so you might ask what link he has to Hiawatha and what justification he has for using the name and laying claim, in whatever small way, to a piece of the original Hiawatha's prestige.

The term to research is cultural appropriation.

(Clearly all these web servers are following Apache's lead in their naming. ISTR a story in the past that ASF had (retroactively) sought and/or received the blessing of the Apache Nation leadership for their use of the name; there's some related information at <https://www.apache.org/apache-name/> though nothing as clear-cut as the story I'm vaguely remembering.)

jomar··on GNU Coding Standards: Writing Robust Programs
Some current vendor versions of awk have astonishingly short line length limitations. See e.g. (especially the latter):

https://github.com/samtools/samtools/pull/1165 https://github.com/samtools/htscodecs/pull/22

which work around limitations in the default system awk on Solaris/OpenIndiana/whatever the remnants of SunOS are called these days…

jomar··on Cherokee Numerals
There's a very simple trick: for an overview reading, it doesn't matter what those words mean.

Just skip over them: From the Egyptian some-class-of numerals used in almost all the some-kind-of tasks of the Egyptian state, etc.

(Also, welcome to reading a text for which you are perhaps not the target audience. Now think about all the computing jargon that we tend to just take for granted in our own writing...)

jomar··on No Us Without You: elifdef and elifndef
For the same reason as in other languages (e.g., Perl, bash) with (effectively, in Perl's case) an explicit end-if keyword: so that you don't need a whole bunch of #endifs at the end of your conditional, one for each #if or #else … #if.

C itself doesn't need this, because you can write `else if …` without needing to put another layer of braces around the subordinate `if` statement.

jomar··on No Us Without You: elifdef and elifndef
I expect the first few years of this being used will almost exclusively consist of people replacing instances of it with `#elif defined FOO` for use with older compilers or in code (e.g. headers) that also needs to be compilable with a C++ compiler.

Sure, in isolation it's more orthogonal. But it's hard to see this as a real value add when amortised against the compatibility headache, when the arguably cleaner alternative of `#if defined FOO ... #elif defined BAR ... #endif` is already available.

(Incidentally (1) you can choose to also spell out `#ifdef FOO` as `#if defined FOO` when it's one of a list of alternatives like this, so they all look similar; (2) there's no need for excess parentheses with `#if defined` either.)

jomar··on Microsoft's list of banned C functions
memmove() isn't on the list, so presumably the recommendation is to replace uses of memcpy() with memmove() due to its well-defined behaviour when source and destination overlap.

(Or with the Annex K variants -- memcpy_s(), memmove_s() -- if that floats your boat, and as this is Microsoft it surely does.)

jomar··on Stop defacing quotes with brackets
I have no idea whether they still use this reduced character set. But whether or not they do, this could still affect the protocol or stylebook, for the usual sorts of reasons when legacy systems are involved:

* News wires are large old distributed networks. There may still be old equipment attached to it that natively uses this encoding; or modern software may still be using the compatible encoding because it was never practical or cost-effective to have a "flag day" to switch over.

* Even if the technical limitation has been lifted, the convention may live on as part of the folklore of the field.

jomar··on Stop defacing quotes with brackets
Because they use(d) a reduced character set that included parentheses but not brackets.

See https://en.wikipedia.org/wiki/Baudot_code#ITA_2_and_US-TTY

There was a time before ASCII, you know...

jomar··on Again on 0-based vs. 1-based indexing
The natural representation of intervals for doing arithmetic on is 0-based half-open.

Half-open because of the slicing properties, as noted in your posting and the grandparent posting.

0-based because of the simplification for converting between relative coordinate systems. Suppose you have one interval A represented as offsets within a larger interval B, and you'd like to know what A's coordinates are in the global coordinate system that B uses. This is much easier to compute when everything uses 0-based coordinates.

Here is a slightly longer discussion of that in a genomics context: https://github.com/ga4gh/ga4gh-schemas/issues/121#issuecomme... and a draft of a document I wrote up (again, in a genomics context) so as never to have to have this discussion ever again: https://github.com/jmarshall/ga4gh-schemablocks.github.io/bl...

jomar··on How to track and display profile views on GitHub
It's just gone live in the last day or so. The designer talked about it here a few weeks ago: https://twitter.com/pifafu/status/1265773172520914944

Personally I don't see much reason for this to be implemented via a git repository (rather than a text field in a database, like the existing Bio text), other than "we're GitHub, everything's a git repository, so why not".

At the moment, it's a single-file repository. Perhaps they have some ideas for other things that could be served from there too.

Weirdly at the moment it's required to be a public repository. This seems counterproductive: if it's my personal information blurb I don't much want other people looking at its history and I certainly don't want them forking it. (Are there any non-malicious reasons for doing that?)

jomar··on Ask HN: Thoughts on new GitHub layout?
I dislike large swathes of the new repository view, and I also especially dislike the circular profile images.

Fortunately it's easy to use a little custom CSS to revert them to square images, at least for now:

https://gist.github.com/jmarshall/a880c93725ee727abb54473582...

jomar··on No to .io, Yes to .xyz
The point of the article is to teach people about the original meaning, to encourage them to care, and to point out that by paying .io domain fees you are directly supporting this ongoing human rights disaster.

This is a time when BLM protests have led to various aspects of structural racism in society being reexamined. For tech, it's a good time to reexamine use of .io too.

jomar··on Lockdown LUNACY: the thinking person's guide
Comprehensively debunked here: https://twitter.com/CT_Bergstrom/status/1272007583222513664
jomar··on Get Me Off Your Fucking Mailing List (2005) [pdf]
It looks like Kernighan's Pic.

https://en.wikipedia.org/wiki/Pic_language

jomar··on 99% of the Git commands you'll need at work, demonstrated in a single script
Compared to the previous technique of creating a new separate local clone for unrelated simultaneous work on a project, it's also glorious when it comes time to clean up and delete no-longer-needed extra working directories.

After `make clean` and `git status --ignored` shows nothing worth preserving, you can delete the worktree (via `git worktree remove`) with impunity. No more paranoid checking that there is no valuable work stashed or hiding in other branches before typing `rm -rf`, as those are shared with the main worktree so won't be lost.

jomar··on Zoom fixes major Mac webcam security flaw with emergency patch
> running an always-active webserver

It's one thing to run a webserver while your software is running.

It's quite another to leave it installed and running even after the user has uninstalled your application.

And to actively evade the user's attempts to remove the webserver component. Until this update, if you removed ZoomOpener from your Login Items and via `rm -rf ~/.zoomus`, it would miraculously reappear every time you participated in another Zoom meeting. (To stop this, you had to touch .zoomus as a file or otherwise make it harder to recreate as a directory. But if they had chosen to, Zoom could have coded around these countermeasures thus leading to an arms race, at least for a while.)

jomar··on Oldest Viable Laptop (2017)
Probably an over-summary but basically correct: the X series optimised portability and only had a trackpoint, while the T series optimised fully-featuredness and had both trackpoint and trackpad.

I still fire up my T61 from time to time -- it's the only computer in the house that still has a DVD drive.

jomar··on Jabra: we know our Bluetooth headsets don’t work with laptops
I think the implication is that Vodafone later doxxed mywacaday's work persona and retaliated.

Classy.

jomar··on MPEG-G: the ugly
One core part of CRAM originated with that article; more has come later.

I'm involved in BAM and CRAM -- it feels like a collaboration to me!

These formats are a collaboration between bioinformaticians at a number of research institutes and companies around the world, with various charity, governmental, or other funding. They are maintained under the auspices of GA4GH, which is indeed something like W3C.

jomar··on MPEG-G: the ugly
> Note that the key competitors to the patented MPEG technology is coming from "benevolent monopolies" like Google.

That may be true in the abstract or in the case of MPEG's multimedia technologies. It is not true in this specific case of genomic file formats.

The existing formats in use in the field (BAM and CRAM) that MPEG-G is looking to supplant come from the genomics community itself. They have come about in the course of bioinformaticians' work analysing sequencing data or as bioinformatics research [1]. Thus this R&D has primarily been bankrolled as scientific research; the funding comes from scientific charities or other scientific research funding.

That is to say, it has come from collaboration.

[1] CRAM originates from "Efficient storage of high throughput DNA sequencing data using reference-based compression", published in Genome Research in 2011. <https://genome.cshlp.org/content/21/5/734.long>

jomar··on MPEG-G: the ugly
> when the author has a competing format (CRAM)

It's more that CRAM is an incumbent format, developed by (different members of) the same genomics community that made the preceding BAM format in the same space. Both BAM and CRAM have been in common use in the field for 5+ years.

As the newcomer, the onus is on the MPEG-G proponents to compare its performance to the formats already in common use.

jomar··on Critical security updates for Git, Subversion and Mercurial
A "ssh://..." URL can result in a "ssh" command line with a hostname that begins with a dash "-", which would cause the "ssh" command to instead (mis)treat it as an option.

It's a shame, because the Git dispatching code ought to be able to invoke the ssh command via

  ssh -p 22 -etc -etc -- <hostname>
to prevent interpreting options in <hostname>, thus defusing the in-band signalling causing this. But I suppose it can't depend on every ssh implementation understanding this "--" POSIX utility syntax guideline.
jomar··on Malicous code written into DNA infects the computer that reads it
Keep filing those bugs. The authors of at least some BAM/etc parsers are listening:

e.g. https://github.com/samtools/htslib/issues?q=is%3Aissue%20aut...

jomar··on Cheap Beijing Flights With a Dangerous Catch
Because there are crop diseases endemic in one part of the country that aren't present in another. Try searching for "Nevada California fruit" if that's closer to home.
jomar··on Runner Disqualified After Claiming 2nd Place in Fort Lauderdale Half Marathon
You would think the turnaround point would be a natural place for the race organisers to put a timing mat. They would capture an extra split time and be able to automatically identify runners succumbing to this temptation.
jomar··on Make for hipsters
That's an error message from GNU Make. I'm not sure what version of GNU Make you're using, because GNU Make has emitted the following since 1998:

  Makefile:2: *** missing separator (did you mean TAB instead of 8 spaces?).  Stop.
See 2c64fb221a265f9e7fc93374906b1e7540377561:

  1998-09-04  Paul D. Smith  <psmith@gnu.org>
  
  * read.c (read_makefile): If we hit the "missing separator" error,
  check for the common case of 8 spaces instead of a TAB and give an
  extra comment to help people out.
I guess you may have indented it in the modern way with 4 spaces of "tab". Either way, there's also help to be had from your other tools, e.g., vim highlights space-indented make recipes in glaring red error bars.
jomar··on Linus Torvalds: Re: revert “fs/befs/linuxvfs.c: replace strncpy by strlcpy”
strncpy()'s NUL-padding behaviour is the right thing for its niche, which is copying to fixed-length buffers such as the 14-character filenames in ancient filesystem directory entries. See http://stackoverflow.com/a/1454071

That niche doesn't particularly exist anymore, so strncpy() isn't often a good fit for what people need these days. Hence they don't like strncpy(), but what they really mean is that they shouldn't have been considering strncpy() in the first place.

strncat() on the other hand... now that's a weird function!

jomar··on New optimizations for X86 in upcoming GCC 5.0: PIC in 32 bit mode
In GCC 4.9 EBX register is reserved for global offset table (GOT) address [...] In GCC 5.0 EBX is returned to an allocation making all 7 registers available.

But there's no explanation of why we don't need a GOT any more.

Possibly this is "Reuse of the PIC hard register" noted in https://gcc.gnu.org/gcc-5/changes.html ..?

← PreviousPage 2 of 3Next →