tslug | 7 years ago | on: We Don’t Run Cron Jobs (2016)
tslug's comments
tslug | 7 years ago | on: A New Model for Financing Nonprofits
tslug | 8 years ago | on: The NetHack dev team is happy to announce the release of NetHack 3.6.1
I concur with others. Elbereth was useless w/o a wand of fire in 3.6.0. Taught me to learn new survival habits, like staying much closer to my pet and making sure I can always go from burdened to unburdened by dropping only a sack.
Ascending is mostly luck and discipline, and the discipline comes from practice and focus. I find playing nethack calming, and it's a good way to measure how well I'm able to stay in the moment. If I die stupid, it's usually because I'm not all there.
If I'm doing something new, and I am uncertain about what my odds are, I'll read the source code.
I've only modified the source in 3.6.0 to create a general random number generator using a more robust (and more consistent) algorithm than is likely used in most libc variants. My interest there was mainly in perfect cross-platform state reproducability given the same key sequence.
tslug | 8 years ago | on: What Did Ancient Romans Do Without Toilet Paper?
I usually tear off the sheets before I'm done, so that if I go multiple rounds, my TP is prepped. Usually, that means I tear off 3-4 strips of 2 squares each if it's thick paper, or strips of 3 squares if thin. After going gluten-free, I rarely end up using all the strips, and I'd say about a third the time, I'm done after using my first two squares of it, so the rest is wasted.
tslug | 8 years ago | on: Sugar alters hormones and metabolism, sets stage for obesity and diabetes
For cooking, I understand olive oil is unhealthy (I think you create carcinogens as a side-effect), as are many other oils, but that coconut oil doesn't do this because of its different melting temperature.
tslug | 8 years ago | on: Goodbye Uncanny Valley [video]
We're also unable to create emergent materials right now, because we don't right now (and may never) have the horsepower to do molecular-level simulation to find out how light interacts with the surface. For similar reasons, breaking something open like an egg, a log, or slicing open flesh is never going to yield truly emergent results. To some degree, they'll always have to be artistically approximated on a case-by-case basis. Those approximations may have increasingly sophisticated interactions as time goes on, but I am reasonably confident they'll never truly simulate things at the molecular level.
tslug | 8 years ago | on: Introducing Oculus Go, Plus Santa Cruz Updates
tslug | 8 years ago | on: How to Make Money Using Grep, Sed and Awk
tslug | 8 years ago | on: How to Make Money Using Grep, Sed and Awk
As a result, I did as much as I could using only bash internals, and very rarely did I use pipes, because they always fork()'d a bash subshell in addition to whatever the process was.
In about 7k lines of bash script written to completely automate the iterative development of two games with a shared game engine featuring dockerized server containers, I was able to avoid using sed in almost all of it. When I did use it (pretty sure only two places), it was basically for mass substitution of variables inside of text files, and the multi-line syntax worked very nicely for this, as I could form the sed line with a loop over all the variables I wanted to replace.
It turns out for most bash scripts, you can do the most common sed substitutions using bash's rich variable substitution expressions. For instance, you see in a lot of bash scripts calling commands like "dirname" and "basename" to get the directory and filename of paths. There's a much faster way to do this in bash:
path=/tmp/my/path/to/stuff.txt
dir="${path%/*}"
file="${path##*/}"
other="${path/stuff/other}"
That dir line means "delete the shortest string that matches /* from the end of the string". That file line means "delete the longest string matching */ from the start of the string." That other line means "replace the word stuff with the word other in this string".tslug | 8 years ago | on: After the check is gone: The underground economy of rural America
The key to the exploit is at the heart of the core gameplay mechanic, which is that every transaction in capitalism is a codec that decimates the complex history and state of the values and liabilities of a good or service down to a single number- the price.
So hiding the abuses of others is one of the many exploits you can hide in the compression artifacts of this global codec. The key workarounds for the exploits in scalar money commerce come in the form of laws, regulations, and investigative journalism. These are all extremely high-latency, low-reliability workarounds.
Scalar money commerce was invented as a low-tech, distributed hack to solve the complex barter chain problem. It worked, but it always had issues, and it didn't scale well.
We need to evolve beyond this primitive system of commerce that decimates everything to a single number at each transaction to one that journals state with long vectors of information tracking millions of dimensions of value and liability, and that uses more sophisticated game design and graph algorithms to solve complex barter chain problems.
tslug | 8 years ago | on: How do I get my son or daughter interested in computer programming?
Whether young or old, I think it's important that the person start by asking themselves what they would like a computer to do for them. From there, you can start to bite off small pieces of the challenge, slowly making progress towards something they actually care about.
tslug | 9 years ago | on: A Mind is Born
tslug | 9 years ago | on: Ask HN: What are some reliable sources on nutrition?
One of my main go-to databases has become nutritiondata.com, which gives overviews of the nutrition information in pretty impressive detail on just about any dish or ingredient you can imagine.
tslug | 9 years ago | on: How my daughter died from a simple case of flu
Wait, what kind of flu was this, Ebola Zaire? Since when does influenza destroy organs?
Taking the flu seriously is definitely advisable, but something sounds amiss here.
tslug | 9 years ago | on: Ask HN: Are programmer salaries expected to drastically drop in the near future?
We're seeing this in machine learning right now. Machine learning can replace a lot of the code we used to implement with expert systems or rote heuristics. If you can develop that code (and not many can), you can command unusually high salaries, but there will come a time when developing machine intelligence becomes fairly straightforward itself. In fact, this is already beginning to happen. And then even these coders with their rare skills will start to see their salaries fall.
This has been a consistent pattern throughout the history of software engineering. However, I believe we're going to see salaries fall off a cliff soon, because I believe we're actually quite close to automating good software engineering in general.
It's going to be amusing, as a lot of the best coders feel particularly superior and entitled to their impressive compensations.
tslug | 9 years ago | on: How Much Surveillance Can Democracy Withstand?
I get the sense that I'm upsetting you, and I don't mean to do that. I'm sorry if I said something to offend. I want only to engage in an open discussion about this and to offer a different point of view. I believe in it very strongly, and I have given it a great deal of thought and even given talks on how to operate an economy within such a system. I by no means think it's foolproof, nor Utopian- just better.
I'm currently under deadline and a bit pressed for time, and I feel like we might have a more effective conversation over skype. Feel free to email me at [email protected] if you'd like to swap contact info and chat about it further.
tslug | 9 years ago | on: How Much Surveillance Can Democracy Withstand?
They've seen this with police officers wearing body cameras. They receive 93% fewer complaints. That's a profound difference.
tslug | 9 years ago | on: How Much Surveillance Can Democracy Withstand?
What you had for dinner exactly is indeed "private" as you describe, but you see where I'm going with this? Your effective privacy is being pushed into a corner, because it's now possible with all of the little bits and pieces of clues you leave everywhere and the advent of big data to correlate these pieces into such a precise picture that your effective privacy is approaching zero over time.
tslug | 9 years ago | on: How Much Surveillance Can Democracy Withstand?
Ask anyone famous how hard it is to maintain a private life. It's much easier to go in the direction of transparency than backwards towards more privacy.
If you want to be more private, that means that no matter the level of encryption, you can never post your brutally honest thoughts in facebook or twitter or HN ever again. You can never let people know where you're visiting. What you're eating. What you're wearing. Who you're dating. You have to clam up. Because whether or not you've encrypted everything, you still leave fingerprints, not only in the IP addresses but in piecing together all the information you're sharing in order to home in on the identity of the poster.
It takes an enormous amount of effort to obfuscate your writing style and all your proper nouns, and it's not just effort. I think it costs you a piece of your humanity.
To answer your question about watching the abuser, if all information is broadcast (like literally broadcast openly on 802.11ac, for example), then in all likelihood, the people closest to the sources of these broadcasts are going to be the folks who can make the best use of the data. Too far away, and you won't even be able to pick up the signal. If someone further away can see value for reviewing it, then it's going to make sense to incentivize someone closer to archive and host it.
Putin and Erdogan get away with what they do because of asymmetric information. If their misbehaviour is similarly broadcast, then it levels the playing field.
And it changes journalism from being about leaking information and more about better analysis of information, its veracity, its implications, etc, as information would go from being valuable to being a commodity.
Right now, the wealthiest do appear to be writing the tax code.
And no, I do not think you should override the wishes of the people the data is about (within reason). That's central to my point. It turns knowledge into responsibility instead of power.
tslug | 9 years ago | on: How Much Surveillance Can Democracy Withstand?
Replacing capitalism is a fine idea too. Even Trump, the original fan of capitalism, is making a show of kicking out folks who might have lobbying ties.
In fact, if you think about how a healthy family or healthy company works, the first thing they do is push capitalism to the outside, because it tends to make people upset.
That's why you're not encouraged to share salaries with each other or why you're not encouraged to put up advertisements encouraging people to come to your office for consulting for a 20% off for a limited time only. That's why when Mom serves you breakfast, you don't pay her $10, and kids don't say, "I dunno, Mom. Joey's Mom down the block serves a much more competitive breakfast and is offering 50% more love."
When you reduce the value of the goods and services people provide down to a scalar, it becomes trivial to compare people on a line, and that way lies drama.
If you think about it, the idea that the clearly multidimensional value of goods and services can be formally represented by a single scalar is ludicrous on the surface of it, and now that we have cell phones that can do a billion vector operations in one second, there's really not much reason that we shouldn't be migrating to a more accurate and powerful way to represent value using long, sparse vectors. This actually goes very nicely with broadcast surveillance, because you can repurpose all that information to capture far more attributes and information on any good or service all the way down the supply chain.
In a gig last year, I needed to improve the build turnaround times on a Jenkins system. After learning everything I could about Jenkins, I realized the correct answer was to delete it and rewrite my own version that ran on the local system, which was way, way faster and much easier to debug and maintain.
Not having to commit/upload your code to a build server and then wait to get an executable/package back is an enormous time-saver just in that overhead alone, but even the build itself was faster, even though it was written entirely in bashscript.
Go figure.