Hacker Newsnew | past | comments | ask | show | jobs | submit | mindhash's favoriteslogin

I think the big number 1 that trumps all others when building a person website is: focus on writing content.

This is by far the hardest part. All the other stuff: it's just tangential. Wordpress, Blogger, Jekyll, Hugo, Medium, hand-written HTML files: IMHO it doesn't really matter if you don't have any content. Just use whatever is easiest to get started with and gets out of your way when writing. For me, personally, it would be writing Markdown in Vim and converting that. For other people, it's something else.

Later, when you actually have some content going you can start focusing on tooling, layout, and so forth. Converting things to another platform usually isn't too hard. But chances are, you will never actually get any content going. I've seen a lot of people create personal websites, write one or two things on it, and then basically don't do anything with it.

I've built some websites for various friends/non-profits over the years, and about 90% of the time they never actually wrote any content. These days I ask people to write content first, and then I'll build the website for them. Most of the time I never hear about it again. That's okay, it's really hard to write content and a lot of people (myself included, before I had more experience with this sort of thing) tend to be way too optimistic about it and underestimate just how hard this can be.

And people will read your website regardless if your content is good. Is Paul Graham's website the peak of web design? Not really. People still read it. Dan Luu's website? Pretty much the most basic HTML file you can get. Still widely read.

That being said, if your goal is also to learn more if you're young or inexperienced: then sure, muck around with these tools all you want. I learned a lot from building my personal website over the years in all sorts of tools (geocities, hand-written HTML, shell scripts, PHP, Python, PHP again but this time with MongoDB, back to shell script, and finally settled Jekyll) and for much of this time I didn't have a lot of content. That was okay, because I learned a lot from the process.


Seems to be a lot of questions about how bootstrapped startups handle customer support.

I'm the cofounder of Eureka Surveys. We're bootstrapped, profitable, and just crossed 1M+ users. We've had an amazing experience hiring customer support in the Philippines. I have a thread about it on Twitter: https://twitter.com/t0mstah/status/1356296043009253382

The tl;dr is that you can hire cheap ($3.50/hr), high quality virtual assistants from the Philippines to handle customer support for you, all from day one. Having CS has really made a difference for us in our business and is one of our main differentiators as we've scaled up the CS team. DM me on Twitter and I can connect you to some excellent VAs looking for jobs!


I've implemented something very similar at work, this was a nice write-up. Biggest differences we're doing is to use Welford's algorithm[0] to calculate a running variance, so we can calculate anomalies in real time, without the need to store logs. It works quite well.

[0]: https://en.m.wikipedia.org/wiki/Algorithms_for_calculating_v...


Recent Project https://pipecontent.com

Wanted to evolve this idea into a go-to platform for knowledge workers. (A second brain for the content)

Located in India, currently looking for a partner.

Also, wanted to share all my research on various markets, opportunities, tools.

That can help us uncover better opportunities together.

Let's connect on Twitter! @notoriousarun


I think every new notebook project should take ideas from Julia's Pluto: https://www.youtube.com/watch?v=IAF8DjrQSSk

Working directly with the source files is just one of the niceties it has.


Sure. First of all, I want to say that backprop, by which I mean reverse-mode differentiation for computing gradients, combined with gradient descent for updating parameters, is pretty great. In a sense it's the last thing we should be trying to replace, since pretty much the whole deep learning revolution was about replacing hand-designed functions with ones that can be optimized in this way.

Reverse-mode differentiation has about the same time cost as whatever function you're optimizing, no matter how many parameters you need gradients for. This which is about as good as one could hope for, and is what lets it scale to billions of parameters.

The main downside of reverse-mode differentiation (and one of the reasons it's biologically implausible) is that it requires storing all the intermediate numbers that were computed when evaluating the function on the forward pass. So its memory cost grows with the complexity of the function being optimized.

So the main practical problem with reverse-mode differentiation + gradient descent is the memory requirement, and much of the research presented in the workshop is about ways to get around this. A few of the major approaches are:

1) Only storing a subset of the forward activations, to get noisier gradients at less memory cost. This is what the "Randomized Automatic Differentiation" paper does. You can also save memory and get exact gradients if you re-construct the activations as you need them (called checkpointing), but this is slower.

2) Only training one layer at a time. This is what the "Layer-wise Learning" papers are doing. I suppose you could also say that this is what the "feedback alignment" papers are doing.

3) If the function being optimized is a fixed-point computation (such as an optimization), you can compute its gradient without needing to store any activations by using the implicit function theorem. This is what my talk was about.

4) Some other forms of sensitivity analysis (not exactly the same as computing gradients) can be done by just letting a dynamical system run for a little while. Barak Pearlmutter has some work on how he thinks this is what happens in slow-wave sleep to make our brains less prone to seizures when we're awake.

I'm missing a lot of relevant work, and again I don't even know all the work that was presented at this one workshop. But I hope this helps.


An example of a library using React and ProseMirror is from Outline, which is switching from Slatejs: https://github.com/outline/rich-markdown-editor/pull/150.

Here is an earlier blog we published on comparison's to Pachyderm: https://www.dolthub.com/blog/2020-03-06-so-you-want-git-for-...

We got a blog on the storage system coming on Wednesday. It's a mashup of a Merkle DAG and a B-tree called a Prolly Tree. It comes from an open source package called Noms (https://github.com/attic-labs/noms).

I'm not familiar with CRDT. Will read up on that.


For me this was a good starting point.

https://cstack.github.io/db_tutorial/parts/part1.html


I posted briefly elsewhere in the thread, but am now back at a compute with a keyboard so can give a more detailed answer.

First, background reading:

https://en.wikipedia.org/wiki/6to4

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

The basic idea is you create a SIT tunnel device and assign it an IPv6 /64 composed of two parts:

1. A network prefix between 32 and 56 bits long. This prefix is the same for all machines in the network.

2. A subnet derived from the machine's IPv4 address, minus the netmask.

For example, if your IPv4 addresses are allocated from 192.168.1.0/24 and the machine has 192.168.1.155, then the network prefix should be 56 bits long (64 - (32 - 24)) and the machine's prefix is `xxxx:xxxx:xxxx:xx9B::/64`.

The Linux kernel knows how to wrap the IPv6 with IPv4 so it can route within your local network to any other machine with a similarly configured tunnel device. If you want to send packets to 192.168.1.200 then they get addressed to `xxxx:xxxx:xxxx:xxC8::1` or whatever, they'll transit the IPv4 network like normal, and on arrival the receiving machine's kernel will strip off the IPv4 wrapper and route the IPv6 locally.

How's this useful? Well, if each machine has a /64 prefix then each pod can be allocated an IPv6 within that prefix without coordinating with other machines. Let's say the pod gets `xxxx:xxxx:xxxx:xxC8::aaaa:bbbb:cccc`. Anything with a correctly configured tunnel and that pod IP can route it traffic, no proxy or iptables needed.


I am a huge fan of Observable and I think it has massive potential beyond visualizations. To me it's the holy grail of a development environment, there is no separation between development and output. There is no toolchain separating source and binary, infact, the binary is partially recomputed on changes.

On top, it is forkable for others to build upon. It support comments, its reactive. When I explain it to people I say its like a combination excel + vscode + google docs + github. There is nothing like it!

I been trying to see how far I can push it for non- visualization software. Turns out... pretty far....

Firebase + Stripe => https://observablehq.com/embed/@tomlarkworthy/saas-tutorial

On Demand Minecraft Servers => https://observablehq.com/@tomlarkworthy/minecraft-servers

Zero deploy serverless cells => https://observablehq.com/@tomlarkworthy/serverside-cells

With serverless cells I can serve HTTP endpoints from a notebook! E.g. custom HTML like:

https://serversidecells-ibyw6dtm4q-ey.a.run.app/notebooks/@t... is generated from a notebook!

I am so productive in Observable because there is no context switch between development, using the product and debugging, it's all just one thing. Amazing, utterly amazing. I hope the Observable team can accommodate my use cases, as its clearly not what they had in mind.


I've never created a reading list, so this was a fun exercise.

Programming:

* Analyzing Computer System Performance with Perl::PDQ - Gunther

* The Mythical Man Month - Brooks

Philosophy:

* A Journey Around my Room - de Maistre

* Anger, Mercy, and Revenge - Seneca

* Schrödinger - What is Life?

* Man's Search for Meaning - Frankl

* Essays - Montaigne

* Ethical Intuitionism - Huemer

* The Consolations of Philosophy - de Botton

* A Manual for Living - Epictetus

* Meditations - Aurelius

Psychology / Meaning / Purpose / Science:

* Purpose and Meaning in the Workplace - Dik, Byrne & Steger

* The Case Against Education - Caplan

* Selfish Reasons to Have More Kids - Caplan

* Dawkins - The Selfish Gene

* A Confession - Tolstoy

* Enlightenment Now - Pinker

* The Better Angels of our Nature - Pinker

* The Improving State of the World - Goklany

* The Skeptical Environmentalist - Lomborg

* Religion for Atheists - de Botton

* Ending Aging - de Grey

* Gut Feelings - Gigirenzer

Fiction:

* Heart of Darkness - Conrad

* Candide - Voltaire

* Brave New World - Huxley

* Selected Works - Goethe

* 1984 & Animal Farm - Orwell

Politics:

* Obedience to Authority - Milgram

* The Problem of Political Authority - Huemer

* The Communist Manifesto - Marx

* Socialism - von Mises

* Just One Child - Greenhalgh

* The God That Failed - Crossman

* Death by Government - Rummel

Thought-provoking:

* Free to Learn - Gray

* The Beautiful Tree - Tooley

* Education and the State - West

* The Machinery of Freedom - Friedman

* Against Intellectual Monopoly - Boldrine & Levine

* From Mutual Aid to the Welfare State - Beito

* The Not So Wild, Wild West - Hill

* More Guns, Less Crime - Lott

* Race & Economics - Williams

* Emancipating Slaves, Enslaving Free Men - Hummel


Grouparoo | Senior Full Stack Engineer - Founding Engineer | Full-Time | Remote - USA

Grouparoo (https://www.grouparoo.com/) is a venture-backed software company building the open-source framework for managing, syncing, and syndicating data between your app(s) and all the marketing and operations tools your company needs to run. Do you need to keep your product data (Postgres) in-sync with Hubspot, Marketo and Zendesk? Do you want to limit the PII that leaves your firewall but still build robust email-marketing cohorts to use in Mailchimp? Do you want to enable your Marketing team to experiment with new definitions of what “high LTV customers” are, and try new ways to re-engage them… without you needing to write any code? That’s what Grouparoo does.

As our first hire, you’ll be a Founding Engineer at Grouparoo. You will be responsible for helping to craft the roadmap, developing features, fixing bugs, and building products that make our customers happy. We are a small team, and so we are looking for generalist engineers who are interested in learning about a wide variety of tools and technologies rather than becoming experts in any one part of the stack. We connect many different APIs, databases, and vendors, so there’s always something new to learn.

Learn more about the position @ https://www.grouparoo.com/jobs


I record with Screenflow. It is much simpler (read: slimmer feature set) than Camtasia as well as cheaper.

For as straightforward an application as recording a screen w/ voiceover, there aren't many bad options. Personally, what I like about Screenflow is that it is easy to record straight to a timeline. I.E. I do a take, it saves to the timeline in Screenflow, I cut out the pauses/mistakes/dead air, or split a clip to redo audio or video for a particular section. Once satisfied, I move onto recording the next chunk, it's quite streamlined compared to recording in one app and then editing in another.

Egghead.io has a few free resources for their instructors, I'd recommend checking them out for some practical tips.

https://egghead.io/courses/record-badass-screencasts-for-egg...

https://egghead.io/articles/recording-a-great-coding-screenc...


"Generating Software Tests" (https://www.fuzzingbook.org/) is pretty great (independent of your programming language) - arguably a must read for anyone interested in software testing.

John Regehr (the author of the blog post) has written more great posts:

- How to Fuzz an ADT Implementation - https://blog.regehr.org/archives/896

- Better Random Testing by Leaving Features Out - https://blog.regehr.org/archives/591

- Tricking a Whitebox Testcase Generator - https://blog.regehr.org/archives/672

- Fuzzers Need Taming - https://blog.regehr.org/archives/925

- Levels of Fuzzing - https://blog.regehr.org/archives/1039

- API Fuzzing vs. File Fuzzing: A Cautionary Tale - https://blog.regehr.org/archives/1269

- Reducers are Fuzzers - https://blog.regehr.org/archives/1284

In terms of software, DeepState (https://github.com/trailofbits/deepstate) may be a good place to start for C and C++. Relevant links:

- Fuzzing an API with DeepState: https://blog.trailofbits.com/2019/01/22/fuzzing-an-api-with-..., https://blog.trailofbits.com/2019/01/23/fuzzing-an-api-with-...

- NDSS 18 paper, "DeepState: Symbolic Unit Testing for C and C++": https://www.cefns.nau.edu/~adg326/bar18.pdf

In terms of choosing among fuzzing solutions, https://blog.trailofbits.com/2018/10/05/how-to-spot-good-fuz... is also worth a read -- as well as the article it refers to, http://www.pl-enthusiast.net/2018/08/23/evaluating-empirical.... For a broad survey, see "The Art, Science, and Engineering of Fuzzing": https://arxiv.org/abs/1812.00140, https://jiliac.com/pdf/fuzzing_survey19.pdf

More resources:

- Effective File Format Fuzzing – Thoughts, Techniques and Results (Black Hat Europe 2016): https://j00ru.vexillium.org/talks/blackhat-eu-effective-file...

- libFuzzer – a library for coverage-guided fuzz testing: http://tutorial.libFuzzer.info, http://llvm.org/docs/LibFuzzer.html, https://github.com/ouspg/libfuzzerfication

- Materials of "Modern fuzzing of C/C++ Projects" workshop: https://github.com/Dor1s/libfuzzer-workshop

- Introduction to using libFuzzer with llvm-toolset: https://developers.redhat.com/blog/2019/03/05/introduction-t...

- Fuzzing workflows - a fuzz job from start to finish: https://foxglovesecurity.com/2016/03/15/fuzzing-workflows-a-...

- Materials from "Fuzzing with AFL" workshop (SteelCon 2017, BSides London and Bristol 2019): https://github.com/ThalesIgnite/afl-training

- Making Your Library More Reliable with Fuzzing (C++Now 2018; Marshall Clow): https://www.youtube.com/watch?v=LlLJRHToyUk, https://github.com/boostcon/cppnow_presentations_2018/blob/m...

- C++ Weekly - Ep 85 - Fuzz Testing - https://www.youtube.com/watch?v=gO0KBoqkOoU

- The Art of Fuzzing – Slides and Demos: https://sec-consult.com/en/blog/2017/11/the-art-of-fuzzing-s...


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: