@nichoth sent a private message
@nichoth voted Ah sorry [@bob](@vkdMlsuBgzzo5eLS3LZLdqnBpZ26OauJOMIq9gQ2E7E=.ed25519), thi
@nichoth sent a private message
@nichoth voted A great oldie, especially if you haven't seen it before. When I first watch
@nichoth sent a private message
@nichoth sent a private message
@nichoth sent a private message
@nichoth in #hashtag-vanlife
Re: %QpcVVyjVO

@Dominic yeah! a main goal was to be perfectly discreet, look like a normal working truck.

@noffle totes, I will be at sudoroom thur and fri. The van is stationary because I don't know how to drive :), so you will have to come by the space in west oakland

@nichoth in #offgrid
Re: %uU2erYxh8

@ktorn It's amazing how far you can go with fermentation. You have sauerkraut, kimchi, cucumbers, carrots and stuff that can all be picked (in salt brine, not vinegar, because the brine creates fermentation/probiotics). They are raw, but much easier to digest than if they were unfermented, and they will keep for months at room temperature. Then there is milk kefir, salami, cheese, and canned fish are good, butter and olive oil, also dried things like beans and rice, but you have to cook them. Certain raw vegetables keep well like celery. There's so much that is shelf stable, I don't miss refrigeration at all. It's one less thing to clean and take care of. And then there's the ultimate strategy, which is to live near many taco trucks and chinese food places.

@nichoth in #hashtag-vanlife
Re: %QpcVVyjVO

This is a Chevy p20 step van. They look like this


It's about the size of a normal taco truck, which is nice because it's easy to park but you still have a good amount of space and you can stand upright. At the moment I am glad to be stationed in a warehouse space in oakland, because it's perfect for doing small scale construction work like this. There's not much to say about the setup at this point. We have decided to stay away from any kind of plumbing, which I'm thankful for. It's fun remodeling these things. You can do whatever you want, and it doesn't necessarily cost much. I may install a skylight. And eventually solar power would be cool, but for now we have AC at the warehouse.

It's an interesting mixture of technology — combustion engines, primitive tools, low-power IT devices. Funny how it's easier to power a laptop with sunlight than it is to fix broken housing infrastructure.

@nichoth sent a private message
@nichoth sent a private message
@nichoth voted I am wondering if we can have a shared standard for viewing patch* pages? I
@nichoth subscribed to channel #hashtag-vanlife
@nichoth in #hashtag-vanlife

One thing I enjoy about west oakland is the abundance of useful trash on the streets. While remodeling this step van, a perfect futon frame was left on my street at exactly the right time to be repurposed.


I'm always surprised by how profoundly interior space affects me. It may not look that impressive, but just a slight change like a bedframe can mean the difference between a pleasant, productive space and a torture chamber. Already I feel much better. I'm starting to get into a 'crunch' type of mode with a work project, and I'm glad to have this van work done, because think it will help me focus better. Living conditions are starting to have the same appearance as "technical debt" (or just debt, I guess) — exacerbating all other problems unless handled very carefully.

@nichoth voted ![cup0.jpg](&kUKzPiCXDSlH2i5WVa6CtFyMG4aQFMlCPdJyVlvSpKw=.sha256) ![cup2.j
@nichoth voted Don't be this guy: https://longreads.com/2017/08/08/hard-lessons-in-living-
@nichoth voted ![cole-ssb.jpg](&mRnIWmnnhCX9gr9vSAMJGdBTuLbz37crg2JNTPr/86M=.sha256) givi
@nichoth in #boats
Re: %a+q/sU/nT

Essential to their operation is they sanctify your poop.

This is a very brave and informative post. Solving third world problems has been on my mind more and more lately. It's amazing how satisfying it is to have greater independence from the broken infrastructure that supports us. Sometimes it's by choice, sometimes by necessity. What is really interesting is solving primitive problems in urban areas. In rural places it's easier because privacy is cheaper, but camping in the city makes some things more challenging.

@nichoth sent a private message
@nichoth sent a private message
@nichoth voted Yesterday there was a gale coming forcast to come through, we had just had
@nichoth sent a private message
@nichoth changed something in about
@nichoth changed something in about
  "type": "gathering"
@nichoth voted [@Piet](@U5GvOKP/YUza9k53DSXxT0mk3PIrnyAmessvNfZl5E0=.ed25519) mentioned th
@nichoth sent a private message
@nichoth sent a private message
@nichoth voted [@alanz](@ZcjYF92reFjUtEYdoJ8ulOI6N6klwAAaIkghEEHdvSE=.ed25519) for a quick
@nichoth in #oakland

functional friday

It looks like on fridays at sudoroom people are going to meet to talk about functional programming.

@nichoth voted ![dolores2.jpg](&S0jzduHS5mMKxjQ85QVjdwQ3HPRtQacaoy87BAiDOOQ=.sha256) **S
@nichoth sent a private message
@nichoth voted # more ssb stickers! ![more-ssb-stickers.jpg](&YZ334B3exOQ2oLw7bFL5/pV4zwa
@nichoth followed @gb
@nichoth voted Today my cousin helped me get permission to visit the [SENA institute](http
@nichoth sent a private message
@nichoth voted [@gb](@ya/sq19NPxRza5xtoqi9BilwLZ7HgQjG3QpcTRnGgWs=.ed25519) and I have lan
@nichoth voted I've been (very slowly) working on a project to make IPFS pins a bit more u
@nichoth in #code
Re: %ISx/yOSVz

thanks @Joey Hess ! I'm excited to fully digest your post.

@dinosaur In haskell the the way you make an anonymous function is with \, because it looks kind of like the character for the letter lambda. So \v -> v is a function from v to v (identity).

I'm not sure about terminology, but I think Either is a type constructor. It takes types as arguments to make a new type. I can't say more though because I need to learn more first.

@nichoth voted Something random on the web reminded me of this old computer drawing of min
@nichoth in #code
Re: %ISx/yOSVz

haha. I've reached the stage where monads are not frightening, though I couldn't explain what it is.

@nichoth in #oakland

yeah, javascript night is tomorrow, I will be at sudoroom

@nichoth in #feminism
Re: %YRhFXmsAw

Agreed @substack. thank you for taking the time to articulate that. I find it hard to justify the amount of energy it takes to engage in this kind of discussion.

@nichoth voted I think it's much more important to set boundaries for abusive behavior lik
@nichoth in #code

functional programming and IO

Something has been on my mind for a while, which I think is the next step in my functional programming adventure. I haven't quite got the fp chops to wrap my mind around it… but something bothers me about programming with 'streams' in js (I'm coming from pull streams). I think this is where the use of functional patterns breaks down, and don't transfer so well to js. If we have a composition and want to handle error state, you could use an 'either' type. If you get an error, you want to still be able to map over the return from either. I think this is implemented in the fantasy land and ramda projects using prototypes, but not sure if they do async programming.

var source = either(
    S.once.bind(null, 'error'),  // on error
    S.once.bind(null),  // on success, just return the value
    httpRequest  // make a request, this is the source stream

// if the request failed, map would do nothing
S( source, S.map(value => value + '!!!'), S.log() )

I think people would say this is a type of polymorphism, but not sure how to express this idea. Map would call a map method on the value, which for the error does nothing, so you can override the behavior.

Do you ever feel like you are always one step away from knowing what you're doing??? I might need to bite the bullet and learn haskell for real.

@nichoth subscribed to channel #code
@nichoth sent a private message
@nichoth followed @nickname
@nichoth voted # A Typewriter's Journey A few days ago I was walking down the street, min
@nichoth voted I'm off SSB for a few weeks and *wow!*, so much interesting, insightful, an
@nichoth followed @cellular
@nichoth subscribed to channel #beaker


@nichoth subscribed to channel #new-people
@nichoth sent a private message
@nichoth voted #Transformations# Over time all of the caterpillars began to disappear. I
@nichoth sent a private message
@nichoth sent a private message
@nichoth sent a private message
@nichoth voted I just met @nichoth in real life in sudoroom by chance! Hooray for Javascri
@nichoth in #sanfrancisco
Re: %n/Ij20l1f

The finding a job thing is weird. People seem to have a myth built around it, and in the myth there are abundant jobs that pay extremely well for anyone who can write a little code. In my experience it is very difficult to get your foot in the door, like most other industries. But it shouldn't be too hard with your experience and if you're willing to do contract work, work with a recruiting place (I know) etc.

@nichoth sent a private message
@nichoth in #sanfrancisco
Re: %n/Ij20l1f

That's really exciting @ev. I have been enjoying living in west oakland for about a month now. If you can find an affordable place it's pretty great — close proximity to sudo room and other hacking spaces, close to industrial labs, etc. It's an odd feeling, with everything that is going on at once — the sort of wild west of crime, rampant homelessness, new apartment buildings going up everywhere for the wealthy, and the creativity and industry, all within a few mile radius.

Also @nanomonkey I think I might have seen you at sudo room once. Nice to meet you online too.

@nichoth in #cooperative
Re: %q66EQY8ux

Mostly it just bums me out how the cost of living seeps into it. It's an appropriate phrase, cost of living. It's very hard to provide good attention to other people or things unless you have some stability, which often comes down to having some money. I'm thinking of all the ways that lack of basic infrastructure like housing has put strain on interactions

@nichoth voted I have a rough prototype up here: %DqZuyvY14e7IX0U6cAjzCySaYOSMBfP96epBZR4l
@nichoth voted This is an extremely common pattern in FP. The most general form is a funct
@nichoth voted ![0.jpg](&W02TwhLLQCLW+HHR7a95FD3L6v+Bo0u13Tg0+CgRVrw=.sha256) ![1.jpg](&J2
@nichoth voted [@Alanna](@6OxffMLNyxkboLjCqv29WnMPhH8O3qFrcXCR6KrKcPI=.ed25519) and I just
@nichoth in #books
Re: %onNnDCjsX

What!? That's so funny. I wonder what the story is with using those names

@nichoth voted ![ants.jpg](&Ca72SuKsLIm0eUeAgZg/nkSPQqkNgPI5FU54xUaQAvM=.sha256)
@nichoth in #code
Re: %njJxVT3qT

I think the way I would write this is with multiple subscribers, so state changes can be listened to in addition to events. something like this. But the part that's not obvious is backpressure, would need to write more stuff to make it correct

// take state and event, return new stream
var effects = pull.map(function (state, ev) {
    if (state.foo) return asyncStream(...)  // async event
    if (state.bar) return pull.empty()  // filter an event

var state = State(function (state, ev) {
    return { ... }
}, {})

    // state and event pair like [state, ev]
    // need to combine these in a way with correct back pressure
    combine( someSource, state.listen() ),  

I think this is a common pattern in fp? but then again, it does seem like a lot of boilerplate

@nichoth in #code
Re: %njJxVT3qT

I'm so curious to see what api you come up with @Dominic if you end up writing a library for this. To me, it seems like the existing pull operators would fit the requirements for backpressure and state, but maybe I don't understand the idea fully.

@nichoth voted coming back to this, one awesome thing about this architecture is that it's
@nichoth followed @rainbro
@nichoth subscribed to channel #censorship
@nichoth in #censorship

Russian censorship law bans proxies and VPNs

@nichoth in #code
Re: %njJxVT3qT

thanks for posting blood stream @win.mix , that looks fun

@nichoth in #code
Re: %njJxVT3qT

Thinking about this again, I think it would be better to use stream operators directly, and expose some functions for working with the event objects (mapping them to handler functions). The algorithm in the framework says to take an input events, and match it to an effect function, and if that doesn't exist, match it to a "reducer". Instead of doing that, I would rather use scan and map directly, but also have a utility to work with events + nested objects.

    S.map( Events.applyTo({
        foo: (ev) => Event('bar')  // should return another event
    }) ),
    scan( Events.applyTo({
        bar: (state, ev) => ...
    }) )

so Events.applyTo would take an object and return a function that maps events to leaf nodes which are functions that return a new event or a stream (for async things), and would join the new stream via pull-many (pull-flat-merge) or flatten, depending on how you want backpressure to work.

@nichoth followed @bob
@nichoth in #code
Re: %njJxVT3qT

Hmm an interesting subject to me. I was doing something similar to redux and the tom example (thanks for posting that, I had forgotten it existed) but with pull-streams, pull-stream-model. My experiments were all geared toward front end, not sure how backpressure would come into play. I remember thinking my api there was too awkward, but can't remember the details. Some points are that all the events were in a single stream, which means there is a single point at which you are able to log any event. And the async stuff is kept separate from the sync stuff. Since there is a single stream for all events, the event object need to contain information about where they go (the addresses).

@nichoth voted I was next going to say how, with surprisingly little simple extra gear, an
@nichoth voted Approx 450,000 Kiwis rely on roof water. That's 10% of us, and in many part
@nichoth in #ssbc
Re: %JpC53Hf95

For sure a cool idea. While average users may not be motivated by a small payment, the "middlemen", though — celebrities, people with many followers — definitely, which would bring audience with them. Which seems like television advertising.

@nichoth in #ssbc
Re: %JpC53Hf95

Many people don't care about privacy

I think many people are becoming concerned about privacy honestly, not just developers and tech people, but all folks. I hear people all the time lamenting about having to give away info about themselves in exchange for online services. But they have no alternative to fb and google. There is nothing that offers the same ease of use and social connectivity. I think if there were the same service that allowed you to have some privacy, people would flock to it. Privacy would be the killer feature.

@nichoth voted UPDATE In Oregon now, my crew and I have encamped by a fabulous hot spring
Re: %BC5kpkVtA

You know, we haven't met, but I've been reading the saga, and I was just thinking, what are they doing in a little place working at a restaurant? Yeah, move to a city. I don't know, it sounds like you have many options, which is a good thing.

@nichoth voted **Fayettenam update** Hey y'all on the main network. I've been a little sc
@nichoth dug ## Part 2 This may sound obvious, but it's useful emphasizing: on the grad in #soundcloud
@nichoth dug thinking about this again, to be truly of the times and maximum [#seasteadi in #offgrid
@nichoth dug Yesterday and today I was making a skin for Patchwork. ![Screen Shot 2017 in #patchwork
@nichoth subscribed to channel #dat
@nichoth in #offgrid
Re: %pLBkGmeVt

I saw this video where they use an arduino to control a refrigerator that runs off of solar power, so you have compete control over how much the fridge operates. It sounds like you might be doing something more complex though, where you need a minimum amount of power available in the battery in order to get the fridge down to temperature.

@nichoth dug Keep that courage, it's good. in #flume
@nichoth followed @Feross
@nichoth followed @angel
@nichoth followed @mikola
@nichoth dug -- [@Piet](@U5GvOKP/YUza9k53DSXxT0mk3PIrnyAmessvNfZl5E0=.ed25519) : "_I_ am in #protozoa
@nichoth in #protozoa
Re: %kjYQgOsVn

We love dystopian

@nichoth dug ![20170712_151042.jpg](&HbwK32/C9MsCpCFWkG+1UtBbpu+9oTI4RmRT9auykHY=.sha256 in #protozoa