HNHacker News
TopNewBestAskShowJobs

kinow

525 karma · joined October 4, 2011

From Casa Verde, Sao Paulo, Brazil. After 8 years in Auckland, New Zealand, now in Barcelona, Spain. Working with workflow managers at the BSC. Past work includes government, research, programming, GIS/fuzzy logic/web development/NLP/ontologies/etc., web development, UIUX, illustrations and design.

https://twitter.com/kinow https://github.com/kinow/ https://kinoshita.eti.br/ https://www.instagram.com/brunokinoshita/ https://www.deviantart.com/kinow

submissionscomments
kinow··on Ike Jime, the Japanese Slaughter Method for Tastier Fish
Thanks! Was about to open another tab to search for that!
kinow··on Memory stick found in frozen seal faeces in New Zealand
That's a very good question. I know a few companies here in Auckland that give their employees some days per year to work on volunteer projects. Maybe that could be extended to longer periods?

Another alternative is to use industry veterans. We have few from programming background, but I believe that might change in a few years?

kinow··on Memory stick found in frozen seal faeces in New Zealand
Hey it was found by a co-worker. Here's the original article we published: https://niwa.co.nz/news/they-were-defrosting-leopard-seal-po...

Lots of funny tweets about it too: https://mobile.twitter.com/niwa_nz/status/109261054140158771...

Finally, hijacking the thread, but we also have a Python Open Source tool if you are into weather forecast, workflow, schedulers, etc: https://news.ycombinator.com/item?id=19081972

kinow··on Cylc – a workflow engine for cycling (and non-cycling) systems
Hi!

Cylc is a GPL system written in Python, and used in some countries (Au/NZ, UK, South Africa, Korea, other institutions in Europe and US) mainly to run cyclic workflows, e.g. forecast models.

It supports the same syntax as Cron for scheduling jobs (called suites in Cylc) but with the concept of time points. So you are able to configure a workflow with some tasks that would run every midnight, other tasks that would run every 5 minutes. And in case any of these tasks fail, Cylc has a mechanism to restart the workflow and catch-up with these tasks.

There are a couple of commercial systems that provide similar features, and also Luigi, Airflow, but with limitations (mainly around cyclic tasks, and the catch-up mechanism).

There is a new web GUI under development, and questions, suggestions, or issues/pull requests welcome!

Its web site is https://cylc.github.io/cylc/ but we also just (yesterday) acquired cylc.org and will start updating the site and documentation soon.

Cheers

kinow··on Italy’s olive crisis intensifies as deadly tree disease spreads
Wasn't expecting such an interesting comment here! So many links to read later! Just came here because I like olive oil
kinow··on Show HN: MS jobs search using bit fields, CloudFlare Workers, WASM, and no DB
Oh, very simple interface! And great performance! Neat! Going to check out the GitHub readme with more calm later :) Thanks!
kinow··on Ask HN: Who is hiring? (September 2018)
House prizes in Auckland and in a few other areas around the country are a bit crazy, but you still find some good properties in other nearby suburbs and apartments are not really expensive - most prefer houses here.

Salary for senior positions varies according to tech stack.. but I believe it's above 90K NZD per year, maybe something between 90-120K full time employee.

There are some jobs posted under this threshold on trademe and seek, but if you look with calm, especially after the end of the financial year (july for most companies), and around Feb/Mar, there are normally positions open here in Auckland with the salary.

kinow··on The City Born in a Day: The Origin Story of Oklahoma City
Great article. On how cities surge, some are planned: https://en.wikipedia.org/wiki/Planned_community#Brazil

At least Brasilia, Brazil's capital was planned, and if I remember well, there wasn't any city/encampment/etc before. Belo Horizonte, Minas Gerais' capital was also planned, but I believe it had some sort of settlement there before. So some cities just happen, others are planned, and others Oklahoma I guess :)

And on the Land Run... I believe many parts of New Zealand were populated in the same manner as Oklahoma. Some land was "acquired" from Maori tribes https://en.wikipedia.org/wiki/History_of_New_Zealand

The quotes around acquired are due to the way some land was bought or negotiated. Some times Maori would receive insignificant amounts of money, or in other cases pakeha would use of loopholes, such as a law requiring the land to belong to one person. Then once the land belonged to a person, they would negotiate with him directly. Some more succinct information https://teara.govt.nz/en/land-ownership/page-1

kinow··on Ask HN: What are some niche communities you enjoy?
Same here!
kinow··on Show HN: Git-Ready to Deploy? Check for uncommitted and non-pushed changes
Useful. Maven checks that for autpmated deployments. It delegates that part to SCM plugins as far as I know. Wonder if this one does the same as Maven. On mobile, but may check later (tis probably around here https://github.com/apache/maven-scm?files=1)
kinow··on Neighbourly by Google
NZ has, https://www.neighbourly.co.nz/ which looks like a local competitor with same name. Things might get a bit confusing here if Google's stars to pick popularity
kinow··on Drupal 7 and 8 core critical release on April 25th, 2018 PSA-2018-003
Hmmm, just learned about an up to date instance being hacked. Learned how it happened, so now waiting for the announcement to confirm if there's a chance it was exploited before the CVE was announced.
kinow··on A Guide to Natural Language Processing
A lot to review, read, learn. Thanks a lot for sharing this. Any plans to extend it or have another one including even more, like Natural Language Generation (not limited to bots, we are using it in weather forecast), and co-reference?
kinow··on Making a good diff algorithm
If anybody feels like writing some Java code for diff, Apache Commons new component, Text, would definitely accept issues/pull requests

https://commons.apache.org/proper/commons-text/

kinow··on A New Apache Commons Component: Text
It includes edit distances, and part of Apache Commons Lang string related methods and classes. This latter will be deprecated in Lang and later removed.
kinow··on Writing Robust Bash Shell Scripts
If you are interested in this, you may find ShellCheck a useful tool.

It is a static analyzer for Shell, that looks for some of the problems cited in the post.

https://www.shellcheck.net

kinow··on FindBugs project in its current form is dead
Indeed. Probably having more people with admin access would help making sure that the project's bus factor is greater than 1 :)
kinow··on Curl 7.51.0 Released
Change log for this release

Fixed in 7.51.0 - November 2 2016

Changes:

    nss: additional cipher suites are now accepted by CURLOPT_SSL_CIPHER_LIST
    New option: CURLOPT_KEEP_SENDING_ON_ERROR 
Bugfixes:

    CVE-2016-8615: cookie injection for other servers
    CVE-2016-8616: case insensitive password comparison
    CVE-2016-8617: OOB write via unchecked multiplication
    CVE-2016-8618: double-free in curl_maprintf
    CVE-2016-8619: double-free in krb5 code
    CVE-2016-8620: glob parser write/read out of bounds
    CVE-2016-8621: curl_getdate read out of bounds
    CVE-2016-8622: URL unescape heap overflow via integer truncation
    CVE-2016-8623: Use-after-free via shared cookies
    CVE-2016-8624: invalid URL parsing with '#'
    CVE-2016-8625: IDNA 2003 makes curl use wrong host
    openssl: fix per-thread memory leak using 1.0.1 or 1.0.2
    http: accept "Transfer-Encoding: chunked" for HTTP/2 as well
    LICENSE-MIXING.md: update with mbedTLS dual licensing
    examples/imap-append: Set size of data to be uploaded
    test2048: fix url
    darwinssl: disable RC4 cipher-suite support
    CURLOPT_PINNEDPUBLICKEY.3: fix the AVAILABILITY formatting
    openssl: don’t call CRYTPO_cleanup_all_ex_data
    libressl: fix version output
    easy: Reset all statistical session info in curl_easy_reset
    curl_global_cleanup.3: don't unload the lib with sub threads running
    dist: add CurlSymbolHiding.cmake to the tarball
    docs: Remove that --proto is just used for initial retrieval
    configure: Fixed builds with libssh2 in a custom location
    curl.1: --trace supports % for sending to stderr!
    cookies: same domain handling changed to match browser behavior
    formpost: trying to attach a directory no longer crashes
    CURLOPT_DEBUGFUNCTION.3: fixed unused argument warning
    formpost: avoid silent snprintf() truncation
    ftp: fix Curl_ftpsendf
    mprintf: return error on too many arguments
    smb: properly check incoming packet boundaries
    GIT-INFO: remove the Mac 10.1-specific details
    resolve: add error message when resolving using SIGALRM
    cmake: add nghttp2 support
    dist: remove PDF and HTML converted docs from the releases
    configure: disable poll() in macOS builds
    vtls: only re-use session-ids using the same scheme
    pipelining: skip to-be-closed connections when pipelining
    win: fix Universal Windows Platform build
    curl: do not set CURLOPT_SSLENGINE to DEFAULT automatically
    maketgz: make it support "only" generating version info
    Curl_socket_check: add extra check to avoid integer overflow
    gopher: properly return error for poll failures
    curl: set INTERLEAVEDATA too
    polarssl: clear thread array at init
    polarssl: fix unaligned SSL session-id lock
    polarssl: reduce #ifdef madness with a macro
    curl_multi_add_handle: set timeouts in closure handles
    configure: set min version flags for builds on mac
    INSTALL: converted to markdown => INSTALL.md
    curl_multi_remove_handle: fix a double-free
    multi: fix inifinte loop in curl_multi_cleanup()
    nss: fix tight loop in non-blocking TLS handhsake over proxy
    mk-ca-bundle: Change URL retrieval to HTTPS-only by default
    mbedtls: stop using deprecated include file
    docs: fix req->data in multi-uv example
    configure: Fix test syntax for monotonic clock_gettime
    CURLMOPT_MAX_PIPELINE_LENGTH.3: Clarify it's not for HTTP/2
kinow··on R 3.3.2 is released
For the lazy:

NEW FEATURES

    extSoftVersion() now reports the version (if any) of the readline library in use.
    The version of LAPACK included in the sources has been updated to 3.6.1, a bug-fix release including a speedup for the non-symmetric case of eigen().
    Use options(deparse.max.lines=) to limit the number of lines recorded in .Traceback and other deparsing activities.
    format(<AsIs>) looks more regular, also for non-character atomic matrices.
    abbreviate() gains an option named = TRUE.
    The online documentation for package methods is extensively rewritten. The goals are to simplify documentation for basic use, to note old features not recommended and to correct out-of-date information.
    Calls to setMethod() no longer print a message when creating a generic function in those cases where that is natural: S3 generics and primitives.
INSTALLATION and INCLUDED SOFTWARE

    Versions of the readline library >= 6.3 had been changed so that terminal window resizes were not signalled to readline: code has been added using a explicit signal handler to work around that (when R is compiled against readline >= 6.3). (PR#16604)
    configure works better with Oracle Developer Studio 12.5.
UTILITIES

    R CMD check reports more dubious flags in files ‘src/Makevars[.in]’, including -w and -g.
    R CMD check has been set up to filter important warnings from recent versions of gfortran with -Wall -pedantic: this now reports non-portable GNU extensions such as out-of-order declarations.
    R CMD config works better with paths containing spaces, even those of home directories (as reported by Ken Beath).
DEPRECATED AND DEFUNCT

    Use of the C/C++ macro NO_C_HEADERS is deprecated (no C headers are included by R headers from C++ as from R 3.3.0, so it should no longer be needed).
BUG FIXES

    The check for non-portable flags in R CMD check could be stymied by ‘src/Makevars’ files which contained targets.
    (Windows only) When using certain desktop themes in Windows 7 or higher, Alt-Tab could cause Rterm to stop accepting input. (PR#14406; patch submitted by Jan Gleixner.)
    pretty(d, ..) behaves better for date-time d (PR#16923).
    When an S4 class name matches multiple classes in the S4 cache, perform a dynamic search in order to obey namespace imports. This should eliminate annoying messages about multiple hits in the class cache. Also, pass along the package from the ClassExtends object when looking up superclasses in the cache.
    sample(NA_real_) now works.
    Packages using non-ASCII encodings in their code did not install data properly on systems using different encodings.
    merge(df1, df2) now also works for data frames with column names "na.last", "decreasing", or "method". (PR#17119)
    contour() caused a segfault if the labels argument had length zero. (Reported by Bill Dunlap.)
    unique(warnings()) works more correctly, thanks to a new duplicated.warnings() method.
    findInterval(x, vec = numeric(), all.inside = TRUE) now returns 0s as documented. (Reported by Bill Dunlap.)
    (Windows only) R CMD SHLIB failed when a symbol in the resulting library had the same name as a keyword in the ‘.def’ file. (PR#17130)
    pmax() and pmin() now work with (more ?) classed objects, such as "Matrix" from the Matrix package, as documented for a long time.
    axis(side, x = D) and hence Axis() and plot() now work correctly for "Date" and time objects D, even when “time goes backward”, e.g., with decreasing xlim. (Reported by William May.)
    str(I(matrix(..))) now looks as always intended.
    plot.ts(), the plot() method for time series, now respects cex, lwd and lty. (Reported by Greg Werbin.)
    parallel::mccollect() now returns a named list (as documented) when called with wait = FALSE. (Reported by Michel Lang.)
    If a package added a class to a class union in another package, loading the first package gave erroneous warnings about “undefined subclass”.
    c()‘s argument use.names is documented now, as belonging to the (C internal) default method. In “parallel”, argument recursive is also moved from the generic to the default method, such that the formal argument list of base generic c() is just (...).
    rbeta(4, NA) and similarly rgamma() and rnbinom() now return NaN‘s with a warning, as other r<dist>(), and as documented. (PR#17155)
    Using options(checkPackageLicense = TRUE) no longer requires acceptance of the licence for non-default standard packages such as compiler. (Reported by Mikko Korpela.)
    split(<very_long>, *) now works even when the split off parts are long. (PR#17139)
    min() and max() now also work correctly when the argument list starts with character(0). (PR#17160)
    Subsetting very large matrices (prod(dim(.)) >= 2^31) now works thanks to Michael Schubmehl’s PR#17158.
    bartlett.test() used residual sums of squares instead of variances, when the argument was a list of lm objects. (Reported by Jens Ledet Jensen).
    plot(<lm>, which = *) now correctly labels the contour lines for the standardized residuals for which = 6. It also takes the correct p in case of singularities (also for which = 5). (PR#17161)
    xtabs(~ exclude) no longer fails from wrong scope, thanks to Suharto Anggono’s PR#17147.
    Reference class calls to methods() did not re-analyse previously defined methods, meaning that calls to methods defined later would fail. (Reported by Charles Tilford).
    findInterval(x, vec, left.open = TRUE) misbehaved in some cases. (Reported by Dmitriy Chernykh.)
kinow··on Be Kind
Had similar experiences in my first job with one of the smartest engineers I ever worked with (Claudio Marcio da Silveira). He early-retired to work on his family business (something related to flowers). But I can still remember all the times he let me learn by doing small mistakes, covered my bigger mistakes, and also educated me.

Trying to become that same engineer in my own way, but I definitely own a lot to him. And to other professors from uni/school that were extremely kind as well.

kinow··on Ask HN: Who needs contributors? (October 2016)
Project name: Nestor QA

Project description: open source test management software

What do you hope to build this month?: an authorization layer, and work on the remaining issues https://github.com/nestor-qa/nestor/issues

What kind of skills do you need?: PHP developers, or someone interested in testing, QA

Link to your GitHub or somewhere else you'd like to onboard new contributors, like your project management software or chat room.: https://github.com/nestor-qa/nestor/issues

Your license(s): MIT

---

Project name: BioUno

Project description: best practices for life sciences software, specially continuous integration

What do you hope to build this month?: work on Jenkins plug-ins

What kind of skills do you need?: Java/Groovy developers, life science researchers with interesting use cases too

Link to your GitHub or somewhere else you'd like to onboard new contributors, like your project management software or chat room.: https://github.com/biouno then search for the plug-ins we have forked, and see what looks interesting :)

Your license(s): MIT

kinow··on Implementation of various string similarity and distance algorithms in Java
Apache Commons Lang has some string distance algorithms. But we started another project in the sandbox for text/strings, as [lang] was getting a bit overcrowded with so many things.

You can take a look at the current project here https://commons.apache.org/sandbox/commons-text/

Source: https://github.com/apache/commons-text

kinow··on How a Portuguese-To-English Phrasebook Became a Cult Comedy Sensation
Created https://speaklikeabrazilian.com to help an Irish friend in Brazil to get used to expressions that would be literally translated as "cucumber" or "to put up a tent" but that have a completely different meaning.
kinow··on Test Anything Protocol specification (2006)
Jenkins TAP plugin maintainer here. Let me know if you have suggestions to improve the current TAP support in Jenkins, or any ideas.

Not much of a Perl programmer, but I try to validate the plug-in against the output of some Perl lib tests, and have been wanting to spend some time adding another view to the plugin to mimic http://www.spurkis.org/TAP-Formatter-HTML/test-output.html

Now with Node.JS the TAP community got some more users, and there are also tools being created (though not really popular I think) like http://www.taptinder.org/ and https://github.com/substack/tape.

kinow··on Toonz Goes Open Source
Krita has a beta Animation tool too https://krita.org/item/second-animation-beta/
kinow··on Graph Databases 101
Not really, if you learn Cypher you should be fine learning the basics of Gremlin, SPARQL, or other languages to operate on graphs in a few hours.

There was some post about enabling SPARQL in Neo4J, but when you install Neo4J it comes with cypher by default (not sure if it supports anything else).

I use Apache Jena + SPARQL, but had to use Neo4J to help in a master thesis. Took me a few hours of "How the heck can I do that same thing I'd do in SPARQL that way?", plus some reading of the tutorials.

Edit: some old post with example of Cypher, Gremlin and SPARQL: http://kinoshita.eti.br/2014/09/09/cypher-gremlin-and-sparql...

kinow··on Graph Databases 101
Depends on what kind of data and graph you are going to store/use. Neo4j is quite popular, cypher isn't very hard to learn, and it has lots of examples. Might be a good choice for a beginner.

https://en.wikipedia.org/wiki/Graph_database#List_of_graph_d...

kinow··on Show HN: Htop 2.0 released, now cross-platform
Wow, had no idea Elixir was created by a Brazilian as well. Nice, thanks!
kinow··on Show HN: Htop 2.0 released, now cross-platform
I think htop and lua are probably the two main Brazilian contributions to the open source community.
kinow··on Deep Learning Tutorial by Y. LeCun and Y. Bengio
Awesome! Thanks for that! Take an upvote
← PreviousPage 10 of 11Next →