Git log, a command you want to know more about - <AUTHOR> https://www.codingnagger.com/2020/05/04/git-log-shenanigans-and-stuff/ <comment><USER2> It feels like half an article, maybe add more on how you'd find the reversion?</comment>


Google DoubleClick Mozilla overview (second draft) - <AUTHOR> http://yuhongbao.blogspot.com/2018/09/google-doubleclick-mozilla-overview_92.html <comment><AUTHOR> This was recently posted: [https://twitter.com/iamdylancurran/status/106344480139006771...](https://twitter.com/iamdylancurran/status/1063444801390067712)

I already asked about this overview.</comment>


Yellowstone Park accident victim dissolved in boiling acidic pool - <AUTHOR> http://www.bbc.com/news/world-us-canada-38018209 <comment><USER2> This reminds me of a related incident that happened in May 2016 when a bunch of people walked off the boardwalk at the Grand Prismatic Spring [1].

A lot of people have a very cavalier attitude about this stuff. They'll deliberately walk off the track, ignore prominently displayed warnings, feed wildlife... basically do the opposite of what has been instructed. And worse, make you feel stupid for following the rules.

In some cases, they are only hurting nature, in others, they are literally jeopardizing their own safety.

[1] [http://www.bozemandailychronicle.com/news/online- filmmakers-...](http://www.bozemandailychronicle.com/news/online-filmmakers- venture-off-boardwalk-at-grand-prismatic-spring- in/article_07bbbeb5-4364-56b1-a834-5ef232133761.html)

<comment><USER3> > In some cases, they are only hurting nature, in others, they are literally > jeopardizing their own safety.

I find that phrasing odd. The former is much more serious than the latter. Feeding wildlife, for example, is an excellent way to ensure negative interactions with humans in the future. By disobeying posted rules, these people are putting others' lives in danger in addition to damaging the animals.

<comment><USER4> I think he phrased it that way because most people are much more concerned with their own well-being than with others'. As such, you'd think they'd at least take care because of that, but they clearly aren't.

<comment><USER2> You got it.

Of course, we should obey these instructions for the greater good (of nature, of others etc.) but when you are with the kind who can barely watch out for their own safety and well-being, it's hard to convince them out of their own stupidity.

</comment></comment></comment></comment><comment><USER5> Iceland had some pretty clever warnings for their geysers that iterate multiple times, "no really, it will burn you."

[https://innovationonearth.files.wordpress.com/2014/08/warnin...](https://innovationonearth.files.wordpress.com/2014/08/warning- sign.png)

<comment><USER6> Warnings don't apply to the Instagram generation. This one of many incidents of people filming themselves doing something stupid in Yellowstone.

<comment><USER7> There are many instances of people doing stupid things at Yellowstone that long predate Instagram. [http://www.yellowstonepark.com/cautionary- tale/](http://www.yellowstonepark.com/cautionary-tale/)

<comment><USER8> The book by Whittlesey mentioned in the article is an interesting read.

</comment></comment></comment></comment><comment><USER9> Seems more like a Darwin award rather than an "accident" (as a bad outcome should be fairly predictable when you do something like this). I'd also be worried about the high temperatures.

</comment><comment><USER10> Terrible story.

What are the odds the underlying motivation was a selfie or glamour shot for social media?</comment>


3 Projects to Create a Government-less Internet - <AUTHOR> http://www.readwriteweb.com/cloud/2011/01/3-projects-to-create-a-government-less-internet.php?utm_source=ReadWriteCloud&utm_medium=rwchomepage&utm_campaign=ReadWriteCloud_posts&utm_content=3+Projects+to+Create+a+Government-less+Internet <comment><USER2> This is great and all, but I feel like someone should point out that at some level, you need service to your house. In the US at least, AT&T (or some company that was formerly AT&T) owns most of the last-mile wires, so anyone who can control the last-mile wires ultimately has control over the network.

<comment><USER3> Actually in a properly setup mesh network you DON'T need service to your house. You just need to be within distance of the next node that can pass your packets along.

<comment><USER4> So, the scenario is, when you main wire is cut, your router has different firm in place when lets it talk to your neighbor's router which talks to his neighbor's router which talks to a packet radio router. And that lets everyone's packets go everywhere?

Slow but it seems possible.

The problem I'd see is a government aiming for control would clamp down on the international packet radios immediately and not wait till it want to shut off the net.

Still might be worth a try.

<comment><USER5> Even if they manage to clamp down on all international access nodes, it'll still be very useful as a local communication/coordination network.

</comment></comment></comment></comment><comment><USER6> Why don't they mention a well established project like Freifunk?

<http://wiki.freifunk.net/Kategorie:English>

<comment><AUTHOR> Because I didn't know about it =) I've found a few more active mesh networks from around the world, so I'm doing a follow-up story. Thanks for leading me to Freifunk.

</comment></comment><comment><USER7> How much bandwidth could we squeeze out of long-range packet radio technologies? Even big commercial shops like Verizon and AT&T have to be careful about bandwidth usage on their networks.

What we would really have to do is take over one of these existing companies. Sprint, for example, has a market cap of $13B. I'll start a Kickstarter project.</comment>


Slaves to speech suppression are masters of nothing - <AUTHOR> http://esr.ibiblio.org/?p=8114 <comment><USER2> You know, if we're gonna do that, "Honeypot" and "Honeynet" have to go. They actually still mean things in parts of the English-speaking world that are seriously racist.

Hey, if the author dislikes "master/slave" in computing, maybe s/he can get us all to use "manager/employee". Functionally, there is very like literally when things go as planned. Oh wait, nevermind, we dislike word-mincing.

Maybe server/client? No, that isnt always accurate.

Words change. Perhaps we'd prefer "Roman"/"Slav" dynamic? Oh wait, the Romans took so many Slavs as slaves that their word for "people" became the Roman word for "slave".

"Foundational" / "Associate" could work well. Like the way "associate" in a law firm used to mean something. Now even the bagger on their first day at the grocery store has "associate" on their tag.

I dont care. Just make sure it communicates heirarchical data as is necessary to discern such in practicality.

</comment><comment><USER3> The author uses a lot of soft terms to delineate between "manners" and "political correctness", but never makes a convincing argument about how to identify when something falls in either camp.

You can be guaranteed that there are people who use the term political correctness, that have a conception of its limits that you do not agree with. Question is, how do we identify who has the right definition?</comment>


The Early Bird Gets the Bad Grade - <AUTHOR> http://www.nytimes.com/2008/01/14/opinion/14kalish.html?ex=1358053200&en=e168a15e27dd2a3a&ei=5090&partner=rssuserland&emc=rss&pagewanted=all

<comment><USER2> _lengthening the school day would help "close the achievement gap between disadvantaged students and their better-off peers."_

Well, nothing else worked. Might as well try something completely stupid.</comment>


An 11-Year Old Firefox Bug still going strong - <AUTHOR> https://bugzilla.mozilla.org/show_bug.cgi?id=510009 <comment><USER2> In other news, Bugzilla now requires JavaScript and has a floating top bar with framed content below, which also makes the content not keyboard- scrollable by default.</comment>


How I (try to) add value as an investor - <AUTHOR> http://www.gabrielweinberg.com/blog/2010/10/how-i-try-to-add-value-as-an-investor.html <comment><USER2> This is great. Very honest and straightforward. The points were he can add a lot of value, are very strong, and the points where he can't, are ok, because the ability to help you close a seed round:

"made sure it all closed quickly, fairly and without incident"

Once you can get someone to literally be a leader on the round (there's plenty of me-too investors, that rarely take the plunge first) everything should pretty much fall into place.

The techcrunch nut is not too hard to crack and it's not a dealbreaker.

I wish all investors had a list like this posted somewhere in their linkedin/blog.

<comment><USER3> "I wish all investors had a list like this posted somewhere in their linkedin/blog."

Agreed. I think it could also be interesting to have a platform where the founders rate each angel/VC on a 1-5 scale on 20 or so categories: technical knowledge, introductions to additional funding sources, access to lawyers, PR experience, management expertise, etc.

This type of feedback happens to some extent on sites like The Funded, but it's not broken down as accurately as it should be.

<comment><USER4> Like <http://www.honestly.com/profile?id=466217> ?

</comment></comment></comment><comment><USER5> I think what he put in the "what I can do" category is exactly what a startup should be looking for to fill in the gaps. What he can't do doesn't seem to be the key roles of an investor (like getting your startup PR or managing the people in your company).

Here's an interview with him on This Week in Startups: <http://www.youtube.com/watch?v=AWJAkjF9qnY>

</comment><comment><USER6> I'm one of those "me too" investors andreshb mentions in another comment, at least until I'm in the game long enough to have the confidence to lead. Can you contact me? I'd love to get involved in the game.

<comment><USER4> Not sure who you want to contact you, but if it is me, my email is firstname.lastname@example.com</comment></comment>


YC News Users / Startup School Attendees - Drinks @ The Bus Stop (Downtown SF) on March 23? - <AUTHOR>

<comment><AUTHOR> I've left this note on the Facebook group but also wanted to put it on YC News. A few of the attendees that I know will be gathering at The Bus Stop for drinks on Friday Night. If you're attending, or live in the area, feel free to stop by and join in on the random discussions.

Leave your cell if you want an SMS about this next week. I can be reached at ak (at) semigeek dot com, or 216-394-3336.</comment>


Technologier needs your predictions about what Apple will announce at WWDC. - <AUTHOR> http://technologizer.com/2009/06/03/share-your-apple-predictions-get-a-shot-at-a-100-apple-gift-certificate/

<comment><USER2> Snowleopard release date at least. I would be sad I've been waiting to be a new mac if this weren't true.</comment>


Are Jump Tables Always Fastest? - <AUTHOR> http://www.cipht.net/2017/10/03/are-jump-tables-always-fastest.html <comment><USER2> > Threaded code should have better branch prediction behavior than a jump > table with a single dispatch point

This is not the case anymore, at least for modern Intel processors. Starting with the Haswell micro-architecture, the indirect branch predictor got much better and a plain switch statement is just as fast as the "computed goto" equivalent. Be wary of any references about this that are from before 2013.

For more info, I would recommend "Branch Prediction and the Performance of Interpreters - Don't Trust Folklore", by Rouhou, Swamy and Seznec. Pdf link: [https://hal.inria.fr/hal-01100647/document](https://hal.inria.fr/hal-01100647/document)

> although indirect branch prediction should help even the field.

Indeed :)

\-----

Fun story: I experimented with adding indirect threading to the Lua interpreter and was excited to find an improvement of up to 30% on some selected microbenchmarks (running on my IvyBridge workstation). But the improvement dropped to 0% when I tested it on a machine with a Haswell processor. Measuring with perf indicated that the improved branch predictor was indeed responsible for this.

<comment><USER3> That's really good to know. It's still annoying though that C semantics apparently require there to be a bounds-check for every iteration of the switch(): [https://eli.thegreenplace.net/2012/07/12/computed-goto- for-e...](https://eli.thegreenplace.net/2012/07/12/computed-goto-for- efficient-dispatch-tables) (see "Doing less per iteration")

I've tried using "default: __builtin_unreachable()" but this doesn't seem to help.

<comment><USER4> IIRC GCC is capable of dropping the check if it knows the possible range of the switch variable. An example would be using a single byte and having all 256 possibilities exist in the switch. Another would be switch (x & 7) with 8 cases. I have not checked in a while, but I spent a lot of time on code with this issue. It's at the core of my ray tracer of all things.

</comment></comment></comment><comment><USER5> As yes, the classic "I can outsmart the compiler".

I've been down the exact rabbithole, before, but with java. There are 2 different bytecodes for representing a switch statement: tableswitch, which is dense (has a case for every key from X to Y), and lookupswitch, which is sparse. Of course the dense one must be better, I thought: O(1) vs O(log n) ! Maybe if I added a few more cases manually to my switch statement to cover missing holes, my lookupswitch would become a tableswitch and my hot loop would be faster.

Turns out, of course, that not only is O(1) not necessarily any faster than O(log n) when n is small and the constant factor is large (see this article), but in fact its irrelevant since the hotspot uses the same function to generate the IR for both bytecodes ([http://hg.openjdk.java.net/jdk9/jdk9/hotspot/file/b756e7a2ec...](http://hg.openjdk.java.net/jdk9/jdk9/hotspot/file/b756e7a2ec33/src/share/vm/opto/parse2.cpp#l512) ), and thus the decision about whether to use a jumptable or binary search is entirely unreleated to the bytecode that represents the switch statement :)

<comment><USER6> Not only that, but the O(log n) sparse table has multiple branch points that are more predictable, so the branch predictor works better. It can be faster overall than a single highly unpredictable branch point.

</comment></comment><comment><USER7> One nice thing about a classic jump table is that you can change the function pointers dynamically. That might seem like a questionable thing to do, but it's pretty handy to intercept or wrap functions. Calling different functions depending on state/context can be more efficient than calling one function that has to check that same state/context on every single call, and it's slightly easier to set breakpoints that way too. Forget about doing any of that with the switch-statement or threaded versions. Unless you're writing something that has to run billions of times per second, like an interpreter's inner loop, the extra flexibility is worth it.

<comment><USER8> On my first attempt of writing an IRC parser by following a specification at an RFC, I wrote the whole tokenizer in a single switch statement. But as I needed further branches I resorted to using nested switch statements. It quickly became a mess.

Then I switched to calling seperate functions within the switch statement for tokens. If the char is a colon and state is prefix, call parsePrefix. If the char is a whitespace, advance state etc.

I didn't know about jump tables back then, but relying on enums for states and branching proved to be a good idea. e.g If state is < 3, parseParameters(); if state is <2, parseMessage() etc.

Using nested conditionals and loops in the same function on the other hand proved to be a terrible idea.

</comment></comment><comment><USER9> Am I reading this right? The performace difference seems to be unaccounted for in the data

        Performance counter stats for './x86_64-binary 5000000' (5 runs):

            6,883,819,114      cycles                    #    2.090 GHz                      ( +-  0.43% )
              232,004,486      instructions              #    0.03  insns per cycle          ( +-  0.06% )
               56,828,213      branches                  #   17.257 M/sec                    ( +-  0.04% )
                1,262,892      branch-misses             #    2.22% of all branches          ( +-  0.05% )

              3.299025345 seconds time elapsed                                          ( +-  0.43% )

        Performance counter stats for './x86_64-vtable 5000000' (5 runs):

            7,709,225,443      cycles                    #    2.087 GHz                      ( +-  0.95% )
              217,283,422      instructions              #    0.03  insns per cycle          ( +-  0.03% )
               51,631,368      branches                  #   13.976 M/sec                    ( +-  0.03% )
                  957,553      branch-misses             #    1.85% of all branches          ( +-  0.10% )

             3.706410106 seconds time elapsed                                          ( +-  1.04% )

One would assume with all else being equal that code which ran fewer instructions with fewer branches and a better branch prediction rate would be faster.

Given that is not what we get, can we assume that 'all else was not equal' Where did the cycles get used? Average cost of branch-miss? Cache miss? Loading the pointers from the jump table with rep movsb?

<comment><USER10> I wouldn't scrutinize it too much as the benchmarking approach is wildly inaccurate, but I'm curious about that too. I might investigate it later. (I am the author of the post.) This was also run on a pretty ancient AMD machine, which isn't terribly representative of modern branch prediction hardware.

</comment></comment><comment><USER11> Obviously, a faster way would be to place your functions at predictable addresses that could be computer with simple bit arithmetic. No double lookup or conditional branches required.

<comment><USER12> Computed goto is also not always fastest. Someone benched it (I think it was in the context of interpreter main loops); any of the 3 approaches can win depending on arch and usage patterns.

</comment></comment><comment><USER13> In java large jump tables prevents JIT from compiling methods.

</comment><comment><USER14> dispatch(-1)

<comment><USER15> Yes, I thought the exact same thing. The value being passed in is an int, which can be negative. So, the statement "if (state > 4) abort();" isn't enough of a guard.

I managed a team of C/C++ programmers for many years in Silicon Valley. I always encouraged my engineers to write clean code without fancy tricks. Fancy tricks lead to bugs that spend a lot of time to debug. If I had an engineer write that dispatch() function with the vtable, I'd have beaten them with a wet noodle until they promised never to do that again.

<comment> Const-me C++ already has virtual tables built-in.

You still need to select the correct table for every incoming packet though. But again C++ has idiomatic ways for that, e.g. std::unordered_map<uint8_t, IPacketHandler* > for sparse values, or std::array<IPacketHandler* , n> for dense zero-based values.

While this approach is slightly more complex (need to register handlers somehow), debuggers are happy with that kind of dynamic dispatch because standard OO C++. IMO over time it's more maintainable, e.g. it's trivial to add another handling method, and the compiler will check that you implement that for each protocol you support.

</comment></comment></comment><comment><USER16> Site is awful on mobile chrome

<comment><USER17> Same on mobile Firefox. The text only uses 50% of the width of the narrow screen, and quotes go down to 25%, so it's no more than two words (or a single long one) per line.</comment></comment>


Canva Security Incident - <AUTHOR> https://support.canva.com/contact/customer-support/may-24-security-incident-faqs/ <comment><USER2> I never got an email from them. Blaming users for having incorrect email addresses is a cop out. It sounds like there are very many people they didn't notify. Did they actually notify anyone before HIBP?</comment>


Ask HN: My hackathon project, a polymorphic API? - <AUTHOR>

Hi everyone,
To speed up the prototyping of my apps (and hopefully yours!), I would like to create a polymorphic API, i.e. a full feature API scaffolded from your requests.
In other word, like Elasticsearch, one will be able to throw any json to its face and store it. Also, one will be able to search by any field, and use some pagination and sorting automatically. Also, unlike Elasticsearch, we would like to add authentication and authorization features, versioning, feature toggling (for instance, "this endpoint cannot expose this field or this sorting criteria"), Documentation & Swagger export, and so much more!
What do you think? <comment><USER2> I think it's a good idea. What about a validation workflow for the new versions of automatically created endpoints? It should have a moderation system to avoid too many endpoints.</comment>


The Unfair Advantage of Discomfort - <AUTHOR> https://kc-roi.com/blog/the-unfair-advantage-of-discomfort <comment><AUTHOR> favorite parts to stop and think about. The most uncrowded path to profound wealth is often subtle improvements in an existing industry so beautifully boring as to not attract attention from those attempting to sharpen a unicorn horn instead</comment>


Announcing TypeScript 3.8 - <AUTHOR> https://devblogs.microsoft.com/typescript/announcing-typescript-3-8/ <comment><USER2> Thanks for your work, and thanks for sharing Dan!

The two things I'm excited for: 1) Top-Level await 2) Type-Only Imports and Exports</comment>


The x86 PlayStation 4 could signal a sea-change in the console industry - <AUTHOR> http://arstechnica.com/#!/gaming/news/2012/04/the-x86-playstation-4-signals-a-sea-change-in-the-console-industry.ars <comment><USER2> Cpus comparison is completely wrong in this article. Cell Broadband Engine has 200+ GFlops throughput only in single precision, while Core 2 Duos has 24 Gflops in double precision

</comment><comment><USER3> Duplicate : <http://news.ycombinator.com/item?id=3786624></comment>


HN Suggestion: Virtual downvotes - <AUTHOR>

I understand why it requires some karma to downvote something, but I've been a long-time reader on HN, and still don't have the karma needed.
I think this is a shame, because I do care about the quality of the site, and I'd love to be able to downvote stuff.
In any case, you're ruling out a data vector here-- wouldn't it be interesting to gather how users with little karma would vote, if they could?
I'm suggesting that people with low karma be able to click a down-arrow without any tangible effect, other than to let them feel better (and possibly hide the item from their own view).  Over the long term, you might be able to use the voting pattern's similarity with the high-karma population in order to grant real votes, and the crossover point wouldn't be broadcast. <comment><USER2> I have lurked here for a while and have only recently began submitting stories and am starting to participate. My personal opinion is that people who haven't frequented the site enough to obtain the karma required to downvote (such as myself currently) do not understand the culture of the site enough to know what is that should stay vs. go. By reaching a certain level you are proving that you are working effectively on behalf of the community here and that your opinion should be taken more seriously. Just my take on it though.

<comment><AUTHOR> To me, you're proving you know how to play the game. The data-gathering aspect of my suggestion was, to me, the most interesting part.

</comment></comment><comment><USER3> I've made a suggestion like this before. Have downvotes, but make them function like "kill files" on the old usenet. The downvotes would affect the ranking of articles _as they appear to me_ only.

Hmm, I wonder if Bayesian filters would work for social news?

</comment><comment><USER4> It doesn't take that much karma to downvote. In fact it looks like you crossed the threshold with this post. :)

</comment><comment><USER5> I totally agree with this suggestion. I think it allows you to get the best of both worlds!</comment>


Ask HN: Where have the "Review my startup/app" posts gone? - <AUTHOR>

So, I'm wrapping up a little project I built over the holidays and I'm hoping to post it to HN for some bashing this week.
Then, it dawned on me that the frequency of "review my app/startup" posts seems to have dropped lately. These have always been some of my favorite and (IMO) most helpful HN posts.
Is this because we're in between YC submission periods?
Just a holiday lull?
Trend?
Am I just crazy? <comment><USER2> I haven't really noticed a drop. There is not a whole lot of consistency to how often they are posted, but it seems to be about the same to me.

</comment><comment><USER3> Fewer people launching around the holidays. Why would people want to compete with the increased noise, when there's even less attention available?

Next week we'll start seeing more things launch. Before/around Valentine's Day I bet we'll see a ton of new dating site startups.

<comment><AUTHOR> Interesting theory ... if that's true for Valentine's, shouldn't we have seen some product/shopping startups pre-Christmas?</comment></comment>


Ask HN: How do I find a meaningful software engineering job? - <AUTHOR> Currently I'm working as a Software Engineer in a consulting company whose primary expertise is AWS. My day of work is mainly composed of integrating with AWS REST APIs and "designing" scalable distributed systems.
I'm quoting designing, because it's really just a matter of composing AWS Services to fit customers needs (provided clients are willing to throw money at cloud services - and most of the times they are).
I just feel that's not something I would like to double down on. I have always enjoyed digging into lowish level libraries like MapReduce or LevelDB and figuring out how it works with layers of abstraction peeled off. I would love to contribute to such a project and I always envy and look up to Jeff Dean and his opportunity to build such a beautiful low-level software and libraries.
Anyway, are there companies which have interesting technical problems to solve and not consider outsourcing them to other vendors? Maybe I should get a job in a company which has a well established product (preferably something used by developers) and has some room for creativity? What are those companies? <comment><USER2> I'm a late-career software developer. 30+ years in the trenches doing this...

I've done "meaningful" work at companies that treated my like a consumable resource, and less meaningful work at companies that treated me like a person. I prefer the latter. My suggestion is don't jump at the first interesting work, look more for culture and career opportunity. You can find both, those jobs are not quite as rare as unicorns.

Good luck in your search.

<comment><USER3> I work at a midstage well funded startup where I'm paid well, treated nicely by my coworkers, have a great work life balance, and a clear career path for advancement.

But we do the typical tech wankery bullshit, and the banality of it eats away at you. Maybe the goal is to get accustomed to this and accept that my job is better than 99% of the world, but christ if I'm going to spend the next 20-30 years of my life doing this and filling it with hobbies that also don't have meaningful impact, why even bother.

<comment><USER4> > if I'm going to spend the next 20-30 years of my life doing this and filling > it with hobbies that also don't have meaningful impact, why even bother.

I understand those thoughts and feelings because I have them myself. That being said, why do you feel like your hobbies also have to be meaningless or have no impact? Volunteering can be a hobby. So can doing something like coaching a kids' sports team (if you like kids) or mentoring someone or something else along those lines. For me, my job is a way to help my family and other people who are way less fortunate than I am.

Also, and I know this is a "typical" response around here: Have you considered the idea that you may be suffering from depression? Most of the time when the, "why does this shit even matter" feelings hit me it's because I'm hitting the depression stage of manic depression/bipolar.

<comment><USER3> >Volunteering can be a hobby. So can doing something like coaching a kids' sports team

I do volunteer, I'm active in tutoring underprivileged kids for their SAT/ACT's, and otherwise help immigrants fill out their N-100 forms. I take Arabic classes in my spare time, and I fill my free time with various other hobbies (rock climbing, hiking, etc). And that's great that I have an impact on a local community, but in the end, why does it matter? Any bozo with two brain cells to rub together can have an impact on their local community. Aren't all these hobbies just escapism from the fact that my life is centered around this 40 hours a week that I spend debugging gevent or rewriting yet another RPC service?

To me, the acceptance of the reality of "it's extremely unlikely that I'll anything that has a meaningful impact on a large group of people" is the saddest thing of all.

<comment><USER5> I call it "Nothing matters, everything matters" dilemma.

Every little thing you do has some sort of meaning (even those hours spent debugging) if you choose to give it one.

On the other hand nothing really matters on a large enough scale not the things Bezos, Putin, Musk or any other human does.

Everything is ephemeral as Ecclesiastes already found out.

I think I'd be even more depressed were I put Ozymandias shoes.

<comment><USER4> I go the route of Camus and absurdism:

Perhaps nothing matters, but I will carry on anyway because there is still a chance that something matters.

And really I just want to spite nihilism because it's self-defeating.

</comment></comment></comment></comment></comment></comment><comment><USER6> 20+ years in - I'm a data plumber. A plumber might be able to go home and build some sort of interesting miniature steam engine, but his work week is connecting pipes. Mine's the the same, just strings and numbers instead of water. I go home and do some interesting things, but I don't expect I'll ever do such things at work. Some people are, but not the majority. The colourful unicorns and thrilling hackathons and exciting conferences are all just a mix of marketing and untainted youth. Sooner or later they'll find they've been crudding for 20 years, and strangely the various ways of crudding are no longer sufficiently novel to make crudding interesting. I try to think of how bored my dentist must be.

<comment><USER7> haha - brilliant, and spot on!

</comment></comment><comment><USER8> In my experience, _meaning_ comes from within: finding interesting problems that matter to you. If you know what that is then getting there is much easier.

If you think you really do like LevelDB try writing your own version of it from scratch. This will test your understanding of the fundamental principles. It will also test your motivation. Then try to explain to someone else how to do what you did.

Once you truly understand LevelDB then pick a thorny problem they are working on, propose a solution, gather feedback, and solve it. Wash, rinse, repeat. A couple years from now you could be the LevelDB expert you've always wanted to be.

Then a few years down the road maybe you'll find some key insight that everyone was missing and write your own database that solves that particular issue and you'll be the one that someone else is looking up to.

<comment><USER7> His problem though is not with side projects is it? It's the 40 hours cranking out meaningless crap in the office that's the issue here.

I've had no problem finding meaning in my side projects - the job I do for money though always seems to degenerate into a daily grind.

<comment><USER8> I think it does have to do with side projects if that's the avenue OP wants to take to find meaningful work.

> I would love to contribute to such a project and I always envy and look up > to Jeff Dean

Instead of being jealous, be the Jeff Dean you want to be!

> Maybe I should get a job in a company which has a well established product > (preferably something used by developers) and has some room for creativity?

I'm being glib but it's honest advice: one way to get the kind of work you want is to be the expert people need. Rarely does a team hire someone from outside with zero knowledge of a critical, low-level system and pay them to learn it. More often than not they want to hire someone with the skills and experience they're lacking.

The hard part is finding the motivation. A good chunk of line-of-business applications are valuable but do not require, "creative solutions." They need people who understand the problem domain so well that they can translate business rules into systems and can anticipate users' needs.

The low-level work is a lot more fun and personally satisfying for people but you have to be pushing the envelope to get it. If you have the personal motivation to be obsessed with LevelDB for a couple of years before landing that dream job... success may be much more likely.

</comment></comment></comment><comment><USER9> It sounds like you are trying to get meaning from your work. I struggled with this problem for a long time. I have seen two broad solutions solve it to varying degrees of success:

1\. Sacrifice earnings and / or stability in favor of meaning. You must be willing to compromise and you may have to bounce around through a few jobs until you find something meaningful, or you may have to start your own thing.

2\. Stop looking for meaning in your work, and find it somewhere else. The people I've known who make this work the best are parents. However, I know some who are not. If you live in the SF Bay Area and work in tech, there is pressure to make your work your whole life, and that means that if your work feels meaningless, your life feels meaningless. It's not the only mode of living.

<comment><USER10> Number 2 is the way to go in my opinion.

There is a large focus on how you make your money in the US. Most people judge and are judged by the amount of money they make, how they make it, and what they spend it on. Instead of calling it how it is, people work under the assumption that doing 'meaningful work' makes up for that obsession.

If you happen to find work the is personally fulfilling, then you are lucky. I would suggest that instead of chasing the work for fulfillment, find out what actually makes you fulfilled and then find a way to achieve that.

For me, I am most fulfilled by 1) creating stuff, and 2) being outdoors. While coding/programming falls under 1, I prefer making studio art (painting). So I do whatever work I need to do to afford to make art and spend as much free time outside as possible. Camping, hiking, etc.

If you are fulfilled by helping people, you can donate your time to a local shelter/habitat for humanity/kids group/etc. If its parenting, then focus on building a killer family life.

Ultimately, and this is the cynicism in me, life is meaningless - therefore we are free to create meaning how we see fit.

Trying to shoe-horn the 40 hour+ work week into personal fulfillment is a hallmark fantasy. How do you keep people coming back and creating profits for a company, 40+ hours a week? Try to sell them on the idea that they are 'making a difference' and 'changing the world' and will be 'fulfilled'. It's all smoke and mirrors.

</comment></comment><comment><USER11> Sounds like you want a job with meaningful technical depth. If so, I'll tell you what I would suggest:

1\. Start scoping out companies that do something that you're interested in and monitor the job openings they have. We can't give you a recommendation because we don't know what you're interested in. FANG and the other megacorps offer the greatest breadth and depth for low-level work (Amazon in particular is still hiring heavily) but they are also the most selective. There are plenty of mid-sized companies also doing interesting work (Pivotal comes to mind).

2\. Start shaping up your resume so that you fit the job openings at the company/companies you're interested in. If that means a bit of resume driven development, so be it. You can also attempt an indirect approach; if your expertise lies in the web space, try for a web job there and then do an internal transfer to the area you want.

3) Start shaping up your skillset to work on low level stuff. Firstly, that means having your CS basics down pat because when you're working at the low level, that knowledge is actually neecessary. (This will also help you get past the dreaded algorithmic interview questions.) Secondly, know the tech or software package you're interested in working on inside and out; usage and deployment, pros and cons, where it fits in relative to competing technologies/software, and at least the basics of the internal architecture.

4) Start applying to the job openings. Don't get discouraged if it takes many tries; you're making a significant leap.

Good luck!

</comment><comment><USER12> The title asks about _meaning_ but the first question you ask is about _interesting_ technical problems. This seems to be a potential discrepancy to me. Unless you find deep meaning purely in the interesting nature of technical problems, then it might be worth considering that difference and why that word is hanging in the title yet seemingly not discussed much in the body of the question.

</comment><comment><USER13> Try reaching out to professors or research labs at universities. I work with a professor who would love to hire more Software Engineers with industry experience. It is by far the most meaningful and interesting work I've done in my career.

There are tons of interesting projects going on within academia that unfortunately don't take advantage of any software engineering best practices. Many projects are prototypes hacked together in MATLAB and I know in our lab we are looking to build more robust products that are open source and extensible for other researchers to use.

<comment><USER14> As someone who works in a central service unit not directly affiliated with academic research, I was given the chance to touch the lives of probably generations of students.

Emphasis on "touch", not necessarily "change". Still, it sometimes gives me goosebumps when walking through the halls and seeing all the people who are "forced" to use my work.

Pay is not great, but conditions are otherwise excellent.

(Founder/ Dev/ Lead of an electronic exam infrastructure at a large German university)

</comment></comment><comment><USER15> If I may suggest a life tip, stop actively looking for meaningful work at once. Or give your career a pass and work for a non-profit you truly believe in. Some jobs are meaningful; some are less; some aren't at all.

The more important part actually is to have people who appreciate who you are and what you do around them. Your boss and colleagues; but also end-users. If you ever get to meet end-users telling you how you much you've been improving their lives, _that_ is certifiably fulfilling and meaningful. (If you don't take it from me, take it from Randy Paush.)

Also, consider building a family at some point. YMMV, but if you're looking for something meaningful to do in your life, I cannot find words to state how much more fulfilling making a spouse happy and educating a child is compared to work.

</comment><comment><USER16> If i understand correctly, you would like to go from being the person who assembles the magical widgets for the customer, to being the person who makes the magical widgets in the first place. So, perhaps you could look at the magical widgets you use, decide which ones you admire the most, and look into the companies that make them, and their competitors and disruptors.

This isn't guaranteed to succeed. Lots of the widgets come from Amazon, which is a famously hellish place to work. Redis is great, but you might need to move to Israel to hack on it. PostgreSQL is amazing, but there isn't a company behind it, and 2ndQuadrant will probably only hire you to work on it if you're already a contributor! But there are many other magical widgets out there ...

<comment><USER17> > PostgreSQL is amazing, but there isn't a company behind it,

There are several companies behind it, and most of them are looking for people.

> and 2ndQuadrant will probably only hire you to work on it if you're already > a contributor! But there are many other magical widgets out there ...

You don't need to have any sort of major contributions. It does help to have some small patch or patches in, that show that a) you enjoy working with the community with all its quirks b) that you are successful. IIRC the patch that got me my first job offers to work on PostgreSQL was a day's work or such.

</comment></comment><comment><USER18> I've felt similar cravings for meaning in work.

What helped me (may be different for you) is to understand my personal values and places to invest that aligned with those values.

For me, I realized I value \- working to create sustainable/profitable companies \- quantitative reasoning \- proactive communication \- goal oriented planning

From there, I worked for couple of small companies but left after I realized they were chasing billion dollar valuations and/or practicing irrational product management. Since then, I joined a small data engineering team in a medium sized cyber security company and started trading stock options on the side.

Overall, I focused on doing work in environments that aligned with my values. If there wasn't alignment, I moved on.

Great question mate. Best of luck!

</comment><comment><USER19> Check out the U.S. Digital Service. Software engineers who change lives and work on really interesting projects.

[https://www.usds.gov/](https://www.usds.gov/)

(I'm biased, see username)

<comment><USER20> Do you think there will ever be an effort to expand the USDS outside of DC or even allow remote? It sounds like a great place to work.

Semi-related: have you seen the work the USDS does significantly affected by political shifts?

<comment><USER21> Look at Code for America. Also, look at positions at your local governments. Some city and state governments have been getting things together.

</comment></comment></comment><comment><USER22> Meaning is incredibly fickle, certainly not an inherent quality of pretty much any work.

The work you do today seems to enable a range of businesses to get on with doing whatever it is they do by letting them leverage some incredibly powerful technology. That sort of enablement seems like something _I 'd_ find meaningful. But you're not me, and I'm not you.

If you want to work on more deep technical problems, for the sake of the technology itself (at the cost of being rather further removed from the real- world applications your work enables), go look for _that_ , that's perfectly reasonable. But be careful about assuming that this will necessarily feel more meaningful.

<comment><USER7> I agree that this "meaning" is a hard thing to put your finger on.

But you know it when you see it.

I think it's maybe not so much about the actual work as how you _feel_ about the work. I have worked on side projects that are not too dissimilar to the day job, but have felt far more meaningful to me - it's sometimes hard to define exactly why though! I used to think it was about helping others, and it is true that does feel meaningful, but I think there's more to it than that.

</comment></comment><comment><USER23> Who is to say interesting technical problems are meaningful? All of the amazing technology developed at google ultimately is meant to show people ads. Where is the meaning in that?

The meaning of a thing is derived from its use. Most software projects can be meaningful when a real effort is made to maximize the benefit to the user.

Maybe what you're looking for is not meaningful work but interesting work?

<comment><USER24> > Where is the meaning in that?

Advertising business delivers extremely important value to our society.

1) Adverting helps customers and sellers find each other.

2) Advertising sponsors publisher businesses that otherwise would not be able to financially support itself.

</comment></comment><comment><USER25> If you find meaning from digging into low level libraries, that's great. Most people would think of meaning as having shared values with the business you're working for and it's end users / customers. Prioritize finding end-users who you genuinely care for and whose lives you want to improve is one way to find meaning.

</comment><comment><USER26> What is meaning?

What caries meaning.

My realization has been that software development has very little intrinsic meaning to itself, it gains meaning when seen in the contexts of it's application. You need to find a field where you can apply your skills, that has more meaning.

</comment><comment><USER27> The most meaningful work I do is open-source projects in my spare time (or occasionally at work when open-source projects I'm already interested in align with my wrkplace's goals). It sounds like you might already be in a position where you're getting paid well and putting at most 40 hours a week into your day job - have you looked into saving your mental energy for other projects?

This doesn't work for everyone, of course (I'm young and single so it's easier for me) but if it's an option for you it seems worth exploring. Even extremely technically challenging jobs are going to be constrained by either "We need to solve this incredibly boring problem so a customer can pay us a few million more" or "We didn't do that enough and now we ran out of funding for the technically interesting work, sorry".

</comment><comment><USER28> Looking back from the wrong end of a happy 30+ year career in software development, I think the best you can hope for is to do stuff that you find the most engaging and enjoyable in the moment.

To me, a search for "meaning" in the now is mostly an expression of hope that you can someday enjoy some long-term retrospective pride in your work. Looking back at the fun I had 20-30 years ago, it all looks completely trivial (aka mostly meaningless) compared to where the world is today. I have zero regrets, but was my career "meaningful"? Not a chance. YMMV, of course.

Keep your arms inside the vehicle and do your best to enjoy the ride while you still can.

</comment><comment><USER29> Meaningful jobs are hard to find.

You're better of working a less meaningful job that pays well, invest that extra money, and getting out of the industry (or FIREing) as fast as possible. Then you can work on your own stuff.

<comment><USER7> Cynical as it might sound I actually think this is a good approach. :)

Even if you can't RE you can go contracting and reduce hours dramatically, or do some other work outside of the industry.

</comment></comment><comment><USER30> Meaning is something you create or find, it's not intrinsic to the activity.

Right now there is someone complaining about doing "boring front end crud stuff" - an established product - who wants your job.

There is also someone doing "boring detail level stuff" who wants your job.

To put it another way: why is a low level library more meaningful than yours?

<comment><USER7> I think you are right that it's not the work itself that imparts the meaning.

The interesting question is why does some work feel so much more meaningful than other, similar, work?

If you can figure that out bottle it please and send me some!

<comment><USER30> Okay, here is my process:

1\. Get a lot of sleep

2\. Drink caffeine

3\. Take a moment to think about the larger social impact of what you do -- it definitely has some impact

4\. Focus on the problem just ahead of you, get absorbed in how interesting it is from a certain perspective

And that's it. If you're doing anything remotely technical, these are usually easy. But this can be done even if you're trading commodity futures.

(Trading commodity futures is an important economic activity, and you're rewarded for reducing demand when its not needed and increasing demand when it is needed).

</comment></comment></comment><comment><USER31> I would guess what you really want is to achieve something/create some project that will make you as respected and well-known as Jeff Dean. Your current day job is highly technical, but you're not getting the 'fame' or glamour that you want.

To get to that level of hype (not necessarily technical excellence) you'd have to find companies on the cutting edge of DB/systems/ML research.

</comment><comment><USER32> You can do mapreduce on Lambda and S3, [https://github.com/bcongdon/corral](https://github.com/bcongdon/corral)

Read up on Brendan Gregg's work. Start benchmarking your systems. The difference between science and fucking around is measurement - paraphrase of Adam Savage.

</comment><comment><USER33> I'm still early-ish in my career as a software engineer but currently I'm deriving meaning from pursuing mastery of my craft; trying to get better every day, tackle harder and more advanced problems. For me this pursuit feels meaningful. Most tech jobs are B.S. and you rarely are "helping" the world in any real way. But if you are constantly improving and being challenged you will A) have more fun on a daily basis and feel better about yourself, and B) be much better prepared to eventually execute significant, meaningful changes in the world from a position of expertise and experience. Just my personal outlook / strategy.

<comment><USER7> You will get to a point where that mastery is no longer enough.

<comment><USER33> I fully expect that but it's not an argument to not pursue it in the first place. A lot of people (myself included) seem to get stuck early on in life trying to immediately jump to some grand vision or purpose without figuring out the more basic stuff first. It's a stepping stone, not solely an end in itself.

</comment></comment></comment><comment><USER34> How about fighting climate change? We are currently transitioning from fossil fuels to renewables. The problem now isn't the technology, but the scaling. How do we go from <5% renewables to >90%? Solving that scaling problem involves a ton of software, and we need all the smart software engineers we can get.

Previous post: [https://news.ycombinator.com/item?id=15127154](https://news.ycombinator.com/item?id=15127154)

Also, here's my favorite climate change joke: "They say we won't act until it's too late... Luckily it's too late!"

</comment><comment><USER35> The key is to find the place where interesting technical problems intersect with the immediate practical needs of the business. Then take the tech to the boss and sell it. I'm working on such a project now.

If you can't find interesting problems like that, you need to open up, because they're everywhere, for coders anyway.

If the boss won't buy it, either fire him and get another, or come up with a more compelling pitch.

</comment><comment><USER36> I worked for different companies including top companies. There's no such things as "meaningful" work when it comes to a project within a company (the size doesn't matter). A project is project and has a budget, as a deadline, involves expensive resources, several layers of management (at least one layer) looking for status updates, etc.

My best advice for you is to look for creativity outside of your work environment. Or, to signup for a PhD. Creativity requires no boundaries and your work environment has tones of boundaries. Does it make sense? Don't waste your time... pick up a job that requires not too much energy, maximize your income if you can, then use your free time to build things that matter to YOU.

</comment><comment><USER37> > interesting technical problems to solve and not consider outsourcing them to > other vendors?

> a company which has a well established product (preferably something used by > developers) and has some room for creativity

> composing AWS Services to fit customers needs

Have you considered AWS? Look, I won't go and defend Amazon's reputation because there's lots of people who don't like it here. But lots of us do, and you might. You understand AWS well as a customer of it- there's lots of AWS dev teams who could use someone with that experience, and they pay well enough. Lots of stocks, which seem to never stop rising in value.

Bias note: I work in a totally different division of Amazon.

<comment><USER38> amazon meaningful? it's like the opposite of what the dude is looking for here.

</comment></comment><comment><USER39> From my experience in speaking with talented technical people. The greater part of the satisfaction of a job comes from the peers you work with and the people you are around with rather than technical solutions.

Have you tried searching for the right company with the right values and culture that would allow similarly minded people to flourish?

I am not aware of a service that allows you to find companies with interesting technical problems as of yet so I can't recommend you one.

I do know of keyvalues.com is a service that lets engineers find companies with the qualities that matter to them.

<comment><USER7> I am old and bitter and twisted so perhaps my opinion is now irrelevant, but I take most companies' stated values with a pinch of salt. Every company claims it wants to be diverse, gentle on the environment and kind to employees and small furry animals. The reality of most tech companies is it's a grind pure and simple. While they may grant you a day to work with your favourite charity, the rest of the year is coping with inbox explosions, crisis management, overwhelm, 60 hour weeks, and unrealistic deadlines!

Told you I was a cynical whatnot! :D

</comment></comment><comment><USER40> Look for better/more efficient ways to do your current tasks. There's likely a lot of boilerplate you have to create, a lot of process to follow for every client. Does it have to be this way? Can it be automated or optimized? Maybe there is an opportunity to apply a new interesting framework or programming language you always wanted to learn. Maybe there is an opportunity to create a library that can be useful to you in other projects or to other people in your company.

</comment><comment><USER24> Try to understand that [unless you are doing something immoral or illegal] high salary means you are helping society (because otherwise society will not pay your high salary otherwise).

Composing AWS Services to fit customers needs could be quite challenging and exciting job. In order to gamify this job you can keep track of various scores: your salary, number of produced configurations, number of installations, number of users served against your servers etc.

</comment><comment><USER41> > Anyway, are there companies which have interesting technical problems to > solve and not consider outsourcing them to other vendors? Maybe I should get > a job in a company which ... has some room for creativity?

2 points:

1\. I hate getting involved in tech projects where someone got 'creative'.

2\. The "interesting" aspect is definitely in the eye of the beholder - what's interesting to you may not be interesting to anyone else in that company.

</comment><comment><USER42> You always have an option of doing something of your own. For me I waited and switched different jobs for 10 years before realizing that perfect job could be a myth. I was most satisfied when I was building my own tech but then I am back in the race after working for myself for 2 years.

</comment><comment> zupa-hu I'd be curious to learn more about you. Shoot me a mail, it's in my profile.

<comment><USER43> Same here. DM me on Twitter or email my username at Gmail if you can't use Twitter

</comment></comment><comment><USER44> Related discussion : [https://news.ycombinator.com/item?id=15480233](https://news.ycombinator.com/item?id=15480233)

</comment><comment><USER45> Answering the question while ignoring your wall of text.

For meaning, look into yourself.

For a software job, research roles and prepare for those roles.

For a meaningful job, prepare for a role and look into yourself

</comment><comment><USER46> The sad truth is that the most meaningful job will be the one you design yourself. Did you consider quitting your job and doing something on your own?

</comment><comment><USER47> would it be worthwhile to get a job at orgs like AWS?

fulfillment is a really 'problem' to solve not just in career but life in general.

</comment><comment><USER48> Have you considered open source work. Check out pachyderm on github. They are looking for people. Working with an employer that a building core system softwares is what you may be looking for.

</comment><comment><USER49> why not just dive into open source and contribute your work on a project you care for ?... just let the day job pay your bills.

</comment><comment><USER50> Sounds like you should go work for AWS.

</comment><comment><USER51> Join FAANG and you will get to work on projects that will impact millions of lives.

<comment><USER52> > Join FAANG and you will get to work on projects that will impact millions of > lives.

Yes but that doesn't necessarily you will find your work will be meaningful.

I work at Google and of the coworkers I've discussed this with, their motivation is to retire or support their family. There's a joke inside Google that you get paid to just move protos.

I worked at AWS. There anyone I talked about this said they worked there because it was good for their resume.

I work on a very impactful project but don't really find it meaningful; my immediate work is just a small part of what makes the machine work. Nevertheless, my work funds my other pursuits which I find meaningful. This seems to be true of nearly everyone I've talked to no matter where they work.

<comment><USER53> Protos = protobuf messages?

Curious what that joke means

<comment><USER52> Yep exactly

</comment></comment></comment></comment><comment><USER54> Try ecommerce. Build online shops for businesses that would otherwise go out of business. Enable them to trade nationally and internationally. Put the customer first and put in place excellent procedures and systems for customer service. Solve real world problems such as excess inventory, waste and getting products to market first.

This isn't to put shop assistants out of a job, get the website right and people will 'Google first' before stepping in store.

Ecommerce has only just got going and I got into it after my niche skills in realtime 3D meant that I only had options in military or computer games. I threw out all that good stuff I knew and started over, ecommerce being my choice as I liked retail as a kid and did a fine job of selling bicycles as a Saturday job. I figured that the 30 mins+ spent advising a customer in store could be better spent advising many more customers online. Also, nations that trade don't tend to go to war with each other and being able to trade is what enabled us to survive the ice ages that finished off the Neanderthals.

You can be picky with who you build websites for, you don't have to be selling widgets for the fracking industry, you can help sell bicycles instead. It is that simple.

The problems in ecommerce are not difficult. However, solving simple problems in ecommerce can have real world benefits. Much to my embarrassment at the time I once helped build a website for a fabric shop - yep, bits of cloth for women who make dresses and what not. Not really my bag. However, they now have no problems with staying solvent, the shop is doing very well and the new ecommerce department has grown to take on many members of staff.

One thing we did for this fabric shop ('we' I mean 'me' in this instance) is that we made it so end of roll fabric, e.g. when there is only 0.5m left, automatically went into the special section of the store called remnants. There you had to buy the whole remnant albeit with a 10% off incentive. Not only did this simple bit of code result in actually shifting the left-over- cruft, it also meant that we had a 'sticky' page, so customers would check in regularly just to see what was in the remnant section. Once they added that 0.5m scrap to their basket they might also buy some other stuff - lining, all the other bits of trim etc. Consequently what was once a loss making aspect of their business became a winner.

I did have to fix a few things on the customer orders - VAT going wrong and such like, however, in so doing I was quite surprised at how international the reach was. I also noticed that the Nigerian fabrics that had been 'hoarded' over the years by the owner were top sellers. Before they had just piled up in a back room, nobody knowing they were there. But online the demand that was never imagined was realised.

Most customers were essentially 'makers' and before they were not 'making'. With our efforts we enabled lots of people in lots of small towns to do things they were not able to do before. We also sold at a premium, there was no ambition to put every competitor out of business, however the result was a range of fabrics that small town shops would not be able to stock in such depth.

If you look at other aspects such as CO2, the online shopping meant that customers did not have to drive to the big city and back again to get bits and pieces. They could get on with what they were doing and order online without the travel. Being vegetarian I do have opinions on silk, leather, fur and whatever chemicals are used to process cotton, but on the website we were able to help people who had similar concerns with 'you may also like' suggestions. A great amount of colour theory was needed to auto-populate those things and that was fun to do.

I was almost ashamed to admit I was working on some poxy fabric shop at the time but looking back on it now I am quite pleased by what was accomplished. I know real jobs exist thanks to our efforts and the business is definitely viable in these times when the big names on the High Street are having a hard time of it. none of the software engineering was 'SpaceX grade' but the clients were lovely to work with and what we did for them was 'SpaceX grade' for their industry.

I would be here for quite a while if I was to write up all of the other case studies, but I think you get the idea. Ecommerce might not sound meaningful in the way that working for a save-the-world NGO might be, however, 'trade not aid' is meaningful. Think of the Neanderthals and what makes us humans special.

</comment><comment><USER55> Find someplace that challenges you. When you don't feel challenged, move on. Rinse and repeat.

I like this question because everyone has their own answer. It all depends what you want out of life.</comment>


The Ultimate Guide to WordPress on AWS EC2 - <AUTHOR> http://nouveauframework.org/blog/ultimate-guide-to-hosting-wordpress-on-aws-ec2-for-complete-beginners/

<comment><AUTHOR> Another resource: [https://clarkwp.wordpress.com/2014/08/05/installing- wordpres...](https://clarkwp.wordpress.com/2014/08/05/installing-wordpress-on- amazon-web-services/)

</comment><comment><AUTHOR> And also [https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/hosting-...](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/hosting- wordpress.html)</comment>


Ask HN: How do you conduct remote technical interview? - <AUTHOR> What are the tools/ways you use to conduct coding interviews for Sr. Software Engineers?
Do you prefer using riddles/whiteboards or near-production environments (with frameworks/libraries/utils) during your technical interviews?
Curious, to hear how do you operate. <comment><USER2> We give the candidate a take-home challenge (that only takes a couple hours). For the interview we essentially do in-person code review and discuss the candidate's approach and any unusual choices they made.</comment>


Demoting A Loyal Friend - <AUTHOR> http://bhorowitz.com/2012/04/24/demoting-a-loyal-friend/ <comment><USER2> I think this presents a false dichotomy because it is possible to bring in outside support to develop areas of your organization without changing the leaders of those organizational areas. This is one of the rare times where business consulting is not a scam. You have to be careful because you don't want some junior consultant, who is really a fresh MBA with no real world experience, coming in and reading you things from his textbook. But if you get real seasoned consultants with actual industry experience, you will get the benefit of that real expertise without losing the overall organizational expertise, loyalty and trust you have in your inexperienced friend.

</comment><comment><USER3> Dear demoted loyal friend, if you hear please write what is your point of view? Do you see yourself as a demoted loyal friend or a demoted successful something?

I wish I could read the other side of this story too. Finally everyone writes as if they are the king, and they see, decide, change, demote, promote and they live in a continuum of rightness and success, or?

</comment><comment><USER4> "As hard as it may be, you need to take a Confucian approach. You must consider first all of the other employees and second your friend. The good of the individual must be sacrificed for the good of the whole."

Citation needed on how that is "Confucian". Early-Spockian, perhaps. Or Benthamian.

On a more general note, I've seen quite a few instances where early stage companies brought in "expert" executives as replacements for founders/early employees and the "experts" really and truly fucked things up. I think more discussion is needed about deciding when and why this transition actually has to be made rather than just assuming that when you hit a certain point you need new people.</comment>


This company made a list of useful cryptocurrencies Thank Goodness - <AUTHOR> https://cryptonaire.com/digital-assets <comment><USER2> From the guidelines: [https://news.ycombinator.com/newsguidelines.html](https://news.ycombinator.com/newsguidelines.html)

> _In Submissions_

> _Please don 't do things to make titles stand out, like using uppercase or > exclamation points, or adding a parenthetical remark saying how great an > article is. It's implicit in submitting something that you think it's > important._

> [...]

> _Otherwise please use the original title, unless it is misleading or > linkbait._

</comment><comment> shit-show Yeah, I've known about them for a while. Their forecasts are also amazing. They are really big in the crypto market. New investors should be using this before investing. Always do your own research though!</comment>


Real World OCaml - <AUTHOR> http://www.realworldocaml.org/

<comment><USER2> The login url contains the string

        redirect_uri%3Dhttp%253A%252F%252Fwww.realworldocaml.org

Looks to me like whatever Github authorizing is being sent back to an insecure non-https site. If a passive observer were to see this in transit, I think they could probably steal the authorization token a la Firesheep.

The FAQ says "you temporarily grant us access to your public repositories", so I'm thinking this probably means your Github repos become writable to an attacker.

</comment><comment><USER3> Some more info from the author on the OCaml mailing list [1].

New readers might want to check out the FAQ before diving in [2].

[1] [https://sympa.inria.fr/sympa/arc/caml- list/2013-06/msg00101....](https://sympa.inria.fr/sympa/arc/caml- list/2013-06/msg00101.html)

[2] [http://www.realworldocaml.org/#faq](http://www.realworldocaml.org/#faq)

EDIT: Some more info from the email.

 _" Release notes for beta1:

\- The first-class modules chapter is incomplete, pending some portability improvements to the ocaml-plugins Core library.

\- The binary serialization chapter is also incomplete, but has just enough to teach you about the Async RPC library.

\- The installation chapter will be revised in anticipation of the OCaml 4.1 release, and is currently quite source-based.

\- The packaging and build systems chapter hasn't been started yet. We're still deciding whether or not to make this an online pointer rather than a print chapter, since it's likely to change quite fast.

\- We are preparing exercises per chapter that are not included in this particular beta release, but will be available online as soon as possible.

\- The code examples will all be clonable as a separate repository in beta2."_

</comment><comment><AUTHOR> If you are surprised about the access requests when authenticating on GitHub. It seems like they couldn't ask for less than "all your public repos". (as amirmc mentioned, check out the FAQ : [http://www.realworldocaml.org/#faq](http://www.realworldocaml.org/#faq))

<comment> qu4z-2 Let me guess... they're using OAuth as an authentication protocol, and it's working weirdly 'cause it's an authorization protocol?

<comment><USER3> You don't need to guess. It is explained in the FAQ.

 _" We just want the ability to create issues in one specific public repository, but the minimum privileges we can request from Github are the ones you see when you login."_

[http://www.realworldocaml.org/#faq](http://www.realworldocaml.org/#faq)

<comment> qu4z-2 Ah, that's quite reasonable actually. Forgive my bitterness.

</comment></comment></comment></comment><comment><USER4> I've loved using OCaml on some toy problems. OCaml (and so probably F#) feel suitable for anything you'd use Golang for (performance is similar; code can be terser due to typing-saving language features), except if you must have threads for concurrency.

<comment><USER5> Are other forms of concurrency still available? This has always seemed like a strange limitation. Most of the code that I write doesn't require me to spin up tons of threads (at least, not in my code), but sometimes it's really helpful to have them.

<comment><USER6> Yes:

* multiple processes (there are a few libraries that can help make it easier)

* I/O concurrency with cooperative threads library: Equeue, Lwt or Async

* you could also use the built-in Thread module for I/O concurrency but the overhead will likely be higher

* you can execute C code in multiple threads in parallel, only OCaml code is limited to a single thread (due to the global lock)

<comment><USER7> What are those libraries for multiple processes under Ocaml?

I could google but I'm fishing for your recommendations as well.

<comment><USER6> Functory, OCamlMPI and Netmulticore (part of OCamlNet). I haven't actually used any of them though, I'm quite happy with Lwt for now.

</comment></comment></comment></comment></comment><comment><USER8> " Authorize Real World OCaml Commenting?

The app Real World OCaml Commenting will be able to:

        Read your public information.
        Update your public repositories (Commits, Issues, etc).

"

WAT?

<comment><USER3> Please read the FAQ

[http://www.realworldocaml.org/#faq](http://www.realworldocaml.org/#faq)

<comment><USER8> I read it as something like this: "We really promise not to mess up your account. Really-really. Oh wait, our server has been hacked".

<comment><USER9> You still haven't read the FAQ:

      However, we never store your authorization tokens in our server, and instead just directly pass your authorization token into a client-side cookie.

<comment><USER8> Never store != never see

</comment></comment></comment></comment></comment><comment><USER10> How I wish Scala would be more like OCaml instead of a disgusting mess of useless sigils and buzzwords.

<comment><USER11> Yeah, I also prefer the ML syntax.

<comment><USER12> There is Yeti, an ML style language for the JVM:

[http://mth.github.io/yeti/](http://mth.github.io/yeti/)

(edit to address questions/comments)

I haven't actually used it so I have no idea if it's ready for "real" use (whatever that means! everyone has a different definition) However, it's under active development which is more than you can say for ML. I only found it when I saw the above comment and thought "I wonder if there is an ML for the JVM" but I have put it on my own todo list to check it out.

And I know the pain of which you speak pjmlp, I have to use PHP for my day job...

<comment><USER11> Thanks for pointing it out, but on my line of work I will jump of joy the day I will ever manage to use anything besides Java on the JVM.

Fortune 500 enterprise development, offshoring and modern programming languages are hard to combine.

</comment></comment></comment></comment><comment> a-nikolaev Documentation for the Jane Street's Core Library looks incomplete or damaged (E.g. Core.Core_list module [https://ocaml.janestreet.com/ocaml- core/latest/doc/core/Core...](https://ocaml.janestreet.com/ocaml- core/latest/doc/core/Core_list.html)). I think, this is very unfortunate, because the labrary is probably great. I have not tried it yet (I'm pretty happy using just the standard one most of the time), but I whould like to have Async, Sexplib and other new things from Jane Street. Is there a better documentation for this lib?

<comment><USER13> The documentation generation tools are a bit of a mess at the moment. We're working actively with OCaml Labs to improve the tools here, and we expect to have the documentation in a much cleaner and easier to use state (and prettier) by publication time.

<comment> a-nikolaev Thank you Yaron! The book looks great.

</comment></comment></comment><comment><USER2> No I am not entering my Github credentials just to look at your book's website.

<comment><USER13> When we're out of beta, we'll open the book up for people to read without any kind of login. For now, though, we're putting this out there largely to get feedback before publication. Unfortunately, github has fairly coarse-grained permissions, so we need to ask for rather a lot.

</comment></comment><comment><USER14> It's a good effort as "Developing applications with Objective Caml" [http://caml.inria.fr/pub/docs/oreilly- book/](http://caml.inria.fr/pub/docs/oreilly-book/)

has become rather dated.

But you will still need the reference manual and some other sources as it seems rather sketchy in some aspects (syntax extensions, C bindings)

(I've made lots of small comments in the book, hoping it may help)

</comment><comment><USER15> Not much traffic on OCaml here lately, compared to the "new stuff" and what appears to be a resurgent interest in Erlang. So this is an interesting project

In this era of Scala, Clojure, F#, (and Erlang), what use cases of OCaml would interest developers to dive into it?

<comment><USER15> Its also interesting there are two new OCaml books of recent: [http://ocaml- book.com/](http://ocaml-book.com/)

</comment></comment><comment><USER16> Does anyone have some good reading material to start getting into functional languages?

<comment><USER3> This book is one route in. It's intended for those who've programmed before but not necessarily with functional languages. I suspect intros to any of the functional languages would be fine (e.g Haskell, Scala, F#). There's even a Coursera course on Scala.</comment></comment>


InstaNotes, saved locally until you mail it - <AUTHOR> http://instanot.es/ <comment><AUTHOR> and it's open source: <https://github.com/studyers/instanotes></comment>


TypeScript's Quiet, Steady Rise Among Programming Languages - <AUTHOR> https://www.wired.com/story/typescript-microsoft-javascript-alternative-most-popular/ <comment><USER2> Typescript has been an absolute joy to work with, especially compared to Flow. The best part is the library support on definitely typed.

</comment><comment><USER3> You get flexibility and types at the same time. It's a playground for developers.</comment>


Google Latitude on iPhone became a competitor of my app, what should I do? - <AUTHOR>

We were terrified when we saw Google's latitude on the iPhone was released today. It went head on with our product that has been in the App Store for 4 month!
My app is called Tracku: http://www.trackuapp.com. Basically we have all the feature the Latitude has now with a few extras like send message within the app as well as share map pins. But I am worried that Google might start to catch up, adding more features and will drive my app out of business.
What should I do? Would appreciate any suggestions. <comment><USER3> +Make the landing page nicer. Add a better one-liner which tells people exactly what your app does.

+Make it more personal. Be super nice to your users. Do awesome things that don't scale.

\+ Start a competition, make a game out of your existing user actions. A Christmas treasure hunt?

+Add user-created map layers building virtual worlds on top of the real world.

STOP thinking about Google. Just do your thing and be so good they can't ignore you.

</comment><comment><USER4> You were already competing with a handful of other startups in this space, including the YC-funded Whereoscope.

Genuine question: how much business were you doing before that you're worried about losing it? You wouldn't be the first company to get steamrollered by some random Google/Apple/... side project.

</comment><comment><USER5> Having seen your landing page and the video, this about the app:

\- I liked the simplicity and the concept of the app a lot.

\- Does the msging in any way interact with sending SMSs/IMs?

\- It's a great idea to be able to message your sharing friends, but what's the quickest way to reach your friend after you receive a pin from them? Think through the usage scenarios - and flaunt them! "It [the whole scenario] just works" is your best friend.

\- Ask your non-techie users/friends about the scenarios and make sure you listen a lot.

The landing page:

\- show don't tell. More pictures less txt... (take a leaf from the big A).

\- I wouldn't use the word "setup" at all, when you've basically intelligently managed to rid your users of that chore. That's something to flaunt, whereas the very word setup IMO is a turn-off. Just go with "no sign-up"/etc.

\- The first paragraph to me looked like filler even if it may be good and true. It would be more appealing to me to directly explain concrete cases where the app can achieve the good things you speak of. (I hope you've watched the FaceTime commercial a lot lately)

\- The video is a great beginning, but turn up the voice/eq it (I had some trouble hearing it), and turn down the music a bit?

\- Make sure you ask non-techies how it resonates with them. Listen carefully.

\- The same operation on your iTunes page, and make sure the screenshots are of very self-explanatory usage cases.

</comment><comment><USER6> The best thing to do is to keep innovating. I assume you are not as large as Google, and therefore have the ability to move faster.

Think about what your assumptions are about what your software can and should do. List them out, and really critically re-evaluate them. I am certain you can come up with something everyone in this game is taking for granted, flip a bit, and outdo the competition.

For example rethink the concept of sharing your location _NOW_. What happens if your app instead tracks you over time, creating a heat map of your territories/areas, and can predict where you will be going based on past trends. Now you are doing something even more interesting with a much larger market. Involve the user in predicting/changing the location behavior and you may find a much larger audience than you were ever expecting.

There's a million ways to go, make your own way up if you want to!

</comment><comment><USER7> Maybe push the "shared pins" aspect? Let friends post up local restaurants they like, and then show which of your friends have been there recently, etc. The social aspects is something Latitude is missing. Something like Latitude- meets-Foursquare would give enough extra for people to use it over Latitude.

Also push that you're not google, and therefore the location data on your app isn't tied with other aspects of a persons life. "Your location is ONLY used to share with specified friends". That's a major thing that puts me off Latitude (even though I do use it, it's always on my mind).

<comment><USER5> Speaking off-the-hook as a normal nerd, I like this angle. There's actually plenty of Google stuff I might be interested in, but their size and my privacy concerns, partly about Google, keeps me off.

Cultivate your trustworthiness as Andrenid says and you will probably have at least my business and quite some more. Explore (even more?) just what keeps people from sharing their location - their privacy concerns and how they, and you, can get around it in a way that is useful to them. That said, I'll check out your app.

I also really liked someone's suggestion up-thread to animate your app and make it a good place to hang out. That sounds like an app I could and would use. Best.

<comment><USER8> Second this idea - privacy may be the big new selling point of future services. Trust a bigco or trust us? Public is free, but private is extra (private groups, private social circles, private sharing of specific data).

</comment></comment></comment><comment><USER9> See: <http://news.ycombinator.com/item?id=2002667>

</comment><comment><USER10> Carve out your niche. Google in your marketplace is not a seal of death - <USER2> at Zoho.

</comment><comment><USER11> Compete.</comment>


Ask HN: Have you purchased a WiFi 6 router? Why? - <AUTHOR> I am curious to know if any of you have purchased a WiFi 6 router or has been seriously thinking of acquiring one, especially considering that WiFi 6E routers seem to be a few months away from being released. Also, what's your opinion on future-proofing in the consumer networking market? <comment><USER2> I already future proofed. I bought a router running dd-wrt built before the FCC firmware upgrade ban. Because the future I want to prevent is the one with my router easily hacked...well that and the future where I keep having to upgrade routers.

<comment><AUTHOR> I did expect that this community to be heavily focused towards the security of their network, which is excellent, but am I to assume that the WiFi 6/6E doesn't interest you at all? I am asking because I didn't expect to see the newer 6E standard so soon and I am sure it's going to confuse the user quite a bit.

<comment><USER2> Doesn't interest me very much. I chased the latest in the 90's and early OO's. But these days I value consistency. WiFi is not something I think about if I can avoid it. I would rather spend the effort doing what I am wanting to do and tech is rarely the bottle neck and when it is going from one old technology to a slightly less old one is inevitably enough.

To put it another way technology pitched as future proof is always the fastest to go obsolete. And Linux on my router never will.</comment></comment></comment>


The Social Life of Small Urban Spaces (1988) [video] - <AUTHOR> https://archive.org/details/SmallUrbanSpaces

<comment><USER2> William Whyte should be required reading for anyone building an app intending to facilitate interaction. I probably reference his book ([http://www.amazon.com/Social-Life-Small-Urban- Spaces/dp/0970...](http://www.amazon.com/Social-Life-Small-Urban- Spaces/dp/097063241X)) more than any book on actual product design when working on social products @ Facebook!

</comment><comment><USER3> This is a wonderful video! Thankyou.

A lot of the comments remind me of patterns from A Pattern Language by Christopher Alexander. I'm sure many people on HN know this book from the preface to Design Patterns, but if you've never flipped through it you really should - any single pattern contains a great deal of insight into how we live in the world.

<comment><USER4> Triva: The _A Pattern Language_ book influenced Will Wright to create a game that would later evolve into SimCity: [http://en.wikipedia.org/wiki/Will_Wright_(game_designer)#Car...](http://en.wikipedia.org/wiki/Will_Wright_\(game_designer\)#Career)

</comment></comment><comment><USER4> Very good video. Btw. the video is from 1979 (see credits), not 1988 (archive.org title).

Do urban architects know about this video and the _A Pattern Language_ book? Has the school of thought changed in recent years? Has the introduction of CAD tools changed/simplified the architecture style?</comment>


RubyMotion gets iOS 6, iPhone 5, debugger - <AUTHOR> http://blog.rubymotion.com/post/31917526853/rubymotion-gets-ios-6-iphone-5-debugger

<comment><USER2> Awesome. Debugging has been a small annoyance for a while now. Even just being able to set a break point and step through incrementally is a huge step up from nothing.

</comment><comment><USER3> Cool stuff. I played around with SublimeText's SublimeGDB package and now have a visual way to set/maintain breakpoints.

[http://www.simianlogicstudios.com/2012/09/20/rubymotion- subl...](http://www.simianlogicstudios.com/2012/09/20/rubymotion-sublimetext- and-breakpoints/)

Somebody more familiar with GDB could probably get the SublimeGDB package to just hook straight into RM's debug builds.

</comment><comment><USER4> As I understand GDB is not great, is this true with Ruby and would Clang's improvements be relevant?

<comment><AUTHOR> GDB is the venerable veteran with literally decades of experience baked in. It's good for most of what you would want to do. LLDB (the debugger part of the LLVM project, of which Clang is the compiler part) has made some interesting strides, but still has a way to go to catch up with GDB, I think.

</comment></comment><comment><USER5> Love it ++

</comment><comment><USER6> Great job!</comment>


This site is making readers pass a quiz before commenting - <AUTHOR> http://www.niemanlab.org/2017/03/this-site-is-taking-the-edge-off-rant-mode-by-making-readers-pass-a-quiz-before-commenting/ <comment><USER2> Javagaming.org has one for registration. Normally one of the hard looking programing problems that are easy, or a find the mistake that is keeping the program from running. Enough to look like a hard problem, even though a nonprofessional programmer gets through.

Cut down on uninvested "program for free for me" threads, seo spammers (when those were a thing on forums), and spam.

</comment><comment><USER3> INAN (I'm not a Norwegian) but the questions are something like this:

\- is data surveillance a positive thing to DGF?

        - yes, they think it's good for privacy(?)
        - they haven't decided yet
        - no, they think it conflicts with human rights

\- which party votes in favor of DLD?

        - (three parties mentioned)

\- what does DGF stand for?

        - (three options)

<comment><USER4> IAAN. The first question is slightly off. It goes "is the Norwegian Data Protection Agency positive to the DGF?"

</comment></comment><comment><USER5> I hacked on something like this a few months ago as a joke: [https://github.com/nealrs/readsure](https://github.com/nealrs/readsure)

</comment><comment><USER6> I think in some instances, and they only use the quiz on some of the articles, this is a good way to filter the idiots, but on the negative side I wonder how many people forgot the intelligent thing they had to contribute because they had to spend time and mental energy completing a quiz. I hope this doesn't spread beyond _serious things for serious people_ , it is very poor UX to ask users to jump through hoops and spend time on a quiz before they are allowed to participate.

Surely a red warning text in the textarea element where the comment will be typed out is a better idea? The quiz still doesn't eliminate the need for moderation even though it _may_ have gone some way toward reducing that need.

<comment><USER7> If they forgot the intelligent thing they had to contribute then it wasn't intelligent to begin with - it's more likely to be a knee-jerk reaction. If people read the article properly they'll already have taken more time than would trigger a knee-jerk reaction.

<comment><USER8> I can lose my train of thought between walking from one room to another. It's got nothing to do with the value of the thought itself - just that I'm easily distracted.

It's highly likely I can recapture the thought by stepping back into the environment in which it occurred (in this case skim re-reading the article I imagine), but honestly I don't tend to comment on ephemeral sites, rather post on communities about commenting. It seems more interesting/useful

<comment><USER9> >I can lose my train of thought between walking from one room to another.

That's not just you, it's a scientifically studied effect - [https://www.scientificamerican.com/article/why-walking- throu...](https://www.scientificamerican.com/article/why-walking-through- doorway-makes-you-forget/)

<comment><USER8> Somewhat delayed response - but that's a cool link! thanks :)

</comment></comment></comment></comment></comment><comment><USER10> Clever idea. Maybe HN could benefit from it?

<comment><USER11> I can see it now.

      How many microservices are needed for a CMS webapp?

      a.  17
      b.  34
      c.  When you do service discovery properly, you don't need to count.

<comment><USER4> I think I see where you are going, but in the sample quiz the questions all relate to the article, and are very factual: Not "how many micro services are needed?", but "how many micro services does the author think is needed?"

<comment><USER7> a. "it depends" b. "it doesn't matter the author is WRONG" c. it's better to do it in <approach of the month></comment></comment></comment></comment>


English Letter Frequency Counts: Mayzner Revisited or ETAOIN SRHLDCU (2013) - <AUTHOR> http://norvig.com/mayzner.html <comment><USER2> In the not too distant past you could earn the PhD by writing a concordance (massive index, essentialy) of every word in the works of Shakespeare, all mentions of the differences between men and women, etc. Also for generating pre-computed tables (books of logarithms, roots, etc).

These books were quite useful so that work really did have valuable impact, but what a waste of resources!

</comment><comment><USER3> Oddly enough, when you play hangman, you should use this sequence instead:

ESIARN TOLCDU

In hangman, you are guessing words, not text. The high frequency of the trigram THE makes T and H more probable in a text corpus. But if every _word_ is equiprobable as in a dictionary list of words, you get the above sequence.

[http://datagenetics.com/blog/april12012/index.html](http://datagenetics.com/blog/april12012/index.html)

<comment><USER4> Someone should do a proper game-theoretical analysis of hangman: you're playing hangman with DEATH, who has chosen an n-letter word according to an optimised strategy to minimise your chances of survival, assuming that you too will be following an optimal strategy. So a word containing very few common letters will probably be chosen with a higher probability that one that contains lots of common letters, so a frequency analysis of a dictionary won't directly help you.

</comment></comment><comment><USER5> I googled that on a whim and got an article. [https://en.wikipedia.org/wiki/Etaoin_shrdlu](https://en.wikipedia.org/wiki/Etaoin_shrdlu)

<comment><USER6> And now the long dead typesetters' mistakes are indexed by google for us all to read…

From the January 1917 issue of the Southern and Southwestern Railway Club bimonthly proceedings…

[https://books.google.com/books?id=Kx0wAQAAMAAJ&pg=RA4-PA24&d...](https://books.google.com/books?id=Kx0wAQAAMAAJ&pg=RA4-PA24&dq=shrdlu&hl=en&sa=X&ved=0ahUKEwj6g-yZqdjjAhWsB50JHfN8AwMQ6wEITzAH#v=onepage&q=shrdlu&f=false)

That's a fair bit of technological evolution in 102 years.

The publication seems like a forerunner of the podcast. It is a verbatim transcript of an enthusiasts' meeting with advertisements injected.

<comment><USER7> NB, those aren't "enthusiasts", the S&SWRWC is an industry association.

</comment></comment></comment><comment><USER8> It should probably be "ETAOINSRHLDCU", or " ETAOINSRHLDCU", right?

<comment><USER9> I'm sure there's some joke I'm not getting, but just in case, it's in reference to this:

[https://en.m.wikipedia.org/wiki/Etaoin_shrdlu](https://en.m.wikipedia.org/wiki/Etaoin_shrdlu)

<comment><USER8> The point is that "space" is probably not the 7th most frequent character in English text.

<comment><USER9> Space isn't a letter either, it was just added to the phrase because the typesetters' lines had a length of 6. It's a relic.</comment></comment></comment></comment>


Stop worrying about blocking: the new async-std runtime for Rust, inspired by Go - <AUTHOR> https://async.rs/blog/stop-worrying-about-blocking-the-new-async-std-runtime/ <comment><USER2> > should a task execute for too long

How does this work? Does the runtime tracks duration for each future?

> spawning a new executor thread

I would imagine that the future object will be moved. And for move to be cheap are they allocated on heap by the runtime?

> The new runtime is small, uses no unsafe

Awesome!

<comment><AUTHOR> > How does this work? Does the runtime tracks duration for each future?

There's a watchdog. It's similar to the sysmon thread used in go: [https://utcc.utoronto.ca/~cks/space/blog/programming/GoSched...](https://utcc.utoronto.ca/~cks/space/blog/programming/GoSchedulerAndSyscalls)

> I would imagine that the future object will be moved. And for move to be > cheap are they allocated on heap by the runtime?

The trick is to steal the runtime on the thread, not the task being executed, which makes the process constant time ;).</comment></comment>


Ask HN: What do you think is the optimal educational path for a aspiring founder - <AUTHOR> How would you describe the most ideal situation (university, mayor, extracurricular activities) for a aspiring founder? What are the DO's and DONT's for a student which pursues this type of career?<p>PS: I couldn't fit the question mark. <comment><USER2> There isn't one, so don't stress over it. Put the time you'd spend overthinking educational paths into getting experience with key skills:

1\. Identifying and trying to solve problems, then seeing how well you succeeded. Come up with something you want to exist and make it. It could be as simple as designing and 3D printing an object, then taking it to a craft fair to see whether people like it.

2\. Basic business operations. What's it like to explain a product to a prospective customer? How about collecting money or delivering the thing you sold? What's it feel like to have to price your thing? Ideally, start a company while you're in high school, even if it's selling professional services and you only get a few customers. All the better if you have time to create a product or app or something.

With 1 and 2, by the time you start a full-time company, you've already experienced most of the "rookie" emotions that any first-time business operator has.

3\. Going against the typical path (based on your own analysis of a situation, not merely to be different!), being an underdog, and/or intentionally accepting uncertainty. A simple example might be joining a LGBT+ club at a school where LGBT+ students and supporters aren't appreciated. Join debate club or Toastmasters and advocate for unpopular positions. Get used to people thinking you're doing the wrong thing (like, oh, starting a company instead of taking a job, or creating a product that everyone thinks is a toy) and hearing their reasoning. Get good at explaining your reasoning for and belief in something.

1 and 2 can pretty easily happen together. 3 is probably different.

One education tip: if you go to college, try to either graduate without debt (like by working a part-time job while attending in in-state public school), or attend a top 10 school. Don't take $75k worth of loans to go to some random private college; you'll end up with the same degree someone else has and a lot less freedom to take risks.

</comment><comment><USER3> build an audience that you can later sell your product to</comment>


Fluorescence: A Secret Weapon in Wood Identification - <AUTHOR> https://www.wood-database.com/wood-articles/fluorescence-a-secret-weapon-in-wood-identification/ <comment><AUTHOR> Magic Wand anyone? Probably not, but that different woods emit different glows when illuminated by an ultraviolet light source says that there might be something here with respect to material science, structure, and wavelength... It would be an interesting experiment to see what near-light EM wavelengths woods would be invisible at, and compare this among the different woods available, and see if there are any patterns there...</comment>