Organizational Skills Beat Algorithmic Wizardry - <AUTHOR> http://prog21.dadgum.com/177.html <comment><USER2> I agree with the OP but I still think the power of algorithms and datastructures should not be understated, as they power most of the software everyone (including "organizational" coders) use, e.g. databases.

For example, I'm writing a pure JS database ([https://github.com/louischatriot/nedb](https://github.com/louischatriot/nedb)), and using indexing I was able to speed it up hundreds fold. That's clearly not something I could have done without knowing about self-balancing binary search trees.

I also think that knowing algorithms does make you a better programmer, even if you don't use them on a daily basis.

<comment><USER3> There really are two classes of programmer : the one that build "tools" for other developers, and the ones that build end-user software.

The first ones needs to be fluent in every types of algorithms and data structure. The other type will have the task of modeling real world processes into a computer (which means "concept organization translation" rather than pure algorithms).

The first ones deal with primitive types, and very rarely more than that. The second ones need to model all the entities of a real life problem and their complex interactions (complex in the sense of combinations and organization).

That's why I think there will always be a gap between those two developers. They are dealing with very different kind of tasks, yet their jobs titles are the same.

<comment><USER4> This distinction is artificial. I know I do both every day.

<comment><USER5> So do I, but those who build basic tools very often also make stuff for end users too, but there is a lot of programmers that only do end user software based on existing tools. They think basic tools is something someone else does, and if there is no such tool, then what they tried is "hard to do". It will never appear to them that they can make the tools themselves, or they don't have the skills to do it.

The distinction is real, in that many programmers never do build basic tools, while it is artificial in the sense that there is no reason for this other than lack of skill and organizational culture that says that that is not something you are supposed to do.

</comment></comment></comment></comment><comment><USER6> In my experience, some of the smartest, best guys at algorithms and puzzles make some of the worst coders. No one can understand their code, it's brittle and their work eventually gets replaced by code written by somehow with half their IQ but a decent sense of organization.

<comment><USER7> This seems very unlikely.

<comment><USER8> The absolute best people I know at "algorithms" are either CS theoreticians or straight-up mathematicians. They can program, perhaps even better than average coder, but they don't have quite the same whole-system view as a systems person or professional software engineer.

If you're solving problems that require algorithmic ingenuity, you absolutely want these people. And if you can pair them with a good engineer who can integrate their algorithm into a non-trivial system, that's when the magic happens.

</comment></comment></comment><comment><USER9> Precisely so. I consider myself to be a pretty good coder because I'm good at keeping track of many things going on at once (I used to be a chip designer in a prior life), but I'm 100% sure I'd flunk the puzzles that companies interviewing for coders throw out in their interviews.

Good to see a realization by Google that those puzzles aren't all that useful: [http://qz.com/96206/google-admits-those-infamous- brainteaser...](http://qz.com/96206/google-admits-those-infamous-brainteasers- were-completely-useless-for-hiring/)

Google might be one company where algorithmic wizardry might be expected to be more important than most, so that's saying something...

<comment><USER10> I think that the only reason the algorithmic interviews are still so common is because of the difficulty in analyzing the real skills of the candidate. I have worked with guys really good at algorithms, but it is no way related to how good they are at building complex projects.

</comment></comment><comment><USER11> There's a difference between asking an interviewee to implement an obscure data structure and knowing your basic algorithms and knowing how much complexity is added by using certain data structures. i.e. I'd expect any coder to understand what the performance trade offs are between a hash table and a binary search tree, and why you'd use one over the other. This stuff matters in day to day backend code whenever you're dealing with a non-trivial dataset.

However writing off in-depth knowledge of algorithms as esoteric or a waste of time is disingenuous in my opinion. I've seen lots of coders write over- engineered, far too complex code, but they were usually not great at algorithms.

Studying up for a Google interview was a transforming experience for me as a programmer - I realized how much I was missing and how little I'd let myself forget the basics since college. It made me a much better coder and made it much easier for me to learn new languages and systems. Understanding CS fundamentals gives you a great platform to work off, and understanding the complex issues makes you a better coder for the day to day stuff.

</comment><comment><USER12> When I interview, I use this question is a reverse fashion.

I asks how would you implement a b-tree index (for example). The right answer is -- "I wouldn't. DB vendors put years into getting this right.".

If you want this sort of gimmick to stop, when you are in an interview, you should just have the balls to ask how it is relevant to your potential job. Their response will give you a good idea if you really want to work there.

As an interviewer, you litmus-tests on questions like this is that they should be (a) answerable by all your existing employees and (b) reveal the thought process of the applicant. If they don't do that, find some better questions.

<comment><USER13> That may work for you and I don't mean this as personal criticism, but hostile interview techniques like that are enough for me to not accept a position if it's offered. Likewise, if I were interviewing someone and the candidate asked hostile questions to see if I "had balls" that would be a no hire. Just my opinion, of course. YMMV.

<comment><USER12> I think you misread my post slightly.

I consider the trick questions from Google interviewers to be hostile. The only reason not to call them on it in the interview is that you want the job and think that you can get it by being nice rather than honest.

"having balls" != "hostile". "having balls" == "telling the truth"

The point I was trying to make in an interviewer is that you really want to find out what someone is going to do when you ask them to do something that they think is stupid. Because you will eventually.

As an interviewee, you really want to find out what happens if you have to challenge the management.

You can be both honest and nice. It is just harder than trying to answer the question directly.

</comment></comment></comment><comment><USER14> I think my company does it right.

After a phone screen we ask candidates to complete two problems at home at their leisure. One is a simple filesystem traversal problem where we ask you to build in some runtime extensibility, and the other is a binary space partitioning problem (2D bounding box query) with a very difficult performance requirement (low 10's of ms max for 1M records).

All of our interviews are conducted by more senior software developers. Before we ever interview you we read through your code. These aren't huge tasks, but they're enough to show whether or not you use good organization. Then comes the interview...

We do use the first problem as sort of a litmus test. We figure that runtime instantiation of an arbitrary class which implements a known interface is a little on the edge of the realm of what you'll be doing day-to-day, but it's close enough that if given the problem to take home you should know how to Google the right runtime API calls to make it happen. And we're pretty flexible. If you misunderstood the extensibility requirement and when asked how you'd make it "runtime extensible" you can spit out something marginally close to "MyInterface blarg = (MyInterface)Class.forName(pluginFQDN).newInstance()," or even "I'd Google 'instantiate class by name in Java'" you're still doing more or less fine. You're doing _very_ well if you can tell me how to add the plugin to your tool in such a way that it doesn't leak implementation details to the user either through its use or its installation procedure.

We absolutely _do not_ use the second problem in anything close to a pass/fail manner. If you get the optimal solution, awesome. If not, no problem. Either way, let's talk about it. Let's work together. Let's have an in depth technical discussion about the various pros and cons of different techniques to solving this problem. If I say something which in the context of our discussion is by common-sense reasoning obviously wrong, will you call me out on it (preferably politely)? If I say something that you don't understand will you just nod and smile, or will you say "wait, what?" Or the single biggest problem I see surprisingly often - are you capable of in some way communicating a semi-complex idea to another person who is "skilled in the art," either verbally, on the whiteboard, or otherwise? These are the things we're evaluating on the second problem, not if you can pull a kd/quad/r/other- tree out of your ass.

<comment><USER15> Asking candidates to complete problems at their leisure is a very good idea. But recruiters can bungle up on this too.

For something that's purely procedural in nature, asking for a complete and proper object oriented solution would not be such a good idea. Likewise, forcing the candidate to use pure procedural method for something that definitely needs OOP.

<comment><USER14> Fortunately we have good recruiters. Once they've identified a candidate they play purely a support role in the technical side of the evaluation process.

I'm not sure I follow that last statement 100%, but if you "go against the grain" all we'd care about is that you're able to reasonably articulate the "why" behind your decisions.

</comment></comment></comment><comment><USER16> I think the best interview I ever had I was sat down in front of a computer and asked to complete two different classes and make the tests pass. This tests ability to write code under a deadline and shows that the candidate knows how to use some programming tools editor, testing framework etc.

</comment><comment><USER17> Very true. So much of the day to day job is everything except solving the very hard algorithms. But it does help to have that person around.

A separate thread ([https://news.ycombinator.com/item?id=5911017](https://news.ycombinator.com/item?id=5911017)) discusses Google giving up on some of the insanity. In the original NY Times ([http://mobile.nytimes.com/2013/06/20/business/in-head- huntin...](http://mobile.nytimes.com/2013/06/20/business/in-head-hunting-big- data-may-not-be-such-a-big-deal.html)) article, Question 3 covers doing away with brainteasers.

</comment><comment><USER18> I just had my ego smacked in another algorithmic interview with a large, fancy software company a few days ago (took too long to get too rough an answer). I like to think I'm not stupid - my current day to day developing gig is heavy on thinking & mathematics and I do OK with it - it's more than just "organization". It just seems like if I spent a few hours a week entering TopCoder competitions, in 6 months I could ace these things - but what end result skill is the interviewer really selecting for?

<comment><USER19> > It just seems like if I spent a few hours a week entering TopCoder > competitions, in 6 months I could ace these things

Then why don't you just do it? And you forget once for all about these algorithmic interviews and show your other more job-relevant skills.

</comment></comment><comment><USER20> Absolutely.

There are times when a new algorithm (or actually a new data structure) will revolutionise the system. But taking advantage of that is an effort of reorganisaing the code.

</comment><comment><USER21> I've always thought that companies like Google miss out on many talented, hard-working, passionate developers simply because those developers can't tackle the ridiculous programming questions in interviews. Then these same companies turn around and complain that there aren't enough qualified candidates.

</comment><comment><USER22> The biggest problem here is that I don't see a clear way how do you assess organizational skills of a candidate?

<comment><USER3> that's something i closely relate to verbal expression. the first thing you need to structure are your thoughts. so i simply ask them to describe to me a system they've previously built. if the language is clear, then so are the thoughts and so most likely will the code be.

<comment><USER23> Are you really sure that this isn't a myth? I often have problem expressing myself, finding the right words, but I am quite a good programmer.

<comment><USER3> Well, it's probably not equivalent, but it's a good hint (aka : you can't express clearly something that isn't well structured in your mind). Plus, it also let me test verbal skills themselves, which is extremely important as soon as you're working in a team.

Another way of looking at it is that "finding the right word" often means find the good "fit" between abstract concepts shapes or feelings, and a construct of known language items. That's precisely what you're doing as a developer.

<comment><USER23> Ok, so it's based on reasoning full of assumptions that may be wrong, not on empirical evidence. For me, it's quite hard to think aloud when solving some problem, because it forces me to translate what goes in my mind into words, which is quite distracting, I cannot fully immerse into the problem.

<comment><USER3> I suppose you're more a "tool" developper than a "business process automation" one. In the latter, you very often have to talk through the problem with your customer.

But it is an assumption indeed... Only it is based on my personnal experience.

As for the comment mentionning google developpers, the ones i see are good enough verbally to talk about their jobs at google i/o.

</comment></comment></comment></comment></comment></comment><comment><USER24> "organizational skills". aka politics :/</comment>


Ask HN: I'm developing a desktop app for local WP dev and deployment. Thoughts? - <AUTHOR> Note: This is an x-post from Reddit, https://www.reddit.com/r/webdev/comments/4kumnu/im_in_the_middle_of_developing_a_desktop. Trying to get multiple opinions and feedback. Thanks!
I'm trying to gauge interest. The app will likely be around $20-$30 and it will allow you to create local development sites via Vagrant with a click of a button, as well as deploy projects over SSH using Capistrano with a single click.
Would any of you guys be interested in an app like this? We're getting close to finished and will be having a closed beta. Would anybody be interested in joining the beta period?
The app is essentially a GUI for the tj command line utility (https://github.com/ezekg/theme-juice-cli). I wanted to do an app because I know a lot of people aren't comfortable with the command line and would benefit from the features tj offers.
Anyways, I'd love to hear your thoughts and if you'd be interested in joining the beta in a few weeks. You can just message me your email address if you are. <comment><USER2> I am working with wp lately as a developer. Would I pay for an awesome tool that makes my life easy as a wp dev ? I may. But can it do the following:

1\. Setup a dev environment with all the nuts and bolts that wp requires at the minimum which is LAMP/WAMP/MAMP etc. Windows, Mac, Linux wherever.

2\. If you go the vagrant route, that is great. I love vagrant BUT can you ensure that it makes my life easy to use with things like xdebug ? I would prefer not write any PHP code without using a debugger like xdebug. My experience with vagrant environments has been a pain when it comes to setting up debugging.

3\. Please don't pre-package it too many tools that are opinionated ? For example, I may not prefer deploying using capistrano. May be make them optional. I have googled a few vagrant boxes so far and most of them are overloaded with too much crap. Again, this suggestion makes sense as you are trying to release a product that works for a lot of people not just a single developer.

4\. How will integrate with version control tools like git and others ? If you are doing wp, you may want to consider svn as well.

5\. How will it integrate with code editors like visual studio code, sublime, vim etc ?

Finally, what value will this desktop app add over a regular pre-packaged WordPress vagrant environment that are already out there ?

Hope this helps. My 2 cents.

<comment><AUTHOR> Thanks for the reply. I'll hit your questions in order:

1\. Yes, it configures an Ubuntu virtual machine using Vagrant and VirtualBox. The beta will require those 2 tools to be preinstalled, but we are looking at ways to package those tools into our app so that it will require no dependencies.

2\. Our VM comes pre-installed with xdebug as well as a lot of other features. I've tried to keep it as lean as possible, and we are still working on making it feature-complete for the final release. Our VM can be viewed at [https://github.com/ezekg/theme-juice-vvv](https://github.com/ezekg/theme- juice-vvv).

3\. If you prefer not to use Capistrano, that is completely fine. You can deploy however you want, tj just comes with a deploy command that can be taken advantage of if you like.

4\. The entire app focuses on best practices, so it requires you to version control your code in order to take advantage of starter templates and SSH deployments.

5\. We don't plan on any specific integration, as tj is just a command line utility with a single configuration file called a Juicefile. The desktop app will simply act as a GUI for the command line utility.

And for your last question, the value in this app and the CLI is that it tries to push WP into modern best practices using version control, dependency management, build tools and consistent deployments. It's a lot more than just a simple Vagrant environment. It makes managing and creating WP sites a lot more enjoyable, as it automates all of the setup and gets rid of the dreaded FTP deployment.

<comment><USER2> thx for your response. Yes I realized after checking your website that the desktop is a GUI for the tj cli which looks great. I will surely try it. Sign me up for beta testing if more slots are still available.

<comment><AUTHOR> Awesome. Would you mind messaging me your email over on Reddit? [https://www.reddit.com/user/ezekg/](https://www.reddit.com/user/ezekg/)

</comment></comment></comment></comment><comment><USER3> $20 - $30 seems a bit steep considering it's just a front end for a free open source cli. Are there really that many wordpress developers that are not comfortable with the command line?

Also vagrant will be obsolete once docker for osx and windows is out of beta. I think a wordpress targeted app that uses docker instead would be more appealing. Then you could also integrate with gitlab and dockerhub container registries for deployment instead of ssh.

<comment><AUTHOR> Baby steps. A very, very small fraction of WordPress developers even do local development, much less use build tools and/or Vagrant. Most of them know how to tinker with a functions.php file, but not much else. It's surprising, but true. Just look at subreddits like r/ProWordPress. Very few are even using Git.

This product (the command line utility included) are my way of trying to push WP development forward, out of cowboy coding on a production server or deploying over FTP.

I think the price is fair, given that the app will not have any outside dependencies other than VirtualBox and Vagrant. You won't even need a Ruby, because the app comes bundled with Ruby. All build commands can be run inside the VM, which comes stocked with Node, Ruby, PHP and more.

There are apps like CodeKit and Tower that are GUI's to command line apps priced for the same price. They sell well, because not every developer is comfortable on the command line. Think of a front-end developer who only does design with HTML/CSS. They don't want to mess with Vagrant or anything like that. They just want to do their job, and most of the time that means coding on an external dev server and uploading via FTP.

</comment></comment><comment><USER4> When you wrote WP at first I thought Windows Phone, which made me happy - someone thinking about it.

on-topic: $20/$30 is a tad too much for my taste. And even then I rather doing everything myself, so I know 100% how everything is done.

</comment><comment><USER5> I'm not doing heavy WP dev right now, but if I was this would definitely seem like an interesting tool, and the price wouldn't particularly phase me if it's feature-rich enough.

<comment><AUTHOR> Awesome to hear. If you message me your email on Reddit ([https://www.reddit.com/user/ezekg/](https://www.reddit.com/user/ezekg/)), I'll keep you updated on the beta and give you access whenever we launch it in a few weeks. Even if you just tested it out, it would help a lot to find bugs so that our release can be as stable as possible.

</comment></comment><comment><USER6> Sent email via Reddit, thanks! Can't wait to try it out!

</comment><comment><USER7> Yes, I would be interested in this.

I dipped my toes in to WP dev recently to address a client's needs and was shocked by the lack of local development practices / guides etc.

<comment><AUTHOR> Good to hear. Would you mind messaging me your email over on Reddit? [https://www.reddit.com/user/ezekg/](https://www.reddit.com/user/ezekg/) – we should be doing a beta in a few weeks, so I'll send out updates and beta- licenses then. Sorry that I don't have an email campaign or anything set up yet.

<comment><USER7> I'd rather not over reddit. any other options?

</comment></comment></comment><comment><USER8> definitely would love to use it and US$20 sounds about right. may i sign up for a beta, please?

<comment><AUTHOR> Awesome. Would you mind messaging me your email over on Reddit? [https://www.reddit.com/user/ezekg/](https://www.reddit.com/user/ezekg/) – we should be doing a beta in a few weeks, so I'll send out updates and beta- licenses then.

<comment><USER8> i'm not a reddit user. my mail is info [at] wprapido [dot] com . thank you</comment></comment></comment>


Gene Wolfe, 'magnificent' giant of science fiction, dies aged 87 - <AUTHOR> https://www.theguardian.com/books/2019/apr/16/gene-wolfe-science-fiction-author-dies-aged-87 <comment><USER2> I cannot recommend enough Latro in the Mist, a combination of two of his novels about a Roman soldier in Greek times given the curse of losing his memory every day.

To me this was his most 'approachable' novel by virtue of the fact that I could cross-reference the names with historical resources like Thucydides -- I also highly recommend the Landmark series for their detailed annotations.

Fifth Head of Cereberus is, of course, the best way to start with him, and I re-read it every few years. If you have never read Wolfe before, I would start with Fifth Head. It will give you an early sense for whether Wolfe is your cup of tea.

<comment><USER3> This was the first book I read of his, and it blew me away. Gene Wolfe has been my favorite author ever since. His writing was at just the right level of sophistication where it was still accessible to me (I couldn't finish Ulysses) while being thoroughly enjoyable. His attention to detail and casually tying off loose-ends is pretty stunning when examined carefully. And he is one of the few authors whose books make me feel like I'm having a lucid dream.

</comment></comment><comment><USER4> Wolfe wrote some incredible masterpieces. _The Fifth Head of Cerberus_ , _Peace_ , and some of his 1970s short stories deserve a place in 20th-century serious literature in general. _The Book of the New Sun_ stunned me as a teenage reader, and I fondly reread the book every few years (that said, Severian's habit of shagging everyone he meets doesn't hold up well in this day and age, and I have seen female readers call _The Book of the New Sun_ a risible male fantasy).

However, there is no doubt that Wolfe's powers declined over time, and homages to him inevitably focus on the works from decades ago. Besides their intricate plots, those early works had incredible prose, just as rich as Proust, Nabokov, or Faulkner. Once the 1980s came in, suddenly Wolfe's prose became plainer, more workaday. Then, his novels increasingly started to milk the "unreliable narrator" gimmick but without much else to them. Furthermore, it is not even clear that readers are appropriately given all clues to figure out the real action and themes. I have spoken to multiple Wolfe superfans who worry that _A Land Across_ , for example, ultimately turned out to be turgid and impenetrable, and that Wolfe's publisher accepted it just on blind faith that readers got earlier Wolfe novels, so surely there was something to this one too.

(I know the principle of _de mortus nil nisi bonum_ and I don't want to be too harsh about the man, but this is probably the only opportunity for a long time that the Hacker News community will get to discuss his work.)

<comment><USER5> I read some of The Book of the New Sun many years ago, and was mostly just disgusted by the story of an executioner becoming a tyrant. Is it worth taking another look?

<comment><USER6> I don't think that summary is accurate. The Book of the New Sun is deep, heady, high literature, not an indulgent fantasy adventure. It reads like a bit like a mythological holy book, authored by the supposed prophet - and you kind of have to read it like one, to get anything out of it - as if you're doing a deep textual exegesis. Its not A Game of Thrones.

It was definitely an _interesting_ story, though it could be a chore to get through at some points, and I'm still kind of trying to figure out if I actually like it or not, or how much I actually really understood. It definitely won't appeal to many or even most people, I'd say. Its a heavy, somber experience, very little humor.

I will say, upon starting a re-read, it felt like nearly every word/sentence/paragraph in its initial chapters were impressively thick with double meanings, foreshadowings, and themes that only really become clear after finishing the story.

PS - the audiobooks are really well done - the narrator is just perfect.

<comment><USER5> That's fair. Like I said, it was a long time ago, and I didn't finish the series. I just remember it often being a chore to read, with a loathsome main character. Maybe it made a larger point that I missed at the time, but I was a kid reading David Eddings.

PS - I'll check out the audiobooks. I hope they're as good as Rob Inglis' reading of The Lord of the Rings. It may not count as "deep, heady, high literature," but he does an incredible job.

<comment><USER7> It is a bit of a chore to read if you want to get anything out of it; like most good literature it makes demands of you and you only get out what you put in. The main character is loathsome, in a bizarrely innocent kind of way -- he's a torturer, he was raised a torturer, it's a good honest living that makes people say, "oh we need one of those, I didn't know they still existed", like a dishwasher repairman. You're not supposed to like him, and it's crucial to understanding the story that you don't believe everything he says.

It's not for everyone but if you enjoy figuring out all the lies and misdirections and mistakes the narrator makes, it's quite an experience.

</comment></comment></comment></comment></comment><comment><USER8> This is a great loss. When I was quite young I made the mistake of joining the Science Fiction Bookclub, unaware that it's intent and purpose was to mislead kids into over-buying books they didn't want. At the time, one of the books they sent me was Gene Wolfe's "Urth of the New Sun", and it bewildered me and fascinated me so much that I reread it in college, and realized it was part of a much longer tale. I went on to read virtually everything he ever wrote. Unlike so much science fiction (and fantasy, on occasion), Wolfe's uses tremendous texture and nuance; reading his work feels incredibly dream-like to me, even though there's nothing overtly trippy. As I get older, and recognize so much of what I once enjoyed as the same juvenile power fantasy told over with slightly different mechanics, Wolfe is (was) one of those rare genre authors who was doing something very different.

For anyone who wants to try a Wolfe book, the most accessible one is "The Wizard Knight", IMHO. It's still quite good, and has that gauzy, dreamy style and unreliable narrator Wolfe is known for, but is rather more straight- forward than, say, the Torturer series (which is actually part of the series in which Urth of the New Sun played a role). Ironically (to me) this is also the closest he got to "juvenile power fantasy" but ends up deconstructing the bildungsroman in a really beautiful, even loving way. Highly, highly recommended.

Also, I remember reading somewhere that he was a working engineer while he wrote some of his first novels; I presume he was writing full-time later. I think that's cool, too.

<comment><USER9> > Also, I remember reading somewhere that he was a working engineer while he > wrote some of his first novels;

You are correct - he was an industrial engineer. I'm not sure if he was working on a team, or just by himself, but he helped to design the machinery that creates Pringles (potato chip). He was also the editor for a trade magazine on industrial engineering.

<comment><USER10> Do you happen to have any references for that? I in no way doubt you, but I hope to use this fact to dazzle a child when I get home; and maybe persuade her to read some top class sci-fi.

<comment><USER11> See #1 - [http://mentalfloss.com/article/67583/12-crispy-facts- about-p...](http://mentalfloss.com/article/67583/12-crispy-facts-about- pringles)

<comment><USER8> And a link in _that_ uses the phrase _surreal bildungsroman_ , which makes me feel like I've been validated by the New Yorker. :)

[https://www.newyorker.com/books/page-turner/sci-fis- difficul...](https://www.newyorker.com/books/page-turner/sci-fis-difficult- genius)

</comment></comment></comment></comment></comment><comment><USER12> "Peace" is a true masterpiece. When you reach the end, you start thinking what was this book about. Suddenly you will figure it out and you want to read it again, armed with this knowledge. And you might need a few iterations before you will be finally satisfied.

<comment><USER13> Obligatory Neil Gaiman quote: "Peace really was a gentle Midwestern memoir the first time I read it. It only became a horror novel on the second or the third reading."

</comment></comment><comment><USER14> The Fifth Head of Cerberus is such a delight. Made me finally understand the concept of an unreliable narrator. It made me a better reader and expanded my attitudes around colonization. It is a great example of how science fiction can teach us about our modern lives.

<comment><USER4> > expanded my attitudes around colonization.

It is a remarkable thing that Wolfe, whose views were conservative and who occasionally voiced suspicion of modern academia with its focus on race and gender, wrote decades ago a work that really does mesh with modern post- colonial studies. I keenly recommended _The Fifth Head of Cerberus_ to a friend of mine who is a scholar in that field, but sadly the robot on the cover of the Orb Books edition made him assume it was just goofy sci-fi.

</comment></comment><comment><USER15> His work, which I came across in my early teenage years, was mind expanding. I am grateful for and to him.

Wolfe was also one of the authors that really made genre fiction academically respectable, without hiding in shame about what and who he was (cough Atwood cough). Entire future generations of writers - and students - owe him a thank you.

</comment><comment><USER16> I can't count the number of times I've re-read The Book of New Sun. Absolute masterpiece.

Wolfe's books are truly mind altering and forever change the way you think about science fiction and life in general.

</comment><comment><USER17> A tremendous loss, his science fiction and fantasy novels are some of the best out there. Others have mentioned other books of his, but my favorite is still Book of the Long Sun. Patera Silk is a great character, and The Whorl is a marvelous setting.

</comment><comment> your-nanny On Blue's Waters is a masterpiece. The narrative structure is temporally very complex, but coherent, and alternates between wistful contemplation of the past by the protagonist (often times about things that have not yet happened yet), and and an account of that protagonist's search for Silk. On the whole it is a dream like experience.

<comment><USER4> I found the first-person narration of _On Blue's Waters_ emotionally devastating. Wolfe endowed that narrator with so much pain, bitterness, regret, and loss. I got _On Blue's Waters_ as soon as it came out and was eager for the following volumes, but I must admit that the rest of that trilogy really disappointed me, namely: 1) Wolfe's putting characters' dialogue in annoying thick dialect of various sorts, 2) mapping the distant planet's various cultures to silly ethnic stereotypes of our planet's Italians, Indians, and Dutch, and 3) gratuitously bringing the action back to _The Book of the New Sun_ which didn't add much to the plot and felt like a cheap commercial tie-in.

<comment> your-nanny I agree that the other two were disappointments.

Also when reading on blues waters, I hadn't yet read the previous series. but the references were made all the more mysterious because of it.

</comment></comment></comment><comment><USER18> I'm about halfway through rereading The Book of the New Sun, so I'm very sad to hear this

<comment><USER19> I'm rereading it along with the alzabo soup podcast. I can highly recommend it if you want to enjoy it thoroughly.

</comment></comment><comment><USER20> Terminus Est.

</comment><comment><USER21> He was the first author I read where I couldn't get away with my typical habit at-the-time of skimming the boring bits, rather than paying close attention to the text, and which was interesting enough to warrant reading more carefully. A great writer. I'll have to pick up what I missed of his work.

</comment><comment><USER22>
        a woe below woe!
        the sun into darkness was thrown,
        over all a dim shadow had flown,
        and my heart sorrowed deep and alone
        at the foot of that empty throne.

        --
        nec novitas solis
        nec figura solis
        gravitatem tuam lucemque effinget.
        volumen necesse non est:
        memoria tua tenemus.
        pius dominus tibi requiem donet.
        die post idus aprilis.

</comment><comment><USER23> Sad to see another of my favorite authors pass away. Those who aren't into fantasy may enjoy his last novel, _A Borrowed Man_. [https://en.wikipedia.org/wiki/A_Borrowed_Man](https://en.wikipedia.org/wiki/A_Borrowed_Man)

RIP

</comment><comment><USER24> It gets lost in his other excellent books, but I really liked _Pirate Freedom_. A guy from the near future finds himself sent back in time to the golden age of piracy, and Wolfe does a masterful job of tying the plot threads together at the end.

<comment><USER25> I also loved that, and love that it's something I can recommend without hesitation to readers who aren't ready for his more genre-heavy stuff.

</comment></comment><comment><USER26> I cannot recommend his collections of short stories and novellas enough. I love his novels, but I love his short stories even more.

Some of them are so well done they still haunt me years after reading.

</comment><comment><USER27> The book of the new sun is probably my favorite series bar none. Wolfe will be remembered as one of the greats I think. Very sad to see him go.

</comment><comment><USER28> If you want to read a series about a time traveling torturer that becomes king of the planet earth and replaces the dying sun while raising the dead, eating the dead, avoiding death, all while working as a carnifex. Then read the Book of the New Sun and The Urth of the New Sun.

<comment><USER27> Spoilers!

<comment><USER28> Pretty sure that was a vague enough description.

<comment><USER27> >> that becomes king of the planet earth and replaces the dying sun</comment></comment></comment></comment>


US hires company to hack into video gaming systems  - <AUTHOR> http://www.stripes.com/news/us-hires-company-to-hack-into-video-gaming-systems-1.173717 <comment><AUTHOR> Apparently "Obscure Technologies" is obscure enough that it doesn't have an obvious web site.

Another story: [http://www.sytech-consultants.com/blog/tag/obscure- technolog...](http://www.sytech-consultants.com/blog/tag/obscure-technologies)</comment>


BitMex CEO Warns, Once Cash Is Gone, Bitcoin Is Society's Best Hope for Privacy - <AUTHOR> https://247cryptonews.com/bitmex-ceo-warns-once-cash-is-gone-bitcoin-is-societys-best-hope-for-privacy/ <comment><USER2> Bitcoin is _terrible_ for privacy. Every transaction you make is distributed in a global database and preserved for all eternity. If you want privacy you're much better off with a real privacy-coin like ZCash or Monero.

<comment><USER3> Agree that on-chain transactions are terrible for privacy.

Bitcoin currently provides pseudo-anonymity - you can create a new address pair that's not connected to any identity. Using it in such a way that allows the address owner to remain anonymous both today and at any point in the future is near impossible.

Most of the work going on on bitcoin these days is to improve privacy and increase scalability.

The excitement and progress made around this work to bring privacy to bitcoin lead me to agree with Arthur - bitcoin is humanity's best hope once cash is gone.

</comment></comment><comment><USER4> I don't understand either the desire to replace cash, or the assumption that cash will be replaced.

</comment><comment><USER5> Do you mean monero? Cause every transaction on the bitcoin blockchain can be seen by everyone so every can pretty much see what's in your wallet. Monero doesn't have this problem.</comment>


Ask HN: How can a non-technical person work in the autonomous car industry? - <AUTHOR>

I am fascinated by autonomous cars. I devour any news article about them and am constantly evangelizing a future where driverless cars make accidents obsolete and car ownership an antiquated idea.
It would be a dream to get up every day and be involved in helping this technology become a reality.
However, I am not an engineer nor a programmer and the job listings for this industry are, understandably, centered almost exclusively around technical roles. In addition, I don't have any close connections to those working in the industry (I'm east coast based).
I have a 10-year career working in startups mainly in business development though, as one does in startups, have had to be a Jack of all trades and excel when given a new challenge, no matter the type.
Any advice from those (especially with a similar background) working in the industry? <comment><USER2> Sales? HR ? Janitorial?</comment>


50 best HackerNews posts ever (found using math) - <AUTHOR> https://medium.com/swlh/best-of-2015-pfffffffft-79d9b014f4de#.trixqhj79 <comment><USER2> Discussion: [https://news.ycombinator.com/item?id=10806982](https://news.ycombinator.com/item?id=10806982)

Also posted: [https://news.ycombinator.com/item?id=10812342](https://news.ycombinator.com/item?id=10812342)

<comment><USER3> So I guess this medium post will eventually be part of his own list.

</comment></comment><comment><USER4> How I Explained REST to My Wife's original post taken down by the author:

"After receiving a number of reasonable complaints about the gender-oriented nature of this article from people I respect very much, I've decided to take it down for good. While the dialog was never intended as commentary on the role of gender in technology, I'm convinced that it could too easily be taken that way and am not at all comfortable with that possibility.

My deepest apologies to anyone that was offended by my work. There is nothing more terrifying to me than the thought of something I created acting as a deterrent to anyone following their ambitions, or from forming them in the first place." [http://2ndscale.com/rtomayko/2004/rest-to-my- wife](http://2ndscale.com/rtomayko/2004/rest-to-my-wife)

What a shame- such an illuminating post had to be taken down by the author. I remember being asked in some interviews questions like how would you explain a hashmap to a 5 year old or your grandmother. I will be afraid to ask such questions, who knows how people see things these days.

<comment><USER5> "...to a 5 year old" should be pretty safe. "...to your grandmother" could be construed as both sexist and ageist, so I'd avoid it.

<comment><USER6> Personally, I don't really see much of a difference. Some 5 year olds are better at $x than "grandmothers". So wouldn't "to a 5 year old" be ageist as well?

<comment><USER5> Use some common sense. For how many values of $x _that would be the subject of an interview question_ are 5 year olds going to be better than grandmothers?

<comment><USER6> Your missing the point though: There's a reason the "non-technical grandmother" is a stereotype. By using "common sense", it makes sense to use that stereotype.

<comment><USER5> Please do advertise that since there's a reason for stereotypes, your company uses them in making hiring decisions. Let me know how that goes over.

<comment><USER6> I really don't think I'm getting your point. It's OK go stereotype for one group, but not another?

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> I love how 6 years later, "A Brief, Incomplete, and Mostly Wrong History of Programming Languages" is still being submitted 6 times a year, getting 1243 points, and is the top post of 2015. Just goes to show how amazingly hilarious it is. I think anyone here should reread it, even if you already have several times.

[http://james-iry.blogspot.ca/2009/05/brief-incomplete-and- mo...](http://james-iry.blogspot.ca/2009/05/brief-incomplete-and-mostly- wrong.html)

</comment><comment><USER8> Note that with the Hacker News dataset now on BigQuery, downloading the dataset is unnecessary and the analysis in the post can be done in _seconds_ : [https://news.ycombinator.com/item?id=10440502](https://news.ycombinator.com/item?id=10440502) (although, parsing the domains using that particular dataset is harder since it requires a regex to extract the domain from a URL)

As a side note, I'm sorta annoyed that a data post with so few data and visualizations, _but with a linkbait title and selfpromotional startup copy_ , was far more successful than any of my data posts. Did I miss the part where the OP explained _how_ he used math / how he ranked the Top 50 startups?

<comment><USER9> I think what explains the difference is that the author is a writer by trade -- not a statistician.

The author successful tells a simple story with unexpected tidbits and concrete language (eg "every submission you see here is certifiably timeless") and does a good job following writing best practices like "not burying the lead".

You might be interested in reading "Make it Stick" (it's where I learned about this subject from) if you haven't already -- and/or the Priceonomics guide to content marketing.

Clickbait title probably didn't hurt either.

<comment><USER8> The point is _that is it not a good thing_ , especially in the case I'm having difficulty reproducing the results.

<comment><USER9> I'm not qualified to comment on what's "good" or not. I'd just be willing to bet that if you wrote your own best-of with better/reproducible methodology AND borrowing some established copywriting practices you'd easily outrank this post... but only if you do both parts.

</comment></comment></comment></comment><comment><USER10> Besides the concept of "best" being "found using math"...I don't really get even the metric here. Posts that have been submitted over the years and have gotten a lot of points? Why is that by any standard a more reasonably explainable metric than just posts which have garnered the most points, period, barring things like obits (e.g. Steve Jobs)?

This is harder to compute, but I'd argue that the best posts are the ones that garner a shitton of upvotes while also not being overly political ("Drop Dropbox") or tied to a current news event ("G is for Google") or originates from or otherwise involves a major proper noun (e.g. "Why I Hated Working At Google/Facebook/Amazon").

Among recent hits, "Make a programmable mirror" comes to mind [1], as does "I'm learning to code by building 180 websites in 180 days. Today is day 115" [2]. And hell, much of what's been submitted from idlewords.com.

I don't get how "timelessness" is measured. The Brutal Ageism of Tech [3], for example, is from 2014...being popular for 2 years is not necessarily timeless.

This is not to say any of the things on the list _aren 't_ great. But the word "best" means something relatively absolute. I didn't expect to see a list of the unquestionable "best"...but I did expect to see a bit more math. If we're talking about HN specifically, as in, things that impacted the HN community...I would expect an assessment to have some heuristic scoring of the discussions generated, including number of upvotes, number of unique participants, and number of longtime participants. Or even a metric based on unusualness of participants...for example, a story and discussion that elicits a "We're investigating this now" from Matt Cutts [4] should have some weight (though obviously, measuring the external impact of a HN discussion, such as the ban on Rapgenius, is outside the purview of an automated classifier)

[1] [https://news.ycombinator.com/item?id=10204018](https://news.ycombinator.com/item?id=10204018)

[2] [https://news.ycombinator.com/item?id=6097155](https://news.ycombinator.com/item?id=6097155)

[3] [https://newrepublic.com/article/117088/silicons-valleys- brut...](https://newrepublic.com/article/117088/silicons-valleys-brutal- ageism)

[4] [https://news.ycombinator.com/item?id=6956658](https://news.ycombinator.com/item?id=6956658)

<comment><USER8> If you had a heuristic to more accurately rank links than the current time/score based algorithms, you'd have a _million dollar startup idea_.

Which is something that wouldn't be revealed in a blog post. Or OP's random daily email newsletter.

<comment><USER10> Well, I like to think I have lots of million dollar ideas ;)

However, in this case, a retrospective algorithm doesn't have to compete in the same category as the one that ranks and applies gravity to the submissions. Ignoring the effect of flags and manual moderation, the ranking algorithm has to work in near real time -- and it seems to, as occasionally a single upvote will send a submission straight up the front page depending on its current gravity -- while not causing the server to shit the bed.

A retrospective algorithm doesn't have to be that efficient, and can drastically reduce computation by filtering for past submissions that have received a cutoff of top votes. Running various aggregations/analysis on discussion can likewise be done in relative peace. Furthermore, you have the ability to provide external heuristics...for example, filtering for submissions that were first submitted to HN before getting strong notice on Twitter or Reddit (which can be done by comparing URL submissions and timestamps).

This is not to say that coming up with the "best" or even "better" is trivial. It's just that the computational factors are significantly different between the algorithm that has to do real-time ranking and one that performs a historical analysis.

That said, it'd be an interesting challenge to create a relatively simple bot that auto-submitted popular links in the same way that the popular Facebook "On this day" plugin works...the heuristic could be very simple: submit only URLs that haven't made the front page within the last 1.5 years and garnered 200+ upvotes...and then some filtering to avoid submitting obituaries or other current-event type posts. If the HN mods give approval to run a spam bot, I'll give it a try :)

</comment></comment></comment><comment><USER11> Is there a favorite button somewhere? :)</comment>


Ask HN: Could Node.js overtake Spring/JEE in the enterprise? - <AUTHOR> I've looked at and played around with NodeJS and aside from holding my nose while messing in the JavaScript; I can't see it being taken seriously by any high tech company or enterprise. When Java came out, the same was said about it yes I saw its potential immediately. I don't get that feeling not about JavaScript certainly and therefore not about NodeJS. <comment><USER2> No one really knows. But IMO, it won't in the near future.

Java is pretty established, well known, __stable __and under the control of a single entity. It has good tools, well defined protocols, cross-compatible configuration (like I can run the same project in different IDEs). Compare that to JavaScript, where every six weeks there 's something new, there's multiple engines, there's no central authority (just a spec that's barely even followed), and feels like the entire community is led by a bunch of hipsters. Everyone be like "I can do this better, I'll reinvent the wheel!" and then boom! An explosion of half-baked frameworks, libraries, engines and doodads.

Unless JavaScript stops growing in that direction and focuses on stability, good tooling and stuff that matters, it's never going to be stable and it's never going to be as good as Java.

And with the proposed webassembly, which promises to be faster because it's low level cross-platform stuff (which any language can compile to), then JS will eventually fade away.

</comment><comment><USER3> Not anytime soon. Java is pretty entrenched on the server side of things: There are libraries for every possible use case and more importantly for accessing almost every weird legacy system you can imagine. Those libraries likely will never be ported to Node.js. I'm talking fun stuff here such as AS400 socket services using white-space delimited payload or file-based DB2/AS400 databases. Porting those to Node.js simply makes no sense because those systems are the definition of legacy. However, they're not going anywhere anytime soon.

That said, Node.js already has a foothold on the client side. AngularJS currently is the most widely used front end framework and relies heavily on Node.js-based tooling.</comment>


ChipWhisperer - <AUTHOR> https://newae.com/tools/chipwhisperer/ <comment><AUTHOR> Why you might need one (to partially quote jws's comment in [https://news.ycombinator.com/item?id=21599545](https://news.ycombinator.com/item?id=21599545)):

"Synopsis: Secret keys are embedded in the device's e-fuses and are not readable by normal means because of a protection e-fuse. By measuring current draw during power up an interval is determined to be the time when the CPU is reading the e-fuses. At that time the power supplies are "glitched" from 3.3v to 6v using unspecified patterns from a signal generator. This causes errors in the e-fuse reading, one of which is to make a bank of read protected fuses readable."

CPU's (and other Integrated Circuits) might have specific functionality which can only be accessed by glitching the CPU during initialization, as we have apparently seen with the ESP32: ([https://news.ycombinator.com/item?id=21599545](https://news.ycombinator.com/item?id=21599545))

ChipWhisperer -- basically assists in that process.

That is, it's a tool for learning/understanding more about CPU hardware...</comment>


Ask HN: Are there any prominent companies that started at hackathons? - <AUTHOR>

<comment><USER2> Wizzywig (wizzywig.io) was created at the LAUNCH hackathon earlier this year and was accepted by YC.

Also Zaarly, Docracy, and Banjo.

</comment><comment><USER3> I believe GroupMe, which was acquired by Skype, was started at a hackathon.

</comment><comment><USER4> Rover.com

<comment><AUTHOR> Awesome, thanks!</comment></comment>


The R type system - <AUTHOR> http://digitheadslabnotebook.blogspot.com/2010/01/r-type-system.html <comment><USER2> This is a good summary; I could have done with it back in 2006 when I needed to use R for something.

As an aside; while R is a neat tool and pretty powerful in many ways, there's a phrase in the documentation which makes it really clear that it wasn't written by computer scientists: the authors claim that R is 'the same language' as S because it has the same syntax, but it has 'a different engine', by which they mean that it has different semantics...

<comment><USER3> Well, I've seen it taught that a "computer architecture" is really the CPU's instruction set (i.e. ISA, instruction set architecture), without particular regard for the specific performance (e.g. in terms of clock cycles) or implementation. And that was from the CS side of the school ... (Also seems to be the line at <http://en.wikipedia.org/wiki/Computer_architecture> )

</comment></comment><comment><USER4> R, while an excellent toolkit in many ways, suffers somewhat from a deficiency of useful _programming_ tutorials. It's not as though I'm new to that style of data manipulation—I loved APL when I was younger—but almost all R documentation out in the wild is either "how to do some elementary statistical thing" or "reference", with little in between. "R in a Nutshell" is the best I've found so far at filling in the gaps that exist in my knowledge.

</comment><comment><USER5> Thought it was about the old R-type game's ship system.. ;)

<comment><USER6> [http://1.bp.blogspot.com/_Ut2djuT8OYk/S4VFQBDlAnI/AAAAAAAAOi...](http://1.bp.blogspot.com/_Ut2djuT8OYk/S4VFQBDlAnI/AAAAAAAAOi8/68YDiV0CuMY/s1600-h/1.jpg)</comment></comment>


Bitcoin ad was literally a chart crime - <AUTHOR> https://www.marketwatch.com/story/this-bitcoin-ad-was-literally-a-chart-crime-2019-08-15 <comment><USER2> Log axes for highly-variable or compounded-growth data are not only valuable for showing low-scale movements, but greatly reduce apparent growth. They're commonly used in financial data.

Compare:

Linear scale: [https://fred.stlouisfed.org/graph/fredgraph.png?g=oMZ6](https://fred.stlouisfed.org/graph/fredgraph.png?g=oMZ6)

Log scale: [https://fred.stlouisfed.org/graph/fredgraph.png?g=oMZi](https://fred.stlouisfed.org/graph/fredgraph.png?g=oMZi)

</comment><comment><USER3> You can compare them here, [https://99bitcoins.com/bitcoin/historical- price/](https://99bitcoins.com/bitcoin/historical-price/)

Maybe I am wrong, but Isnt log scale the standard for investing charts?

[https://www.investopedia.com/ask/answers/05/logvslinear.asp](https://www.investopedia.com/ask/answers/05/logvslinear.asp)

</comment><comment><USER4> For readers from outside the UK, you should understand that the 'authority' here isn't really a government body, and never really issues punishments.

They pretty much embarrass companies into having good honest ads, and mostly it works. No company wants to be called out on having a dishonest ad by them.

</comment><comment><USER5> Doesn't a log scale make the price increase look lower?

<comment><USER6> Yes, but also makes it look much more stable which is disingenuous, esp. with something notoriously volatile like bitcoin.

</comment></comment><comment><USER7> But long-term financial asset charts are supposed to always be log scale...</comment>


The Awakening of Norman Rockwell - <AUTHOR> https://www.vox.com/the-highlight/2020/2/19/21052356/norman-rockwell-the-problem-we-all-live-with-saturday-evening-post <comment><USER2> Norman Rockwell's paintings always invoke a strange feeling in me. I can't quite explain what it is. It's so much centered around America and there are so many Americanisms in it. But even without that, I think it shows the trials and tribulations of humanity everywhere, with a hint of humour to show that life should not be really taken too seriously.

And as I grow older I notice small things in his painting which I seem to have missed earlier. But even then, every time I see one of his paintings, the first thing that strikes me always is his enduring and humorous take on life and humanity.

Of course, he's also painted portraits and as the article shows, many important and more realistic and tragic side of humanity, but, for me, Norman Rockwell will always be the painter who showed me very early in life, that in most of the world, we have similar struggles and challenges. And how to see life with a sense of humour, because after all, it's really for a very short time.

</comment><comment><USER3> I visited the Norman Rockwell museum, in Massachusetts, years and years ago. Totally worth the visit.

The article talks about "the somewhat too-vivid yellow of the marshals' armbands" as being out of place. But at least according to the tour guide, yellow was a color Rockwell used to symbolize hope.

I'll toss in my favorite of his, "Lincoln for the Defense", showing the young lawyer using an almanac to prove the testimony of an eyewitness incorrect.

[https://vitruvius- cdn.museumseven.com/render/600-600@2/dp-26...](https://vitruvius- cdn.museumseven.com/render/600-600@2/dp-261065-22.jpg)

<comment><USER4> Thank you so much for linking that image, I've never seen it before. Can't get enough of ol' Abe and seeing Norman Rockwell's interpretation of him in the trenches is amazing.

Edit: Just ordered a print. I needed some inspiration.

<comment><USER3> I hope it inspires you, and others as well.

</comment></comment></comment><comment><USER5> Since the article doesn't include an image of it, here's _Murder in Mississippi_.

[http://www.nrm.org/MT/text/MurderMississippi.html](http://www.nrm.org/MT/text/MurderMississippi.html)

</comment><comment><USER6> What a great article. With only a hint of the usual art critic smarm, it deftly gives depth and context to a side of Rockwell that I didn't realize existed.

</comment><comment><USER7> Norman Rockwell's paintings are underappreciated at first glance because they have a very direct superficial appearance. It's easy to look at it and say "OK picture" and move on, unlike an enigmatic piece that taubts you and challenges you think for a while to get _anything_ out of it. But if you take the time to look more closely, there's often deeper meaning.

His technique is double edged. Negatively, it leads to the work being dismissed too quickly. Positively, it sneaks last our mental defenses against being challenged in uncomfortable ways, and then later we notice the challenge to what we thought we already knew.

</comment><comment><USER8> I think the author ignores just how radical Rockwell's earlier "Four Freedoms" were, so his work on civil rights didn't just come out of nowhere. Yes, the "Four Freedoms" can be interpreted as mere "patriotism", but they were based on a speech of FDR's that included "freedom from fear" and "freedom from want", which were both rather radical inclusions as to what freedom meant at the time.</comment>


Ask HN: Ramen Profitable? - <AUTHOR> You have probably heard the expression "ramen profitable".  I was curious if anyone still eats ramen.  If so, are there any particular great flavors or healthier variants? <comment><USER2> Real ramen is good (e.g., [https://imgur.com/gallery/KkLvG](https://imgur.com/gallery/KkLvG)). The packaged stuff you buy from the store is pretty much guaranteed to be awful for you.

<comment><AUTHOR> Wow, I am going to have to try making this one. Thanks

</comment></comment><comment><USER3> All the time. My favorite way of preparing Ramen:

        * Cook noodles normally
        * Drain water
        * Mix in flavor packet (oriental or beef are best)
        * Fry an egg
        * Place egg on top of noodles
        * Poke egg yolk
        * Eat

Yummy. Now I'm gonna go make this for lunch.

</comment><comment><USER4> I boil it per directions, then chop some (I like to boil without breaking), then I fry it up with eggs, potatoes, some garam masala and coriander.

</comment><comment><USER5> I'd buy beans instead. Cheaper and healthier. Mexican bean salad in particular is really good. If you insist on ramen I'd use raw noodles, put in your fill or chili powder and veggies. For the "meat" use tofu and mushrooms.

<comment><AUTHOR> could you expand more on the health aspect of beans over ramen? I am interested to know the details.

<comment><USER2> Many noodles used in ramen are simply made of wheat, which is a simple carbohydrate. Beans/legumes are a good source of protein (among other things).

If you use real yakisoba noodles that are made from buckwheat flour, it has the advantage of decent fiber and protein (a complete protein, like soy), but not as many vitamins as beans.</comment></comment></comment>


Twitter's missing manual - <AUTHOR> https://eev.ee/blog/2016/02/20/twitters-missing-manual/ <comment><USER2> Nobody who needs to read this is going to have the patience to read it.

If you make 10 screenshots of tweets that illustrate the various things you need to know, with a brief one-paragraph explanation for each, that might do the trick.

People don't really want to know how the thing works. They really want to know how it's typically used, so they can make tweets that blend in and make it seems like they know what they're doing.

(And yes, it's pretty hard to figure out how to actually use Twitter correctly.)

<comment><USER3> The point isn't to have an actual manual but to show how complex things have grown.

<comment><USER4> I don't know. I'm getting a lot of value out of this as a manual. I've tried to get into twitter a few times, but I had trouble figuring out how you do anything. I was surprised to find (guess it's still the case) that most things aren't documented anywhere.

I've bookmarked this, and will definitely refer to it next time I try to do anything with twitter.

</comment></comment></comment><comment><USER5> Too little, too late. Twitter has the most abysmal UI/UX I've ever seen, especially when you consider its clout and popularity (although that is fast waning).

Any meaningful change will be so jarring that the dyed in the wool users will balk at it, kicking up a storm of protests and it will not serve to bring in new users (they come in not for good UI but for the network effect - but they don't use it and leave because of the UI).

I honestly can't believe how insanely horrible twitter UI is - and it seems to be something that all twitter users have agreed to never mention. It just leaves one breathless after it opens the FOURTH modal window on top of the previous three that it had already opened.

On the bright side of things, for anyone teaching UI, twitter is a fantastic example of what NOT to do.

<comment><USER6> Maybe Twitters "UI" is so messy is because its text. People can make up any convent they want. Like signing posts with ^.

<comment><USER5> compare and contrast to reddit: text but extremely simple, intuitive, you can follow conversations, know who is talking to whom, respond, link, etc.

<comment><USER7> I get what you're saying but I don't think we should hold up Reddit as a gold standard of accessibility.

I'm fairly technically proficient and I have a hard time figuring out how to "onboard" myself to Reddit and to understand the whole system. It's relatively intimidating.

If we want to stick to text-only, I think HN is actually a better example. Of course, Facebook is really the pinnacle of broad accessibility.

<comment><USER8> One thing i like about Reddit is that you can temporarily collapse a noisy thread so you don't have to scroll past it.

<comment><USER9> I was just thinking of commenting about the lack of collapsing threads on HN as well. Nice to see I'm not the only one who's missing it here. (Especially if the most upvoted comment is not interesting to me, but resulted in a lot of conversation)

<comment><USER10> I use this [1], but if you click on a link and hit the back button, all the threads will expand back.

[1] [https://github.com/andrewheins/HN-Comment- Hider](https://github.com/andrewheins/HN-Comment-Hider)

<comment><USER9> Oh neat. Thanks!

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER11> I think this is a brilliant illustration of the "wear marks" around a basic service. At its core, it's still 140 chars, but each of these subtle deviations represents a bend in the direction of features valuable to users.

Developers and designers can benefit from this by not overspecifying how a technology is to be used until loads of feedback has returned. Kind of like the old story about the architect who didn't fill in the sidewalks until students had worn paths into the campus lawn :)

<comment><USER12> ... I THINK I just upvoted you, which was my intention, but I'm on mobile and am also not sure if I downvoted you. If so, my bad: this is a great comment.

<comment><USER13> I don't think HN has downvotes...

<comment><USER14> It does once you hit a certain karma threshold (maybe 500?).

Steve is definitely faaaar above that threshold.

</comment></comment></comment></comment><comment><USER15> Took me reading this 4800 words of instructions to get it: Twitter is the Dwarf Fortress of social.

<comment><USER5> LoL that's the most hilarious and apt way of putting it :)

</comment></comment><comment><USER16> Wow. I didn't know it was this bad. They probably have too many developers and "product manager of x" types, with no one person really in charge? So it ends up being a race for lots of people to get their pet feature in... Repeat for a decade.

Seriously, this looks like something out of a consumer/UI facing open source project with 1000 contributors. (My favorite example: The glorious spectacle that is the VLC settings dialog.)

<comment><USER17> Most of these things really come down to implementation detail(e.g. formatting rules), and they are mostly interesting for aesthetic purposes.

The important ones like conventions surrounding replies are weird artifacts left over from the early days of the product. Twitter bottlenecks quickly in lengthy conversations amongst multiple parties and you really have to carefully respect the social dynamics it creates, or people will just block your rude self. If there is one place where the product could use revision, it's in improving average case conversation quality.

<comment><USER18> When you're limited to 140 characters, aesthetics become essential for communication.

This is Twitter's blessing and its curse: It's a game we willingly play to communicate within its limitations.

Even the greatest artists have to paint within the canvas. By making the canvas ludicrously small, limitations become a democratizing force.

</comment></comment></comment><comment><USER19> > On one end of the spectrum you have tools like Notepad, where the only > easter egg is that pressing F5 inserts the current time.

I wonder how many people reading this just opened Notepad to try this.

<comment><USER20> I believe adding ".LOG" to the beginning of file also automatically inserts the date each time you open the file so you can use it as a journal. I don't have access to Windows right now to test that though.

<comment><USER21> Indeed it does [0]

[0] - [https://support.microsoft.com/en- us/kb/260563](https://support.microsoft.com/en-us/kb/260563)

</comment></comment></comment><comment><USER22> > the analytics tools (pretty but pointless)

Hah, yeah. I was curious about how these worked a while back and figured out that a tweet's "Impressions" includes any time someone reloads a timeline that includes your tweet somewhere within. This includes your own page loads, so if you open Twitter a few times throughout the day you'll see your tweets accumulate impressions by default. And if you're followed by a really active Twitter user, those numbers will be inflated quite a bit.

I'm not sure whether this is shortsightedness on Twitter's part or "convenient" padding of their numbers.

<comment><USER23> To be fair, that's more or less what an impression is.

If you want "unique visits," you can look for unique visitors or unique impressions or just uniques, depending on what company you are working for.

(And if you are doing TV, you can get an estimate of how many people saw it on DVR in the next three days)

<comment><USER22> True, however Twitter doesn't expose uniques at all, only impressions and "engagements", which _also_ include your own activity. Hence the analytics tools they offer are "pretty but pointless".

</comment></comment></comment><comment><USER24> These interactions may be convoluted, and at times surprising, but at least they're deterministic.

This (the fact it's deterministic) is what makes Twitter so useful for me, and what drove me away from Facebook (with its stochastic Timeline).

<comment><USER18> Don't worry, they're working hard to change that: [https://news.ycombinator.com/item?id=11048523](https://news.ycombinator.com/item?id=11048523)

<comment><USER5> They also constantly censor their own platform to fit the narrative of those running it. They've kicked out and muted multiple users for being conservative. They mute or remove 'problematic' hashtags like #JeSuiMilo

Just recently they've also censored the #whichhillary hashtag.

The fact that twitter execs fundraise for Hillary Clinton must have no bearing on this, right?

<comment><USER18> Do you have a link with some evidence of this political manipulation?

<comment><USER5> please google it, there are tonnes of articles and blogs talking about it

[http://reason.com/blog/2016/02/20/did-twitters-orwellian- tru...](http://reason.com/blog/2016/02/20/did-twitters-orwellian-trust-and- safety)

[http://www.dailykos.com/story/2016/2/26/1491618/-Twitter- Exe...](http://www.dailykos.com/story/2016/2/26/1491618/-Twitter-Exec-Censors- WhichHillary-in-advance-of-Sunday-Fundraiser-Key-Primaries)

<comment><USER18> The first article is about Gamergate, the second is a Daily Kos article with a title ending in a question mark.

</comment></comment></comment></comment></comment></comment><comment><USER25> > Tweets may contain newlines, and there doesn't seem to be any limit to how > many.

140

<comment><USER26> 138 rather, because of stripped space.

Edit: Actually fewer because consecutive newlines are reduced to two. so like...2/3 * 140 roughly

<comment><USER25> I wasn't sure if that was client-side or server-side, and, if client-side, if the filtering is done at submit-time or display-time. I have seen someone tweet something with many sequential newlines, so I figured that it was probably client-dependent (I use Tweetbot).

<comment><USER26> Ah, not sure. You could certainly cheat in some ways with e.g. zero width characters probably

</comment></comment></comment></comment><comment><USER27> Just the other day, a tweet of mine mentioned $PATH (as in where to find executables in bash) with the unexpected result of linking to the Twitter account of path. Live and learn.

<comment><USER25> This is similar to having a Github account that is an Objective-C keyword:

[https://github.com/protocol](https://github.com/protocol) [https://github.com/dynamic](https://github.com/dynamic)

etc.

@IBOutlet and @IBAction appear to be available if you'd like some Swift issue spam!

</comment></comment><comment><USER28> This isn't a good manual for Twitter because it doesn't distinguish between features, quirks, bugs and just "interesting tidbits". It just lumps things together categorically. That means anyone who is new to Twitter is gonna get halfway through the first section and be lost.

Twitter could use a good tutorial for new users, but it should be written as a tutorial for new users. Not as a "Here's a bunch of categorized random things."

<comment><USER29> I think "Twitter's missing manual" was more of a tongue-in-cheek comment than a descriptive headline. As someone said above, the point was to illustrate how complex and weird Twitter has grown.

</comment></comment><comment><USER30> Textbook example of poor top down management. Think of the case studies that will result :)

(Jack hasn't been back long enough so not saying it's him.)

</comment><comment><USER31> Way too complex stuff for a minimalistic service like Twitter.

</comment><comment><USER13> I found a lot of this out on my own. When people ask "how does twitter work" I'm always at a loss for words.

</comment><comment><USER32> That person's blog is pretty fantastic.

<comment><USER33> Famous for "PHP: a fractal of bad design" which is well written even if you disagree.

</comment></comment><comment><USER34> As somebody who played with the Twitter API, this post is so awesome. So much knowledge packed in a single article.

</comment><comment><USER35> Can I downvote this post, it's like common sense for anyone who uses Twitter...</comment>


New Amazon S3 Feature: Object Expiration Using Bucket-Level Policies - <AUTHOR> http://aws.typepad.com/aws/2011/12/amazon-s3-object-expiration.html

<comment><USER2> So s3 is like memcached now but slower.

The ability to do suffix based deletion would be nice since I lacked the foresight to prefix my thumbnails with their dimension. Although I could wipe all my thumbnails and rebuild them on the fly...

<comment><USER3> Or like a more intelligent non-POSIX compliant filesystem accessible via HTTP/HTTPS.</comment></comment>


Ask HN: Python developer for 8 years. What should I pick up next? - <AUTHOR> I have been prominently python/backend developer for majority of my career, and I feel I need to pick up some new tech/tool and update myself.
I explored frontend technologies, Android and nodejs/express in the last 12 months, but none of them resonated with me much.
What would you recommend picking up next? <comment><USER2> It's been done to death, but Common lisp. If you're looking for a new magic shiny you will find it here.

You develop in a parsed environment, not raw text. Tooling will allow you to make structural edits instead of traditional text edits.

Everything is an expression and can be used as a value. Even loops and if- statements are expressions that can be assigned to a variable.

Macros. You can create languages. Change rules and syntax. Do performance optimizations moving processing to compile time instead of run time. To process matrices you create an intuitive language to handle them, rather than shoe-horning into a general purpose language missing low hanging optimization- fruit.

You develop against a running program. Other langs can do this but they are missing the first rate tooling or the community doesn't do things that way. While you develop the 4 times become 1. Thinking time, Typing time, Compile time, Run time. Try an idea, get immediate feedback. Your design medium is play-doh so design by making something tangible you can feel. In other langs your medium is marble so you plan it out ahead of time before you mess up your expensive marble block, then waste hours/days before you realize all your unit tests were made against a flawed API.

So much time and energy is wasted protecting marble. Play-doh is better.

</comment><comment><USER3> Understanding why you want to "update" yourself is the key to finding something that will resonate deeply enough to support a long term commitment. Then again, there's nothing wrong with trying out interesting tech for a time and later deciding it's not for you.

For me, the important distinction has become: Is my interest in X as a professional or as a hobbyist? Treating X as a hobby takes the pressure off...and lets me make sense of why the overhead of something like Android development creates enough friction that it doesn't feel sustainable. YMMV.

Good luck.

</comment><comment><USER4> Elixir is the new thing all people are talking. Just try and see if makes sense for you.

</comment><comment><USER5> Haskell resonates well with me, although it is hard/almost impossible to get a job as a Haskell dev. I also like the idea of the Haskell-like languages that even enahnce some of the features, PureScript, Elm for example.

Even if you only ever do basic Haskell it is very useful to have that mindset when using lambda expression and functional programming features embedded in other languages. Or to use the FP languages tied to a platform, like Scala and F#

</comment><comment><USER6> I'm in similar situation and rust worked well for me, also having practical benefit of nicely complementing python. Otherwise you may try something functional: f#, scala or haskell.

<comment><AUTHOR> I am looking to get into functional programming and exploring haskell. I will also look into Rust.

<comment><USER7> +1 for Rust.

I think there's two main areas I'd be interested in, at least from my own perspective:

      1) Rust and/or C++. Performance. Systems programming. Industrial
         strength apps. Libraries such as CUDA.

      2) Javascript and WebGL. Chrome(OS). Dart.

I've skipped over Agile process and C#, which is probably where the bulk of the career programmers are. If you avoid this, then I suspect you are guaranteed a more interesting life.

Both 1) and 2) above are where I'd suspect the bulk of the intellectual firepower is deployed. Think D3.js, three.js, Rust, boost, CUDA, OpenCL, WebGL.

</comment></comment></comment><comment><USER8> Try Go language.

</comment><comment><USER9> Try nim*

*[http://nim-lang.org/](http://nim-lang.org/)

<comment><USER10> +1

</comment></comment><comment><USER11> i see nothing wrong with staying in python and just continuing to broaden your capabilities within that language....big data, statistics, machine learning, all that 'new' hip stuff, unless of course you already know all that in which case don't mind me =)</comment>


Meet the hot new Web interface: fingers - <AUTHOR> http://www.csmonitor.com/Commentary/editors-blog/2010/0308/Meet-the-hot-new-Web-interface-fingers <comment><USER2> There is also this, from a couple of years back: [http://steve- yegge.blogspot.com/2008/09/programmings-dirties...](http://steve- yegge.blogspot.com/2008/09/programmings-dirtiest-little-secret.html)

</comment><comment><USER3> Without meaning to be controversial, this is just for anyone else like me, who was a little uncertain what Christian Science (not that there's anything wrong with that) is :

<http://en.wikipedia.org/wiki/Christian_Science>

<comment><USER4> The Christian Science Monitor is a reasonably reputable newspaper; in particular it is not generally a propaganda outlet for Christian Science or for political views particularly congenial to Christian Scientists. Some description here: <http://en.wikipedia.org/wiki/The_Christian_Science_Monitor> .

<comment><USER5> Further, regardless of whether their political views bias their reporting, it's highly unlikely that their political views biased _this story_.

</comment></comment></comment><comment><USER6> Well what else am I supposed to use? My toes?

<comment><USER6> My apologies. I just joined and did not realize sarcasm wasn't accepted. It will be hard, as I am by nature a cynic. However, However, after better reviewing the welcome page here, I agree with the no drama edict. Once again, my apologies.</comment></comment>


Designing a fast hash table - <AUTHOR> http://www.ilikebigbits.com/blog/2016/8/28/designing-a-fast-hash-table <comment><USER3> I recommend Robin Hood open addressing scheme. It's particularly trivial to implement, and because it relies on linear probing, so it's memory-cache friendly.

See more here: [http://www.sebastiansylvan.com/post/robin-hood-hashing- shoul...](http://www.sebastiansylvan.com/post/robin-hood-hashing-should-be- your-default-hash-table-implementation/)

Jeff Preshing has written many interesting blog posts about the subject. For example, see his blog post on Leapfrog Probing( [http://preshing.com/20160314/leapfrog- probing/](http://preshing.com/20160314/leapfrog-probing/) )

</comment><comment><USER4> Yeah, most (all?) implementations of unordered_set are really slow. My understanding is that the iterator invalidation behavior specified by the standard forces implementations to use chaining, which means allocating constantly on insertions and chasing pointers on every lookup.

<comment><USER5> Yes, I guess the designers of the standard library envisioned that programmers can easily make mistakes with the lifetime of iterators, and this is their best way to safeguard against it. Rust enforces the constraints on iterator usage, so this is a clear example where Rust would be a superior language.

<comment><USER6> My guess is that the hash_map of the original STL had that iterator guarantees. While hash_map wasn't standardized, it was de-facto available on many standard libraries. When the committee standardized unordered_map, they tried to make it as much of a drop-in replacement for hash_map as they could and subtly different invalidation rules would have been extremely hard to catch.

<comment> Ono-Sendai I've heard it was due to std::unordered_map trying to be a drop-in replacement for std::map.

</comment></comment></comment></comment><comment><USER7> > The advantage of using power-of-two is that we don't > need to look for > prime numbers, and we don't need to > do an expensive modulo operation (we > just need a > dirt-cheap bit mask).

I'd heard that point about using a mask instead of modulo to fit the hash into the table range before, but never paid much attention to it. I figured with all of the other work going on in a hash table, the difference between one of two arithmetic operations would be negligible.

Right now, I'm working on a book on programming language interpreters. That includes implementing a hash table from scratch. I used "%" because I felt it made the behavior easier for readers to understand.

After I got it all up and running, I discovered that in some microbenchmarks were spending something like 10% of the total execution time on that "%". I changed it to use a mask and "&" and it made a dramatic performance difference.

So I think I'll be explaining both approaches in the book. The former for clarity and the latter as an example of an optimization.

</comment><comment><USER8> The post is very light on details about the measurements, and only compares to libc++'s std::unordered_{map,set} (no version number provided). There is no mention of space usage.

It's well known that std::unordered_map is slow (see panic's comment). Some more worthy opponents would be Google's dense_hash_map [1] or sparsepp [2]

[1] [https://github.com/sparsehash/sparsehash](https://github.com/sparsehash/sparsehash)

[2] [https://github.com/greg7mdp/sparsepp](https://github.com/greg7mdp/sparsepp)

</comment><comment><USER9> Some questions:

\- Which CPU was used? Which compiler optimization flags? (2 million inserts per seconds seems slow, for a std::unordered_map, using 64 bit data)

\- How does HashSet read operations perform vs std::unordered_map?

\- How does external fragmentation handling in HashSet compares to std::unordered_map? (e.g. writing and deleting random keys, continuously)

<comment><USER9> Amend: I meant internal fragmentation, and not external fragmentation (allocated hash buckets left empty after deleting elements)

</comment></comment><comment><USER10> A bit off-topic, but I have wonder lately if I new language start today, what could be the very best (overall) foundations for it.

For example, I read here ([https://cr.yp.to/critbit.html](https://cr.yp.to/critbit.html)) that critbit tries could be a better base structure for a language (ie: like dict and list are for python).

So, if we start today, what hash to use? What will be a better default structure (my understanding is that hash-maps is/was the way to go)?

<comment><USER11> I'm generally a big fan of DJB, but I see a few problems with this scheme.

First, it seems like the prefix-free requirement means that the strings can't contain internal NUL bytes. In Python you can store 'a\0' as well as 'a\0b' in a hash table -- how do you handle this with crit-bit trees?

Second, in Python, unlike JavaScript, arbitrary types can be hashable. Tuples are hashable. How do you store ('a', 0) and ('b', 1) as keys in a crit-bit tree?

<comment><USER12> Just store a bit (for a set) at each internal node, denoting whether a string ends there. For a map you also need a value pointer.

Hashing keys is also easy: add a pointer to a linked list of key-value pairs to each leaf node. To save space you could even use a flag bit and then a pointer to a single key-value pair, or a linked list in case of collision.

Note that you can store tuples directly as the concatenation of their fields; no need to use hashing.

<comment><USER13> What are you talking about. How do tuples preclude the requirement of a way to hash?

That's a very naive way to map using the delimeter of the tuple parts. You might have interior elements that are 10k long.

<comment><USER12> And strings can also be long.

</comment></comment></comment></comment></comment><comment> Ono-Sendai There's another design decision not considered in this article: using a separate bucket state table, or using sentinel values inside the buckets to represent 'empty' etc.. I've measured sentinel values to be faster.

</comment><comment><USER13> It is an interesting idea.

There just seems a lot wrong with the presentation of the benchmark comparisons...

Specifically where is a full suite of comparisons as compared with other libraries for time and space, insert and retrieval. Hell, I make those graphs for other people's code, let alone my own.

Usually when you come up with a new algorithm it is typical to be so over the moon to show how it compares all around. I'm not seeing this here and that is a red flag.

I'll definitely give it a whirl though as it sounds promising, although I'm personally more interested in order preserving hashes.

</comment><comment><USER14> The author states:

"They allow you to insert, erase and look up things in amortized O(1) operations (O(√N) time)." Are they staying that the average time is (O(√N) and that is amortized to ~ O(1)?

I assume (O(√N) is the same as .5 multiplied by N? Is that correct? I don't think I've seen a square root in Big O notation before.

<comment><USER15> No O(√N) is O(N^0.5)

<comment><USER14> Sorry yes of course, that's what I meant. But O(1) is the amortization with the average being O(N^0.5)

<comment><USER16> If you read the linked blog post about cache speed ([http://www.ilikebigbits.com/blog/2014/4/21/the-myth-of- ram-p...](http://www.ilikebigbits.com/blog/2014/4/21/the-myth-of-ram-part-i)) it'll make a lot more sense.

<comment><USER14> Oh thanks, also a good read. The author in this post however states:

"That I use Big O to analyze time and not operations is important."

This strikes me as an odd statement though as Big O is generally meant to describe a run time or space not operations. What am I missing?

<comment><USER16> Big O is really just saying that a function f(n) belongs to O(g(n)) if 0 <= f(n) <= c*g(n) for some C >= 0.

When he says he's using big O for time and not operations, he's saying that n is time (as opposed to operations)

<comment><USER14> Sure, I just thought it was an odd statement to be explicit about as it the usual case to have it express time and not operations.

<comment><USER8> Not quite. You're usually measuring time _in a specific model_. Most often, that's the RAM model, where memory access and arithmetic operations take constant time (defined as one time step). The author is using a different model, but doesn't formally define it and instead tries to make it fit wall- clock time. That requires far more elaborate modelling, ends up being extremely complicated, and usually doesn't yield all that much additional insight. That's why computer scientists usually use the RAM model - <USER2> captures the most important aspects of computers, but omits others as they're hard to model accurately. The memory hierarchy is one of these.

Some models where such things are studied in more details include the _external memory model_ (which has a two-level hierarchy - cache and main memory, or main memory and disk) and _cache-oblivious models_.

Most of the time, you don't need that extra information, though, and the RAM model suffices.

<comment><USER14> Thanks for clearing that up. I'm catching up on the other discussion now : )

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER13> The only hash table worth competing with is Cedar. That can even be better, but the standard distribution is pretty damn awesome as it is IMHO, and I've tested a lot.</comment>


Google shutting down Xiaomi access following Nest Hub picking up strangers feeds - <AUTHOR> https://www.androidpolice.com/2020/01/02/uh-oh-xiaomi-camera-feed-showing-random-homes-on-a-google-nest-hub-including-still-images-of-sleeping-people/ <comment><USER3> Why do people have these things in their home? Why do they ship all your data to Google? Wasn't uPNP or IPv6 suppose to allow better support for self hosting your own data? Why are there not more devices who advertise, "Your data never leaves your devices." Why is self-hosting still only in the hobbyist/professional space?

<comment><USER4> Some people, are apparently willing to trade their privacy for the supposed convenience these types of devices provide.

I don't understand it either, but either some people truly don't care, or they genuinely find these devices to be worth the trade off.

<comment><USER5> The average person doesn't care and/or doesn't understand and/or doesn't care enough to understand how these systems and the data economy works.

I've been trying to explain this to friends and family since a decade or more ago and most of them think I'm paranoid or crazy. It doesn't matter how I explain to them; I've even shown them news articles about - for example - <USER2> the EU did with regards to data protection / privacy. Etc.

Unfortunately... They. Simply. Do. Not. Care.

I fear the worst, honestly. These big tech companies hold a scary amount of power that past dictators could only dream of.

And it's getting harder and harder to fight them, especially from a social point-of-view.</comment></comment></comment>


Kickstarting Cobypic & what I learned (in comments) - <AUTHOR> http://www.kickstarter.com/projects/benwtnb/cobypic-color-by-picture/dashboard

<comment><AUTHOR> Cobypic's Kickstarter is probably not going to reach funding in 24 hours, so I wanted to share a few things that I learned through the process…

2) Do keep the video light - Don't weigh it down with fine print or details. Your goal should be to entertain with your project so people want to share and gain belief. Cover the (majority) of the rewards in the text and probably the funding reasons too. Maybe 3 minutes max, a long play time will scare viewers away. Leave reason for them to read and _for now just shake their hand_.

3) Leave a longer timeline - We launched with a 11 day timeline, since we needed to have the funds (14 day wait) and hopefully release close to the next iPhone's release date. Most potential backers probably don't look at the launched date, and _when they see your in a single digit days left and have single digit % of backing they might be scared off_. (>21 days?)

1) Don't do only $1 rewards - This one may sound obvious, but we launched for the first week with backing levels of $1. This was an experiment to see if we could show the casual backer that they were important too, and because as much as the money a community was our goal.

I'm pretty sure this hurt our chances of getting support from Kickstarter content managers too, which can be vital to success. _Once you're off the front page of "Recently Launched" it's difficult to be discovered within the site without their support_. We did have coverage of our project on some great blogs and review sites, but convincing a non-kickstarter to become one is much harder than gaining a current Kickstarter.

Overall though the Kickstarter was great, and helped push Cobypic closer to shipping, by creating real world deadlines and having us create a support network of press for release. (some are waiting on promo codes though… it would be great if Apple had some built in TestFlight feature, as many won't take the plunge)

Hopefully that helps anyone that is thinking about Kickstarting in the future.

One Last Thing) A Kickstarter url is great for emails and a place new contacts are comfortable visiting.

edit: formatting</comment>


The malware attack on Lake City, Florida, which paid ~$460K to free 16TB - green-eclipse https://www.nytimes.com/2019/07/07/us/florida-ransom-hack.html <comment><AUTHOR> Wow, I find it very strange that public money is spent on ransom. If this amount of money that was given to robbers would have been spent in IT security, the town would have made a way better investment into its future. Hopefully they now spend a similar amount of money into their IT sec.</comment>