HNHacker News
TopNewBestAskShowJobs

tetraodonpuffer

1,960 karma · joined October 19, 2014

How to set up a linux / virtualbox / pfSense system where all networking runs over pfSense and apps are run in Virtualbox VMs, each firewalled by pfSense separately, with some i3 monitoring of the VMs

http://www.woodensquares.net/posts/rationale.html

Set up a Kubernetes cluster from scratch on a set of CoreOS Xen guests, with flannel, RBAC, TLS etc.

http://www.woodensquares.net/posts/xen-1.html

submissionscomments
tetraodonpuffer··on Major new iOS bug can crash iPhones and disable access to apps and iMessages
part of me is wondering if this is just a case of showing the limits of the current "developers can do qa" development model.

I do think a lot of these issues could be easily caught before shipment by having a well paid adversarial QA department, but at the same time it is easy to see why this is not done, despite all the griping on tech websites about code quality going down all across the board everywhere, it's not like people will stop buying iphones etc. so it's an easy ROI decision to continue with the "users are QA" mindset.

tetraodonpuffer··on Ask HN: What is setup for your static blog generator?
same here, I had created my custom themed html templates and css for pelican, but recently moved everthing to hugo. Complete control, no third party dependencies, no javascript (outside of pages with ttyrec recordings) and extremely fast to regenerate. Note this does assume you do your css preprocessing/minifying outside of Hugo though (I use compass), from Hugo's perspective your css is just another file.
tetraodonpuffer··on Falcon Heavy core booster lost at sea
they also re-uploaded the webcast video with feeds from both booster cameras, I also didn't remember seeing the fairing separation so well when watching it live

https://www.youtube.com/watch?v=bCc16uozHVE

tetraodonpuffer··on A Driver’s Suicide Reveals the Dark Side of the Gig Economy
> Humans are capable of learning a variety of different skills, even if they have already learned one. Articles like this treat them like specially made parts that are only suited for one thing.

that has always been true, however looking at my father and friends' experiences it seems it was a lot easier in the past to switch to completely different careers due to entry level jobs being widely available, previous experience not being as important, career paths where joining entry level and being "promoted from within" were the norm rather than the exception, and the "youth cult" where a new graduate is seen as a safer hiring bet compared to a 40+ hire did not exist. In addition the workplace was seen as the workplace, the place you go to work, which you leave and go home to live your life, it wasn't seen as a "24/7 place" where you have to "culture fit" and you are always available.

Nowadays everybody wants previous experience, and the specific experience for your particular position too, because you have to "hit the ground running" from day 1 and the "a single bad hire can doom your company". You also should not be too old, or too experienced, be good at the interviewing gauntlet (which often has little to do with the actual job) and you must fit in whatever arbitrary "culture" the prospective company has. This means it can get difficult to switch jobs in the same industry, let alone move to something unrelated.

Talking about our field, everybody knows that if you have a 10-15 years solid track record in several different languages and environments you could be adding value in most companies after a couple months ramp-up, but would you even be invited to an interview if you don't have a specific X years of experience in language Y with Z1,Z2,Z3... libraries? I mean, some job postings I've seen even express preference for candidates familiar with a particular IDE, if that is not treating people like single-purpose machines I don't know what is...

If you are in your 50s, with health insurance tied to your disappearing job, knowing there is no safety net and you're a few months away from living on the sidewalk, don't you think you would be desperate? If there was a safety net where you could live somewhere while you are retrained and have a chance, of course you would take it, but in today's world that doesn't seem to be in the cards.

tetraodonpuffer··on LuLu: An open-source macOS firewall that blocks unknown outgoing connections
it is because one of the major use cases for an outgoing firewall is when installing new software, which is where you also want to be careful what the application connects to, which does not work very well at all compared to Little Snitch
tetraodonpuffer··on The evolution of the trackball
have you looked into the kensington trackballs? the slimblade is corded and quite popular among the music producer crowd for example
tetraodonpuffer··on Intel Confronts Potential ‘PR Nightmare’ With Reported Chip Flaw
there's other real world usage (DAWs, for example, where there is a ton of I/O for sample-based virtual instruments) which will likely be as significantly impacted as virtualization likely...
tetraodonpuffer··on Ask HN: What are fun entertaining YouTube channels/videos you watch in free time?
videowalks around Japan, no talking, no music, just somebody walking around, great to watch when riding on a trainer https://www.youtube.com/user/Rambalac/videos

Frank Howarth, great woodworking projects, now that's a shop! https://www.youtube.com/user/urbanTrash/videos

Primitive Technology, lots of interesting content https://www.youtube.com/channel/UCAL3JXZSzSm8AlZyD3nQdBA

tetraodonpuffer··on Kubernetes 1.9: Apps Workloads GA and Expanded Ecosystem
not sure if it helps, but I recently did a series of posts on my blog on installing Kubernetes from scratch on a set of CoreOS guests on Xen, with flannel, RBAC, TLS and so on and it does give you a cluster that you should be able to access from the outside no problem.

Link in my profile, I tried to make as low in magic as possible, I just ended up writing a couple of bash functions and a python script to make it easier to assemble the Ignition files for the deployment, but besides that it should all be step by step.

tetraodonpuffer··on The Big Vitamin D Mistake
you could also investigate in vitamin D lamps (Sperti, for example), they are not cheap though
tetraodonpuffer··on The Best Monitor for Programming: A Cheap 40" 4K TV
this site does TV review with a category for monitors, this is their current best pick for 43

http://www.rtings.com/tv/reviews/sony/x720e

definitely not as cheap, but still way cheaper than a comparable monitor.

tetraodonpuffer··on Using Go for Scalable Operating System Analytics
no problem and thanks for creating it! I also enjoyed how easy it is to extend it to support, say, enums: it was just a matter of adding flag interface support to my type and calling app.VarOpt to set it up, very straightforward
tetraodonpuffer··on Using Go for Scalable Operating System Analytics
cobra / viper are nice, but to me they are a fair bit more heavyweight than mow. With mow also due to closures it seems easier to manage without globals, at least for programs where you don't also need a config file (which is where cobra / viper shines) but just simple cli it seems easier than rolling your own unless you just have one or two options.
tetraodonpuffer··on Using Go for Scalable Operating System Analytics
Interesting article but I am not sure about the recommendation of writing your own command parsing instead of using something like mow.cli[1] which seems fairly lightweight and self-contained.

In terms of logging I am also wondering if something like zerolog[2] might be a better choice than go-kit's logger given its higher performance

[1] https://github.com/jawher/mow.cli [2] https://github.com/rs/zerolog

tetraodonpuffer··on 10 years of love for Emacs undone by a week of VSCode
I suggest also adding gometalinter[1] and its flycheck support [2], which also works quite well and allows you to have more linters available

[1] https://github.com/alecthomas/gometalinter [2] https://github.com/favadi/flycheck-gometalinter

tetraodonpuffer··on Eight years of Go
can't you simply do this (from [1]) somewhere in your code to enforce?

    type T struct{}
    var _ I = T{}       // Verify that T implements I.
    var _ I = (*T)(nil) // Verify that *T implements I.
[1] https://golang.org/doc/faq#guarantee_satisfies_interface
tetraodonpuffer··on Eight years of Go
this is being addressed in dep, it's obviously not fully ready yet but works pretty well in my experience

https://github.com/golang/dep

tetraodonpuffer··on Eight years of Go
> my intuition what I think a given piece of code should mean is nearly always in line with the language specification.

for some things yes, but for others I think that it's more familiarity than intuition, take for example interface slices, you start by learning that you can assign any type to interface{}, so intuitively you'd think that you could assign any type slice to []interface{} but you find out soon enough that doesn't work

If you dig a bit it is completely understandable why it doesn't given how interfaces are laid out in memory, but from an intuitive standpoint you'd think that since you can do it in the scalar case you should be able to do it in the slice case too...

This is a very minor nitpick, I do agree that compared to many other languages golang is very easy to mentally parse, at the expense of some expressivity at times.

Whenever I code in it, which these days is pretty much all the time, I do miss some conveniences from other languages (generics, list comprehensions, ...) but of course every language has its tradeoffs, I most certainly miss golang's strengths every time I have to write some C or python.

tetraodonpuffer··on Show HN: Keratin AuthN – Accounts and Auth Microservice in Go
cool you found the root cause, I take this is not the code path that runs in CI? otherwise I'd think you'd hit it all the time unless somehow the MySQL container sticks around...
tetraodonpuffer··on Entrepreneurs Aren’t a Special Breed – They’re Mostly Rich Kids
what percentage of people from poor countries manages to emigrate? any correlation between the traits needed to want to emigrate from your poor country and the traits needed for entrepreneurs? any correlation between being able to emigrate in the first place and general genetic advantage (you are not going to emigrate if you have a disability, are chronically ill, were not lucky enough to go to school and learn to read/write/fill the appropriate forms)?
tetraodonpuffer··on Show HN: Keratin AuthN – Accounts and Auth Microservice in Go
no problem, btw, the first time I did make test I got this, but after that I was not able to repro it again and make test always worked, pasting here in case you are interested

    Creating authnserver_server_1 ... done
    TEST_REDIS_URL=redis://127.0.0.1:8701/12 \
      TEST_MYSQL_URL=mysql://root@127.0.0.1:8702/authnservertest \
      go test ./data/... ./models/... ./tokens/... ./ops/... ./config/... ./lib/... ./api/... ./services/... .
    [mysql] 2017/11/08 13:27:23 packets.go:33: unexpected EOF
    [mysql] 2017/11/08 13:27:23 packets.go:33: unexpected EOF
    [mysql] 2017/11/08 13:27:23 packets.go:33: unexpected EOF
    --- FAIL: TestAccountStore (0.01s)
        --- FAIL: TestAccountStore/MySQL (0.00s)
            Error Trace:    account_store_test.go:43
        	Error:		Received unexpected error driver: bad connection
        			Connect
        			github.com/keratin/authn-server/data/mysql.ensureDB
        				/home/luser/go/external/src/github.com/keratin/authn-server/data/mysql/db.go:71
        			github.com/keratin/authn-server/data/mysql.TestDB
        				/home/luser/go/external/src/github.com/keratin/authn-server/data/mysql/db.go:27
        			github.com/keratin/authn-server/data_test.TestAccountStore.func3
        				/home/luser/go/external/src/github.com/keratin/authn-server/data/account_store_test.go:42
        			testing.tRunner
        				/usr/local/stow/go-1.9.0/go/src/testing/testing.go:746
        			runtime.goexit
        				/usr/local/stow/go-1.9.0/go/src/runtime/asm_amd64.s:2337
        			ensureDB
        			github.com/keratin/authn-server/data/mysql.TestDB
        				/home/luser/go/external/src/github.com/keratin/authn-server/data/mysql/db.go:29
        			github.com/keratin/authn-server/data_test.TestAccountStore.func3
        				/home/luser/go/external/src/github.com/keratin/authn-server/data/account_store_test.go:42
        			testing.tRunner
        				/usr/local/stow/go-1.9.0/go/src/testing/testing.go:746
        			runtime.goexit
        				/usr/local/stow/go-1.9.0/go/src/runtime/asm_amd64.s:2337
        		
    FAIL
    FAIL	github.com/keratin/authn-server/data	0.040s
    ?   	github.com/keratin/authn-server/data/mock	[no test files]
    ?   	github.com/keratin/authn-server/data/mysql	[no test files]
    ok  	github.com/keratin/authn-server/data/redis	0.771s
    ?   	github.com/keratin/authn-server/data/sqlite3	[no test files]
tetraodonpuffer··on Show HN: Keratin AuthN – Accounts and Auth Microservice in Go
the toplevel links (implementation / deployment / configuration) don't work for me, they go to say

/keratin/authn-server/docs/config.md

which is a 404 presumably instead of

/keratin/authn-server/blob/master/docs/config.md

tetraodonpuffer··on Ask HN: What do you do for physical exercise?
https://www.trainerroad.com/ on rollers every morning before breakfast, tough to get on your bike at 6-6:30am but very rewarding seeing your FTP inch up as you keep doing it...
tetraodonpuffer··on We May Not Have Enough Minerals to Even Meet Electric Car Demand
sorry about your injury, I am sure you must have, but have you tried adjusting your saddle height and riding cadence to see if they help?

I had a lot of issues with knee pain but after going to a higher cadence with a better saddle position I haven't had issues for many years even commuting 15mi a day each way every day. This said we're all different so n=1 and all that, good luck!

tetraodonpuffer··on The Intel Optane SSD 900P 280G Review
yeah, vi-control is a really good forum for these discussions :) I am waiting for a post from Chimuelo saying he's tried optane, as he seems to regularly try new hardware. I would think that optane would be amazing for this and would basically make your CPU the limiter as opposed to your storage, on the other hand it makes me wonder if Kontakt can take full advantage of this.
tetraodonpuffer··on The Intel Optane SSD 900P 280G Review
I'm assuming it depends from the size of your template (i.e. how many samples at a time you're using). For not huge templates you can already run kontakt fully purged off the SSD, but I would assume with this the limiter would be pretty much entirely the CPU... still I don't know of anybody having done any DAW tests with XPoint and large sample libraries (say, Spitfire etc.), would be interesting to see what kind of polyphony a high core CPU with this would be able to achieve...
tetraodonpuffer··on The Intel Optane SSD 900P 280G Review
I would expect anybody working with DAWs and sample libraries (extremely low latency random read performance needed, meaning every note playing can be a sample anywhere on your drive) would jump at these, both pros and amateurs.
tetraodonpuffer··on Ask HN: What's your relationship with coffee?
love the smell, can't stand the taste, tried it three times in my life (espresso, cappuccino, in a tiramisu) and could not finish any of them, it's probably the only food item that I have such a huge disconnect between the smell/taste, as other items I hate and never have (say, alcohol) I also cannot stand from a smell perspective...
tetraodonpuffer··on Rowing across the Atlantic in 48 days
so for 48 days they were on a 2-hour-row-2-hour-sleep schedule with no breaks? wow
tetraodonpuffer··on Golang Proposal: Just Use GitHub
so you don't mind having review comments disappear if somebody updates the PR, and it doesn't bother you not being able to say in a comment "this needs fixing" in a way that you can mark it fixed later on (and without marking as fixed the PR can't be merged)?

Github reviews are fine for a one-and-done merge, but for a back & forth review I really wish it had the above...

← PreviousPage 4 of 16Next →